Skip to main content

Get a trace's steps

GET 

/v1/projects/:project_id/traces/:trace_id/steps

Returns the trace's step payload: every step of the execution's model loop, exactly as the runtime recorded it — tool calls, their arguments, results and cost — passed through unreshaped rather than mapped to a narrower contract, since the payload is the runtime's own step shape. Saving the payload is fire-and-forget on the runtime, so a trace can report has_steps: false for a short window after it finishes; this route 404s with steps_not_available during that window rather than returning an empty list, so a caller does not mistake "not saved yet" for "no steps ran". A trace with no payload at all answers steps_redacted instead — its content was purged, or its agent runs in zero-retention and nothing was ever written. The distinction is the whole point of two codes: retrying steps_not_available succeeds once the write lands, while retrying steps_redacted can never succeed. The response carries content_redacted_at in details.

Request

Responses

The trace's steps.