Skip to main content

Runs API

Trigger manual workflow runs and inspect execution history.

List runs

GET /v1/workflows/{workflow_id}/runs

Returns the run history for a workflow, most recent first.

Query parameters

ParameterTypeDescription
statusstringFilter: running, succeeded, failed
limitintegerMax results (default: 20, max: 100)
cursorstringPagination cursor

Example response

{
"data": [
{
"id": "run_def456",
"workflow_id": "wf_abc123",
"status": "succeeded",
"started_at": "2026-04-29T09:00:00Z",
"finished_at": "2026-04-29T09:00:03Z",
"duration_ms": 3120
}
],
"next_cursor": null
}

Get a run

GET /v1/runs/{id}

Returns the full run including step-level execution logs.

Example response

{
"id": "run_def456",
"status": "succeeded",
"steps": [
{
"step_id": "step_1",
"name": "Post to Slack",
"status": "succeeded",
"started_at": "2026-04-29T09:00:01Z",
"duration_ms": 840,
"output": { "ts": "1714384801.000100" }
}
]
}

Trigger a manual run

POST /v1/workflows/{workflow_id}/runs

Starts a new run immediately, regardless of the workflow's trigger configuration. The workflow must be in active or draft state.

Request body (optional)

{
"payload": {
"custom_key": "custom_value"
}
}

The payload is available in the workflow as trigger.payload.*.

Cancel a run

POST /v1/runs/{id}/cancel

Attempts to cancel a run that is currently running. Already-completed steps are not reversed.