Skip to main content
For public v1 consumers, the stable contract is the normalized output_flat payload from GET /v1/runs/{run_id}/steps/.

What to rely on

  • step.id, step.kind, step.status, step.depends_on
  • step.output_flat with:
    • type (text, json, media, tool_calls, none)
    • primary
    • usage
    • finish_reason

What not to rely on

  • Internal raw step output shapes
  • Internal per-step implementation details

See also