List workflow runs
get
https://api.expiryedge.com/v1/getAllWorkflowRunsany role60/min
Request
curl 'https://api.expiryedge.com/v1/getAllWorkflowRuns?status=active&workflow_id=wf_3Kd9Tx&limit=50' \
-H "Authorization: Bearer $EXPIRYEDGE_API_KEY"Response
{
"runs": [
{
"id": "run_7Vb3",
"workflow_id": "wf_3Kd9Tx",
"workflow_title": "Annual license renewal",
"title": "Annual license renewal - 10/15/2026",
"description": "Steps to renew a state dental license for Northwind Dental.",
"status": "active",
"progress": 0,
"owner_id": "u_71bXq",
"organization_id": "org_northwind",
"workflow_type_id": "wtype_R4c2",
"assignees": [
"u_71bXq"
],
"tags": [
"licensing"
],
"total_steps": 4,
"completed_steps": 0,
"started_at": "2026-09-27T14:05:00.000Z",
"created_at": "2026-09-27T14:05:00.000Z",
"updated_at": "2026-09-27T14:05:00.000Z",
"owner_name": "Marcus Hale"
}
],
"total": 1
}Runs of your organization, newest first, with owner_name and live step counts.
Reads the newest limit runs (default 50, clamped 1-200), then applies status / workflow_id / workflow_type_id filters and offset in memory; total is the filtered count within that window.
statusstringFilter by run status.workflow_idstringOnly runs of this workflow.workflow_type_idstringOnly runs of this workflow type.limitintegerRuns to read (clamped 1-200).Default50min: 1 · max: 200offsetintegerRuns to skip after filtering.Default0min: 0
200
Runs.
runsarray of objectsrequiredtotalinteger
401 | Missing, expired or invalid bearer token. |
404 | The record does not exist or is not in your organization. |
429 | Too many requests for this endpoint from your IP. Wait Retry-After seconds. |
500 | Unexpected server error. Retry later; quote requestId to support. |
