Get a conversation
A single conversation by its display_id — the number in the dashboard URL and in webhooks, not the internal database id. Visibility follows the same rule as the list: an administrator token can reach every inbox of the account, an agent token only its own inbox memberships. A conversation whose inbox is outside that reach answers 404, indistinguishable from an id that does not exist.
Authorizations
The id_token from POST /auth/v1/signin, sent as Authorization: Bearer <id_token>. Not the access_token — that one does not carry the identity Cloud Chat authorizes on.
Headers
Your Cloud Chat instance ID — an integer, fixed for your company, told at onboarding. The API overview explains how instances work, how to find yours, and the errors a wrong or missing value produces.
1
Path Parameters
Your Cloud Chat account. It has to be an account your token grants membership on, and it has to live on the instance in the cloudchat-instance header — the two travel together. Account numbers are only unique within an instance, so the same number is a different company on another instance. Usually a mismatched pair fails closed with a 401, because your user does not exist on the other instance — but if your identity happens to exist on both, the call succeeds against the other company's data, silently. Read it and you are looking at the wrong help center; write it and you have stored into the wrong account. Send the two values that were given to you together, and never try a number to see what answers.
1
The conversation's display_id — the number shown in the dashboard URL and delivered in webhooks. It is never the internal database id, and it is the only conversation identifier any external surface of the product exposes.
1042
Response
The conversation.
The conversation number — the same one shown in the dashboard URL and delivered in webhooks, unique within the account.
1042
Where the conversation is in its lifecycle.
open, resolved, pending, snoozed, proactive "open"
The conversation's priority, null when none is set. One of the four levels the dashboard offers, in ascending urgency.
low, medium, high, urgent "high"
The agent currently assigned, null while unassigned.
7
The inbox the conversation lives in.
3
The team it is assigned to, null when none.
2
The customer, null on the rare conversation without one.
Labels applied to the conversation. Empty when it has none.
One label, exactly as it appears in the dashboard.
When it was created. ISO 8601, always UTC, milliseconds included.
"2026-08-13T19:09:51.482Z"
When it last changed, in the same format. This is what updated_after / updated_before filter on.
"2026-08-13T19:42:07.115Z"
When the last message or activity happened. The list is ordered by this, newest first.
"2026-08-13T19:42:07.115Z"
The account's custom conversation attributes, as configured in the dashboard. Keys and value types vary per account; an account with none defined answers {}.
When a snoozed conversation is scheduled to reopen. null outside the snoozed status.
null
When the conversation started waiting on the customer's or the agent's next move — the field SLA and wait-time reports are built on. null when nothing is being waited on.
null