Run a run again
POST/
Starts a new run of the same workflow with this run’s trigger data, marked as its retry.
Needs an API token with the Run permission for workflows (workflow:run).
Parameters
Path
idRequired · UUIDThe finished run to run again.
Headers
Idempotency-KeyOptional · stringUp to 255 characters. The same request with the same key within 24 hours answers the first result again, instead of acting twice.
Which version runs
A production run runs again in production, on the version published now. A test run runs again as a test, on the version that ran (executedVersionId), or on the current draft when the draft ran. The run page and Runs do the same. Before v2026.10.31, this endpoint and Runs ran a test again on the current draft.
The limits of Run a workflow apply: runs at once and the line’s caps. It takes no body.
Responses
- 202Accepted
Started.
idis the new run, andversionNumberthe version it runs (left out when it runs the draft). idisn’t a UUID.- 403
FORBIDDENThe token lacks the Run permission for workflows.
- 403
FEATURE_OFFA token made inside a partner’s product, where Run again is switched off.
The workspace’s account is suspended. Nothing starts until it is resumed.
- 404
NOT_FOUNDNo run with this ID in the workspace, or its workflow was deleted.
The run is queued, running or held. Cancel it first, or wait.
A production run whose workflow is paused or a draft. Publish it first.
The workspace’s account was deleted.
- 409
CONFLICTA request with this
Idempotency-Keyis still in progress. Try again shortly. A step uses an app this workspace may not use.
This
Idempotency-Keywas already used with a different request.The workflow is at its runs-at-once limit and is set to Refuse.
Too many runs are already waiting, for the organization or this workflow.
Nothing started. Try again.
GoRunner couldn’t check which apps this workspace may use. Nothing changed. Try again.
The account’s state couldn’t be read. Nothing started. Try again.
Any call can also answer: 401 UNAUTHORIZED · 401 TOKEN_ENDED · 403 TOKEN_SURFACE_OFF · 403 EMBED_NOT_ALLOWED · 403 EMBED_NOT_AVAILABLE · 413 PAYLOAD_TOO_LARGE · 415 INVALID_CONTENT_TYPE · 429 RATE_LIMITED · 503 PAUSED · 503 BUSY · 503 SERVICE_UNAVAILABLE. See Errors.
Request
GORUNNER="https://api.gorunner.io"
GORUNNER_TOKEN="grt_…" # needs Run for workflows
RUN_ID="your-run-id"
curl -X POST "$GORUNNER/api/runs/$RUN_ID/rerun" \
-H "Authorization: Bearer $GORUNNER_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"const GORUNNER = "https://api.gorunner.io";
const TOKEN = process.env.GORUNNER_TOKEN;
const RUN_ID = process.env.RUN_ID;
const res = await fetch(
`${GORUNNER}/api/runs/${RUN_ID}/rerun`,
{
method: "POST",
headers: {
Authorization: `Bearer ${TOKEN}`,
"Idempotency-Key": crypto.randomUUID(),
},
},
);
const { data } = await res.json();import os, uuid, requests
GORUNNER = "https://api.gorunner.io"
TOKEN = os.environ["GORUNNER_TOKEN"]
RUN_ID = os.environ["RUN_ID"]
res = requests.post(
f"{GORUNNER}/api/runs/{RUN_ID}/rerun",
headers={
"Authorization": f"Bearer {TOKEN}",
"Idempotency-Key": str(uuid.uuid4()),
},
)
data = res.json()["data"]Response · 202 Accepted
{
"data": {
"id": "1d7f3b9e-2c4a-4e6b-8d0f-5a3c9e1b7d26",
"retryOf": "8f0c41d2-6b7e-4c1a-9d3f-2a5b7c9e1f04",
"status": "pending",
"environment": "production",
"versionNumber": 3
}
}Every field
It takes no body.
Response · 202 Accepted
dataobjectidUUIDretryOfUUIDstatusstringenvironmentstringOne of
production,test.versionNumberintegerThe version the new run executes; absent when it runs the draft.