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

# List agent session turn items

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

## Request

- Base URL: `https://api.openai.com/v1`
- URL: `https://api.openai.com/v1/agents/sessions/{session_id}/turns/{turn_id}/items`
- Auth: HTTP bearer

Lists items belonging to one root-agent turn, including its interactions with subagents. See [inspecting agent output](https://developers.openai.com/api/docs/guides/agents-api/observability).

## Path parameters

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

## Query parameters

- `limit` integer
- `order` 'asc' | 'desc': The order in which paginated resources are returned.
- `after` string

## Response `200`

A page of session turn items.

- SessionItemListResource: A page of messages, reasoning, and tool calls from a session's item history.
  - `object` 'list', required: The object type, which is always `list`.
  - `data` SessionTurnItemResource[], required: The resources returned in this page, in the requested sort order.
    - union: An item associated with a session turn.
      - object: A user or assistant message recorded in a session.
        - `type` 'message', required: The item type. Always `message`.
        - `id` string, nullable, required: The ID of this item, or null for legacy user messages whose ID was not recorded.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `role` 'user' | 'assistant', required: The author of a session message.
        - `content` MessageContentResource[], required: The content of the message. User messages contain input text or images; assistant messages contain output text.
          - union: A content part in a session message.
            - object: Text supplied by the user.
              - …
            - object: An image supplied by the user.
              - …
            - object: Text produced by the assistant.
              - …
        - `status` 'in_progress' | 'completed' | 'incomplete', required: The status of an agent output item.
        - `phase` 'commentary' | 'final_answer', required: The phase of an assistant message.
      - object: A reasoning item produced by the agent.
        - `type` 'reasoning', required: The item type. Always `reasoning`.
        - `id` string, required: The ID of the reasoning item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `summary` SummaryTextResource[], required: The reasoning summaries produced by the agent.
          - `type` 'summary_text', required: The content type. Always `summary_text`.
          - `text` string, required: The reasoning summary text.
        - `status` 'in_progress' | 'completed' | 'incomplete', required: The status of an agent output item.
      - object: A function call produced by the agent.
        - `type` 'function_call', required: The item type. Always `function_call`.
        - `id` string, required: The ID of the function call item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `call_id` string, required: The ID used to submit the function result.
        - `name` string, required: The name of the function to call.
        - `arguments` unknown, required
        - `status` 'in_progress' | 'completed' | 'failed' | 'incomplete', required: The status of a tool call.
      - object: The result supplied for a function call.
        - `id` string, required: The ID of the function call output item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `type` 'function_call_output', required: The item type. Always `function_call_output`.
        - `call_id` string, required: The ID of the function call that produced this output.
        - `status` 'in_progress' | 'completed' | 'failed' | 'incomplete', required: The status of a tool call.
        - `output` union, required: The text or model-input content supplied as a function result.
          - string
          - InputContentResource[]
            - union: User-provided content recorded in a session item.
              - …
        - `error` string, nullable, required: The error message, if the call failed.
      - object: A message exchanged between agent threads.
        - `id` string, required: The ID of the message.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `type` 'agent_message', required: The item type. Always `agent_message`.
        - `sender_agent_id` string, required: The ID or name of the sending agent.
        - `recipient_agent_id` string, required: The ID or name of the receiving agent.
        - `content` AgentContentResource[], required: The content exchanged between the agents.
          - union: A plaintext or encrypted content part exchanged between agents.
            - object: A text content part produced by the agent.
              - …
            - object: Encrypted content exchanged between agents.
              - …
      - object: A call to a tool on an MCP server.
        - `type` 'mcp_call', required: The item type. Always `mcp_call`.
        - `id` string, required: The ID of the MCP call item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `server_label` string, required: The label of the MCP server.
        - `name` string, required: The name of the MCP tool.
        - `arguments` unknown, required
        - `status` 'in_progress' | 'completed' | 'failed' | 'incomplete', required: The status of a tool call.
        - `output` unknown, required
        - `error` unknown, required
      - object: One execution of the platform-provided computer-use capability.
        - `type` 'computer_use_call', required: The item type. Always `computer_use_call`.
        - `id` string, required: The ID of the activity item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `title` string, nullable, required: A model-generated description of the activity, when available.
        - `status` 'in_progress' | 'completed' | 'failed' | 'incomplete', required: The status of a tool call.
        - `output` ComputerScreenshotResource, required: A browser screenshot emitted by the model during computer use.
          - `type` 'computer_screenshot', required: The content type. Always `computer_screenshot`.
          - `image_url` string, required: The complete JPEG image as a base64 data URL.
      - object: A credential-free history record of the emitted login request.
        - `turn_id` string, required
        - `request_id` string, required
        - `request` BrowserAuthenticationHistoryRequestKindResource, required: A registered form awaiting the application's response.
          - `type` 'browser_authentication', required: The type of the object. Always `browser_authentication`.
          - `reason` string, nullable, required: Why the agent needs the user to sign in.
          - `credential_origin` string, nullable, required: The registered form or frame origin where values will be entered.
          - `fields` BrowserAuthenticationFieldResource[], required: Controls to render. All submitted values are sensitive.
            - `id` string, required: The field ID to submit as field_id in a fields entry.
            - `label` string, required: The label to display beside the control.
            - `type` string, required: The rendering type, such as email, password, or text.
            - `required` boolean, required: Whether this control requires a nonempty value.
          - `options` BrowserAuthenticationOptionResource[], required: Sign-in methods. Empty for a plain form.
            - `id` string, required: The option ID to submit as selected_option.
            - `label` string, required: The method label to display.
            - `field_ids` string[], required: IDs from the registered fields that this method accepts.
        - `id` string, required: The stable history item ID.
        - `type` 'computer_use_approval_request', required: The item type. Always computer_use_approval_request.
      - object: A credential-free record of an admitted response, not proof of completion.
        - `id` string, required: The stable history item ID.
        - `type` 'computer_use_approval_request_result', required
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `request_id` string, required: The registered request answered by this item.
        - `response` union, required
          - object
            - `type` 'browser_authentication', required
            - `action` 'submit', required
            - `selected_option` string, nullable, required: The chosen sign-in method, or null when no options were offered.
          - object
            - `type` 'browser_authentication', required
            - `action` 'cancel', required
      - object: A web search call produced by the agent.
        - `type` 'web_search_call', required: The item type. Always `web_search_call`.
        - `id` string, required: The ID of the web search call.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `status` 'in_progress' | 'completed' | 'incomplete', required: The status of an agent output item.
        - `action` union, required: An action performed by the web search tool.
          - object: A search query or group of search queries.
            - `type` 'search', required: The type of the object. Always `search`.
            - `query` string, nullable, required: The search query, when a single query was used.
            - `queries` string[], nullable, required: The search queries, when multiple queries were used.
          - object: Opens a web page.
            - `type` 'open_page', required: The type of the object. Always `open_page`.
            - `url` string, nullable, required: The URL of the page that was opened.
          - object: Finds text within a web page.
            - `type` 'find_in_page', required: The type of the object. Always `find_in_page`.
            - `url` string, nullable, required: The URL of the page that was searched.
            - `pattern` string, nullable, required: The text pattern that was searched for.
          - object: Another web search action.
            - `type` 'other', required: The type of the object. Always `other`.
      - object: A command execution produced by the agent.
        - `type` 'command_execution', required: The item type. Always `command_execution`.
        - `id` string, required: The ID of the command execution item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `command` string, required: The command that was executed.
        - `cwd` string, nullable, required: The working directory used to execute the command.
        - `status` 'in_progress' | 'completed' | 'failed' | 'incomplete', required: The status of a tool call.
        - `output` string, nullable, required: The command output, if available.
        - `exit_code` integer, nullable, required: The process exit code, if the command completed.
        - `duration_ms` integer, nullable, required: The command duration in milliseconds.
      - object: A request to spawn a subagent.
        - `type` 'create_subagent_call', required: The item type. Always `create_subagent_call`.
        - `id` string, required: The ID of the tool call item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `status` 'in_progress' | 'completed' | 'failed' | 'incomplete', required: The status of a tool call.
        - `agent_id` string, required: The ID of the agent that requested the subagent.
        - `content` AgentContentResource[], required: The task given to the spawned agent.
          - union: A plaintext or encrypted content part exchanged between agents.
            - object: A text content part produced by the agent.
              - …
            - object: Encrypted content exchanged between agents.
              - …
        - `model` string, nullable, required: The model requested for the spawned agent.
        - `reasoning_effort` string, nullable, required: The reasoning effort requested for the spawned agent.
      - object: A request to send input to another agent.
        - `type` 'send_subagent_input_call', required: The item type. Always `send_subagent_input_call`.
        - `id` string, required: The ID of the tool call item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `status` 'in_progress' | 'completed' | 'failed' | 'incomplete', required: The status of a tool call.
        - `sender_agent_id` string, required: The ID of the agent sending the input.
        - `recipient_agent_id` string, required: The ID of the agent receiving the input.
        - `content` AgentContentResource[], required: The input sent to the receiving agent.
          - union: A plaintext or encrypted content part exchanged between agents.
            - object: A text content part produced by the agent.
              - …
            - object: Encrypted content exchanged between agents.
              - …
      - object: A request to resume a subagent.
        - `type` 'resume_subagent_call', required: The item type. Always `resume_subagent_call`.
        - `id` string, required: The ID of the tool call item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `status` 'in_progress' | 'completed' | 'failed' | 'incomplete', required: The status of a tool call.
        - `sender_agent_id` string, required: The ID of the agent requesting the resume.
        - `recipient_agent_id` string, required: The ID of the agent to resume.
      - object: A request to wait for one or more subagents.
        - `type` 'wait_for_subagents_call', required: The item type. Always `wait_for_subagents_call`.
        - `id` string, required: The ID of the tool call item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `status` 'in_progress' | 'completed' | 'failed' | 'incomplete', required: The status of a tool call.
        - `sender_agent_id` string, required: The ID of the agent waiting for results.
        - `recipient_agent_ids` string[], required: The IDs of the agents to wait for.
      - object: A request to interrupt a subagent's current turn. The subagent remains available.
        - `type` 'interrupt_subagent_call', required: The item type. Always `interrupt_subagent_call`.
        - `id` string, required: The ID of the tool call item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `status` 'in_progress' | 'completed' | 'failed' | 'incomplete', required: The status of a tool call.
        - `sender_agent_id` string, required: The ID of the agent requesting the interrupt.
        - `recipient_agent_id` string, required: The ID of the agent to interrupt.
      - object: A request to close a subagent.
        - `type` 'close_subagent_call', required: The item type. Always `close_subagent_call`.
        - `id` string, required: The ID of the tool call item.
        - `turn_id` string, required: The ID of the turn that contains this item.
        - `status` 'in_progress' | 'completed' | 'failed' | 'incomplete', required: The status of a tool call.
        - `sender_agent_id` string, required: The ID of the agent requesting the close.
        - `recipient_agent_id` string, required: The ID of the agent to close.
  - `first_id` string, nullable, required: The ID of the first resource in `data`, or `null` if the page is empty.
  - `last_id` string, nullable, required: The ID of the last resource in `data`, or `null` if the page is empty. Pass this as `after` with the same order and filters.
  - `has_more` boolean, required: Whether there are more resources to retrieve after this page.

## Other responses

- `400`: The request was invalid.
- `401`: Authentication or project context was missing.
- `403`: The API key lacks the required permission.
- `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-10-02** `22db7f707210`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/openai/apis/openapi/changes/agents/sessions/:session_id/turns/:turn_id/items/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/b7f3ab500153?raw)
