List a workflow's runs

Search Documentation

Search across all developer documentation

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 required

The workflow's UUID or, when the value does not parse as a UUID, its org-unique key. Unknown handles read as 404 not_found. Accepted on every workflow route, read and write alike.

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 A query parameter, path value or body field failed validation. The body is a validation_failed Problem. When the refusal is about a reference — a segment key, template slug, topic or attribute name the organization does not have — it additionally carries validation_code, field, line/column, missing, candidates and next_step, so a client can correct the call without a second round of guessing. See ValidationProblem. 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