| Endpoint | Returns |
|---|---|
GET /messaging/v1/threads/{threadId}/trace | Every interaction’s trace in the thread |
GET /messaging/v1/interactions/{interactionId}/trace | One interaction’s trace |
interactionId is the message.id from a
send-message response.
Get a thread’s traces
cURL
Get one interaction’s trace
cURL
The trace object
The end-user message the turn started from (
input.message).What the agent understood: the detected
intents and the guardrails
outcome (passed, reason).The decisions the agent took while handling the message — one entry per
step.
Parameters the agent computed during the turn (
code, title, scope).Every rule evaluated: its
code, whether it triggered, and the
per-condition reason breakdown.How the agent answered: the response
type and message, follow-up
suggestions, what it was asking_for, any block_message, and rendered
jsx_widgets.Trace fields are additive: new fields may appear as the reasoning engine
evolves, so treat unknown fields as informational rather than errors.
Traces on the management surface
The same traces are available under/management/v1 for back-office tooling —
GET /management/v1/threads/{threadId}/trace and
GET /management/v1/interactions/{interactionId}/trace — authenticated with a
management credential. See Management → Threads.