Skip to content

Get assembled conversation detail

GET
/api/conversations/{id}/detail

Returns the fully assembled detail view of a conversation. This combines the conversation summary with its contact, account, managing operator, per-turn activity, attention items, scheduled follow-ups, linked cases, quality and metric summaries, and workflow state. Messages are nested within each turn rather than returned as a flat list.

id
required
string format: uuid

The unique identifier of the conversation.

The assembled conversation detail.

The fully assembled detail view of a conversation, combining the conversation summary with its contact, account, managing operator, per-turn activity, attention items, scheduled follow-ups, linked cases, quality and metric summaries, and workflow state. Individual messages are nested within each turn rather than provided as a flat list.

object
conversation
required

A slim summary of the conversation, distinct from the full conversation record.

object
id
required

Unique identifier for the conversation.

string format: uuid
Example
c1a2b3c4-5678-9abc-def0-1234567890ab
tenantId
required

The tenant this conversation belongs to.

string format: uuid
Example
a0b1c2d3-4567-89ab-cdef-0123456789ab
workspaceId
required

The workspace this conversation is assigned to.

string format: uuid
Example
w1a2b3c4-5678-9abc-def0-1234567890ab
channelId
required

The channel through which the conversation is conducted.

string format: uuid
Example
ch1a2b3c-5678-9abc-def0-1234567890ab
channelType
required

The type of the channel, such as email or chat.

string
Example
email
status
required

Current lifecycle status of the conversation.

string
Example
active
outcome

How the conversation was resolved, when resolved.

string | null
stateSummary

A concise generated summary of the conversation so far.

string | null
Example
Customer asked about delivery times for order 4521.
humanManagingUserId

The human operator managing the conversation, when one has taken over.

string | null format: uuid
aiPaused
required

Whether automation is paused for this conversation.

boolean
createdAt
required

Timestamp when the conversation was created.

string format: date-time
Example
2026-03-24T08:15:00.000Z
updatedAt
required

Timestamp when the conversation was last updated.

string format: date-time
Example
2026-03-25T11:42:00.000Z
lastActivityAt
required

Timestamp of the most recent activity on the conversation.

string format: date-time
Example
2026-03-25T11:42:00.000Z
contact
required

The resolved contact for the conversation.

object
id
required

Contact identifier.

string format: uuid
Example
ct1a2b3c-5678-9abc-def0-1234567890ab
name

Contact display name.

string | null
Example
Alex Doe
email

Contact email address.

string | null
Example
alex.doe@example.com
phone

Contact phone number.

string | null
givenEmail

On a live chat, the email address the visitor typed in a chat, at its start or in the email field the chat shows, when they gave one. It is not verified. Null on every other channel.

string | null
Example
alex.doe@example.com
account

The account the contact belongs to, when resolved.

object
id

Account identifier.

string format: uuid
Example
ac1a2b3c-5678-9abc-def0-1234567890ab
name

Account name.

string | null
Example
Example Company
domain

Account domain.

string | null
Example
example.com
humanManager

The human operator managing the conversation, when one has taken over.

object
id

Operator identifier.

string format: uuid
Example
u1a2b3c4-5678-9abc-def0-1234567890ab
name

Operator name.

string | null
Example
Alex Doe
email

Operator email.

string | null
Example
alex.doe@example.com
turns
required

The conversation turns, each carrying the inbound and outbound messages plus the orchestration, specialist, composition, validation, delivery, event, and identity-event activity for that turn.

Array<object>
object
key
additional properties
attentionItems
required

Attention items raised on this conversation.

Array<object>
object
key
additional properties
scheduledFollowUps
required

Scheduled follow-ups queued for this conversation.

Array<object>
object
key
additional properties
linkedCases
required

Cases linked to this conversation.

Array<object>
object
key
additional properties
csatScore

The satisfaction score summary for the conversation, when available.

object | null
operationalMetrics

Operational metrics for the conversation.

object
firstResponseSeconds

Seconds until the first response.

number | null
Example
42
resolutionSeconds

Seconds until resolution.

number | null
Example
3600
turnCount

Number of turns.

integer
Example
3
escalationCount

Number of escalations.

integer
0
humanInterventionCount

Number of human interventions.

integer
0
voiceProvenance

The brand, persona, voice, and language used for a voice conversation. Null for non-voice conversations.

object
brandName

Brand name.

string | null
personaName

Persona name.

string | null
voiceName

Voice name.

string | null
language

Language.

string | null
workflowState

A summary of the underlying workflow state, when available.

object | null
meta
required

Response metadata.

object
warnings
required

Non-fatal warnings accumulated while assembling the detail.

Array<string>
generatedAt
required

Timestamp when the detail was assembled.

string format: date-time
Example
2026-03-25T11:45:00.000Z

No conversation exists with the given ID in the authenticated tenant. An API key restricted to a brand or workspace receives the same answer for a conversation in a workspace outside its restriction.

Standard error response returned by all endpoints on failure.

object
error
required

A human-readable error message describing what went wrong.

string
Example
Conversation not found
code

A machine-readable reason on some refusals, for example ‘key_lock’ when an API key’s brand or workspace restriction does not cover the action.

string
Example
key_lock
missing_scopes

On a 403 for an API key without a scope the endpoint requires: the scopes the key lacks.

Array<string>
Example
[
"mcp:write"
]
entryId

On a 409 with code duplicate_question or duplicate_rule_text: the knowledge base entry or policy that already holds the question or rule text.

string format: uuid
Example
11223344-5566-4788-99aa-bbccddeeff00
connectionId

On a 422 about one MCP connection a request names, from an assignment or an agent create or update (a connection that does not exist, one listed twice, or one that does not declare a tool named): the connection, as the request named it.

string
undeclaredTools

On the same 422: the tool names the connection does not declare.

Array<string>
Example
[
"get_orders"
]
declaredTools

On the same 422: the tools the connection declares.

Array<string>
Example
[
"get_order",
"search_orders"
]