Skip to main content
GET
Get Call Details
Read only Fetches the record for a single call by its ID. The response includes the call’s current status, the destination number (to_number), the ID of the workspace number the call used (phone_number_id), the assigned agent_id, when it was placed (called_time) and initiated (initiated_time), and, once the call ends, its duration, end_reason, post-call analysis (postcallanalysis), and recording URL (recording_sas_url, null when there is no recording). A terminal status does not guarantee that recording or post-call processing has finished. Use this endpoint to poll for completion after triggering a call, render a call detail page, or sync per-call data into a downstream system.

When to use this

  • Synchronous workflows: trigger a call and poll until it reaches a terminal status before continuing.
  • Operational dashboards: render a call detail view with status, duration, and the linked agent.
  • CRM sync: write back the call outcome to the customer record the call was made for.

Get Call Details After A Status Update

For production traffic, webhooks are the preferred way to know when a call has ended, they avoid the request volume and latency of repeated polling. Register a subscription with Create Webhook for eligible non-batch calls. Direct batch calls and calls refused before dialing do not send these deliveries; recording availability can also delay or prevent delivery, and a call can produce more than one delivery. Reconcile missing or duplicate events with the current call record. Use this endpoint only when you specifically need to fetch the latest state on demand (for example, a user opens a call detail page). When polling is required, read status. A call is still in flight while it is created, initiated, sent or received. It has ended once it is completed, did_not_pick, busy, no_answer, failed, cancelled or retry_expired; end_reason then says why. See call statuses for what each value means. Poll every 5 to 10 seconds with an exponential cap; do not poll faster than once per second.

Path parameters

Errors

  • 401 Unauthorized is returned when the API key is missing or invalid.
  • 404 Not Found is returned when the call does not exist in this workspace. A call that belongs to another workspace is reported the same way.
  • 500 Internal Server Error is returned on an unexpected server-side failure.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Call ID

Example:

"call_abc123"

Response

Call returned successfully.

id
string
required

Signed call ID

Example:

"call_abc123"

agent_id
string | null

Agent that handled the call.

Example:

"agent_2g7Xy3tY53gRlp"

batch_id
string | null

Signed batch ID of the batch the call belongs to; null for single calls and for retry attempts.

to_number
string | null

Destination number as recorded on the call: the number as sent for a single call, and the lead's number as stored for a batch call, where an Indian number appears as 91XXXXXXXXXX without +.

Example:

"+919876543210"

phone_number_id
string | null

ID of the workspace phone number the call was placed from.

Example:

"phn_abc123"

called_time
string<date-time>
duration
string | null

Call duration in seconds, serialized as a string (the column is a 64-bit integer); null until a duration is recorded.

Example:

"42"

status
string
initiated_time
string
end_reason
string

Why the call ended; unknown until the call ends. One of agent_disconnected, user_disconnected, user_busy, user_did_not_pick_up, invalid_phone_number, unallocated_phone_number, unknown, network_failure, voicemail_detected, user_unreachable, destination_forbidden, system_failure, system_at_capacity, insufficient_balance, agent_not_found, sip_auth_failed, sip_trunk_unreachable, spend_cap_reached, dnc_blocked.

postcallanalysis
object | null

Post-call analysis fields extracted for this call, keyed by field name. An empty object until analysis has run.

llm_name
string | null

Display name of the language model used on the call.

Example:

"gpt-4o"

voice_model_name
string | null

Display name of the voice used on the call.

recording_sas_url
string<uri> | null

Time-limited URL for the call recording; null when the call has no recording. Request the call again for a fresh URL after it expires.