Conversations
A conversation is the durable record of everything that happened across one or more sessions on the same call: the transcript turns, the operator results, and rolled-up usage, all threaded by a single conversation_id. Where a session is live and ephemeral, the conversation is what persists — the unit you retrieve, query, and report on after the fact.
What a conversation holds
conversation_id— the stable identifier for the conversation.medium— the communication medium, such asvoice.status—openwhile a session is live,closedonce the last session ends.transport_key— the medium-native key; the telephonycall_idfor voice.source_sessionsandconfiguration_ids— the sessions that contributed turns, and the distinct configurations active over the conversation.turn_countandusage— the number of transcript turns, and rolled-upaudio_secondsandoperator_results_emitted.started_at/ended_at— when the earliest session started and the last session ended;ended_atis absent while the conversation is open.
A single conversation can span more than one session — for example a call analysed under one configuration, then another after a mid-call swap — and its configuration_ids records each one.
Retrieving and querying
GET /conversationslists your conversations;GET /conversations/{conversation_id}retrieves one.GET /conversations/{conversation_id}/operator-resultsreturns the operator results, optionally split outper_session.GET /conversations/{conversation_id}/transcriptreturns the transcript, paged: each turn carries aseq, the diarisedspeaker, thetext, and when itoccurred_at, and you page forward withafter_seq.
Today and tomorrow
Today, conversations are synchronous: they come from live calls, each backed by one or more sessions. The model is medium-agnostic by design — support for asynchronous conversations such as messaging and email, which have no live session and are analysed as each message arrives, is planned. A conversation's medium distinguishes the two.