Skip to main content
GET
cURL

Authorizations

Authorization
string
header
required

Project API key (sk_api_…).

Path Parameters

sessionId
string
required

Returned as sessionId by the call dispatch, or as callId on a campaign's calls list, like 7b2e91c4-xxxx-xxxx-xxxx-xxxxxxxxxxxx#+923001234567#a2. Always percent-encode it in the path, encodeURIComponent(sessionId) in JavaScript. Campaign call ids embed # and +, and an unencoded # truncates the id.

Query Parameters

include_audio_url
boolean
default:false

Adds audioUrl to the response. Must be exactly true or false — 1, TRUE and a bare ?include_audio_url are all 400s.

Response

The call.

sessionId
string<uuid>
realtimeAssistantId
string<uuid>
channel
enum<string>
Available options:
web,
telephony,
whatsapp
direction
enum<string>

Web sessions are always inbound — the user opens them.

Available options:
inbound,
outbound
state
enum<string>

Web runs created → active → completed. Outbound telephony runs dispatched → dialing → ringing → answered → completed or failed; a carrier that reports no dial progress skips straight to answered.

Available options:
created,
dispatched,
dialing,
ringing,
answered,
active,
completed,
failed
connected
boolean

Whether the call ever reached a conversation. False for every dial-time state and for failed.

outcome
enum<string>

Why the call never reached a conversation. Present only when connected is false.

Available options:
no_answer,
busy,
voicemail,
unreachable,
silent_pickup,
failed
endedBy
enum<string>

Who hung up.

Available options:
callee,
agent,
supervisor,
system
toNumber
string

E.164. Telephony only.

Example:

"+923001234567"

fromNumber
string

E.164 caller id the call was placed from. Telephony only.

Example:

"+924232591000"

calleeName
string

Display name of the person called, from the campaign contact row.

roomName
string
participantIdentity
string

The identity the client joined the room under — usually a person's name for web clients, a generated key for dialed calls.

transportProvider
string
Example:

"twilio"

variables
object

The values you passed when the call or session was created.

assistantVersion
integer

The assistant version this session ran. Absent on sessions from before versions.

assistantAlias
enum<string>

The alias the session was launched on. Absent when it was launched by an exact version number, and on sessions from before versions.

Available options:
prod,
draft
campaignId
string<uuid>

Set on calls a campaign dialed.

runId
string<uuid>

The campaign run (one launch) this call belongs to. Set with campaignId.

contactId
string

The campaign contact this call was placed to.

createdAt
string<date-time>
dialingAt
string<date-time>

Carrier-reported dial progress. A carrier that never reports a hop leaves this and ringingAt absent even on a call that connected.

ringingAt
string<date-time>
connectedAt
string<date-time>

When the carrier bridged the audio. answeredAt is speech-gated, so connectedAt without it is a phantom answer: the line picked up and nobody spoke.

answeredAt
string<date-time>

When the conversation started.

endedAt
string<date-time>
durationSec
integer

Talk time, answeredAt → endedAt. Absent when either timestamp is.

failureReason
enum<string>

Why a failed call failed. Appears alongside outcome: failed and is the authoritative field of the two.

Available options:
wrong_number,
busy,
declined,
no_answer,
unreachable,
voicemail,
silent_pickup,
network_error,
call_failed
failureReasonWithCode
string

failureReason with the carrier's SIP code appended when there was one. Switch on failureReason; show this.

Example:

"busy:486"

transcript
object[]

The conversation in order. Empty on calls that never connected, and on a connected call whose report has not been stored yet.

toolCalls
object[]

Tools the assistant invoked during the call, in order.

grade
object

The rubric grade, written by the post-call pipeline. Criterion titles and points are resolved into it, so rendering a scorecard needs no rubric lookup.

summary
object

Call summary: how it went, in a headline and a few bullets, plus the facts that came up. In English. Not available for adhoc sessions.

conversion
object

The goal outcome recorded for this call. Absent when the call produced none.

callback
object

A request to have a human call this person back.

audioUrl
string<uri>

Presigned link to the recording, valid for one hour. Minted without checking the recording exists, so a call that was never recorded still returns a link that 404s when fetched.