CallDetail
A Call with the metrics of its Turns and, from 1.5.0, its cost estimate, from 1.15.0, its recording, from 1.16.0, the destination hint of an outbound Call and, from 1.18.0, its per-Call settings override.
An object with 45 fields.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
agent_id | AgentId or null | yes | The Agent. Null only on an inbound phone Call refused at admission before it was resolved (1.22.0), such as a Call ended refused_no_route on a number that routes to no Agent; a reader on an older version must take 1.22.0 first. |
agent_version | integer or null | yes | The pinned Agent version. Null only on an inbound phone Call refused at admission before it was resolved (1.22.0), such as a Call ended refused_no_route on a number that routes to no Agent; a reader on an older version must take 1.22.0 first. |
answered_at | Timestamp or null | yes | |
answering_machine | AnsweringMachineResult or null | no | The answering-machine detection of an outbound phone Call (1.50.0, FR-calls-12), known once the Call is finalized, with any reviewer label; null when detection did not run (an inbound or web Call, detection off, or not finalized yet). Absent from an api before 1.50.0; a reader treats its absence as null. |
attempt | integer | no | The attempt number (1.61.0): 1, or 2 for a retry. Absent from an older api. |
campaign_attempt | integer or null | no | The enrollment's attempt the Call is (1.65.0); null otherwise. |
campaign_enrollment_id | CampaignEnrollmentId or null | no | The enrollment (1.65.0); null otherwise. Absent from an older api. |
campaign_id | CampaignId or null | no | The Campaign whose contact instance placed the Call (1.65.0); null otherwise. Absent from an api older than 1.65.0, which a reader treats as null. |
capture_mode | CaptureMode | no | What admission decided the Call captures (1.57.0): verbose when capture asked for it or an open capture window of the Agent applied. Absent from an api older than 1.57.0; a reader treats its absence as standard. |
capture_window_id | CaptureWindowId or null | no | The capture window that made the Call verbose (1.57.0); null when none did. Absent from an api older than 1.57.0; a reader treats its absence as null. |
compliance_profile_version | integer or null | no | The version of the Organization's Compliance profile that admission read once for the Call (1.34.0; workspace ADR 0082, decision 1): 0 for the defaults, the number the Session configuration carries as compliance_profile_version. A change of the profile applies from the next Call, so this is the profile the Call ran under. Null on a Call created before the api recorded it and on a refused inbound Call that resolved none; a reader treats its absence as null. |
contact_id | ContactId or null | no | The Contact the Call resolved (1.61.0), or, for an ambiguous resolution, the candidate verification bound; null when none. Absent from an api older than 1.61.0, which a reader treats as null. |
contact_resolution | ContactResolution or null | no | How admission resolved the Contact (1.61.0); null on a Call admitted before 1.61.0. Absent from an older api. |
cost | CallCost or null | no | The cost estimate of the Call; null until it is finalized and rated. Added in 1.5.0. From 1.29.0 (workspace ADR 0078, decision 7) the api sends it only to a reader that holds usage:read and omits it for any other, such as the viewer role; a reader treats its absence as null. |
created_at | Timestamp | yes | |
destination_hint | string or null | no | For an outbound phone Call only: the country code, a space-separated elision and the last four digits of the number dialled, such as +1 ... 2486; null otherwise. Added in 1.16.0: a reader treats its absence as null. The full number is never returned. |
direction | CallDirection | yes | |
duration_ms | integer or null | yes | From answer to end, known once the Call is finalized. |
end_requested_at | Timestamp or null | no | When POST /v1/calls/{call_id}/end asked the worker to end the Call; null when no end was requested, or when the Call ended at once. Added in 1.19.0: a reader treats its absence as null. |
ended_at | Timestamp or null | yes | |
ended_reason | EndedReason or null | yes | |
engine | EngineKind or null | yes | The engine of the pinned version. Null only on an inbound phone Call refused at admission before it was resolved (1.22.0), such as a Call ended refused_no_route on a number that routes to no Agent; a reader on an older version must take 1.22.0 first. |
environment | Environment | yes | |
experiment | CallExperiment or null | no | The experiment and arm dispatch assigned the Call to at admission (1.55.0, roadmap slice 2.9), identifiers only, beside the versions it ran. Null for a Call outside every experiment: one that resolves a pinned version, whose version a pre-call hook selected, or of an Agent with no running experiment. Absent from an api older than 1.55.0, which a reader treats as null. |
id | CallId | yes | |
knowledge_versions | array of KnowledgeVersionRef | no | The Knowledge base version each binding of the Call read (1.53.0, roadmap slice 2.8), resolved once at dispatch, beside the Policy versions it ran on: a Call reads exactly one version of each bound Knowledge base. Empty for a Call whose Agent version binds none; absent from an api older than 1.53.0, which a reader treats as none. |
max_duration_s | integer | yes | The duration ceiling fixed at admission. On a Call refused at admission (1.22.0) it is the ceiling admission would have fixed, or the Organization's ceiling when no Agent version was resolved. |
object | "call" | yes | |
process_id | ProcessInstanceId or null | no | The Process instance whose start_call node placed the Call (1.62.0); null otherwise. Absent from an api older than 1.62.0, which a reader treats as null. |
process_step_id | ProcessStepId or null | no | The step of that node (1.62.0); null otherwise. Absent from an older api. |
prompt_versions | CallPromptVersions or null | no | The prompt layers dispatch resolved once for the Call (1.55.0, roadmap slice 2.9): the platform base and the Organization layer version, beside the Agent layer the pinned Agent version names. Null for a Call admitted before the api resolved them; absent from an api older than 1.55.0, which a reader treats as null. |
purpose | CallPurpose | no | Why the Call exists (1.56.0): evaluation for a test Call of an evaluation suite run or a conversation test run, which runs on the headless Engine and records engine: headless, transport: web and direction: inbound, its caller being simulated or scripted. Absent from an api before 1.56.0 and for every other Call; a reader treats its absence as conversation. |
queued_at | Timestamp | yes | |
recording | RecordingRef or null | no | The recording of the Call, or null when the Call is not recorded. Added in 1.15.0: the api always sends it, and a reader treats its absence as null. |
retry | RetryPolicy or null | no | The retry policy (1.61.0), which every attempt carries; null without one. |
retry_of_call_id | CallId or null | no | The attempt this Call retries (1.61.0); null for a first attempt. |
ring_ms | integer or null | no | For an inbound phone Call (1.42.0, board #136): the ring-to-answer period, the milliseconds from the instant the inbound Call was received to the instant the Agent answered (answered_at), 0 to 60,000; the Call's recording begins with a ring tone for this duration, so a player marks the answer instant at this offset. Null for a web Call, an outbound Call and a Call that was not answered; absent from an api older than 1.42.0, which a reader treats as null. |
schedule | CallSchedule or null | no | The schedule as admitted (1.61.0); null for a Call started at once. |
scheduled_at | Timestamp or null | no | When a scheduled Call's start job runs (1.61.0), aligned into its window, moved by a closed window; null for a Call started at once. Until the job admits the Call its queued_at is its creation instant, then the admission instant. |
settings_overrides | AgentSettings or null | no | The per-Call override as the start request gave it, or null when it set none. Added in 1.18.0: a reader treats its absence as null. |
status | CallStatus | yes | |
transport | CallTransport | yes | |
turn_count | integer or null | yes | The number of Turns, known once the Call is finalized. |
turns | array of TurnMetrics | yes | Turn metrics, without text. |
voicemail | VoicemailOverride or null | no | The voicemail override without its message (1.61.0); null without one. |
Used by
The operations whose parameters, request body or responses name this shape directly.