Skip to content

Get conversation quality

GET
/api/conversations/{conversationId}/quality

Retrieve the CSAT score for a single conversation. Scores are computed after the conversation is resolved.

conversationId
required
string format: uuid

The unique identifier of the conversation.

The conversation quality score.

CSAT score for a single conversation, computed after resolution.

object
conversationId
required

The conversation this score belongs to.

string format: uuid
Example
c9f8e7d6-b5a4-3210-fedc-ba9876543210
outcomeScore
required

How well the customer’s problem was resolved (1.0 to 5.0).

number
Example
4.5
processScore
required

How smooth and efficient the interaction was (1.0 to 5.0).

number
Example
4.2
environmentScore
required

How well the tone, language, and presentation met expectations (1.0 to 5.0).

number
Example
4
compositeScore
required

Weighted average of the three dimension scores.

number
Example
4.23
disconfirmation
required

Gap between expected and perceived service level (0.0 to 1.0, lower is better).

number
Example
0.08
confidence
required

How confident the model is in the computed scores (0.0 to 1.0).

number
Example
0.87
signalCount
required

Number of conversation signals used to derive the scores.

integer
Example
6
scoredAt
required

Timestamp when the score was computed.

string format: date-time
Example
2026-03-15T14:35:00.000Z

No quality score exists for this conversation.

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"
]