Search conversations
string
Matches the customer’s name, phone number, or email, or words in the title, summary, or category. Up to 100 characters.
string
One of
phone, text, web_chat, or email. Returns conversations that happened on that channel. A call the customer replied to by text matches both phone and text.string
Created within this window:
today, yesterday, 7d, 14d, 30d, 90d, 365d, mtd, or ytd. Every window starts at midnight in your team’s timezone. See time ranges. Leave it out for all time.integer
default:"10"
Results per page, 1 to 50.
integer
default:"1"
Page number. Use
next_page from the previous response.Conversation fields
integer
The conversation ID. Use it to get the conversation or its recording.
string
The conversation in the dashboard.
string | null
The channel the conversation started on:
phone, text, web_chat, or email.string[]
Every channel the conversation happened on. A call the customer replied to by text lists
phone and text. Texts the AI sent during or after a call appear in written.messages but don’t add text.string | null
When the conversation started, as an ISO 8601 UTC timestamp.
string | null
The latest message, or
started_at when there were no later messages. null only when both are missing.string | null
A short title the AI wrote. Up to 200 characters.
string | null
The AI’s summary. Up to 1,500 characters.
string | null
The conversation category key, such as
cancellation, billing, damage_claim, lost_items, sales, scheduling, hours_status, service_status, account_update, general_questions, job_seeking, or other. GET /reports/metrics lists every key with its label under categories. Older conversations can have a retired key that is not in that list.object
The customer’s
name, phone, and email. Any of them can be null.object | null
The phone line (location) that took the conversation:
id, name, and phone_number. name and phone_number can be null.integer | null
Call length in seconds.
null for texts, chats, and emails.boolean
true when GET /conversations/{conversation_id}/recording has audio to stream for this call. false for texts, chats, emails, and calls that were not recorded. For some calls the recording provider stores the audio and can delete it, so true can still get a 404.Get a conversation
integer
required
The conversation ID.
object[]
Questions the customer asked, each with the
question, the answer given, and whether it was answered. answer can be null.object | null
The task this conversation created, in the same shape as Get a task, with its
description. null when it created no task.object | null
The spoken transcript of a phone call.
null for texts, chats, and emails.object | null
Texts, chat messages, and emails in the conversation.
null when there are none. A phone call with follow-up texts has both transcript and written.404.
Download a call recording
Content-Type header.
integer
required
The conversation ID of a phone call.
string
Optional. Request part of the file, such as
bytes=0-1048575. The response is then 206 with a Content-Range header.404 when the conversation has no recording. Check has_recording on the conversation first. Texts, chats, emails, and calls that were not recorded have none. Recordings come back as MP3 (audio/mpeg) or Ogg (audio/ogg). Read the Content-Type header. A Range header that falls outside the file returns 416 when the recording provider supports byte ranges. Otherwise it returns 404. If the recording provider is down, the API returns 502 or 503 for most recordings and 404 or 500 for some, so retry later before treating a recording as missing.