List Runs with Usage
Paginated list of workflow runs across the organization with usage and cost
start_date and end_date (ISO 8601) to scope the window, and page / limit to paginate. Pass filters as a JSON-encoded string to narrow results further.
To fetch the full transcript or recording for a specific run, use Retrieve Agent Run Details.Query Parameters
ISO 8601 date-time string (UTC). Lower bound (inclusive) on created_at.
"2026-04-01T00:00:00Z"
ISO 8601 date-time string (UTC). Upper bound (inclusive) on created_at.
"2026-05-01T00:00:00Z"
x >= 11 <= x <= 100JSON-encoded array of filter objects. Each object has the shape:
{ "attribute": "<name>", "type": "<type>", "value": <value> }Supported attribute / type / value combinations:
| attribute | type | value shape | matches |
|---|---|---|---|
runId | number | { "value": 12345 } | exact run id |
workflowId | number | { "value": 42 } | exact agent (workflow) id |
campaignId | number | { "value": 7 } | exact campaign id |
callerNumber | text | { "value": "415555" } | substring match on initial_context.caller_number |
calledNumber | text | { "value": "9911848" } | substring match on initial_context.called_number |
dispositionCode | multiSelect | { "codes": ["XFER", "DNC"] } | any of the codes in gathered_context.mapped_call_disposition |
duration | numberRange | { "min": 60, "max": 300 } | call duration (seconds), inclusive bounds |
Unknown attributes and unsupported type values are silently ignored.
Date filtering on this endpoint is done via the dedicated start_date / end_date query params, not via a dateRange filter object.
"[{\"attribute\":\"callerNumber\",\"type\":\"text\",\"value\":{\"value\":\"415555\"}}]"
