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>

Returns runs across every workflow on the app, newest first.

Set status to return only runs in one state. Set since to return only runs that started after a moment in time.

<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>

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

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

limitinteger

Most runs to return.

Most runs to return.

offsetinteger

How many runs to skip, for paging.

How many runs to skip, for paging.

statusstring nullable

Keep only runs in this state, for example failed.

Keep only runs in this state, for example failed.

sincestring nullable

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.

run_idstring required

ID of the run.

workflow_idstring required

ID of the workflow that ran.

workflow_namestring

Name of that workflow at the time of the run.

trigger_typestring

What started the run: scheduled, entity, connector, in_app_agent, app_user_auth, app_publish, app_payment, webhook, or goal_file. See Triggers for what each one fires on. A run started through Run a workflow now with no payload to replay reports manual instead.

statusstring required

How the run is going: running, completed, failed, or cancelled. See Workflow status for how this compares to the workflow's own status.

started_atstring nullable

When the run started, as an ISO 8601 UTC timestamp.

completed_atstring nullable

When the run finished, as an ISO 8601 UTC timestamp. This is null while it is still running.

duration_msinteger

How long the run took, in milliseconds. This is 0 while it is still running.

steps_countinteger

Steps the run executed.

error_messagestring nullable

Why the run failed. This is null when it did not fail.

is_test_runboolean

This is true when the run was started by hand through Run a workflow now, rather than by its trigger.

credits_consumednumber

Credits the run used.

status_reasonstring

Why the run failed or was cancelled. Empty on runs that finished successfully.

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
  }
]

Changes