List workflow runs for an app
<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Lists runs across every workflow on the app, newest first.
Use status to keep only runs in one state, and since to keep only runs that started after a moment in time. Page with limit and offset.
Each row names its workflow, so this is the endpoint for an activity feed. For one workflow's history use List runs for a workflow.
This endpoint is limited to 60 requests per minute.
<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>
<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>
Path parameters
ID of the app whose workflows you want to work with.
ID of the app whose workflows you want to work with.
Query parameters
Most runs to return.
Most runs to return.
How many runs to skip, for paging.
How many runs to skip, for paging.
Keep only runs in this state, for example failed.
Keep only runs in this state, for example failed.
Keep only runs that started at or after this ISO 8601 datetime.
Keep only runs that started at or after this ISO 8601 datetime.
Response
Runs across the app's workflows, newest first.
Example response
[
{
"run_id": "0195f2a1-4c3e-7b21-9f0d-2a5c8e1b4d77",
"workflow_id": "68b1c0d4e7b91d003c45a1f2",
"workflow_name": "Email me new signups",
"trigger_type": "scheduled",
"status": "completed",
"started_at": "2026-08-25T09:12:44Z",
"completed_at": "2026-08-25T09:12:46Z",
"duration_ms": 1840,
"steps_count": 3,
"error_message": "The email step failed because the recipient address was missing.",
"credits_consumed": 0.5
}
]