Update trace
Update an existing trace. See Traces. The REST path /inferenceResults and the inferenceResult* JSON fields keep the old name of this entity.
Authorizations
API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....
Path Parameters
Trace ID
Body
Agent output. Plain text by default (the scored scalar); for voice, an envelope { assistant_message, content: [{ type, uri, transcript }] } carrying audio parts. An audio part without a transcript is rejected with a 400.
"Model response text"
"Retrieved context document"
Error message explaining why this trace failed or was skipped
Response
Trace updated successfully
A trace: one conversation turn, holding the input and the agent output. The schema name, the /inferenceResults path and every inferenceResult* field still carry the old name of this entity, "inference result". Only the wording changed so far; the wire contract is renamed in a later API release.
"ir_123"
"session_123"
"user_123"
Order index within the session
0
PENDING, GENERATED, FAILED, SKIPPED "PENDING"
Error message explaining why this trace failed or was skipped
null
Structured input data. For plain text input, format is { user_message: "..." }
The agent turn output. Plain text by default (the scored scalar). For voice turns, an envelope { assistant_message, content: [{ type, uri, transcript }] } carrying audio parts — the scored scalar stays the canonical transcript.
"Model response"
150
100
50
20
Total tokens
150
0.00001
0.00003
0.000005
0.001
1
"1.0.0"
W3C trace ID for the root span created during direct inference. This is the OpenTelemetry trace id, not the id of this Galtea trace, which is id. The same trace ID is propagated to the user endpoint via the traceparent header.
"a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"
Free-form reviewer annotations on this turn, oldest first.