Get call
Fetch full details for a call by ID — transcript, AI summary, and transfer metadata.
When to use this endpoint
Call webhooks includedata.callId and basic metadata (direction, duration, transfer flags). CALL events from GET /leads/{leadId}/events carry the same metadata, and the event’s top-level id field is the call ID. Neither includes the full transcript or every transfer detail.
Use GET /calls/{callId} to enrich a call after a webhook fires — for example, to pull the AI-generated summary and full transcript into your CRM or data warehouse. After a transfer, transferStatus and transferFailureCode match the final outcome in call.completed and the dedicated transfer webhooks.
For failed transfers, transferInitiatedAt records when Apten began the transfer attempt and transferWaitDurationSeconds records the elapsed time until Apten recorded the terminal failure. midCallTransferDuration is different: it measures time connected to a transfer recipient after a successful mid-call transfer.
Recordings
This endpoint never returns a recording URL. To download a completed recording, useGET /calls/{callId}/recording. The download URL is temporary; store the downloaded file, not the URL.
Webchat calls
For webchat voice calls, the response includessessionId instead of leadId.Authorizations
Path Parameters
Call ID from data.callId (webhooks) or the event id (CALL events).
Response
Call details fetched successfully.
Full call record returned by GET /calls/{callId}.
Stable unique identifier for the call.
INBOUND, OUTBOUND Current or final status of the call (e.g. COMPLETE, NO_ANSWER, IN_PROGRESS).
Length of the call in seconds.
Ordered transcript turns. Empty array if no transcript is stored yet.
The lead (room) this call belongs to. Absent for webchat-only calls.
The webchat session ID. Present for webchat voice calls instead of leadId.
AI-generated summary of the conversation. Present after the call is processed; may be absent immediately after a terminal webhook if processing is still in flight.
true if this was a transfer to a human agent.
true if a transfer happened mid-call.
true if the call left a voicemail.
E.164 number the call was transferred to, if applicable.
Fallback transfer number used when the primary transfer failed.
answered, no_answer, pending human, machine_start, machine_end_beep, machine_end_silence, machine_end_other, unknown answered, no_answer, pending human, machine_start, machine_end_beep, machine_end_silence, machine_end_other, unknown Seconds the lead was connected to a transfer recipient during a mid-call transfer.
Who ended the call. Only populated for warm transfers (where the lead is bridged into a live conference with a human agent); omitted for cold transfers and ordinary calls. LEAD — the lead hung up. AGENT — the human agent hung up. UNKNOWN — the call ended but the hangup could not be attributed to either party.
LEAD, AGENT, UNKNOWN When Apten began the transfer attempt and the lead began waiting. Absent if no transfer was started.
true if a warm-transfer agent was bridged to the lead.
Why the transfer failed after the agent was dialed. Absent if the transfer connected or was never started.
agent_not_connected, lead_disconnected Seconds from transfer initiation until Apten recorded the terminal failure, rounded to the nearest whole second. Present when failure timing is available.
x >= 0Terminal transfer outcome after an agent was dialed. Absent if no transfer was started.
connected, failed true if the lead never spoke during an AI-initiated call.

