---
title: "Get Session Thread"
method: GET
path: "/v1/sessions/{session_id}/threads/{thread_id}?beta=true"
---

# Get Session Thread

`GET /v1/sessions/{session_id}/threads/{thread_id}?beta=true`

## Path parameters

- `session_id` string, required
- `thread_id` string, required

## Headers

- `x-api-key` string
- `anthropic-version` string
- `anthropic-beta` string

## Response `200`

Successful response (OK)

- BetaManagedAgentsSessionThread — An execution thread within a `session`. Each session has one primary thread plus zero or more child threads spawned by the coordinator.
  - `type` 'session_thread', required
  - `id` string, required — Unique identifier for this thread.
  - `session_id` string, required — The session this thread belongs to.
  - `status` 'running' | 'idle' | 'rescheduling' | 'terminated', required — SessionThreadStatus enum
  - `agent` union, required — A session-resolved multiagent roster entry.
    - BetaManagedAgentsSessionThreadAgent — Resolved `agent` definition for a single `session_thread`. Snapshot of the agent at thread creation time. The multiagent roster is not repeated here; read it from `Session.agent`.
      - `type` 'agent', required
      - `id` string, required
      - `version` integer, required
      - `name` string, required
      - `description` string, nullable, required
      - `model` BetaManagedAgentsModelConfig, required — Model identifier and configuration.
        - `id` union, required — The model that will power your agent. See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.
          - string
          - 'claude-sonnet-5' — High-performance model for coding and agents
          - 'claude-fable-5' — Next generation of intelligence for the hardest knowledge work and coding problems
          - 'claude-opus-5' — Powerful intelligence for long-running agents and coding
          - 'claude-opus-4-8' — Powerful intelligence for long-running agents and coding
          - 'claude-opus-4-7' — Powerful intelligence for long-running agents and coding
          - 'claude-opus-4-6' — Powerful intelligence for long-running agents and coding
          - 'claude-sonnet-4-6' — Best combination of speed and intelligence
          - 'claude-haiku-4-5' — Fastest model with near-frontier intelligence
          - 'claude-haiku-4-5-20251001' — Fastest model with near-frontier intelligence
          - 'claude-opus-4-5' — Powerful intelligence for long-running agents and coding
          - 'claude-opus-4-5-20251101' — Powerful intelligence for long-running agents and coding
          - 'claude-sonnet-4-5' — High-performance model for agents and coding
          - 'claude-sonnet-4-5-20250929' — High-performance model for agents and coding
        - `speed` 'standard' | 'fast' — Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Not all models support `fast`; invalid combinations are rejected at create time.
        - `effort` union — How hard Claude works on each turn. Sets `output_config.effort` on every Messages call the session makes.
          - object — Low effort. Favors latency over reasoning depth.
            - `type` 'low', required
          - object — Medium effort. Balances latency and reasoning depth.
            - `type` 'medium', required
          - object — High effort. Favors reasoning depth.
            - `type` 'high', required
          - object — Extra-high effort. Not all models accept this level.
            - `type` 'xhigh', required
          - object — Maximum effort. Favors reasoning depth over latency.
            - `type` 'max', required
        - `inference_geo` string — Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.
      - `system` string, nullable, required
      - `tools` BetaManagedAgentsAgentTool[], required
        - union — Union type for tool configurations returned in API responses.
          - object
            - `type` 'agent_toolset_20260401', required
            - `default_config` BetaManagedAgentsAgentToolsetDefaultConfig, required — Resolved default configuration for agent tools.
              - …
            - `configs` BetaManagedAgentsAgentToolConfig[], required
              - …
          - object
            - `type` 'mcp_toolset', required
            - `mcp_server_name` string, required
            - `default_config` BetaManagedAgentsMCPToolsetDefaultConfig, required — Resolved default configuration for all tools from an MCP server.
              - …
            - `configs` BetaManagedAgentsMCPToolConfig[], required
              - …
          - object — A custom tool as returned in API responses.
            - `type` 'custom', required
            - `name` string, required
            - `description` string, required
            - `input_schema` BetaManagedAgentsCustomToolInputSchema, required — JSON Schema for custom tool input parameters.
              - …
      - `mcp_servers` BetaManagedAgentsMCPServer[], required
        - `type` 'url', required
        - `name` string, required
        - `url` string, required
      - `skills` BetaManagedAgentsSkill[], required
        - union — Resolved skill as returned in API responses.
          - BetaManagedAgentsAnthropicSkill — A resolved Anthropic-managed skill.
            - `type` 'anthropic', required
            - `skill_id` string, required
            - `version` string, required
          - BetaManagedAgentsCustomSkill — A resolved user-created custom skill.
            - `type` 'custom', required
            - `skill_id` string, required
            - `version` string, required
    - BetaManagedAgentsAdvisor — Platform advisor roster entry: a model the session's primary thread may consult mid-turn.
      - `type` 'advisor', required
      - `model` string, required — The advisor model id.
  - `parent_thread_id` string, nullable, required — Parent thread that spawned this thread. Null for the primary thread.
  - `created_at` string, date-time, required — A timestamp in RFC 3339 format
  - `updated_at` string, date-time, required — A timestamp in RFC 3339 format
  - `archived_at` string, date-time, required — A timestamp in RFC 3339 format
  - `usage` BetaManagedAgentsSessionThreadUsage, required — Cumulative token usage for a session thread across all turns.
    - `input_tokens` integer — Total input tokens consumed across all turns.
    - `output_tokens` integer — Total output tokens generated across all turns.
    - `cache_read_input_tokens` integer — Total tokens read from prompt cache.
    - `cache_creation` BetaManagedAgentsCacheCreationUsage — Prompt-cache creation token usage broken down by cache lifetime.
      - `ephemeral_1h_input_tokens` integer — Tokens used to create 1-hour ephemeral cache entries.
      - `ephemeral_5m_input_tokens` integer — Tokens used to create 5-minute ephemeral cache entries.
    - `list_cost` BetaMonetaryAmount — A monetary amount in a specific currency.
      - `currency` 'USD', required
      - `amount` string, required — Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.
    - `active_seconds` number, double — Cumulative time in seconds this thread spent in running status. Equal to `stats.active_seconds`; surfaced here so a thread's usage carries every quantity its cost is priced on.
    - `server_tool_use` BetaManagedAgentsServerToolUsage — Cumulative count of server-executed tool invocations, broken down by tool.
      - `web_search_requests` integer — Number of server-executed web search requests.
      - `web_fetch_requests` integer — Number of server-executed web fetch requests.
  - `stats` BetaManagedAgentsSessionThreadStats, required — Timing statistics for a session thread.
    - `duration_seconds` number, double — Elapsed time since thread creation in seconds. For archived threads, frozen at the final update.
    - `startup_seconds` number, double — Time in seconds for the thread to begin running. Zero for child threads, which start immediately.
    - `active_seconds` number, double — Cumulative time in seconds the thread spent actively running. Excludes idle time.

## Other responses

- `400` — Invalid argument - The client specified an invalid argument
- `401` — Unauthenticated - The request does not have valid authentication credentials
- `403` — Permission denied - The caller does not have permission to execute the specified operation
- `404` — Not found - Some requested entity was not found
- `408` — Deadline exceeded - The deadline expired before the operation could complete
- `409` — Aborted - The operation was aborted due to concurrency issue
- `412` — Failed precondition - Operation was rejected because the system is not in required state
- `413` — Out of range - Operation was attempted past the valid range
- `429` — Resource exhausted - Some resource has been exhausted (rate limiting)
- `431` — Request header fields too large - Request metadata was too large
- `499` — Cancelled - The operation was cancelled by the client
- `500` — Internal - Internal server error
- `501` — Unimplemented - The operation is not implemented or supported
- `503` — Unavailable - The service is currently unavailable
- `504` — Deadline exceeded - Upstream service did not respond in time

---

[API](https://skmtc.net/anthropics/apis/anthropic-api.md) · [All operations](https://skmtc.net/anthropics/apis/anthropic-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/anthropics/anthropic-api/versions/93d8fd7d6493/schema)
