Retrieve Voice AI Execution API
Fetch details of a specific phone call execution by its ID using Bolna APIs. This includes information such as conversation time, status, and telephony data.
Status lifecycle
A call moves through these statuses. Always wait forcompleted (or a hard-failure terminal) before reading conversation_duration, total_cost, recording_url, or extracted_data — these fields are null or 0 until then.
| Status | Meaning |
|---|---|
queued | Call accepted, waiting to dial |
initiated | Dialing started |
ringing | Recipient’s phone is ringing |
in-progress | Call answered, conversation active |
call-disconnected | Line dropped — data still being finalized |
completed | ✓ Terminal — all fields populated |
no-answer | Recipient didn’t pick up |
busy | Line busy |
failed | Telephony error |
canceled | Call canceled before answer |
stopped | Call stopped mid-execution |
error | Internal error during processing |
balance-low | Insufficient wallet balance |
Completed execution example
Production pattern: webhook instead of polling
For production workloads, setwebhook_url on your agent and Bolna will POST the execution payload to you automatically — no polling needed. Whitelist source IP 13.203.39.153. See Webhooks.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The unique execution_id
Response
Retrieve specific execution by an agent
Unique identifier for the execution
"4c06b4d1-4096-4561-919a-4f94539c8d4a"
Unique id of the agent
Unique id of the batch
^[a-f0-9]{32}$"baab7cdc833145bf8dd260ff1f0a3f21"
Total time duration for the conversation (in seconds)
Total cost incurred by this execution in cents
Current status of the call. Typical progression: queued → initiated → ringing → in-progress → call-disconnected → completed. Important: call-disconnected fires the instant the line drops, before duration, cost, recording URL, and extracted_data are finalized. The true terminal state is completed (or no-answer, busy, failed, canceled, stopped, error, balance-low). Always wait for completed before reading those fields.
scheduled, queued, rescheduled, initiated, ringing, in-progress, call-disconnected, completed, balance-low, busy, no-answer, canceled, failed, stopped, error Associated error message (if any)
If the call was answered by voice mail
Transcription of the execution
Timestamp of agent execution
"2024-01-23T01:14:37Z"
Last updated timestamp for the execution
"2024-01-29T18:31:22Z"
Breakdown of the costs in cents
Telephony call data
Telephony call data
Batch information
Extracted data in JSON format which was mentioned in the agent extraction_prompt
{
"user_interested": true,
"callback_user": false,
"address": "42 world lane",
"salary_expected": "42 bitcoins"
}Custom variable data injected in the call. For batch executions, the sub-object context_details.recipient_data contains every non-contact_number column from the uploaded CSV row (e.g. {"customer_name": "Asha", "appointment_day": "Friday"}).

