Rerun a single workflow execution
curl --request POST \
--url https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId} \
--header 'Authorization: <authorization>' \
--header 'x-api-version: <x-api-version>'import requests
url = "https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}"
headers = {
"Authorization": "<authorization>",
"x-api-version": "<x-api-version>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'x-api-version': '<x-api-version>'}
};
fetch('https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"x-api-version: <x-api-version>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("x-api-version", "<x-api-version>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}")
.header("Authorization", "<authorization>")
.header("x-api-version", "<x-api-version>")
.asString();require 'uri'
require 'net/http'
url = URI("https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["x-api-version"] = '<x-api-version>'
response = http.request(request)
puts response.read_body{
"message": "success",
"executionId": "37e974f0-5d0c4035"
}Logs & Usage
Rerun a single workflow execution
Retrieves log data for a given workflow over time. Logs are stored for a maximum of 7 days before being purged.
Each log includes the executionId (which can be used to rerun an execution), the startedAt and stoppedAt date stamps, and the JSON output of the execution.
POST
/
workflows
/
{workflowId}
/
rerun
/
{executionId}
Rerun a single workflow execution
curl --request POST \
--url https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId} \
--header 'Authorization: <authorization>' \
--header 'x-api-version: <x-api-version>'import requests
url = "https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}"
headers = {
"Authorization": "<authorization>",
"x-api-version": "<x-api-version>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'x-api-version': '<x-api-version>'}
};
fetch('https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"x-api-version: <x-api-version>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("x-api-version", "<x-api-version>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}")
.header("Authorization", "<authorization>")
.header("x-api-version", "<x-api-version>")
.asString();require 'uri'
require 'net/http'
url = URI("https://production.runalloy.com/workflows/{workflowId}/rerun/{executionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["x-api-version"] = '<x-api-version>'
response = http.request(request)
puts response.read_body{
"message": "success",
"executionId": "37e974f0-5d0c4035"
}Headers
The version of the API to use. The current API version is 2025-09.
Path Parameters
The Id of the workflow you want to find logs for
The Id of the execution to rerun. This can be retrieved from the GET Workflow Logs endpoint

