Dispositions
List Call Disposition Runs
Get the latest production disposition results for up to 100 of an agent’s calls, with each run’s values, status, and delivery timing.
GET
/
v2
/
agents
/
{agent_id}
/
dispositions
/
call-runs
curl -G "https://api.bland.ai/v2/agents/3c1d2e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f/dispositions/call-runs" \
-H "authorization: YOUR_API_KEY" \
--data-urlencode "callIds=e1739a2c-9137-4e85-925d-1efbb6925bc4,2f5e1dc9-f0ac-408a-b9b4-ba3adc971170"
{
"data": {
"runs": [
{
"id": "0b8f3c52-6e1d-4a7b-9c2e-5d4f6a7b8c9d",
"callId": "e1739a2c-9137-4e85-925d-1efbb6925bc4",
"dispositionId": "a4d2c7e9-1b3f-4e5a-8c6d-7f9e0a1b2c3d",
"dispositionKey": "appointment_outcome",
"name": "Appointment outcome",
"versionNumber": 3,
"status": "complete",
"timing": "immediate",
"values": [
{
"id": "594742b5-3aed-406c-8411-f243391eb225",
"key": "booked",
"label": "Booked",
"kind": "judge",
"reasoningEffort": "low"
}
],
"results": [
{
"valueId": "594742b5-3aed-406c-8411-f243391eb225",
"state": "produced",
"value": true,
"executedVia": { "lane": "sync", "priceMultiplier": 1 }
}
],
"error": null,
"createdAt": "2026-09-28T17:02:11.412Z",
"completedAt": "2026-09-28T17:02:19.087Z"
},
{
"id": "7c2a9e14-3f5b-4d6c-8a1e-2b3c4d5e6f70",
"callId": "2f5e1dc9-f0ac-408a-b9b4-ba3adc971170",
"dispositionId": "a4d2c7e9-1b3f-4e5a-8c6d-7f9e0a1b2c3d",
"dispositionKey": "appointment_outcome",
"name": "Appointment outcome",
"versionNumber": 3,
"status": "running",
"timing": "immediate",
"values": [
{
"id": "594742b5-3aed-406c-8411-f243391eb225",
"key": "booked",
"label": "Booked",
"kind": "judge",
"reasoningEffort": "low"
}
],
"results": [],
"error": null,
"createdAt": "2026-09-28T17:05:40.221Z",
"completedAt": null
}
]
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "BAD_REQUEST",
"message": "callIds accepts at most 100 ids"
}
]
}
Overview
Dispositions are enabled per organization. If your organization does not have access, these endpoints return
404.Headers
string
required
Your API key for authentication.
Path Parameters
string
required
The agent’s unique identifier. Must be a UUID; otherwise returns
400 with the message agentId must be a valid UUID. Returns 404 Agent not found if the agent is not in your organization.Query Parameters
string
required
Comma-separated call IDs, up to 100. Duplicates are ignored. Returns
400 with callIds is required when empty, callIds accepts at most 100 ids when over the limit, or callIds must be valid UUIDs when any ID is not a UUID. Calls that belong to another agent, or that have no disposition runs, are left out of the response.Response
array
One entry per call and disposition, oldest first. Empty when none of the calls have runs.
Show run object
Show run object
string
The run’s unique identifier.
string
The call the run executed against.
string
The disposition that ran.
string
The disposition’s key.
string
The disposition’s name as of the executed version.
number | null
The published version that ran, or
null if unknown.string
pending, queued, or running while in progress. complete, failed, or cancelled once finished.string | null
The executed version’s delivery timing:
immediate or within_24h. null when the version is unknown.array
The values defined on the executed version.
string
The value’s identifier. Matches
results[].valueId.string
The value’s key.
string
The value’s label, or its key when it has none.
string
The value’s source:
variable_extraction, structured_extraction, judge, or custom_code.string | null
The reasoning effort the value ran at:
auto, low, medium, or high. null for custom_code, which runs no model.array
One result per value produced so far. Empty until the run produces values.
string
The value this result belongs to.
string
produced, no_value (the value could not be determined from the call), or error.any
Present when
state is produced. Shaped by the value’s schema.object
Present when
state is error: { "code", "message" }. Uses the same codes as Get Test Run Rows.object
How the value was executed:
{ "lane", "priceMultiplier", "durationMs" }. Omitted when not recorded.object | null
Set when
status is failed or cancelled: { "code", "message" }. message is Disposition execution could not be completed. Otherwise null.string
When the run was created, as an ISO 8601 timestamp.
string | null
When the run finished, or
null while it is in progress.null | array
null on success, or a list of error objects if the request failed.curl -G "https://api.bland.ai/v2/agents/3c1d2e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f/dispositions/call-runs" \
-H "authorization: YOUR_API_KEY" \
--data-urlencode "callIds=e1739a2c-9137-4e85-925d-1efbb6925bc4,2f5e1dc9-f0ac-408a-b9b4-ba3adc971170"
{
"data": {
"runs": [
{
"id": "0b8f3c52-6e1d-4a7b-9c2e-5d4f6a7b8c9d",
"callId": "e1739a2c-9137-4e85-925d-1efbb6925bc4",
"dispositionId": "a4d2c7e9-1b3f-4e5a-8c6d-7f9e0a1b2c3d",
"dispositionKey": "appointment_outcome",
"name": "Appointment outcome",
"versionNumber": 3,
"status": "complete",
"timing": "immediate",
"values": [
{
"id": "594742b5-3aed-406c-8411-f243391eb225",
"key": "booked",
"label": "Booked",
"kind": "judge",
"reasoningEffort": "low"
}
],
"results": [
{
"valueId": "594742b5-3aed-406c-8411-f243391eb225",
"state": "produced",
"value": true,
"executedVia": { "lane": "sync", "priceMultiplier": 1 }
}
],
"error": null,
"createdAt": "2026-09-28T17:02:11.412Z",
"completedAt": "2026-09-28T17:02:19.087Z"
},
{
"id": "7c2a9e14-3f5b-4d6c-8a1e-2b3c4d5e6f70",
"callId": "2f5e1dc9-f0ac-408a-b9b4-ba3adc971170",
"dispositionId": "a4d2c7e9-1b3f-4e5a-8c6d-7f9e0a1b2c3d",
"dispositionKey": "appointment_outcome",
"name": "Appointment outcome",
"versionNumber": 3,
"status": "running",
"timing": "immediate",
"values": [
{
"id": "594742b5-3aed-406c-8411-f243391eb225",
"key": "booked",
"label": "Booked",
"kind": "judge",
"reasoningEffort": "low"
}
],
"results": [],
"error": null,
"createdAt": "2026-09-28T17:05:40.221Z",
"completedAt": null
}
]
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "BAD_REQUEST",
"message": "callIds accepts at most 100 ids"
}
]
}
Docs for agents: llms.txt
Was this page helpful?
⌘I
curl -G "https://api.bland.ai/v2/agents/3c1d2e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f/dispositions/call-runs" \
-H "authorization: YOUR_API_KEY" \
--data-urlencode "callIds=e1739a2c-9137-4e85-925d-1efbb6925bc4,2f5e1dc9-f0ac-408a-b9b4-ba3adc971170"
{
"data": {
"runs": [
{
"id": "0b8f3c52-6e1d-4a7b-9c2e-5d4f6a7b8c9d",
"callId": "e1739a2c-9137-4e85-925d-1efbb6925bc4",
"dispositionId": "a4d2c7e9-1b3f-4e5a-8c6d-7f9e0a1b2c3d",
"dispositionKey": "appointment_outcome",
"name": "Appointment outcome",
"versionNumber": 3,
"status": "complete",
"timing": "immediate",
"values": [
{
"id": "594742b5-3aed-406c-8411-f243391eb225",
"key": "booked",
"label": "Booked",
"kind": "judge",
"reasoningEffort": "low"
}
],
"results": [
{
"valueId": "594742b5-3aed-406c-8411-f243391eb225",
"state": "produced",
"value": true,
"executedVia": { "lane": "sync", "priceMultiplier": 1 }
}
],
"error": null,
"createdAt": "2026-09-28T17:02:11.412Z",
"completedAt": "2026-09-28T17:02:19.087Z"
},
{
"id": "7c2a9e14-3f5b-4d6c-8a1e-2b3c4d5e6f70",
"callId": "2f5e1dc9-f0ac-408a-b9b4-ba3adc971170",
"dispositionId": "a4d2c7e9-1b3f-4e5a-8c6d-7f9e0a1b2c3d",
"dispositionKey": "appointment_outcome",
"name": "Appointment outcome",
"versionNumber": 3,
"status": "running",
"timing": "immediate",
"values": [
{
"id": "594742b5-3aed-406c-8411-f243391eb225",
"key": "booked",
"label": "Booked",
"kind": "judge",
"reasoningEffort": "low"
}
],
"results": [],
"error": null,
"createdAt": "2026-09-28T17:05:40.221Z",
"completedAt": null
}
]
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "BAD_REQUEST",
"message": "callIds accepts at most 100 ids"
}
]
}