workflows
List a workflow's runs
GET /v1/workflows/{id}/runs
Auth required
api.workflows.view
A limit-bounded page of the workflow's contact runs plus the by-status
counts tally. Filter to specific statuses with ?status= (a
comma-separated list, e.g. active,completed). Recipient email is not
included — contact_id is the join key (look the address up under
api.contacts.view).
Path parameters
id string<uuid> required Resource UUID. An unparseable id reads as a clean 404 not_found.
Query parameters
limit integer optional Page size (1–200). Default 50.
offset integer optional Number of runs to skip (default 0).
status string optional Comma-separated run statuses to filter by (e.g. active,completed).
Responses
Errors follow the RFC 7807 problem format — see the error reference.
200 A page of runs plus by-status counts application/json
data array<object> required Each entry in data:
id string<uuid> required workflow_id string<uuid> required definition_version integer required contact_id string<uuid> required status string required node_path string required The run's current structural node address.
trigger_cause string required trigger_source_key string optional exit_kind string optional exit_name string optional failure_reason string optional next_action_at string<date-time> | null optional started_at string<date-time> required completed_at string<date-time> | null optional counts object required By-status run tally for this workflow.
401 Missing, malformed, or unknown API key application/problem+json
403 Key lacks the required scope or plan limit violated application/problem+json
404 Resource not found application/problem+json
422 Query parameter or path value failed validation application/problem+json
429 Per-org rate limit exceeded application/problem+json
500 Unexpected server-side failure. The
code is internal_error. The
request_id field can be quoted to SendOps support to investigate.
application/problem+json