calls.listAll
Every run in the account, across agents, with cost.
Returns a paginated list of runs across all agents in your organization, including duration, cost, and usage details for each run.
Use 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.
Reference
GET/api/v1/organizations/usage/runs
- Auth
- API key in
X-API-Key - Content
- none
- Returns
- 200 · UsageHistoryResponse
Get paginated workflow runs with usage for the organization.
Arguments
| Argument | In | Type | Required | Description |
|---|---|---|---|---|
start_date | query | string | optional | ISO 8601 date-time string (UTC). Lower bound (inclusive) on `created_at`. |
end_date | query | string | optional | ISO 8601 date-time string (UTC). Upper bound (inclusive) on `created_at`. |
page | query | integer | default 1 | |
limit | query | integer | default 50 | |
filters | query | string | optional | JSON-encoded array of filter objects. Each object has the shape: ```json { "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. |
Example request
curl -X GET "https://api.decibyl.ai/api/v1/organizations/usage/runs" \
-H "X-API-Key: dcb_your_key"Response
{
"runs": [
{
"id": 1,
"workflow_id": 1,
"workflow_name": "string",
"name": "string",
"created_at": "string",
"decibyl_token_usage": 1.5,
"call_duration_seconds": 1,
"recording_url": "string",
"transcript_url": "string",
"user_recording_url": "string",
"bot_recording_url": "string",
"recording_public_url": "string",
"transcript_public_url": "string",
"user_recording_public_url": "string",
"bot_recording_public_url": "string",
"public_access_token": "string",
"phone_number": "string",
"caller_number": "string",
"called_number": "string",
"call_type": "string",
"mode": "string",
"disposition": "string",
"call_outcomes": [
"string"
],
"initial_context": {},
"gathered_context": {},
"charge_usd": 1.5
}
],
"total_decibyl_tokens": 1.5,
"total_duration_seconds": 1,
"total_count": 1,
"page": 1,
"limit": 1,
"total_pages": 1
}Errors
| Status | When |
|---|---|
404 | Not found |
422 | Validation Error |