calls.list
Runs of one agent, newest first.
Returns all runs for the given workflow, including both test runs and live call runs.
Reference
GET/api/v1/workflows/{workflow_id}/runs
- Auth
- API key in
X-API-Key - Content
- none
- Returns
- 200 · WorkflowRunsResponse
Get workflow runs with optional filtering and sorting. Filters should be provided as a JSON-encoded array of filter criteria. Example: [{"attribute": "dateRange", "value": {"from": "2024-01-01", "to": "2024-01-31"}}]
Arguments
| Argument | In | Type | Required | Description |
|---|---|---|---|---|
workflow_id | path | integer | required | |
page | query | integer | default 1 | |
limit | query | integer | default 50 | |
filters | query | string | optional | JSON-encoded filter criteria |
sort_by | query | string | optional | Field to sort by (e.g., 'duration', 'created_at') |
sort_order | query | string | default "desc" | Sort order ('asc' or 'desc') |
Example request
curl -X GET "https://api.decibyl.ai/api/v1/workflows/<workflow_id>/runs" \
-H "X-API-Key: dcb_your_key"Response
{
"runs": [
{
"id": 1,
"workflow_id": 1,
"name": "string",
"mode": "string",
"created_at": "2026-09-14T09:30:00Z",
"is_completed": true,
"transcript_url": "string",
"recording_url": "string",
"user_recording_url": "string",
"bot_recording_url": "string",
"transcript_public_url": "string",
"recording_public_url": "string",
"user_recording_public_url": "string",
"bot_recording_public_url": "string",
"public_access_token": "string",
"cost_info": {},
"usage_info": {},
"definition_id": 1,
"initial_context": {},
"gathered_context": {},
"call_type": "inbound",
"logs": {},
"annotations": {},
"pipeline_error": {}
}
],
"total_count": 1,
"page": 1,
"limit": 1,
"total_pages": 1,
"applied_filters": [
{}
]
}Errors
| Status | When |
|---|---|
404 | Not found |
422 | Validation Error |