---
title: "Retrieve an agent session turn"
method: GET
path: "/agents/sessions/{session_id}/turns/{turn_id}"
tags: ["Agents"]
---

# Retrieve an agent session turn

`GET /agents/sessions/{session_id}/turns/{turn_id}`

Retrieves a turn's current status, timestamps, usage, and error. Returns 404 if the turn does not belong to the session. See [session turns](https://developers.openai.com/api/docs/guides/agents-api/sessions/manage#inspect-session-turns).

## Path parameters

- `session_id` string, required
- `turn_id` string, required

## Response `200`

The requested turn.

- TurnResource — The canonical public representation of a session turn.
  - `id` string, required — The ID of the turn.
  - `object` 'agent.session.turn', required — The object type for a turn.
  - `session_id` string, required — The ID of the session that owns the turn.
  - `agent_id` string, required — The ID of the agent that ran the turn.
  - `subagent_id` string, nullable, required — The ID of the subagent that ran the turn, if applicable.
  - `status` 'queued' | 'in_progress' | 'waiting' | 'completed' | 'failed' | 'cancelled', required — The current status of a turn.
  - `created_at` integer, required — The Unix timestamp, in seconds, used to order the turn by creation time. Subagent turns use their start time, falling back to completion time or the subagent opening time when the preceding timestamps are unavailable.
  - `started_at` integer, nullable, required — The Unix timestamp, in seconds, when the turn started.
  - `completed_at` integer, nullable, required — The Unix timestamp, in seconds, when the turn reached a terminal state.
  - `error` SessionTurnErrorResource, required — A customer-safe error describing why a session request failed.
    - `code` 'context_length_exceeded' | 'session_budget_exceeded' | 'usage_limit_exceeded' | 'credit_balance_exhausted' | 'rate_limit_exceeded' | 'server_overloaded' | 'cyber_policy' | 'connection_failed' | 'server_error' | 'authentication_error' | 'invalid_request' | 'resource_not_found' | 'sandbox_error' | 'executor_version_incompatible' | 'active_turn_not_steerable' | 'request_timeout' | 'internal_error', required — Stable public categories for session request failures.
    - `message` string, required — A customer-safe explanation of the failure.
  - `usage` TokenUsageResource, required — Recorded token usage for a session or turn. Usage is best effort and may change.
    - `input_tokens` integer, required — The number of input tokens used by the agent.
    - `input_tokens_details` InputTokensDetailsResource, required — A breakdown of input token usage for a session or turn.
      - `cached_tokens` integer, required — The number of input tokens retrieved from the prompt cache.
    - `output_tokens` integer, required — The number of output tokens generated by the agent.
    - `output_tokens_details` OutputTokensDetailsResource, required — A breakdown of output token usage for a session or turn.
      - `reasoning_tokens` integer, required — The number of output tokens used for reasoning.
    - `total_tokens` integer, required — The total number of input and output tokens used by the agent.

## Other responses

- `400` — The request was invalid.
- `401` — Authentication or project context was missing.
- `404` — The requested session or event was not found.
- `409` — The request conflicted with the current session state.
- `500` — An internal error occurred.
- `503` — The service is temporarily unavailable.

## Changes

- **2026-09-11** `8c3c08961f62` — 1 warning
  - added the new `credit_balance_exhausted` enum value to the `error/anyOf[#/components/schemas/SessionTurnErrorResource]/code` response property for the response status `200`
- **2026-09-10** `f2dae1a9aced` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/openai/apis/openapi/changes/agents/sessions/:session_id/turns/:turn_id/get.md)

---

[API](https://skmtc.dev/openai/apis/openapi.md) · [All operations](https://skmtc.dev/openai/apis/openapi/llms.txt) · [OpenAPI document](https://skmtc.dev/openai/apis/openapi/revisions/ee7bbed1af46?raw)
