Get Bolna Executions
Endpoints
- Get execution:
GET https://api.bolna.ai/executions/{execution_id}
- Get raw logs:
GET https://api.bolna.ai/executions/{execution_id}/log
- List agent executions:
GET https://api.bolna.ai/v2/agent/{agent_id}/executions
- List batch executions:
GET https://api.bolna.ai/batches/{batch_id}/executions
Use Authorization: Bearer $BOLNA_API_KEY.
Execution object
Expect fields such as:
id, agent_id, batch_id
conversation_time, total_cost, cost_breakdown
status, error_message, answered_by_voice_mail
transcript, recording_url
created_at, updated_at
telephony_data: provider, to/from numbers, call type, provider call ID, hangup reason/code, ring duration, post-dial delay, carrier details.
transfer_call_data: details for transferred calls.
batch_run_details: retry and batch metadata.
extracted_data: structured data from dispositions or extraction prompts.
context_details: context variables and related metadata.
Statuses to handle
Common statuses include scheduled, queued, rescheduled, initiated, ringing, in-progress, call-disconnected, completed, balance-low, busy, no-answer, canceled, failed, stopped, and error.
Treat completed as the post-processing finished state, not merely the end of audio.
Single execution
curl --request GET \
--url "https://api.bolna.ai/executions/$EXECUTION_ID" \
--header "Authorization: Bearer $BOLNA_API_KEY"
Raw logs
curl --request GET \
--url "https://api.bolna.ai/executions/$EXECUTION_ID/log" \
--header "Authorization: Bearer $BOLNA_API_KEY"
Use raw logs for latency debugging, prompt inspection, provider request/response issues, tool call failures, or unexpected model output.
Paginated agent history
curl --request GET \
--url "https://api.bolna.ai/v2/agent/$AGENT_ID/executions?page_number=1&page_size=50" \
--header "Authorization: Bearer $BOLNA_API_KEY"
Use has_more to fetch the next page. page_size max is 50.
Debug map
- Long pauses: check transcriber endpointing, LLM latency, synthesizer latency, and
incremental_delay.
- Users cut off: increase
number_of_words_for_interruption or adjust endpointing.
- Silent hangups: check
hangup_after_silence, call_terminate, and hangup code.
- No webhook received: pull execution status here, then check
setup-webhook configuration.
- Cost spike: inspect
conversation_time, retry history, and cost_breakdown.
For the full triage runbook, see debug-bolna-calls/SKILL.md and debug-bolna-calls/references/latency-metrics.md.
Script
# Paginate through all executions for an agent
python3 get-executions/scripts/fetch_executions_paginated.py --agent-id $AGENT_ID
See also
../references/execution-payload.md — every field on the execution object, in one place.
../references/call-statuses.md — full lifecycle and terminal-status patterns.
../references/hangup-codes.md — hangup_by + hangup_code + hangup_reason interpretation.
setup-webhook — same payload shape, pushed in real time.
debug-bolna-calls — symptom-to-fix table built on top of execution + raw logs.
1---2name: get-executions3description: Fetch and analyze Bolna call execution data, raw logs, transcripts, recordings, costs, statuses, hangup details, extracted data, agent history, and batch executions. Use for debugging failed calls, analytics export, CRM sync, webhook reconciliation, and call monitoring.4license: MIT5---67# Get Bolna Executions89## Endpoints1011- Get execution: `GET https://api.bolna.ai/executions/{execution_id}`12- Get raw logs: `GET https://api.bolna.ai/executions/{execution_id}/log`13- List agent executions: `GET https://api.bolna.ai/v2/agent/{agent_id}/executions`14- List batch executions: `GET https://api.bolna.ai/batches/{batch_id}/executions`1516Use `Authorization: Bearer $BOLNA_API_KEY`.1718## Execution object1920Expect fields such as:2122- `id`, `agent_id`, `batch_id`23- `conversation_time`, `total_cost`, `cost_breakdown`24- `status`, `error_message`, `answered_by_voice_mail`25- `transcript`, `recording_url`26- `created_at`, `updated_at`27- `telephony_data`: provider, to/from numbers, call type, provider call ID, hangup reason/code, ring duration, post-dial delay, carrier details.28- `transfer_call_data`: details for transferred calls.29- `batch_run_details`: retry and batch metadata.30- `extracted_data`: structured data from dispositions or extraction prompts.31- `context_details`: context variables and related metadata.3233## Statuses to handle3435Common statuses include `scheduled`, `queued`, `rescheduled`, `initiated`, `ringing`, `in-progress`, `call-disconnected`, `completed`, `balance-low`, `busy`, `no-answer`, `canceled`, `failed`, `stopped`, and `error`.3637Treat `completed` as the post-processing finished state, not merely the end of audio.3839## Single execution4041```bash42curl --request GET \43 --url "https://api.bolna.ai/executions/$EXECUTION_ID" \44 --header "Authorization: Bearer $BOLNA_API_KEY"45```4647## Raw logs4849```bash50curl --request GET \51 --url "https://api.bolna.ai/executions/$EXECUTION_ID/log" \52 --header "Authorization: Bearer $BOLNA_API_KEY"53```5455Use raw logs for latency debugging, prompt inspection, provider request/response issues, tool call failures, or unexpected model output.5657## Paginated agent history5859```bash60curl --request GET \61 --url "https://api.bolna.ai/v2/agent/$AGENT_ID/executions?page_number=1&page_size=50" \62 --header "Authorization: Bearer $BOLNA_API_KEY"63```6465Use `has_more` to fetch the next page. `page_size` max is 50.6667## Debug map6869- Long pauses: check transcriber endpointing, LLM latency, synthesizer latency, and `incremental_delay`.70- Users cut off: increase `number_of_words_for_interruption` or adjust endpointing.71- Silent hangups: check `hangup_after_silence`, `call_terminate`, and hangup code.72- No webhook received: pull execution status here, then check `setup-webhook` configuration.73- Cost spike: inspect `conversation_time`, retry history, and `cost_breakdown`.7475For the full triage runbook, see `debug-bolna-calls/SKILL.md` and `debug-bolna-calls/references/latency-metrics.md`.7677## Script7879```bash80# Paginate through all executions for an agent81python3 get-executions/scripts/fetch_executions_paginated.py --agent-id $AGENT_ID82```8384## See also8586- `../references/execution-payload.md` — every field on the execution object, in one place.87- `../references/call-statuses.md` — full lifecycle and terminal-status patterns.88- `../references/hangup-codes.md` — `hangup_by` + `hangup_code` + `hangup_reason` interpretation.89- `setup-webhook` — same payload shape, pushed in real time.90- `debug-bolna-calls` — symptom-to-fix table built on top of execution + raw logs.