Skip to content

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

ArgumentInTypeRequiredDescription
start_datequerystringoptionalISO 8601 date-time string (UTC). Lower bound (inclusive) on `created_at`.
end_datequerystringoptionalISO 8601 date-time string (UTC). Upper bound (inclusive) on `created_at`.
pagequeryintegerdefault 1
limitqueryintegerdefault 50
filtersquerystringoptionalJSON-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

StatusWhen
404Not found
422Validation Error