Get workflow stats

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Counts each workflow's runs over a time window, for a health view.

One row per workflow that ran in the window, with how many runs finished, failed, or were cancelled, and how long they took on average. A workflow with no runs in the window does not appear.

The window defaults to the last 24 hours. Set since and until to choose your own. A window longer than 30 days is not rejected: since is moved forward so the window ends at until and covers the 30 days before it, and nothing in the response says that happened. Ask for at most 30 days if you need the range you sent to be the range you get.

This endpoint is limited to 30 requests per minute.

get/api/apps/{app_id}/workflows/stats

Path parameters

app_idstring required

ID of the app whose workflows you want to work with.

ID of the app whose workflows you want to work with.

Query parameters

sincestring nullable

Start of the window, as an ISO 8601 datetime. Defaults to 24 hours ago.

Start of the window, as an ISO 8601 datetime. Defaults to 24 hours ago.

untilstring nullable

End of the window, as an ISO 8601 datetime. Defaults to now.

End of the window, as an ISO 8601 datetime. Defaults to now.

Response

One row per workflow that ran in the window.

workflow_idstring required

ID of the workflow these counts belong to.

totalinteger required

Runs that started in the window.

completedinteger required

Runs that finished successfully.

failedinteger required

Runs that ended in an error.

cancelledinteger required

Runs that were cancelled before finishing.

avg_duration_msnumber required

Mean wall-clock duration of the runs in the window, in milliseconds.

last_run_atstring nullable

When the most recent run in the window started, or null when none ran.

last_run_statusstring required

Status of that most recent run. Empty when no run happened in the window.

Example response

[
  {
    "workflow_id": "68b1c0d4e7b91d003c45a1f2",
    "total": 48,
    "completed": 44,
    "failed": 3,
    "cancelled": 1,
    "avg_duration_ms": 1840.5,
    "last_run_at": "2026-08-25T09:12:44Z",
    "last_run_status": "completed"
  }
]

Changes