List this workflow's runs, newest first
run:readPaginated run history for one workflow. Rows are summaries: steps is NOT included — fetch GET /api/runs/{id} for per-step detail and outputData.
Unlike GET /api/runs, this endpoint has NO environment filter: it returns BOTH production and test runs interleaved. Use each row's environment field to tell them apart.
An unknown but well-formed workflow id is not a 404 here — it returns an empty page, because the filter is applied inside the query. Note the empty-page shape: data is null, not [].
Authorization
bearerAuth An API token: Authorization: Bearer grt_…. Mint one in the app under Settings → Workspace → API tokens; the raw value is shown once. Scopes confine the token — see x-permission on each operation.
In: header
Path Parameters
Workflow id (UUID).
uuidQuery Parameters
1-based page number. Values below 1 are clamped to 1.
1 <= value1Rows per page. Anything below 1 or above 100 falls back to 20 (it is NOT clamped to 100 — limit=500 returns 20).
1 <= value <= 10020Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/workflows/497f6eca-6276-4993-bfeb-53cbbbba6f08/runs"{ "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "workflowId": "43c4fa9b-0cbc-4b57-a121-9d7d46a3eaa4", "workspaceId": "ef0efa32-d1c1-43d4-a5e2-fe7b4f00403c", "orgId": "25b2c2d5-a7fc-47d0-89e4-8709a1560bfa", "status": "pending", "triggerType": "api", "triggerData": null, "startedAt": "2019-08-24T14:15:22Z", "finishedAt": "2019-08-24T14:15:22Z", "durationMs": 0, "errorMessage": "string", "tags": [ "string" ], "environment": "test", "versionId": "14707576-2549-4848-82ed-f68f8a1b47c7", "versionNumber": 0, "executedVersionId": "4d3e9121-6455-4ca4-b3e7-67df52d19c9f", "executedVersionNumber": 0, "startedFromStep": "string", "retryOfRunId": "d0a9e625-c445-46be-b052-60aba1a6d053", "steps": [ {} ] } ], "pagination": { "page": 0, "limit": 0, "total": 0, "totalPages": 0 }}