中文 ← MyDocs

Sessions

Create Session

post /v1/sessions

Create Session

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Body Parameters

  • agent: string or BetaManagedAgentsAgentParams

    Agent identifier. Accepts the agent ID string, which pins the latest version for the session, or an agent object with both id and version specified.

    • string

    • BetaManagedAgentsAgentParams object { id, type, version }

      Specification for an Agent. Provide a specific version or use the short-form agent="agent_id" for the most recent version

      • id: string

        The agent ID.

      • type: "agent"

        • "agent"
      • version: optional number

        The specific agent version to use. Omit to use the latest version. Must be at least 1 if specified.

  • environment_id: string

    ID of the environment defining the container configuration for this session.

  • metadata: optional map[string]

    Arbitrary key-value metadata attached to the session. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.

  • resources: optional array of BetaManagedAgentsGitHubRepositoryResourceParams or BetaManagedAgentsFileResourceParams or BetaManagedAgentsMemoryStoreResourceParam

    Resources (e.g. repositories, files) to mount into the session's container.

    • BetaManagedAgentsGitHubRepositoryResourceParams object { authorization_token, type, url, 2 more }

      Mount a GitHub repository into the session's container.

      • authorization_token: string

        GitHub authorization token used to clone the repository.

      • type: "github_repository"

        • "github_repository"
      • url: string

        Github URL of the repository

      • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

        Branch or commit to check out. Defaults to the repository's default branch.

        • BetaManagedAgentsBranchCheckout object { name, type }

          • name: string

            Branch name to check out.

          • type: "branch"

            • "branch"
        • BetaManagedAgentsCommitCheckout object { sha, type }

          • sha: string

            Full commit SHA to check out.

          • type: "commit"

            • "commit"
      • mount_path: optional string

        Mount path in the container. Defaults to /workspace/<repo-name>.

    • BetaManagedAgentsFileResourceParams object { file_id, type, mount_path }

      Mount a file uploaded via the Files API into the session.

      • file_id: string

        ID of a previously uploaded file.

      • type: "file"

        • "file"
      • mount_path: optional string

        Mount path in the container. Defaults to /mnt/session/uploads/<file_id>.

    • BetaManagedAgentsMemoryStoreResourceParam object { memory_store_id, type, access, instructions }

      Parameters for attaching a memory store to an agent session.

      • memory_store_id: string

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      • type: "memory_store"

        • "memory_store"
      • access: optional "read_write" or "read_only"

        Access mode for an attached memory store.

        • "read_write"

        • "read_only"

      • instructions: optional string

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

  • title: optional string

    Human-readable session title.

  • vault_ids: optional array of string

    Vault IDs for stored credentials the agent can use during the session.

Returns

  • BetaManagedAgentsSession object { id, agent, archived_at, 12 more }

    A Managed Agents session.

    • id: string

    • agent: BetaManagedAgentsSessionAgent

      Resolved agent definition for a session. Snapshot of the agent at session creation time.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

        Resolved coordinator topology with full agent definitions for each roster member.

        • agents: array of BetaManagedAgentsSessionThreadAgent

          Full agent definitions the coordinator may spawn as session threads.

          • id: string

          • description: string

          • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

            • name: string

            • type: "url"

            • url: string

          • model: BetaManagedAgentsModelConfig

            Model identifier and configuration.

          • name: string

          • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

            • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

              A resolved Anthropic-managed skill.

              • skill_id: string

              • type: "anthropic"

                • "anthropic"
              • version: string

            • BetaManagedAgentsCustomSkill object { skill_id, type, version }

              A resolved user-created custom skill.

              • skill_id: string

              • type: "custom"

                • "custom"
              • version: string

          • system: string

          • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

            • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

              • configs: array of BetaManagedAgentsAgentToolConfig

                • enabled: boolean

                • name: "bash" or "edit" or "read" or 5 more

                  Built-in agent tool identifier.

                  • "bash"

                  • "edit"

                  • "read"

                  • "write"

                  • "glob"

                  • "grep"

                  • "web_fetch"

                  • "web_search"

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                    • type: "always_allow"

                      • "always_allow"
                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

                    • type: "always_ask"

                      • "always_ask"
              • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                Resolved default configuration for agent tools.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • type: "agent_toolset_20260401"

                • "agent_toolset_20260401"
            • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

              • configs: array of BetaManagedAgentsMCPToolConfig

                • enabled: boolean

                • name: string

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                Resolved default configuration for all tools from an MCP server.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • mcp_server_name: string

              • type: "mcp_toolset"

                • "mcp_toolset"
            • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

              A custom tool as returned in API responses.

              • description: string

              • input_schema: BetaManagedAgentsCustomToolInputSchema

                JSON Schema for custom tool input parameters.

                • properties: optional map[unknown]

                  JSON Schema properties defining the tool's input parameters.

                • required: optional array of string

                  List of required property names.

                • type: optional "object"

                  Must be 'object' for tool input schemas.

                  • "object"
              • name: string

              • type: "custom"

                • "custom"
          • type: "agent"

            • "agent"
          • version: number

        • type: "coordinator"

          • "coordinator"
      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

      • type: "agent"

        • "agent"
      • version: number

    • archived_at: string

      A timestamp in RFC 3339 format

    • created_at: string

      A timestamp in RFC 3339 format

    • environment_id: string

    • metadata: map[string]

    • outcome_evaluations: array of BetaManagedAgentsOutcomeEvaluationResource

      Per-outcome evaluation state. One entry per define_outcome event sent to the session.

      • completed_at: string

        A timestamp in RFC 3339 format

      • description: string

        What the agent should produce.

      • explanation: string

        Grader's verdict text from the most recent evaluation. For satisfied, explains why criteria are met; for needs_revision (intermediate), what's missing; for failed, why unrecoverable.

      • iteration: number

        0-indexed revision cycle the outcome is currently on.

      • outcome_id: string

        Server-generated outc_ ID for this outcome.

      • result: string

        Current evaluation state. pending before the agent begins work; running while producing or revising; evaluating while the grader scores; satisfied/max_iterations_reached/failed/interrupted are terminal.

      • type: "outcome_evaluation"

        • "outcome_evaluation"
    • resources: array of BetaManagedAgentsSessionResource

      • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • mount_path: string

        • type: "github_repository"

          • "github_repository"
        • updated_at: string

          A timestamp in RFC 3339 format

        • url: string

        • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

          • BetaManagedAgentsBranchCheckout object { name, type }

            • name: string

              Branch name to check out.

            • type: "branch"

              • "branch"
          • BetaManagedAgentsCommitCheckout object { sha, type }

            • sha: string

              Full commit SHA to check out.

            • type: "commit"

              • "commit"
      • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • file_id: string

        • mount_path: string

        • type: "file"

          • "file"
        • updated_at: string

          A timestamp in RFC 3339 format

      • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

        A memory store attached to an agent session.

        • memory_store_id: string

          The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

        • type: "memory_store"

          • "memory_store"
        • access: optional "read_write" or "read_only"

          Access mode for an attached memory store.

          • "read_write"

          • "read_only"

        • description: optional string

          Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

        • instructions: optional string

          Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        • mount_path: optional string

          Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

        • name: optional string

          Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

    • stats: BetaManagedAgentsSessionStats

      Timing statistics for a session.

      • active_seconds: optional number

        Cumulative time in seconds the session spent in running status. Excludes idle time.

      • duration_seconds: optional number

        Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

    • status: "rescheduling" or "running" or "idle" or "terminated"

      SessionStatus enum

      • "rescheduling"

      • "running"

      • "idle"

      • "terminated"

    • title: string

    • type: "session"

      • "session"
    • updated_at: string

      A timestamp in RFC 3339 format

    • usage: BetaManagedAgentsSessionUsage

      Cumulative token usage for a session across all turns.

      • cache_creation: optional BetaManagedAgentsCacheCreationUsage

        Prompt-cache creation token usage broken down by cache lifetime.

        • ephemeral_1h_input_tokens: optional number

          Tokens used to create 1-hour ephemeral cache entries.

        • ephemeral_5m_input_tokens: optional number

          Tokens used to create 5-minute ephemeral cache entries.

      • cache_read_input_tokens: optional number

        Total tokens read from prompt cache.

      • input_tokens: optional number

        Total input tokens consumed across all turns.

      • output_tokens: optional number

        Total output tokens generated across all turns.

    • vault_ids: array of string

      Vault IDs attached to the session at creation. Empty when no vaults were supplied.

Example

curl https://api.anthropic.com/v1/sessions \
    -H 'Content-Type: application/json' \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY" \
    -d '{
          "agent": "agent_011CZkYpogX7uDKUyvBTophP",
          "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
          "title": "Order #1234 inquiry"
        }'

Response

{
  "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "agent": {
    "id": "agent_011CZkYpogX7uDKUyvBTophP",
    "description": "A general-purpose starter agent.",
    "mcp_servers": [
      {
        "name": "example-mcp",
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse"
      }
    ],
    "model": {
      "id": "claude-sonnet-4-6",
      "speed": "standard"
    },
    "multiagent": {
      "agents": [
        {
          "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
          "description": "A focused research subagent.",
          "mcp_servers": [
            {
              "name": "example-mcp",
              "type": "url",
              "url": "https://example-server.modelcontextprotocol.io/sse"
            }
          ],
          "model": {
            "id": "claude-sonnet-4-6",
            "speed": "standard"
          },
          "name": "Researcher",
          "skills": [
            {
              "skill_id": "xlsx",
              "type": "anthropic",
              "version": "1"
            }
          ],
          "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
          "tools": [
            {
              "configs": [
                {
                  "enabled": true,
                  "name": "bash",
                  "permission_policy": {
                    "type": "always_allow"
                  }
                }
              ],
              "default_config": {
                "enabled": true,
                "permission_policy": {
                  "type": "always_ask"
                }
              },
              "type": "agent_toolset_20260401"
            }
          ],
          "type": "agent",
          "version": 1
        }
      ],
      "type": "coordinator"
    },
    "name": "My First Agent",
    "skills": [
      {
        "skill_id": "xlsx",
        "type": "anthropic",
        "version": "1"
      },
      {
        "skill_id": "skill_011CZkZFNu9hAbo3jZPRgTlx",
        "type": "custom",
        "version": "2"
      }
    ],
    "system": "You are a general-purpose agent that can research, write code, run commands, and use connected tools to complete the user's task end to end.",
    "tools": [
      {
        "configs": [
          {
            "enabled": true,
            "name": "bash",
            "permission_policy": {
              "type": "always_allow"
            }
          }
        ],
        "default_config": {
          "enabled": true,
          "permission_policy": {
            "type": "always_ask"
          }
        },
        "type": "agent_toolset_20260401"
      }
    ],
    "type": "agent",
    "version": 1
  },
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
  "metadata": {},
  "outcome_evaluations": [
    {
      "completed_at": "2026-03-15T10:02:31Z",
      "description": "Produce a 2-page summary as summary.md",
      "explanation": "All five sections present with inline citations.",
      "iteration": 0,
      "outcome_id": "outc_011CZkZRSw2kEfs6ncTVljxP",
      "result": "satisfied",
      "type": "outcome_evaluation"
    }
  ],
  "resources": [
    {
      "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
      "created_at": "2026-03-15T10:00:00Z",
      "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
      "mount_path": "/uploads/receipt.pdf",
      "type": "file",
      "updated_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sesrsc_011CZkZCKr6eXyl0gWMOdQiu",
      "created_at": "2026-03-15T10:00:00Z",
      "mount_path": "/workspace/example-repo",
      "type": "github_repository",
      "updated_at": "2026-03-15T10:00:00Z",
      "url": "https://github.com/example-org/example-repo",
      "checkout": {
        "name": "main",
        "type": "branch"
      }
    }
  ],
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0
  },
  "status": "idle",
  "title": "Order #1234 inquiry",
  "type": "session",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "output_tokens": 0
  },
  "vault_ids": [
    "vlt_011CZkZDLs7fYzm1hXNPeRjv"
  ]
}

List Sessions

get /v1/sessions

List Sessions

Query Parameters

  • agent_id: optional string

    Filter sessions created with this agent ID.

  • agent_version: optional number

    Filter by agent version. Only applies when agent_id is also set.

  • "created_at[gt]": optional string

    Return sessions created after this time (exclusive).

  • "created_at[gte]": optional string

    Return sessions created at or after this time (inclusive).

  • "created_at[lt]": optional string

    Return sessions created before this time (exclusive).

  • "created_at[lte]": optional string

    Return sessions created at or before this time (inclusive).

  • include_archived: optional boolean

    When true, includes archived sessions. Default: false (exclude archived).

  • limit: optional number

    Maximum number of results to return.

  • memory_store_id: optional string

    Filter sessions whose resources contain a memory_store with this memory store ID.

  • order: optional "asc" or "desc"

    Sort direction for results, ordered by created_at. Defaults to desc (newest first).

    • "asc"

    • "desc"

  • page: optional string

    Opaque pagination cursor from a previous response's next_page.

  • statuses: optional array of "rescheduling" or "running" or "idle" or "terminated"

    Filter by session status. Repeat the parameter to match any of multiple statuses.

    • "rescheduling"

    • "running"

    • "idle"

    • "terminated"

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • data: optional array of BetaManagedAgentsSession

    List of sessions.

    • id: string

    • agent: BetaManagedAgentsSessionAgent

      Resolved agent definition for a session. Snapshot of the agent at session creation time.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

        Resolved coordinator topology with full agent definitions for each roster member.

        • agents: array of BetaManagedAgentsSessionThreadAgent

          Full agent definitions the coordinator may spawn as session threads.

          • id: string

          • description: string

          • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

            • name: string

            • type: "url"

            • url: string

          • model: BetaManagedAgentsModelConfig

            Model identifier and configuration.

          • name: string

          • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

            • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

              A resolved Anthropic-managed skill.

              • skill_id: string

              • type: "anthropic"

                • "anthropic"
              • version: string

            • BetaManagedAgentsCustomSkill object { skill_id, type, version }

              A resolved user-created custom skill.

              • skill_id: string

              • type: "custom"

                • "custom"
              • version: string

          • system: string

          • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

            • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

              • configs: array of BetaManagedAgentsAgentToolConfig

                • enabled: boolean

                • name: "bash" or "edit" or "read" or 5 more

                  Built-in agent tool identifier.

                  • "bash"

                  • "edit"

                  • "read"

                  • "write"

                  • "glob"

                  • "grep"

                  • "web_fetch"

                  • "web_search"

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                    • type: "always_allow"

                      • "always_allow"
                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

                    • type: "always_ask"

                      • "always_ask"
              • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                Resolved default configuration for agent tools.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • type: "agent_toolset_20260401"

                • "agent_toolset_20260401"
            • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

              • configs: array of BetaManagedAgentsMCPToolConfig

                • enabled: boolean

                • name: string

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                Resolved default configuration for all tools from an MCP server.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • mcp_server_name: string

              • type: "mcp_toolset"

                • "mcp_toolset"
            • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

              A custom tool as returned in API responses.

              • description: string

              • input_schema: BetaManagedAgentsCustomToolInputSchema

                JSON Schema for custom tool input parameters.

                • properties: optional map[unknown]

                  JSON Schema properties defining the tool's input parameters.

                • required: optional array of string

                  List of required property names.

                • type: optional "object"

                  Must be 'object' for tool input schemas.

                  • "object"
              • name: string

              • type: "custom"

                • "custom"
          • type: "agent"

            • "agent"
          • version: number

        • type: "coordinator"

          • "coordinator"
      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

      • type: "agent"

        • "agent"
      • version: number

    • archived_at: string

      A timestamp in RFC 3339 format

    • created_at: string

      A timestamp in RFC 3339 format

    • environment_id: string

    • metadata: map[string]

    • outcome_evaluations: array of BetaManagedAgentsOutcomeEvaluationResource

      Per-outcome evaluation state. One entry per define_outcome event sent to the session.

      • completed_at: string

        A timestamp in RFC 3339 format

      • description: string

        What the agent should produce.

      • explanation: string

        Grader's verdict text from the most recent evaluation. For satisfied, explains why criteria are met; for needs_revision (intermediate), what's missing; for failed, why unrecoverable.

      • iteration: number

        0-indexed revision cycle the outcome is currently on.

      • outcome_id: string

        Server-generated outc_ ID for this outcome.

      • result: string

        Current evaluation state. pending before the agent begins work; running while producing or revising; evaluating while the grader scores; satisfied/max_iterations_reached/failed/interrupted are terminal.

      • type: "outcome_evaluation"

        • "outcome_evaluation"
    • resources: array of BetaManagedAgentsSessionResource

      • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • mount_path: string

        • type: "github_repository"

          • "github_repository"
        • updated_at: string

          A timestamp in RFC 3339 format

        • url: string

        • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

          • BetaManagedAgentsBranchCheckout object { name, type }

            • name: string

              Branch name to check out.

            • type: "branch"

              • "branch"
          • BetaManagedAgentsCommitCheckout object { sha, type }

            • sha: string

              Full commit SHA to check out.

            • type: "commit"

              • "commit"
      • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • file_id: string

        • mount_path: string

        • type: "file"

          • "file"
        • updated_at: string

          A timestamp in RFC 3339 format

      • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

        A memory store attached to an agent session.

        • memory_store_id: string

          The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

        • type: "memory_store"

          • "memory_store"
        • access: optional "read_write" or "read_only"

          Access mode for an attached memory store.

          • "read_write"

          • "read_only"

        • description: optional string

          Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

        • instructions: optional string

          Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        • mount_path: optional string

          Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

        • name: optional string

          Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

    • stats: BetaManagedAgentsSessionStats

      Timing statistics for a session.

      • active_seconds: optional number

        Cumulative time in seconds the session spent in running status. Excludes idle time.

      • duration_seconds: optional number

        Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

    • status: "rescheduling" or "running" or "idle" or "terminated"

      SessionStatus enum

      • "rescheduling"

      • "running"

      • "idle"

      • "terminated"

    • title: string

    • type: "session"

      • "session"
    • updated_at: string

      A timestamp in RFC 3339 format

    • usage: BetaManagedAgentsSessionUsage

      Cumulative token usage for a session across all turns.

      • cache_creation: optional BetaManagedAgentsCacheCreationUsage

        Prompt-cache creation token usage broken down by cache lifetime.

        • ephemeral_1h_input_tokens: optional number

          Tokens used to create 1-hour ephemeral cache entries.

        • ephemeral_5m_input_tokens: optional number

          Tokens used to create 5-minute ephemeral cache entries.

      • cache_read_input_tokens: optional number

        Total tokens read from prompt cache.

      • input_tokens: optional number

        Total input tokens consumed across all turns.

      • output_tokens: optional number

        Total output tokens generated across all turns.

    • vault_ids: array of string

      Vault IDs attached to the session at creation. Empty when no vaults were supplied.

  • next_page: optional string

    Opaque cursor for the next page. Null when no more results.

Example

curl https://api.anthropic.com/v1/sessions \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "data": [
    {
      "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
      "agent": {
        "id": "agent_011CZkYpogX7uDKUyvBTophP",
        "description": "A general-purpose starter agent.",
        "mcp_servers": [
          {
            "name": "example-mcp",
            "type": "url",
            "url": "https://example-server.modelcontextprotocol.io/sse"
          }
        ],
        "model": {
          "id": "claude-sonnet-4-6",
          "speed": "standard"
        },
        "multiagent": {
          "agents": [
            {
              "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
              "description": "A focused research subagent.",
              "mcp_servers": [
                {
                  "name": "example-mcp",
                  "type": "url",
                  "url": "https://example-server.modelcontextprotocol.io/sse"
                }
              ],
              "model": {
                "id": "claude-sonnet-4-6",
                "speed": "standard"
              },
              "name": "Researcher",
              "skills": [
                {
                  "skill_id": "xlsx",
                  "type": "anthropic",
                  "version": "1"
                }
              ],
              "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
              "tools": [
                {
                  "configs": [
                    {
                      "enabled": true,
                      "name": "bash",
                      "permission_policy": {
                        "type": "always_allow"
                      }
                    }
                  ],
                  "default_config": {
                    "enabled": true,
                    "permission_policy": {
                      "type": "always_ask"
                    }
                  },
                  "type": "agent_toolset_20260401"
                }
              ],
              "type": "agent",
              "version": 1
            }
          ],
          "type": "coordinator"
        },
        "name": "My First Agent",
        "skills": [
          {
            "skill_id": "xlsx",
            "type": "anthropic",
            "version": "1"
          },
          {
            "skill_id": "skill_011CZkZFNu9hAbo3jZPRgTlx",
            "type": "custom",
            "version": "2"
          }
        ],
        "system": "You are a general-purpose agent that can research, write code, run commands, and use connected tools to complete the user's task end to end.",
        "tools": [
          {
            "configs": [
              {
                "enabled": true,
                "name": "bash",
                "permission_policy": {
                  "type": "always_allow"
                }
              }
            ],
            "default_config": {
              "enabled": true,
              "permission_policy": {
                "type": "always_ask"
              }
            },
            "type": "agent_toolset_20260401"
          }
        ],
        "type": "agent",
        "version": 1
      },
      "archived_at": null,
      "created_at": "2026-03-15T10:00:00Z",
      "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
      "metadata": {},
      "outcome_evaluations": [
        {
          "completed_at": "2026-03-15T10:02:31Z",
          "description": "Produce a 2-page summary as summary.md",
          "explanation": "All five sections present with inline citations.",
          "iteration": 0,
          "outcome_id": "outc_011CZkZRSw2kEfs6ncTVljxP",
          "result": "satisfied",
          "type": "outcome_evaluation"
        }
      ],
      "resources": [
        {
          "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
          "created_at": "2026-03-15T10:00:00Z",
          "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
          "mount_path": "/uploads/receipt.pdf",
          "type": "file",
          "updated_at": "2026-03-15T10:00:00Z"
        },
        {
          "id": "sesrsc_011CZkZCKr6eXyl0gWMOdQiu",
          "created_at": "2026-03-15T10:00:00Z",
          "mount_path": "/workspace/example-repo",
          "type": "github_repository",
          "updated_at": "2026-03-15T10:00:00Z",
          "url": "https://github.com/example-org/example-repo",
          "checkout": {
            "name": "main",
            "type": "branch"
          }
        }
      ],
      "stats": {
        "active_seconds": 0,
        "duration_seconds": 0
      },
      "status": "idle",
      "title": "Order #1234 inquiry",
      "type": "session",
      "updated_at": "2026-03-15T10:00:00Z",
      "usage": {
        "cache_creation": {
          "ephemeral_1h_input_tokens": 0,
          "ephemeral_5m_input_tokens": 0
        },
        "cache_read_input_tokens": 0,
        "input_tokens": 0,
        "output_tokens": 0
      },
      "vault_ids": [
        "vlt_011CZkZDLs7fYzm1hXNPeRjv"
      ]
    }
  ],
  "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}

Get Session

get /v1/sessions/{session_id}

Get Session

Path Parameters

  • session_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • BetaManagedAgentsSession object { id, agent, archived_at, 12 more }

    A Managed Agents session.

    • id: string

    • agent: BetaManagedAgentsSessionAgent

      Resolved agent definition for a session. Snapshot of the agent at session creation time.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

        Resolved coordinator topology with full agent definitions for each roster member.

        • agents: array of BetaManagedAgentsSessionThreadAgent

          Full agent definitions the coordinator may spawn as session threads.

          • id: string

          • description: string

          • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

            • name: string

            • type: "url"

            • url: string

          • model: BetaManagedAgentsModelConfig

            Model identifier and configuration.

          • name: string

          • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

            • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

              A resolved Anthropic-managed skill.

              • skill_id: string

              • type: "anthropic"

                • "anthropic"
              • version: string

            • BetaManagedAgentsCustomSkill object { skill_id, type, version }

              A resolved user-created custom skill.

              • skill_id: string

              • type: "custom"

                • "custom"
              • version: string

          • system: string

          • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

            • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

              • configs: array of BetaManagedAgentsAgentToolConfig

                • enabled: boolean

                • name: "bash" or "edit" or "read" or 5 more

                  Built-in agent tool identifier.

                  • "bash"

                  • "edit"

                  • "read"

                  • "write"

                  • "glob"

                  • "grep"

                  • "web_fetch"

                  • "web_search"

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                    • type: "always_allow"

                      • "always_allow"
                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

                    • type: "always_ask"

                      • "always_ask"
              • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                Resolved default configuration for agent tools.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • type: "agent_toolset_20260401"

                • "agent_toolset_20260401"
            • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

              • configs: array of BetaManagedAgentsMCPToolConfig

                • enabled: boolean

                • name: string

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                Resolved default configuration for all tools from an MCP server.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • mcp_server_name: string

              • type: "mcp_toolset"

                • "mcp_toolset"
            • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

              A custom tool as returned in API responses.

              • description: string

              • input_schema: BetaManagedAgentsCustomToolInputSchema

                JSON Schema for custom tool input parameters.

                • properties: optional map[unknown]

                  JSON Schema properties defining the tool's input parameters.

                • required: optional array of string

                  List of required property names.

                • type: optional "object"

                  Must be 'object' for tool input schemas.

                  • "object"
              • name: string

              • type: "custom"

                • "custom"
          • type: "agent"

            • "agent"
          • version: number

        • type: "coordinator"

          • "coordinator"
      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

      • type: "agent"

        • "agent"
      • version: number

    • archived_at: string

      A timestamp in RFC 3339 format

    • created_at: string

      A timestamp in RFC 3339 format

    • environment_id: string

    • metadata: map[string]

    • outcome_evaluations: array of BetaManagedAgentsOutcomeEvaluationResource

      Per-outcome evaluation state. One entry per define_outcome event sent to the session.

      • completed_at: string

        A timestamp in RFC 3339 format

      • description: string

        What the agent should produce.

      • explanation: string

        Grader's verdict text from the most recent evaluation. For satisfied, explains why criteria are met; for needs_revision (intermediate), what's missing; for failed, why unrecoverable.

      • iteration: number

        0-indexed revision cycle the outcome is currently on.

      • outcome_id: string

        Server-generated outc_ ID for this outcome.

      • result: string

        Current evaluation state. pending before the agent begins work; running while producing or revising; evaluating while the grader scores; satisfied/max_iterations_reached/failed/interrupted are terminal.

      • type: "outcome_evaluation"

        • "outcome_evaluation"
    • resources: array of BetaManagedAgentsSessionResource

      • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • mount_path: string

        • type: "github_repository"

          • "github_repository"
        • updated_at: string

          A timestamp in RFC 3339 format

        • url: string

        • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

          • BetaManagedAgentsBranchCheckout object { name, type }

            • name: string

              Branch name to check out.

            • type: "branch"

              • "branch"
          • BetaManagedAgentsCommitCheckout object { sha, type }

            • sha: string

              Full commit SHA to check out.

            • type: "commit"

              • "commit"
      • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • file_id: string

        • mount_path: string

        • type: "file"

          • "file"
        • updated_at: string

          A timestamp in RFC 3339 format

      • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

        A memory store attached to an agent session.

        • memory_store_id: string

          The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

        • type: "memory_store"

          • "memory_store"
        • access: optional "read_write" or "read_only"

          Access mode for an attached memory store.

          • "read_write"

          • "read_only"

        • description: optional string

          Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

        • instructions: optional string

          Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        • mount_path: optional string

          Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

        • name: optional string

          Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

    • stats: BetaManagedAgentsSessionStats

      Timing statistics for a session.

      • active_seconds: optional number

        Cumulative time in seconds the session spent in running status. Excludes idle time.

      • duration_seconds: optional number

        Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

    • status: "rescheduling" or "running" or "idle" or "terminated"

      SessionStatus enum

      • "rescheduling"

      • "running"

      • "idle"

      • "terminated"

    • title: string

    • type: "session"

      • "session"
    • updated_at: string

      A timestamp in RFC 3339 format

    • usage: BetaManagedAgentsSessionUsage

      Cumulative token usage for a session across all turns.

      • cache_creation: optional BetaManagedAgentsCacheCreationUsage

        Prompt-cache creation token usage broken down by cache lifetime.

        • ephemeral_1h_input_tokens: optional number

          Tokens used to create 1-hour ephemeral cache entries.

        • ephemeral_5m_input_tokens: optional number

          Tokens used to create 5-minute ephemeral cache entries.

      • cache_read_input_tokens: optional number

        Total tokens read from prompt cache.

      • input_tokens: optional number

        Total input tokens consumed across all turns.

      • output_tokens: optional number

        Total output tokens generated across all turns.

    • vault_ids: array of string

      Vault IDs attached to the session at creation. Empty when no vaults were supplied.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "agent": {
    "id": "agent_011CZkYpogX7uDKUyvBTophP",
    "description": "A general-purpose starter agent.",
    "mcp_servers": [
      {
        "name": "example-mcp",
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse"
      }
    ],
    "model": {
      "id": "claude-sonnet-4-6",
      "speed": "standard"
    },
    "multiagent": {
      "agents": [
        {
          "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
          "description": "A focused research subagent.",
          "mcp_servers": [
            {
              "name": "example-mcp",
              "type": "url",
              "url": "https://example-server.modelcontextprotocol.io/sse"
            }
          ],
          "model": {
            "id": "claude-sonnet-4-6",
            "speed": "standard"
          },
          "name": "Researcher",
          "skills": [
            {
              "skill_id": "xlsx",
              "type": "anthropic",
              "version": "1"
            }
          ],
          "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
          "tools": [
            {
              "configs": [
                {
                  "enabled": true,
                  "name": "bash",
                  "permission_policy": {
                    "type": "always_allow"
                  }
                }
              ],
              "default_config": {
                "enabled": true,
                "permission_policy": {
                  "type": "always_ask"
                }
              },
              "type": "agent_toolset_20260401"
            }
          ],
          "type": "agent",
          "version": 1
        }
      ],
      "type": "coordinator"
    },
    "name": "My First Agent",
    "skills": [
      {
        "skill_id": "xlsx",
        "type": "anthropic",
        "version": "1"
      },
      {
        "skill_id": "skill_011CZkZFNu9hAbo3jZPRgTlx",
        "type": "custom",
        "version": "2"
      }
    ],
    "system": "You are a general-purpose agent that can research, write code, run commands, and use connected tools to complete the user's task end to end.",
    "tools": [
      {
        "configs": [
          {
            "enabled": true,
            "name": "bash",
            "permission_policy": {
              "type": "always_allow"
            }
          }
        ],
        "default_config": {
          "enabled": true,
          "permission_policy": {
            "type": "always_ask"
          }
        },
        "type": "agent_toolset_20260401"
      }
    ],
    "type": "agent",
    "version": 1
  },
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
  "metadata": {},
  "outcome_evaluations": [
    {
      "completed_at": "2026-03-15T10:02:31Z",
      "description": "Produce a 2-page summary as summary.md",
      "explanation": "All five sections present with inline citations.",
      "iteration": 0,
      "outcome_id": "outc_011CZkZRSw2kEfs6ncTVljxP",
      "result": "satisfied",
      "type": "outcome_evaluation"
    }
  ],
  "resources": [
    {
      "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
      "created_at": "2026-03-15T10:00:00Z",
      "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
      "mount_path": "/uploads/receipt.pdf",
      "type": "file",
      "updated_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sesrsc_011CZkZCKr6eXyl0gWMOdQiu",
      "created_at": "2026-03-15T10:00:00Z",
      "mount_path": "/workspace/example-repo",
      "type": "github_repository",
      "updated_at": "2026-03-15T10:00:00Z",
      "url": "https://github.com/example-org/example-repo",
      "checkout": {
        "name": "main",
        "type": "branch"
      }
    }
  ],
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0
  },
  "status": "idle",
  "title": "Order #1234 inquiry",
  "type": "session",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "output_tokens": 0
  },
  "vault_ids": [
    "vlt_011CZkZDLs7fYzm1hXNPeRjv"
  ]
}

Update Session

post /v1/sessions/{session_id}

Update Session

Path Parameters

  • session_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Body Parameters

  • agent: optional BetaManagedAgentsSessionAgentUpdate

    Mid-session agent configuration update. Only tools and mcp_servers are updatable. Full replacement: the provided array becomes the new value. To preserve existing entries, GET the session, modify the array, and POST it back.

    • mcp_servers: optional array of BetaManagedAgentsURLMCPServerParams

      Replacement MCP server list. Full replacement: the provided array becomes the new value. Send an empty array to clear; omit to preserve.

      • name: string

        Unique name for this server, referenced by mcp_toolset configurations. 1-255 characters.

      • type: "url"

        • "url"
      • url: string

        Endpoint URL for the MCP server.

    • tools: optional array of BetaManagedAgentsAgentToolset20260401Params or BetaManagedAgentsMCPToolsetParams or BetaManagedAgentsCustomToolParams

      Replacement tool list. Full replacement: the provided array becomes the new value. Send an empty array to clear; omit to preserve.

      • BetaManagedAgentsAgentToolset20260401Params object { type, configs, default_config }

        Configuration for built-in agent tools. Use this to enable or disable groups of tools available to the agent.

        • type: "agent_toolset_20260401"

          • "agent_toolset_20260401"
        • configs: optional array of BetaManagedAgentsAgentToolConfigParams

          Per-tool configuration overrides.

          • name: "bash" or "edit" or "read" or 5 more

            Built-in agent tool identifier.

            • "bash"

            • "edit"

            • "read"

            • "write"

            • "glob"

            • "grep"

            • "web_fetch"

            • "web_search"

          • enabled: optional boolean

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          • permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

            Permission policy for tool execution.

            • BetaManagedAgentsAlwaysAllowPolicy object { type }

              Tool calls are automatically approved without user confirmation.

              • type: "always_allow"

                • "always_allow"
            • BetaManagedAgentsAlwaysAskPolicy object { type }

              Tool calls require user confirmation before execution.

              • type: "always_ask"

                • "always_ask"
        • default_config: optional BetaManagedAgentsAgentToolsetDefaultConfigParams

          Default configuration for all tools in a toolset.

          • enabled: optional boolean

            Whether tools are enabled and available to Claude by default. Defaults to true if not specified.

          • permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

            Permission policy for tool execution.

            • BetaManagedAgentsAlwaysAllowPolicy object { type }

              Tool calls are automatically approved without user confirmation.

            • BetaManagedAgentsAlwaysAskPolicy object { type }

              Tool calls require user confirmation before execution.

      • BetaManagedAgentsMCPToolsetParams object { mcp_server_name, type, configs, default_config }

        Configuration for tools from an MCP server defined in mcp_servers.

        • mcp_server_name: string

          Name of the MCP server. Must match a server name from the mcp_servers array. 1-255 characters.

        • type: "mcp_toolset"

          • "mcp_toolset"
        • configs: optional array of BetaManagedAgentsMCPToolConfigParams

          Per-tool configuration overrides.

          • name: string

            Name of the MCP tool to configure. 1-128 characters.

          • enabled: optional boolean

            Whether this tool is enabled. Overrides the default_config setting.

          • permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

            Permission policy for tool execution.

            • BetaManagedAgentsAlwaysAllowPolicy object { type }

              Tool calls are automatically approved without user confirmation.

            • BetaManagedAgentsAlwaysAskPolicy object { type }

              Tool calls require user confirmation before execution.

        • default_config: optional BetaManagedAgentsMCPToolsetDefaultConfigParams

          Default configuration for all tools from an MCP server.

          • enabled: optional boolean

            Whether tools are enabled by default. Defaults to true if not specified.

          • permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

            Permission policy for tool execution.

            • BetaManagedAgentsAlwaysAllowPolicy object { type }

              Tool calls are automatically approved without user confirmation.

            • BetaManagedAgentsAlwaysAskPolicy object { type }

              Tool calls require user confirmation before execution.

      • BetaManagedAgentsCustomToolParams object { description, input_schema, name, type }

        A custom tool that is executed by the API client rather than the agent. When the agent calls this tool, an agent.custom_tool_use event is emitted and the session goes idle, waiting for the client to provide the result via a user.custom_tool_result event.

        • description: string

          Description of what the tool does, shown to the agent to help it decide when to use the tool. 1-1024 characters.

        • input_schema: BetaManagedAgentsCustomToolInputSchema

          JSON Schema for custom tool input parameters.

          • properties: optional map[unknown]

            JSON Schema properties defining the tool's input parameters.

          • required: optional array of string

            List of required property names.

          • type: optional "object"

            Must be 'object' for tool input schemas.

            • "object"
        • name: string

          Unique name for the tool. 1-128 characters; letters, digits, underscores, and hyphens.

        • type: "custom"

          • "custom"
  • metadata: optional map[string]

    Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omit the field to preserve.

  • title: optional string

    Human-readable session title.

  • vault_ids: optional array of string

    Vault IDs (vlt_*) to attach to the session. Not yet supported; requests setting this field are rejected. Reserved for future use.

Returns

  • BetaManagedAgentsSession object { id, agent, archived_at, 12 more }

    A Managed Agents session.

    • id: string

    • agent: BetaManagedAgentsSessionAgent

      Resolved agent definition for a session. Snapshot of the agent at session creation time.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

        Resolved coordinator topology with full agent definitions for each roster member.

        • agents: array of BetaManagedAgentsSessionThreadAgent

          Full agent definitions the coordinator may spawn as session threads.

          • id: string

          • description: string

          • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

            • name: string

            • type: "url"

            • url: string

          • model: BetaManagedAgentsModelConfig

            Model identifier and configuration.

          • name: string

          • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

            • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

              A resolved Anthropic-managed skill.

              • skill_id: string

              • type: "anthropic"

                • "anthropic"
              • version: string

            • BetaManagedAgentsCustomSkill object { skill_id, type, version }

              A resolved user-created custom skill.

              • skill_id: string

              • type: "custom"

                • "custom"
              • version: string

          • system: string

          • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

            • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

              • configs: array of BetaManagedAgentsAgentToolConfig

                • enabled: boolean

                • name: "bash" or "edit" or "read" or 5 more

                  Built-in agent tool identifier.

                  • "bash"

                  • "edit"

                  • "read"

                  • "write"

                  • "glob"

                  • "grep"

                  • "web_fetch"

                  • "web_search"

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                    • type: "always_allow"

                      • "always_allow"
                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

                    • type: "always_ask"

                      • "always_ask"
              • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                Resolved default configuration for agent tools.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • type: "agent_toolset_20260401"

                • "agent_toolset_20260401"
            • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

              • configs: array of BetaManagedAgentsMCPToolConfig

                • enabled: boolean

                • name: string

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                Resolved default configuration for all tools from an MCP server.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • mcp_server_name: string

              • type: "mcp_toolset"

                • "mcp_toolset"
            • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

              A custom tool as returned in API responses.

              • description: string

              • input_schema: BetaManagedAgentsCustomToolInputSchema

                JSON Schema for custom tool input parameters.

                • properties: optional map[unknown]

                  JSON Schema properties defining the tool's input parameters.

                • required: optional array of string

                  List of required property names.

                • type: optional "object"

                  Must be 'object' for tool input schemas.

                  • "object"
              • name: string

              • type: "custom"

                • "custom"
          • type: "agent"

            • "agent"
          • version: number

        • type: "coordinator"

          • "coordinator"
      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

      • type: "agent"

        • "agent"
      • version: number

    • archived_at: string

      A timestamp in RFC 3339 format

    • created_at: string

      A timestamp in RFC 3339 format

    • environment_id: string

    • metadata: map[string]

    • outcome_evaluations: array of BetaManagedAgentsOutcomeEvaluationResource

      Per-outcome evaluation state. One entry per define_outcome event sent to the session.

      • completed_at: string

        A timestamp in RFC 3339 format

      • description: string

        What the agent should produce.

      • explanation: string

        Grader's verdict text from the most recent evaluation. For satisfied, explains why criteria are met; for needs_revision (intermediate), what's missing; for failed, why unrecoverable.

      • iteration: number

        0-indexed revision cycle the outcome is currently on.

      • outcome_id: string

        Server-generated outc_ ID for this outcome.

      • result: string

        Current evaluation state. pending before the agent begins work; running while producing or revising; evaluating while the grader scores; satisfied/max_iterations_reached/failed/interrupted are terminal.

      • type: "outcome_evaluation"

        • "outcome_evaluation"
    • resources: array of BetaManagedAgentsSessionResource

      • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • mount_path: string

        • type: "github_repository"

          • "github_repository"
        • updated_at: string

          A timestamp in RFC 3339 format

        • url: string

        • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

          • BetaManagedAgentsBranchCheckout object { name, type }

            • name: string

              Branch name to check out.

            • type: "branch"

              • "branch"
          • BetaManagedAgentsCommitCheckout object { sha, type }

            • sha: string

              Full commit SHA to check out.

            • type: "commit"

              • "commit"
      • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • file_id: string

        • mount_path: string

        • type: "file"

          • "file"
        • updated_at: string

          A timestamp in RFC 3339 format

      • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

        A memory store attached to an agent session.

        • memory_store_id: string

          The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

        • type: "memory_store"

          • "memory_store"
        • access: optional "read_write" or "read_only"

          Access mode for an attached memory store.

          • "read_write"

          • "read_only"

        • description: optional string

          Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

        • instructions: optional string

          Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        • mount_path: optional string

          Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

        • name: optional string

          Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

    • stats: BetaManagedAgentsSessionStats

      Timing statistics for a session.

      • active_seconds: optional number

        Cumulative time in seconds the session spent in running status. Excludes idle time.

      • duration_seconds: optional number

        Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

    • status: "rescheduling" or "running" or "idle" or "terminated"

      SessionStatus enum

      • "rescheduling"

      • "running"

      • "idle"

      • "terminated"

    • title: string

    • type: "session"

      • "session"
    • updated_at: string

      A timestamp in RFC 3339 format

    • usage: BetaManagedAgentsSessionUsage

      Cumulative token usage for a session across all turns.

      • cache_creation: optional BetaManagedAgentsCacheCreationUsage

        Prompt-cache creation token usage broken down by cache lifetime.

        • ephemeral_1h_input_tokens: optional number

          Tokens used to create 1-hour ephemeral cache entries.

        • ephemeral_5m_input_tokens: optional number

          Tokens used to create 5-minute ephemeral cache entries.

      • cache_read_input_tokens: optional number

        Total tokens read from prompt cache.

      • input_tokens: optional number

        Total input tokens consumed across all turns.

      • output_tokens: optional number

        Total output tokens generated across all turns.

    • vault_ids: array of string

      Vault IDs attached to the session at creation. Empty when no vaults were supplied.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID \
    -H 'Content-Type: application/json' \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY" \
    -d '{
          "title": "Order #1234 inquiry"
        }'

Response

{
  "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "agent": {
    "id": "agent_011CZkYpogX7uDKUyvBTophP",
    "description": "A general-purpose starter agent.",
    "mcp_servers": [
      {
        "name": "example-mcp",
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse"
      }
    ],
    "model": {
      "id": "claude-sonnet-4-6",
      "speed": "standard"
    },
    "multiagent": {
      "agents": [
        {
          "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
          "description": "A focused research subagent.",
          "mcp_servers": [
            {
              "name": "example-mcp",
              "type": "url",
              "url": "https://example-server.modelcontextprotocol.io/sse"
            }
          ],
          "model": {
            "id": "claude-sonnet-4-6",
            "speed": "standard"
          },
          "name": "Researcher",
          "skills": [
            {
              "skill_id": "xlsx",
              "type": "anthropic",
              "version": "1"
            }
          ],
          "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
          "tools": [
            {
              "configs": [
                {
                  "enabled": true,
                  "name": "bash",
                  "permission_policy": {
                    "type": "always_allow"
                  }
                }
              ],
              "default_config": {
                "enabled": true,
                "permission_policy": {
                  "type": "always_ask"
                }
              },
              "type": "agent_toolset_20260401"
            }
          ],
          "type": "agent",
          "version": 1
        }
      ],
      "type": "coordinator"
    },
    "name": "My First Agent",
    "skills": [
      {
        "skill_id": "xlsx",
        "type": "anthropic",
        "version": "1"
      },
      {
        "skill_id": "skill_011CZkZFNu9hAbo3jZPRgTlx",
        "type": "custom",
        "version": "2"
      }
    ],
    "system": "You are a general-purpose agent that can research, write code, run commands, and use connected tools to complete the user's task end to end.",
    "tools": [
      {
        "configs": [
          {
            "enabled": true,
            "name": "bash",
            "permission_policy": {
              "type": "always_allow"
            }
          }
        ],
        "default_config": {
          "enabled": true,
          "permission_policy": {
            "type": "always_ask"
          }
        },
        "type": "agent_toolset_20260401"
      }
    ],
    "type": "agent",
    "version": 1
  },
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
  "metadata": {},
  "outcome_evaluations": [
    {
      "completed_at": "2026-03-15T10:02:31Z",
      "description": "Produce a 2-page summary as summary.md",
      "explanation": "All five sections present with inline citations.",
      "iteration": 0,
      "outcome_id": "outc_011CZkZRSw2kEfs6ncTVljxP",
      "result": "satisfied",
      "type": "outcome_evaluation"
    }
  ],
  "resources": [
    {
      "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
      "created_at": "2026-03-15T10:00:00Z",
      "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
      "mount_path": "/uploads/receipt.pdf",
      "type": "file",
      "updated_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sesrsc_011CZkZCKr6eXyl0gWMOdQiu",
      "created_at": "2026-03-15T10:00:00Z",
      "mount_path": "/workspace/example-repo",
      "type": "github_repository",
      "updated_at": "2026-03-15T10:00:00Z",
      "url": "https://github.com/example-org/example-repo",
      "checkout": {
        "name": "main",
        "type": "branch"
      }
    }
  ],
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0
  },
  "status": "idle",
  "title": "Order #1234 inquiry",
  "type": "session",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "output_tokens": 0
  },
  "vault_ids": [
    "vlt_011CZkZDLs7fYzm1hXNPeRjv"
  ]
}

Delete Session

delete /v1/sessions/{session_id}

Delete Session

Path Parameters

  • session_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • BetaManagedAgentsDeletedSession object { id, type }

    Confirmation that a session has been permanently deleted.

    • id: string

    • type: "session_deleted"

      • "session_deleted"

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID \
    -X DELETE \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "type": "session_deleted"
}

Archive Session

post /v1/sessions/{session_id}/archive

Archive Session

Path Parameters

  • session_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • BetaManagedAgentsSession object { id, agent, archived_at, 12 more }

    A Managed Agents session.

    • id: string

    • agent: BetaManagedAgentsSessionAgent

      Resolved agent definition for a session. Snapshot of the agent at session creation time.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

        Resolved coordinator topology with full agent definitions for each roster member.

        • agents: array of BetaManagedAgentsSessionThreadAgent

          Full agent definitions the coordinator may spawn as session threads.

          • id: string

          • description: string

          • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

            • name: string

            • type: "url"

            • url: string

          • model: BetaManagedAgentsModelConfig

            Model identifier and configuration.

          • name: string

          • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

            • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

              A resolved Anthropic-managed skill.

              • skill_id: string

              • type: "anthropic"

                • "anthropic"
              • version: string

            • BetaManagedAgentsCustomSkill object { skill_id, type, version }

              A resolved user-created custom skill.

              • skill_id: string

              • type: "custom"

                • "custom"
              • version: string

          • system: string

          • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

            • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

              • configs: array of BetaManagedAgentsAgentToolConfig

                • enabled: boolean

                • name: "bash" or "edit" or "read" or 5 more

                  Built-in agent tool identifier.

                  • "bash"

                  • "edit"

                  • "read"

                  • "write"

                  • "glob"

                  • "grep"

                  • "web_fetch"

                  • "web_search"

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                    • type: "always_allow"

                      • "always_allow"
                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

                    • type: "always_ask"

                      • "always_ask"
              • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                Resolved default configuration for agent tools.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • type: "agent_toolset_20260401"

                • "agent_toolset_20260401"
            • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

              • configs: array of BetaManagedAgentsMCPToolConfig

                • enabled: boolean

                • name: string

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                Resolved default configuration for all tools from an MCP server.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • mcp_server_name: string

              • type: "mcp_toolset"

                • "mcp_toolset"
            • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

              A custom tool as returned in API responses.

              • description: string

              • input_schema: BetaManagedAgentsCustomToolInputSchema

                JSON Schema for custom tool input parameters.

                • properties: optional map[unknown]

                  JSON Schema properties defining the tool's input parameters.

                • required: optional array of string

                  List of required property names.

                • type: optional "object"

                  Must be 'object' for tool input schemas.

                  • "object"
              • name: string

              • type: "custom"

                • "custom"
          • type: "agent"

            • "agent"
          • version: number

        • type: "coordinator"

          • "coordinator"
      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

      • type: "agent"

        • "agent"
      • version: number

    • archived_at: string

      A timestamp in RFC 3339 format

    • created_at: string

      A timestamp in RFC 3339 format

    • environment_id: string

    • metadata: map[string]

    • outcome_evaluations: array of BetaManagedAgentsOutcomeEvaluationResource

      Per-outcome evaluation state. One entry per define_outcome event sent to the session.

      • completed_at: string

        A timestamp in RFC 3339 format

      • description: string

        What the agent should produce.

      • explanation: string

        Grader's verdict text from the most recent evaluation. For satisfied, explains why criteria are met; for needs_revision (intermediate), what's missing; for failed, why unrecoverable.

      • iteration: number

        0-indexed revision cycle the outcome is currently on.

      • outcome_id: string

        Server-generated outc_ ID for this outcome.

      • result: string

        Current evaluation state. pending before the agent begins work; running while producing or revising; evaluating while the grader scores; satisfied/max_iterations_reached/failed/interrupted are terminal.

      • type: "outcome_evaluation"

        • "outcome_evaluation"
    • resources: array of BetaManagedAgentsSessionResource

      • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • mount_path: string

        • type: "github_repository"

          • "github_repository"
        • updated_at: string

          A timestamp in RFC 3339 format

        • url: string

        • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

          • BetaManagedAgentsBranchCheckout object { name, type }

            • name: string

              Branch name to check out.

            • type: "branch"

              • "branch"
          • BetaManagedAgentsCommitCheckout object { sha, type }

            • sha: string

              Full commit SHA to check out.

            • type: "commit"

              • "commit"
      • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • file_id: string

        • mount_path: string

        • type: "file"

          • "file"
        • updated_at: string

          A timestamp in RFC 3339 format

      • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

        A memory store attached to an agent session.

        • memory_store_id: string

          The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

        • type: "memory_store"

          • "memory_store"
        • access: optional "read_write" or "read_only"

          Access mode for an attached memory store.

          • "read_write"

          • "read_only"

        • description: optional string

          Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

        • instructions: optional string

          Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        • mount_path: optional string

          Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

        • name: optional string

          Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

    • stats: BetaManagedAgentsSessionStats

      Timing statistics for a session.

      • active_seconds: optional number

        Cumulative time in seconds the session spent in running status. Excludes idle time.

      • duration_seconds: optional number

        Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

    • status: "rescheduling" or "running" or "idle" or "terminated"

      SessionStatus enum

      • "rescheduling"

      • "running"

      • "idle"

      • "terminated"

    • title: string

    • type: "session"

      • "session"
    • updated_at: string

      A timestamp in RFC 3339 format

    • usage: BetaManagedAgentsSessionUsage

      Cumulative token usage for a session across all turns.

      • cache_creation: optional BetaManagedAgentsCacheCreationUsage

        Prompt-cache creation token usage broken down by cache lifetime.

        • ephemeral_1h_input_tokens: optional number

          Tokens used to create 1-hour ephemeral cache entries.

        • ephemeral_5m_input_tokens: optional number

          Tokens used to create 5-minute ephemeral cache entries.

      • cache_read_input_tokens: optional number

        Total tokens read from prompt cache.

      • input_tokens: optional number

        Total input tokens consumed across all turns.

      • output_tokens: optional number

        Total output tokens generated across all turns.

    • vault_ids: array of string

      Vault IDs attached to the session at creation. Empty when no vaults were supplied.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/archive \
    -X POST \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "agent": {
    "id": "agent_011CZkYpogX7uDKUyvBTophP",
    "description": "A general-purpose starter agent.",
    "mcp_servers": [
      {
        "name": "example-mcp",
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse"
      }
    ],
    "model": {
      "id": "claude-sonnet-4-6",
      "speed": "standard"
    },
    "multiagent": {
      "agents": [
        {
          "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
          "description": "A focused research subagent.",
          "mcp_servers": [
            {
              "name": "example-mcp",
              "type": "url",
              "url": "https://example-server.modelcontextprotocol.io/sse"
            }
          ],
          "model": {
            "id": "claude-sonnet-4-6",
            "speed": "standard"
          },
          "name": "Researcher",
          "skills": [
            {
              "skill_id": "xlsx",
              "type": "anthropic",
              "version": "1"
            }
          ],
          "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
          "tools": [
            {
              "configs": [
                {
                  "enabled": true,
                  "name": "bash",
                  "permission_policy": {
                    "type": "always_allow"
                  }
                }
              ],
              "default_config": {
                "enabled": true,
                "permission_policy": {
                  "type": "always_ask"
                }
              },
              "type": "agent_toolset_20260401"
            }
          ],
          "type": "agent",
          "version": 1
        }
      ],
      "type": "coordinator"
    },
    "name": "My First Agent",
    "skills": [
      {
        "skill_id": "xlsx",
        "type": "anthropic",
        "version": "1"
      },
      {
        "skill_id": "skill_011CZkZFNu9hAbo3jZPRgTlx",
        "type": "custom",
        "version": "2"
      }
    ],
    "system": "You are a general-purpose agent that can research, write code, run commands, and use connected tools to complete the user's task end to end.",
    "tools": [
      {
        "configs": [
          {
            "enabled": true,
            "name": "bash",
            "permission_policy": {
              "type": "always_allow"
            }
          }
        ],
        "default_config": {
          "enabled": true,
          "permission_policy": {
            "type": "always_ask"
          }
        },
        "type": "agent_toolset_20260401"
      }
    ],
    "type": "agent",
    "version": 1
  },
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
  "metadata": {},
  "outcome_evaluations": [
    {
      "completed_at": "2026-03-15T10:02:31Z",
      "description": "Produce a 2-page summary as summary.md",
      "explanation": "All five sections present with inline citations.",
      "iteration": 0,
      "outcome_id": "outc_011CZkZRSw2kEfs6ncTVljxP",
      "result": "satisfied",
      "type": "outcome_evaluation"
    }
  ],
  "resources": [
    {
      "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
      "created_at": "2026-03-15T10:00:00Z",
      "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
      "mount_path": "/uploads/receipt.pdf",
      "type": "file",
      "updated_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sesrsc_011CZkZCKr6eXyl0gWMOdQiu",
      "created_at": "2026-03-15T10:00:00Z",
      "mount_path": "/workspace/example-repo",
      "type": "github_repository",
      "updated_at": "2026-03-15T10:00:00Z",
      "url": "https://github.com/example-org/example-repo",
      "checkout": {
        "name": "main",
        "type": "branch"
      }
    }
  ],
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0
  },
  "status": "idle",
  "title": "Order #1234 inquiry",
  "type": "session",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "output_tokens": 0
  },
  "vault_ids": [
    "vlt_011CZkZDLs7fYzm1hXNPeRjv"
  ]
}

Domain Types

Beta Managed Agents Agent Params

  • BetaManagedAgentsAgentParams object { id, type, version }

    Specification for an Agent. Provide a specific version or use the short-form agent="agent_id" for the most recent version

    • id: string

      The agent ID.

    • type: "agent"

      • "agent"
    • version: optional number

      The specific agent version to use. Omit to use the latest version. Must be at least 1 if specified.

Beta Managed Agents Branch Checkout

  • BetaManagedAgentsBranchCheckout object { name, type }

    • name: string

      Branch name to check out.

    • type: "branch"

      • "branch"

Beta Managed Agents Cache Creation Usage

  • BetaManagedAgentsCacheCreationUsage object { ephemeral_1h_input_tokens, ephemeral_5m_input_tokens }

    Prompt-cache creation token usage broken down by cache lifetime.

    • ephemeral_1h_input_tokens: optional number

      Tokens used to create 1-hour ephemeral cache entries.

    • ephemeral_5m_input_tokens: optional number

      Tokens used to create 5-minute ephemeral cache entries.

Beta Managed Agents Commit Checkout

  • BetaManagedAgentsCommitCheckout object { sha, type }

    • sha: string

      Full commit SHA to check out.

    • type: "commit"

      • "commit"

Beta Managed Agents Deleted Session

  • BetaManagedAgentsDeletedSession object { id, type }

    Confirmation that a session has been permanently deleted.

    • id: string

    • type: "session_deleted"

      • "session_deleted"

Beta Managed Agents File Resource Params

  • BetaManagedAgentsFileResourceParams object { file_id, type, mount_path }

    Mount a file uploaded via the Files API into the session.

    • file_id: string

      ID of a previously uploaded file.

    • type: "file"

      • "file"
    • mount_path: optional string

      Mount path in the container. Defaults to /mnt/session/uploads/<file_id>.

Beta Managed Agents GitHub Repository Resource Params

  • BetaManagedAgentsGitHubRepositoryResourceParams object { authorization_token, type, url, 2 more }

    Mount a GitHub repository into the session's container.

    • authorization_token: string

      GitHub authorization token used to clone the repository.

    • type: "github_repository"

      • "github_repository"
    • url: string

      Github URL of the repository

    • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

      Branch or commit to check out. Defaults to the repository's default branch.

      • BetaManagedAgentsBranchCheckout object { name, type }

        • name: string

          Branch name to check out.

        • type: "branch"

          • "branch"
      • BetaManagedAgentsCommitCheckout object { sha, type }

        • sha: string

          Full commit SHA to check out.

        • type: "commit"

          • "commit"
    • mount_path: optional string

      Mount path in the container. Defaults to /workspace/<repo-name>.

Beta Managed Agents Memory Store Resource Param

  • BetaManagedAgentsMemoryStoreResourceParam object { memory_store_id, type, access, instructions }

    Parameters for attaching a memory store to an agent session.

    • memory_store_id: string

      The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

    • type: "memory_store"

      • "memory_store"
    • access: optional "read_write" or "read_only"

      Access mode for an attached memory store.

      • "read_write"

      • "read_only"

    • instructions: optional string

      Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

Beta Managed Agents Multiagent

  • BetaManagedAgentsMultiagent object { agents, type }

    Resolved coordinator topology with a concrete agent roster.

    • agents: array of BetaManagedAgentsAgentReference

      Agents the coordinator may spawn as session threads, each resolved to a specific version.

      • id: string

      • type: "agent"

        • "agent"
      • version: number

    • type: "coordinator"

      • "coordinator"

Beta Managed Agents Multiagent Params

  • BetaManagedAgentsMultiagentParams object { agents, type }

    A coordinator topology: the session's primary thread orchestrates work by spawning session threads, each running an agent drawn from the agents roster.

    • agents: array of BetaManagedAgentsMultiagentRosterEntryParams

      Agents the coordinator may spawn as session threads. 1–20 entries. Each entry is an agent ID string, a versioned {"type":"agent","id","version"} reference, or {"type":"self"} to allow recursive self-invocation. Entries must reference distinct agents (after resolving self and string forms); at most one self. Referenced agents must exist, must not be archived, and must not themselves have multiagent set (depth limit 1).

      • string

      • BetaManagedAgentsAgentParams object { id, type, version }

        Specification for an Agent. Provide a specific version or use the short-form agent="agent_id" for the most recent version

        • id: string

          The agent ID.

        • type: "agent"

          • "agent"
        • version: optional number

          The specific agent version to use. Omit to use the latest version. Must be at least 1 if specified.

      • BetaManagedAgentsMultiagentSelfParams object { type }

        Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

        • type: "self"

          • "self"
    • type: "coordinator"

      • "coordinator"

Beta Managed Agents Multiagent Roster Entry Params

  • BetaManagedAgentsMultiagentRosterEntryParams = string or BetaManagedAgentsAgentParams or BetaManagedAgentsMultiagentSelfParams

    An entry in a multiagent roster: an agent ID string, a versioned agent reference, or self.

    • string

    • BetaManagedAgentsAgentParams object { id, type, version }

      Specification for an Agent. Provide a specific version or use the short-form agent="agent_id" for the most recent version

      • id: string

        The agent ID.

      • type: "agent"

        • "agent"
      • version: optional number

        The specific agent version to use. Omit to use the latest version. Must be at least 1 if specified.

    • BetaManagedAgentsMultiagentSelfParams object { type }

      Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

      • type: "self"

        • "self"

Beta Managed Agents Outcome Evaluation Resource

  • BetaManagedAgentsOutcomeEvaluationResource object { completed_at, description, explanation, 4 more }

    Evaluation state for a single outcome defined via a define_outcome event.

    • completed_at: string

      A timestamp in RFC 3339 format

    • description: string

      What the agent should produce.

    • explanation: string

      Grader's verdict text from the most recent evaluation. For satisfied, explains why criteria are met; for needs_revision (intermediate), what's missing; for failed, why unrecoverable.

    • iteration: number

      0-indexed revision cycle the outcome is currently on.

    • outcome_id: string

      Server-generated outc_ ID for this outcome.

    • result: string

      Current evaluation state. pending before the agent begins work; running while producing or revising; evaluating while the grader scores; satisfied/max_iterations_reached/failed/interrupted are terminal.

    • type: "outcome_evaluation"

      • "outcome_evaluation"

Beta Managed Agents Session

  • BetaManagedAgentsSession object { id, agent, archived_at, 12 more }

    A Managed Agents session.

    • id: string

    • agent: BetaManagedAgentsSessionAgent

      Resolved agent definition for a session. Snapshot of the agent at session creation time.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

        Resolved coordinator topology with full agent definitions for each roster member.

        • agents: array of BetaManagedAgentsSessionThreadAgent

          Full agent definitions the coordinator may spawn as session threads.

          • id: string

          • description: string

          • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

            • name: string

            • type: "url"

            • url: string

          • model: BetaManagedAgentsModelConfig

            Model identifier and configuration.

          • name: string

          • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

            • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

              A resolved Anthropic-managed skill.

              • skill_id: string

              • type: "anthropic"

                • "anthropic"
              • version: string

            • BetaManagedAgentsCustomSkill object { skill_id, type, version }

              A resolved user-created custom skill.

              • skill_id: string

              • type: "custom"

                • "custom"
              • version: string

          • system: string

          • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

            • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

              • configs: array of BetaManagedAgentsAgentToolConfig

                • enabled: boolean

                • name: "bash" or "edit" or "read" or 5 more

                  Built-in agent tool identifier.

                  • "bash"

                  • "edit"

                  • "read"

                  • "write"

                  • "glob"

                  • "grep"

                  • "web_fetch"

                  • "web_search"

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                    • type: "always_allow"

                      • "always_allow"
                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

                    • type: "always_ask"

                      • "always_ask"
              • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                Resolved default configuration for agent tools.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • type: "agent_toolset_20260401"

                • "agent_toolset_20260401"
            • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

              • configs: array of BetaManagedAgentsMCPToolConfig

                • enabled: boolean

                • name: string

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                Resolved default configuration for all tools from an MCP server.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • mcp_server_name: string

              • type: "mcp_toolset"

                • "mcp_toolset"
            • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

              A custom tool as returned in API responses.

              • description: string

              • input_schema: BetaManagedAgentsCustomToolInputSchema

                JSON Schema for custom tool input parameters.

                • properties: optional map[unknown]

                  JSON Schema properties defining the tool's input parameters.

                • required: optional array of string

                  List of required property names.

                • type: optional "object"

                  Must be 'object' for tool input schemas.

                  • "object"
              • name: string

              • type: "custom"

                • "custom"
          • type: "agent"

            • "agent"
          • version: number

        • type: "coordinator"

          • "coordinator"
      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

      • type: "agent"

        • "agent"
      • version: number

    • archived_at: string

      A timestamp in RFC 3339 format

    • created_at: string

      A timestamp in RFC 3339 format

    • environment_id: string

    • metadata: map[string]

    • outcome_evaluations: array of BetaManagedAgentsOutcomeEvaluationResource

      Per-outcome evaluation state. One entry per define_outcome event sent to the session.

      • completed_at: string

        A timestamp in RFC 3339 format

      • description: string

        What the agent should produce.

      • explanation: string

        Grader's verdict text from the most recent evaluation. For satisfied, explains why criteria are met; for needs_revision (intermediate), what's missing; for failed, why unrecoverable.

      • iteration: number

        0-indexed revision cycle the outcome is currently on.

      • outcome_id: string

        Server-generated outc_ ID for this outcome.

      • result: string

        Current evaluation state. pending before the agent begins work; running while producing or revising; evaluating while the grader scores; satisfied/max_iterations_reached/failed/interrupted are terminal.

      • type: "outcome_evaluation"

        • "outcome_evaluation"
    • resources: array of BetaManagedAgentsSessionResource

      • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • mount_path: string

        • type: "github_repository"

          • "github_repository"
        • updated_at: string

          A timestamp in RFC 3339 format

        • url: string

        • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

          • BetaManagedAgentsBranchCheckout object { name, type }

            • name: string

              Branch name to check out.

            • type: "branch"

              • "branch"
          • BetaManagedAgentsCommitCheckout object { sha, type }

            • sha: string

              Full commit SHA to check out.

            • type: "commit"

              • "commit"
      • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

        • id: string

        • created_at: string

          A timestamp in RFC 3339 format

        • file_id: string

        • mount_path: string

        • type: "file"

          • "file"
        • updated_at: string

          A timestamp in RFC 3339 format

      • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

        A memory store attached to an agent session.

        • memory_store_id: string

          The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

        • type: "memory_store"

          • "memory_store"
        • access: optional "read_write" or "read_only"

          Access mode for an attached memory store.

          • "read_write"

          • "read_only"

        • description: optional string

          Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

        • instructions: optional string

          Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        • mount_path: optional string

          Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

        • name: optional string

          Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

    • stats: BetaManagedAgentsSessionStats

      Timing statistics for a session.

      • active_seconds: optional number

        Cumulative time in seconds the session spent in running status. Excludes idle time.

      • duration_seconds: optional number

        Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

    • status: "rescheduling" or "running" or "idle" or "terminated"

      SessionStatus enum

      • "rescheduling"

      • "running"

      • "idle"

      • "terminated"

    • title: string

    • type: "session"

      • "session"
    • updated_at: string

      A timestamp in RFC 3339 format

    • usage: BetaManagedAgentsSessionUsage

      Cumulative token usage for a session across all turns.

      • cache_creation: optional BetaManagedAgentsCacheCreationUsage

        Prompt-cache creation token usage broken down by cache lifetime.

        • ephemeral_1h_input_tokens: optional number

          Tokens used to create 1-hour ephemeral cache entries.

        • ephemeral_5m_input_tokens: optional number

          Tokens used to create 5-minute ephemeral cache entries.

      • cache_read_input_tokens: optional number

        Total tokens read from prompt cache.

      • input_tokens: optional number

        Total input tokens consumed across all turns.

      • output_tokens: optional number

        Total output tokens generated across all turns.

    • vault_ids: array of string

      Vault IDs attached to the session at creation. Empty when no vaults were supplied.

Beta Managed Agents Session Agent

  • BetaManagedAgentsSessionAgent object { id, description, mcp_servers, 8 more }

    Resolved agent definition for a session. Snapshot of the agent at session creation time.

    • id: string

    • description: string

    • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

      • name: string

      • type: "url"

        • "url"
      • url: string

    • model: BetaManagedAgentsModelConfig

      Model identifier and configuration.

      • id: BetaManagedAgentsModel

        The model that will power your agent.

        See models for additional details and options.

        • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7"

            Frontier intelligence for long-running agents and coding

          • "claude-opus-4-6"

            Most intelligent model for building 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"

            Premium model combining maximum intelligence with practical performance

          • "claude-opus-4-5-20251101"

            Premium model combining maximum intelligence with practical performance

          • "claude-sonnet-4-5"

            High-performance model for agents and coding

          • "claude-sonnet-4-5-20250929"

            High-performance model for agents and coding

        • string

      • speed: optional "standard" or "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.

        • "standard"

        • "fast"

    • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

      Resolved coordinator topology with full agent definitions for each roster member.

      • agents: array of BetaManagedAgentsSessionThreadAgent

        Full agent definitions the coordinator may spawn as session threads.

        • id: string

        • description: string

        • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

          • name: string

          • type: "url"

          • url: string

        • model: BetaManagedAgentsModelConfig

          Model identifier and configuration.

        • name: string

        • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

          • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

            A resolved Anthropic-managed skill.

            • skill_id: string

            • type: "anthropic"

              • "anthropic"
            • version: string

          • BetaManagedAgentsCustomSkill object { skill_id, type, version }

            A resolved user-created custom skill.

            • skill_id: string

            • type: "custom"

              • "custom"
            • version: string

        • system: string

        • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

          • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

            • configs: array of BetaManagedAgentsAgentToolConfig

              • enabled: boolean

              • name: "bash" or "edit" or "read" or 5 more

                Built-in agent tool identifier.

                • "bash"

                • "edit"

                • "read"

                • "write"

                • "glob"

                • "grep"

                • "web_fetch"

                • "web_search"

              • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                Permission policy for tool execution.

                • BetaManagedAgentsAlwaysAllowPolicy object { type }

                  Tool calls are automatically approved without user confirmation.

                  • type: "always_allow"

                    • "always_allow"
                • BetaManagedAgentsAlwaysAskPolicy object { type }

                  Tool calls require user confirmation before execution.

                  • type: "always_ask"

                    • "always_ask"
            • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

              Resolved default configuration for agent tools.

              • enabled: boolean

              • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                Permission policy for tool execution.

                • BetaManagedAgentsAlwaysAllowPolicy object { type }

                  Tool calls are automatically approved without user confirmation.

                • BetaManagedAgentsAlwaysAskPolicy object { type }

                  Tool calls require user confirmation before execution.

            • type: "agent_toolset_20260401"

              • "agent_toolset_20260401"
          • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

            • configs: array of BetaManagedAgentsMCPToolConfig

              • enabled: boolean

              • name: string

              • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                Permission policy for tool execution.

                • BetaManagedAgentsAlwaysAllowPolicy object { type }

                  Tool calls are automatically approved without user confirmation.

                • BetaManagedAgentsAlwaysAskPolicy object { type }

                  Tool calls require user confirmation before execution.

            • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

              Resolved default configuration for all tools from an MCP server.

              • enabled: boolean

              • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                Permission policy for tool execution.

                • BetaManagedAgentsAlwaysAllowPolicy object { type }

                  Tool calls are automatically approved without user confirmation.

                • BetaManagedAgentsAlwaysAskPolicy object { type }

                  Tool calls require user confirmation before execution.

            • mcp_server_name: string

            • type: "mcp_toolset"

              • "mcp_toolset"
          • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

            A custom tool as returned in API responses.

            • description: string

            • input_schema: BetaManagedAgentsCustomToolInputSchema

              JSON Schema for custom tool input parameters.

              • properties: optional map[unknown]

                JSON Schema properties defining the tool's input parameters.

              • required: optional array of string

                List of required property names.

              • type: optional "object"

                Must be 'object' for tool input schemas.

                • "object"
            • name: string

            • type: "custom"

              • "custom"
        • type: "agent"

          • "agent"
        • version: number

      • type: "coordinator"

        • "coordinator"
    • name: string

    • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

      • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

        A resolved Anthropic-managed skill.

      • BetaManagedAgentsCustomSkill object { skill_id, type, version }

        A resolved user-created custom skill.

    • system: string

    • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

      • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

      • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

      • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

        A custom tool as returned in API responses.

    • type: "agent"

      • "agent"
    • version: number

Beta Managed Agents Session Agent Update

  • BetaManagedAgentsSessionAgentUpdate object { mcp_servers, tools }

    Mid-session agent configuration update. Only tools and mcp_servers are updatable. Full replacement: the provided array becomes the new value. To preserve existing entries, GET the session, modify the array, and POST it back.

    • mcp_servers: optional array of BetaManagedAgentsURLMCPServerParams

      Replacement MCP server list. Full replacement: the provided array becomes the new value. Send an empty array to clear; omit to preserve.

      • name: string

        Unique name for this server, referenced by mcp_toolset configurations. 1-255 characters.

      • type: "url"

        • "url"
      • url: string

        Endpoint URL for the MCP server.

    • tools: optional array of BetaManagedAgentsAgentToolset20260401Params or BetaManagedAgentsMCPToolsetParams or BetaManagedAgentsCustomToolParams

      Replacement tool list. Full replacement: the provided array becomes the new value. Send an empty array to clear; omit to preserve.

      • BetaManagedAgentsAgentToolset20260401Params object { type, configs, default_config }

        Configuration for built-in agent tools. Use this to enable or disable groups of tools available to the agent.

        • type: "agent_toolset_20260401"

          • "agent_toolset_20260401"
        • configs: optional array of BetaManagedAgentsAgentToolConfigParams

          Per-tool configuration overrides.

          • name: "bash" or "edit" or "read" or 5 more

            Built-in agent tool identifier.

            • "bash"

            • "edit"

            • "read"

            • "write"

            • "glob"

            • "grep"

            • "web_fetch"

            • "web_search"

          • enabled: optional boolean

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          • permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

            Permission policy for tool execution.

            • BetaManagedAgentsAlwaysAllowPolicy object { type }

              Tool calls are automatically approved without user confirmation.

              • type: "always_allow"

                • "always_allow"
            • BetaManagedAgentsAlwaysAskPolicy object { type }

              Tool calls require user confirmation before execution.

              • type: "always_ask"

                • "always_ask"
        • default_config: optional BetaManagedAgentsAgentToolsetDefaultConfigParams

          Default configuration for all tools in a toolset.

          • enabled: optional boolean

            Whether tools are enabled and available to Claude by default. Defaults to true if not specified.

          • permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

            Permission policy for tool execution.

            • BetaManagedAgentsAlwaysAllowPolicy object { type }

              Tool calls are automatically approved without user confirmation.

            • BetaManagedAgentsAlwaysAskPolicy object { type }

              Tool calls require user confirmation before execution.

      • BetaManagedAgentsMCPToolsetParams object { mcp_server_name, type, configs, default_config }

        Configuration for tools from an MCP server defined in mcp_servers.

        • mcp_server_name: string

          Name of the MCP server. Must match a server name from the mcp_servers array. 1-255 characters.

        • type: "mcp_toolset"

          • "mcp_toolset"
        • configs: optional array of BetaManagedAgentsMCPToolConfigParams

          Per-tool configuration overrides.

          • name: string

            Name of the MCP tool to configure. 1-128 characters.

          • enabled: optional boolean

            Whether this tool is enabled. Overrides the default_config setting.

          • permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

            Permission policy for tool execution.

            • BetaManagedAgentsAlwaysAllowPolicy object { type }

              Tool calls are automatically approved without user confirmation.

            • BetaManagedAgentsAlwaysAskPolicy object { type }

              Tool calls require user confirmation before execution.

        • default_config: optional BetaManagedAgentsMCPToolsetDefaultConfigParams

          Default configuration for all tools from an MCP server.

          • enabled: optional boolean

            Whether tools are enabled by default. Defaults to true if not specified.

          • permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

            Permission policy for tool execution.

            • BetaManagedAgentsAlwaysAllowPolicy object { type }

              Tool calls are automatically approved without user confirmation.

            • BetaManagedAgentsAlwaysAskPolicy object { type }

              Tool calls require user confirmation before execution.

      • BetaManagedAgentsCustomToolParams object { description, input_schema, name, type }

        A custom tool that is executed by the API client rather than the agent. When the agent calls this tool, an agent.custom_tool_use event is emitted and the session goes idle, waiting for the client to provide the result via a user.custom_tool_result event.

        • description: string

          Description of what the tool does, shown to the agent to help it decide when to use the tool. 1-1024 characters.

        • input_schema: BetaManagedAgentsCustomToolInputSchema

          JSON Schema for custom tool input parameters.

          • properties: optional map[unknown]

            JSON Schema properties defining the tool's input parameters.

          • required: optional array of string

            List of required property names.

          • type: optional "object"

            Must be 'object' for tool input schemas.

            • "object"
        • name: string

          Unique name for the tool. 1-128 characters; letters, digits, underscores, and hyphens.

        • type: "custom"

          • "custom"

Beta Managed Agents Session Multiagent Coordinator

  • BetaManagedAgentsSessionMultiagentCoordinator object { agents, type }

    Resolved coordinator topology with full agent definitions for each roster member.

    • agents: array of BetaManagedAgentsSessionThreadAgent

      Full agent definitions the coordinator may spawn as session threads.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

          • skill_id: string

          • type: "anthropic"

            • "anthropic"
          • version: string

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

          • skill_id: string

          • type: "custom"

            • "custom"
          • version: string

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • configs: array of BetaManagedAgentsAgentToolConfig

            • enabled: boolean

            • name: "bash" or "edit" or "read" or 5 more

              Built-in agent tool identifier.

              • "bash"

              • "edit"

              • "read"

              • "write"

              • "glob"

              • "grep"

              • "web_fetch"

              • "web_search"

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

                • type: "always_allow"

                  • "always_allow"
              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

                • type: "always_ask"

                  • "always_ask"
          • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

            Resolved default configuration for agent tools.

            • enabled: boolean

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • type: "agent_toolset_20260401"

            • "agent_toolset_20260401"
        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • configs: array of BetaManagedAgentsMCPToolConfig

            • enabled: boolean

            • name: string

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

            Resolved default configuration for all tools from an MCP server.

            • enabled: boolean

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • mcp_server_name: string

          • type: "mcp_toolset"

            • "mcp_toolset"
        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

          • description: string

          • input_schema: BetaManagedAgentsCustomToolInputSchema

            JSON Schema for custom tool input parameters.

            • properties: optional map[unknown]

              JSON Schema properties defining the tool's input parameters.

            • required: optional array of string

              List of required property names.

            • type: optional "object"

              Must be 'object' for tool input schemas.

              • "object"
          • name: string

          • type: "custom"

            • "custom"
      • type: "agent"

        • "agent"
      • version: number

    • type: "coordinator"

      • "coordinator"

Beta Managed Agents Session Stats

  • BetaManagedAgentsSessionStats object { active_seconds, duration_seconds }

    Timing statistics for a session.

    • active_seconds: optional number

      Cumulative time in seconds the session spent in running status. Excludes idle time.

    • duration_seconds: optional number

      Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

Beta Managed Agents Session Updated Event

  • BetaManagedAgentsSessionUpdatedEvent object { id, processed_at, type, 3 more }

    Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

    • id: string

      Unique identifier for this event.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "session.updated"

      • "session.updated"
    • agent: optional BetaManagedAgentsSessionAgent

      Resolved agent definition for a session. Snapshot of the agent at session creation time.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

        Resolved coordinator topology with full agent definitions for each roster member.

        • agents: array of BetaManagedAgentsSessionThreadAgent

          Full agent definitions the coordinator may spawn as session threads.

          • id: string

          • description: string

          • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

            • name: string

            • type: "url"

            • url: string

          • model: BetaManagedAgentsModelConfig

            Model identifier and configuration.

          • name: string

          • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

            • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

              A resolved Anthropic-managed skill.

              • skill_id: string

              • type: "anthropic"

                • "anthropic"
              • version: string

            • BetaManagedAgentsCustomSkill object { skill_id, type, version }

              A resolved user-created custom skill.

              • skill_id: string

              • type: "custom"

                • "custom"
              • version: string

          • system: string

          • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

            • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

              • configs: array of BetaManagedAgentsAgentToolConfig

                • enabled: boolean

                • name: "bash" or "edit" or "read" or 5 more

                  Built-in agent tool identifier.

                  • "bash"

                  • "edit"

                  • "read"

                  • "write"

                  • "glob"

                  • "grep"

                  • "web_fetch"

                  • "web_search"

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                    • type: "always_allow"

                      • "always_allow"
                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

                    • type: "always_ask"

                      • "always_ask"
              • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                Resolved default configuration for agent tools.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • type: "agent_toolset_20260401"

                • "agent_toolset_20260401"
            • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

              • configs: array of BetaManagedAgentsMCPToolConfig

                • enabled: boolean

                • name: string

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                Resolved default configuration for all tools from an MCP server.

                • enabled: boolean

                • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                  Permission policy for tool execution.

                  • BetaManagedAgentsAlwaysAllowPolicy object { type }

                    Tool calls are automatically approved without user confirmation.

                  • BetaManagedAgentsAlwaysAskPolicy object { type }

                    Tool calls require user confirmation before execution.

              • mcp_server_name: string

              • type: "mcp_toolset"

                • "mcp_toolset"
            • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

              A custom tool as returned in API responses.

              • description: string

              • input_schema: BetaManagedAgentsCustomToolInputSchema

                JSON Schema for custom tool input parameters.

                • properties: optional map[unknown]

                  JSON Schema properties defining the tool's input parameters.

                • required: optional array of string

                  List of required property names.

                • type: optional "object"

                  Must be 'object' for tool input schemas.

                  • "object"
              • name: string

              • type: "custom"

                • "custom"
          • type: "agent"

            • "agent"
          • version: number

        • type: "coordinator"

          • "coordinator"
      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

      • type: "agent"

        • "agent"
      • version: number

    • metadata: optional map[string]

      The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

    • title: optional string

      The session's new title. Present only when the update changed it.

Beta Managed Agents Session Usage

  • BetaManagedAgentsSessionUsage object { cache_creation, cache_read_input_tokens, input_tokens, output_tokens }

    Cumulative token usage for a session across all turns.

    • cache_creation: optional BetaManagedAgentsCacheCreationUsage

      Prompt-cache creation token usage broken down by cache lifetime.

      • ephemeral_1h_input_tokens: optional number

        Tokens used to create 1-hour ephemeral cache entries.

      • ephemeral_5m_input_tokens: optional number

        Tokens used to create 5-minute ephemeral cache entries.

    • cache_read_input_tokens: optional number

      Total tokens read from prompt cache.

    • input_tokens: optional number

      Total input tokens consumed across all turns.

    • output_tokens: optional number

      Total output tokens generated across all turns.

Beta Managed Agents User Tool Result Event

  • BetaManagedAgentsUserToolResultEvent object { id, tool_use_id, type, 4 more }

    Event sent by the client providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

    • id: string

      Unique identifier for this event.

    • tool_use_id: string

      The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

    • type: "user.tool_result"

      • "user.tool_result"
    • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

      The result content returned by the tool.

      • BetaManagedAgentsTextBlock object { text, type }

        Regular text content.

        • text: string

          The text content.

        • type: "text"

          • "text"
      • BetaManagedAgentsImageBlock object { source, type }

        Image content specified directly as base64 data or as a reference via a URL.

        • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

          Union type for image source variants.

          • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

            Base64-encoded image data.

            • data: string

              Base64-encoded image data.

            • media_type: string

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsURLImageSource object { type, url }

            Image referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the image to fetch.

          • BetaManagedAgentsFileImageSource object { file_id, type }

            Image referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "image"

          • "image"
      • BetaManagedAgentsDocumentBlock object { source, type, context, title }

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

          Union type for document source variants.

          • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

            Base64-encoded document data.

            • data: string

              Base64-encoded document data.

            • media_type: string

              MIME type of the document (e.g., "application/pdf").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

            Plain text document content.

            • data: string

              The plain text content.

            • media_type: "text/plain"

              MIME type of the text content. Must be "text/plain".

              • "text/plain"
            • type: "text"

              • "text"
          • BetaManagedAgentsURLDocumentSource object { type, url }

            Document referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the document to fetch.

          • BetaManagedAgentsFileDocumentSource object { file_id, type }

            Document referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "document"

          • "document"
        • context: optional string

          Additional context about the document for the model.

        • title: optional string

          The title of the document.

      • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

        A block containing a web search result.

        • citations: BetaManagedAgentsSearchResultCitations

          Citation settings for a search result.

          • enabled: boolean

            Whether citations are enabled for this search result.

        • content: array of BetaManagedAgentsSearchResultContent

          Array of text content blocks from the search result.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • source: string

          The URL source of the search result.

        • title: string

          The title of the search result.

        • type: "search_result"

          • "search_result"
    • is_error: optional boolean

      Whether the tool execution resulted in an error.

    • processed_at: optional string

      A timestamp in RFC 3339 format

    • session_thread_id: optional string

      Routes this result to a subagent thread. Copy from the agent.tool_use event's session_thread_id.

Events

List Events

get /v1/sessions/{session_id}/events

List Events

Path Parameters

  • session_id: string

Query Parameters

  • "created_at[gt]": optional string

    Return events created after this time (exclusive).

  • "created_at[gte]": optional string

    Return events created at or after this time (inclusive).

  • "created_at[lt]": optional string

    Return events created before this time (exclusive).

  • "created_at[lte]": optional string

    Return events created at or before this time (inclusive).

  • limit: optional number

    Query parameter for limit

  • order: optional "asc" or "desc"

    Sort direction for results, ordered by created_at. Defaults to asc (chronological).

    • "asc"

    • "desc"

  • page: optional string

    Opaque pagination cursor from a previous response's next_page.

  • types: optional array of string

    Filter by event type. Values match the type field on returned events (for example, user.message or agent.tool_use). Omit to return all event types.

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • data: optional array of BetaManagedAgentsSessionEvent

    Events for the session, ordered by created_at.

    • BetaManagedAgentsUserMessageEvent object { id, content, type, processed_at }

      A user message event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Array of content blocks comprising the user message.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

          • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

            Union type for image source variants.

            • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

              Base64-encoded image data.

              • data: string

                Base64-encoded image data.

              • media_type: string

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsURLImageSource object { type, url }

              Image referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the image to fetch.

            • BetaManagedAgentsFileImageSource object { file_id, type }

              Image referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "image"

            • "image"
        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

            Union type for document source variants.

            • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

              Base64-encoded document data.

              • data: string

                Base64-encoded document data.

              • media_type: string

                MIME type of the document (e.g., "application/pdf").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

              Plain text document content.

              • data: string

                The plain text content.

              • media_type: "text/plain"

                MIME type of the text content. Must be "text/plain".

                • "text/plain"
              • type: "text"

                • "text"
            • BetaManagedAgentsURLDocumentSource object { type, url }

              Document referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the document to fetch.

            • BetaManagedAgentsFileDocumentSource object { file_id, type }

              Document referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "document"

            • "document"
          • context: optional string

            Additional context about the document for the model.

          • title: optional string

            The title of the document.

      • type: "user.message"

        • "user.message"
      • processed_at: optional string

        A timestamp in RFC 3339 format

    • BetaManagedAgentsUserInterruptEvent object { id, type, processed_at, session_thread_id }

      An interrupt event that pauses agent execution and returns control to the user.

      • id: string

        Unique identifier for this event.

      • type: "user.interrupt"

        • "user.interrupt"
      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

    • BetaManagedAgentsUserToolConfirmationEvent object { id, result, tool_use_id, 4 more }

      A tool confirmation event that approves or denies a pending tool execution.

      • id: string

        Unique identifier for this event.

      • result: "allow" or "deny"

        UserToolConfirmationResult enum

        • "allow"

        • "deny"

      • tool_use_id: string

        The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_confirmation"

        • "user.tool_confirmation"
      • deny_message: optional string

        Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        When set, the confirmation routes to this subagent's thread rather than the primary. Echo this from the session_thread_id on the agent.tool_use or agent.mcp_tool_use event that prompted the approval.

    • BetaManagedAgentsUserCustomToolResultEvent object { id, custom_tool_use_id, type, 4 more }

      Event sent by the client providing the result of a custom tool execution.

      • id: string

        Unique identifier for this event.

      • custom_tool_use_id: string

        The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.custom_tool_result"

        • "user.custom_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

          • citations: BetaManagedAgentsSearchResultCitations

            Citation settings for a search result.

            • enabled: boolean

              Whether citations are enabled for this search result.

          • content: array of BetaManagedAgentsSearchResultContent

            Array of text content blocks from the search result.

            • text: string

              The text content.

            • type: "text"

              • "text"
          • source: string

            The URL source of the search result.

          • title: string

            The title of the search result.

          • type: "search_result"

            • "search_result"
      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.custom_tool_use event's session_thread_id.

    • BetaManagedAgentsAgentCustomToolUseEvent object { id, input, name, 3 more }

      Event emitted when the agent calls a custom tool. The session goes idle until the client sends a user.custom_tool_result event with the result.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the custom tool being called.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.custom_tool_use"

        • "agent.custom_tool_use"
      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Echo this on a user.custom_tool_result event to route the result back.

    • BetaManagedAgentsAgentMessageEvent object { id, content, processed_at, type }

      An agent response event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock

        Array of text blocks comprising the agent response.

        • text: string

          The text content.

        • type: "text"

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.message"

        • "agent.message"
    • BetaManagedAgentsAgentThinkingEvent object { id, processed_at, type }

      Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thinking"

        • "agent.thinking"
    • BetaManagedAgentsAgentMCPToolUseEvent object { id, input, mcp_server_name, 5 more }

      Event emitted when the agent invokes a tool provided by an MCP server.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • mcp_server_name: string

        Name of the MCP server providing the tool.

      • name: string

        Name of the MCP tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_use"

        • "agent.mcp_tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentMCPToolResultEvent object { id, mcp_tool_use_id, processed_at, 3 more }

      Event representing the result of an MCP tool execution.

      • id: string

        Unique identifier for this event.

      • mcp_tool_use_id: string

        The id of the agent.mcp_tool_use event this result corresponds to.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_result"

        • "agent.mcp_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentToolUseEvent object { id, input, name, 4 more }

      Event emitted when the agent invokes a built-in agent tool.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the agent tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.tool_use"

        • "agent.tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentToolResultEvent object { id, processed_at, tool_use_id, 3 more }

      Event representing the result of an agent tool execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to.

      • type: "agent.tool_result"

        • "agent.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentThreadMessageReceivedEvent object { id, content, from_session_thread_id, 3 more }

      Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • from_session_thread_id: string

        Public sthr_ ID of the thread that sent the message.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_message_received"

        • "agent.thread_message_received"
      • from_agent_name: optional string

        Name of the callable agent this message came from. Absent when received from the primary agent.

    • BetaManagedAgentsAgentThreadMessageSentEvent object { id, content, processed_at, 3 more }

      Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • processed_at: string

        A timestamp in RFC 3339 format

      • to_session_thread_id: string

        Public sthr_ ID of the thread the message was sent to.

      • type: "agent.thread_message_sent"

        • "agent.thread_message_sent"
      • to_agent_name: optional string

        Name of the callable agent this message was sent to. Absent when sent to the primary agent.

    • BetaManagedAgentsAgentThreadContextCompactedEvent object { id, processed_at, type }

      Indicates that context compaction (summarization) occurred during the session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_context_compacted"

        • "agent.thread_context_compacted"
    • BetaManagedAgentsSessionErrorEvent object { id, error, processed_at, type }

      An error event indicating a problem occurred during session execution.

      • id: string

        Unique identifier for this event.

      • error: BetaManagedAgentsUnknownError or BetaManagedAgentsModelOverloadedError or BetaManagedAgentsModelRateLimitedError or 4 more

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

        • BetaManagedAgentsUnknownError object { message, retry_status, type }

          An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

              • type: "retrying"

                • "retrying"
            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

              • type: "exhausted"

                • "exhausted"
            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

              • type: "terminal"

                • "terminal"
          • type: "unknown_error"

            • "unknown_error"
        • BetaManagedAgentsModelOverloadedError object { message, retry_status, type }

          The model is currently overloaded. Emitted after automatic retries are exhausted.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_overloaded_error"

            • "model_overloaded_error"
        • BetaManagedAgentsModelRateLimitedError object { message, retry_status, type }

          The model request was rate-limited.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_rate_limited_error"

            • "model_rate_limited_error"
        • BetaManagedAgentsModelRequestFailedError object { message, retry_status, type }

          A model request failed for a reason other than overload or rate-limiting.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_request_failed_error"

            • "model_request_failed_error"
        • BetaManagedAgentsMCPConnectionFailedError object { mcp_server_name, message, retry_status, type }

          Failed to connect to an MCP server.

          • mcp_server_name: string

            Name of the MCP server that failed to connect.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_connection_failed_error"

            • "mcp_connection_failed_error"
        • BetaManagedAgentsMCPAuthenticationFailedError object { mcp_server_name, message, retry_status, type }

          Authentication to an MCP server failed.

          • mcp_server_name: string

            Name of the MCP server that failed authentication.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_authentication_failed_error"

            • "mcp_authentication_failed_error"
        • BetaManagedAgentsBillingError object { message, retry_status, type }

          The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "billing_error"

            • "billing_error"
      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.error"

        • "session.error"
    • BetaManagedAgentsSessionStatusRescheduledEvent object { id, processed_at, type }

      Indicates the session is recovering from an error state and is rescheduled for execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_rescheduled"

        • "session.status_rescheduled"
    • BetaManagedAgentsSessionStatusRunningEvent object { id, processed_at, type }

      Indicates the session is actively running and the agent is working.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_running"

        • "session.status_running"
    • BetaManagedAgentsSessionStatusIdleEvent object { id, processed_at, stop_reason, type }

      Indicates the agent has paused and is awaiting user input.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

          • type: "end_turn"

            • "end_turn"
        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

          • event_ids: array of string

            The ids of events the agent is blocked on. Resolving fewer than all re-emits session.status_idle with the remainder.

          • type: "requires_action"

            • "requires_action"
        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

          • type: "retries_exhausted"

            • "retries_exhausted"
      • type: "session.status_idle"

        • "session.status_idle"
    • BetaManagedAgentsSessionStatusTerminatedEvent object { id, processed_at, type }

      Indicates the session has terminated, either due to an error or completion.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_terminated"

        • "session.status_terminated"
    • BetaManagedAgentsSessionThreadCreatedEvent object { id, agent_name, processed_at, 2 more }

      Emitted when a subagent is spawned as a new thread. Written to the parent thread's output stream so clients observing the session see child creation.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the callable agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the newly created thread.

      • type: "session.thread_created"

        • "session.thread_created"
    • BetaManagedAgentsSpanOutcomeEvaluationStartEvent object { id, iteration, outcome_id, 2 more }

      Emitted when an outcome evaluation cycle begins.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_start"

        • "span.outcome_evaluation_start"
    • BetaManagedAgentsSpanOutcomeEvaluationEndEvent object { id, explanation, iteration, 6 more }

      Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of needs_revision means another evaluation cycle follows; satisfied, max_iterations_reached, failed, or interrupted are terminal — no further evaluation cycles follow.

      • id: string

        Unique identifier for this event.

      • explanation: string

        Human-readable explanation of the verdict. For needs_revision, describes which criteria failed and why.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_evaluation_start_id: string

        The id of the corresponding span.outcome_evaluation_start event.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • result: string

        Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

      • type: "span.outcome_evaluation_end"

        • "span.outcome_evaluation_end"
      • usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

        • cache_creation_input_tokens: number

          Tokens used to create prompt cache in this request.

        • cache_read_input_tokens: number

          Tokens read from prompt cache in this request.

        • input_tokens: number

          Input tokens consumed by this request.

        • output_tokens: number

          Output tokens generated by this request.

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

    • BetaManagedAgentsSpanModelRequestStartEvent object { id, processed_at, type }

      Emitted when a model request is initiated by the agent.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_start"

        • "span.model_request_start"
    • BetaManagedAgentsSpanModelRequestEndEvent object { id, is_error, model_request_start_id, 3 more }

      Emitted when a model request completes.

      • id: string

        Unique identifier for this event.

      • is_error: boolean

        Whether the model request resulted in an error.

      • model_request_start_id: string

        The id of the corresponding span.model_request_start event.

      • model_usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_end"

        • "span.model_request_end"
    • BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent object { id, iteration, outcome_id, 2 more }

      Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding span.outcome_evaluation_start and span.outcome_evaluation_end events.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_ongoing"

        • "span.outcome_evaluation_ongoing"
    • BetaManagedAgentsUserDefineOutcomeEvent object { id, description, max_iterations, 4 more }

      Echo of a user.define_outcome input event. Carries the server-generated outcome_id that subsequent span.outcome_evaluation_* events reference.

      • id: string

        Unique identifier for this event.

      • description: string

        What the agent should produce. Copied from the input event.

      • max_iterations: number

        Evaluate-then-revise cycles before giving up. Default 3, max 20.

      • outcome_id: string

        Server-generated outc_ ID for this outcome. Referenced by span.outcome_evaluation_* events and the session's outcome_evaluations list.

      • processed_at: string

        A timestamp in RFC 3339 format

      • rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric

        Rubric for grading the quality of an outcome.

        • BetaManagedAgentsFileRubric object { file_id, type }

          Rubric referenced by a file uploaded via the Files API.

          • file_id: string

            ID of the rubric file.

          • type: "file"

            • "file"
        • BetaManagedAgentsTextRubric object { content, type }

          Rubric content provided inline as text.

          • content: string

            Rubric content. Plain text or markdown — the grader treats it as freeform text.

          • type: "text"

            • "text"
      • type: "user.define_outcome"

        • "user.define_outcome"
    • BetaManagedAgentsSessionDeletedEvent object { id, processed_at, type }

      Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.deleted"

        • "session.deleted"
    • BetaManagedAgentsSessionThreadStatusRunningEvent object { id, agent_name, processed_at, 2 more }

      A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that started running.

      • type: "session.thread_status_running"

        • "session.thread_status_running"
    • BetaManagedAgentsSessionThreadStatusIdleEvent object { id, agent_name, processed_at, 3 more }

      A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that went idle.

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

      • type: "session.thread_status_idle"

        • "session.thread_status_idle"
    • BetaManagedAgentsSessionThreadStatusTerminatedEvent object { id, agent_name, processed_at, 2 more }

      A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that terminated.

      • type: "session.thread_status_terminated"

        • "session.thread_status_terminated"
    • BetaManagedAgentsUserToolResultEvent object { id, tool_use_id, type, 4 more }

      Event sent by the client providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

      • id: string

        Unique identifier for this event.

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_result"

        • "user.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.tool_use event's session_thread_id.

    • BetaManagedAgentsSessionThreadStatusRescheduledEvent object { id, agent_name, processed_at, 2 more }

      A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that is retrying.

      • type: "session.thread_status_rescheduled"

        • "session.thread_status_rescheduled"
    • BetaManagedAgentsSessionUpdatedEvent object { id, processed_at, type, 3 more }

      Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.updated"

        • "session.updated"
      • agent: optional BetaManagedAgentsSessionAgent

        Resolved agent definition for a session. Snapshot of the agent at session creation time.

        • id: string

        • description: string

        • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

          • name: string

          • type: "url"

            • "url"
          • url: string

        • model: BetaManagedAgentsModelConfig

          Model identifier and configuration.

          • id: BetaManagedAgentsModel

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

              The model that will power your agent.

              See models for additional details and options.

              • "claude-opus-4-7"

                Frontier intelligence for long-running agents and coding

              • "claude-opus-4-6"

                Most intelligent model for building 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"

                Premium model combining maximum intelligence with practical performance

              • "claude-opus-4-5-20251101"

                Premium model combining maximum intelligence with practical performance

              • "claude-sonnet-4-5"

                High-performance model for agents and coding

              • "claude-sonnet-4-5-20250929"

                High-performance model for agents and coding

            • string

          • speed: optional "standard" or "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.

            • "standard"

            • "fast"

        • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

          Resolved coordinator topology with full agent definitions for each roster member.

          • agents: array of BetaManagedAgentsSessionThreadAgent

            Full agent definitions the coordinator may spawn as session threads.

            • id: string

            • description: string

            • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

              • name: string

              • type: "url"

              • url: string

            • model: BetaManagedAgentsModelConfig

              Model identifier and configuration.

            • name: string

            • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

              • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

                A resolved Anthropic-managed skill.

                • skill_id: string

                • type: "anthropic"

                  • "anthropic"
                • version: string

              • BetaManagedAgentsCustomSkill object { skill_id, type, version }

                A resolved user-created custom skill.

                • skill_id: string

                • type: "custom"

                  • "custom"
                • version: string

            • system: string

            • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

              • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

                • configs: array of BetaManagedAgentsAgentToolConfig

                  • enabled: boolean

                  • name: "bash" or "edit" or "read" or 5 more

                    Built-in agent tool identifier.

                    • "bash"

                    • "edit"

                    • "read"

                    • "write"

                    • "glob"

                    • "grep"

                    • "web_fetch"

                    • "web_search"

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                      • type: "always_allow"

                        • "always_allow"
                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                      • type: "always_ask"

                        • "always_ask"
                • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                  Resolved default configuration for agent tools.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • type: "agent_toolset_20260401"

                  • "agent_toolset_20260401"
              • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

                • configs: array of BetaManagedAgentsMCPToolConfig

                  • enabled: boolean

                  • name: string

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                  Resolved default configuration for all tools from an MCP server.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • mcp_server_name: string

                • type: "mcp_toolset"

                  • "mcp_toolset"
              • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

                A custom tool as returned in API responses.

                • description: string

                • input_schema: BetaManagedAgentsCustomToolInputSchema

                  JSON Schema for custom tool input parameters.

                  • properties: optional map[unknown]

                    JSON Schema properties defining the tool's input parameters.

                  • required: optional array of string

                    List of required property names.

                  • type: optional "object"

                    Must be 'object' for tool input schemas.

                    • "object"
                • name: string

                • type: "custom"

                  • "custom"
            • type: "agent"

              • "agent"
            • version: number

          • type: "coordinator"

            • "coordinator"
        • name: string

        • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

          • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

            A resolved Anthropic-managed skill.

          • BetaManagedAgentsCustomSkill object { skill_id, type, version }

            A resolved user-created custom skill.

        • system: string

        • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

          • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

            A custom tool as returned in API responses.

        • type: "agent"

          • "agent"
        • version: number

      • metadata: optional map[string]

        The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

      • title: optional string

        The session's new title. Present only when the update changed it.

  • next_page: optional string

    Opaque cursor for the next page. Null when no more results.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/events \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "data": [
    {
      "id": "sevt_011CZkZGOp0iBcp4kaQSihUmy",
      "content": [
        {
          "text": "Where is my order #1234?",
          "type": "text"
        }
      ],
      "type": "user.message",
      "processed_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sevt_011CZkZHPq1jCdq5lbRTjiVnz",
      "content": [
        {
          "text": "Let me look up order #1234 for you.",
          "type": "text"
        }
      ],
      "processed_at": "2026-03-15T10:00:00Z",
      "type": "agent.message"
    }
  ],
  "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}

Send Events

post /v1/sessions/{session_id}/events

Send Events

Path Parameters

  • session_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Body Parameters

  • events: array of BetaManagedAgentsEventParams

    Events to send to the session.

    • BetaManagedAgentsUserMessageEventParams object { content, type }

      Parameters for sending a user message to the session.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Array of content blocks for the user message.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

          • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

            Union type for image source variants.

            • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

              Base64-encoded image data.

              • data: string

                Base64-encoded image data.

              • media_type: string

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsURLImageSource object { type, url }

              Image referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the image to fetch.

            • BetaManagedAgentsFileImageSource object { file_id, type }

              Image referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "image"

            • "image"
        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

            Union type for document source variants.

            • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

              Base64-encoded document data.

              • data: string

                Base64-encoded document data.

              • media_type: string

                MIME type of the document (e.g., "application/pdf").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

              Plain text document content.

              • data: string

                The plain text content.

              • media_type: "text/plain"

                MIME type of the text content. Must be "text/plain".

                • "text/plain"
              • type: "text"

                • "text"
            • BetaManagedAgentsURLDocumentSource object { type, url }

              Document referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the document to fetch.

            • BetaManagedAgentsFileDocumentSource object { file_id, type }

              Document referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "document"

            • "document"
          • context: optional string

            Additional context about the document for the model.

          • title: optional string

            The title of the document.

      • type: "user.message"

        • "user.message"
    • BetaManagedAgentsUserInterruptEventParams object { type, session_thread_id }

      Parameters for sending an interrupt to pause the agent.

      • type: "user.interrupt"

        • "user.interrupt"
      • session_thread_id: optional string

        If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

    • BetaManagedAgentsUserToolConfirmationEventParams object { result, tool_use_id, type, deny_message }

      Parameters for confirming or denying a tool execution request.

      • result: "allow" or "deny"

        UserToolConfirmationResult enum

        • "allow"

        • "deny"

      • tool_use_id: string

        The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_confirmation"

        • "user.tool_confirmation"
      • deny_message: optional string

        Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

    • BetaManagedAgentsUserCustomToolResultEventParams object { custom_tool_use_id, type, content, is_error }

      Parameters for providing the result of a custom tool execution.

      • custom_tool_use_id: string

        The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.custom_tool_result"

        • "user.custom_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

          • citations: BetaManagedAgentsSearchResultCitations

            Citation settings for a search result.

            • enabled: boolean

              Whether citations are enabled for this search result.

          • content: array of BetaManagedAgentsSearchResultContent

            Array of text content blocks from the search result.

            • text: string

              The text content.

            • type: "text"

              • "text"
          • source: string

            The URL source of the search result.

          • title: string

            The title of the search result.

          • type: "search_result"

            • "search_result"
      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsUserDefineOutcomeEventParams object { description, rubric, type, max_iterations }

      Parameters for defining an outcome the agent should work toward. The agent begins work on receipt.

      • description: string

        What the agent should produce. This is the task specification.

      • rubric: BetaManagedAgentsFileRubricParams or BetaManagedAgentsTextRubricParams

        Rubric for grading the quality of an outcome.

        • BetaManagedAgentsFileRubricParams object { file_id, type }

          Rubric referenced by a file uploaded via the Files API.

          • file_id: string

            ID of the rubric file.

          • type: "file"

            • "file"
        • BetaManagedAgentsTextRubricParams object { content, type }

          Rubric content provided inline as text.

          • content: string

            Rubric content. Plain text or markdown — the grader treats it as freeform text. Maximum 262144 characters.

          • type: "text"

            • "text"
      • type: "user.define_outcome"

        • "user.define_outcome"
      • max_iterations: optional number

        Eval→revision cycles before giving up. Default 3, max 20.

    • BetaManagedAgentsUserToolResultEventParams object { tool_use_id, type, content, is_error }

      Parameters for providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_result"

        • "user.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

Returns

  • BetaManagedAgentsSendSessionEvents object { data }

    Events that were successfully sent to the session.

    • data: optional array of BetaManagedAgentsUserMessageEvent or BetaManagedAgentsUserInterruptEvent or BetaManagedAgentsUserToolConfirmationEvent or 3 more

      Sent events

      • BetaManagedAgentsUserMessageEvent object { id, content, type, processed_at }

        A user message event in the session conversation.

        • id: string

          Unique identifier for this event.

        • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

          Array of content blocks comprising the user message.

          • BetaManagedAgentsTextBlock object { text, type }

            Regular text content.

            • text: string

              The text content.

            • type: "text"

              • "text"
          • BetaManagedAgentsImageBlock object { source, type }

            Image content specified directly as base64 data or as a reference via a URL.

            • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

              Union type for image source variants.

              • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

                Base64-encoded image data.

                • data: string

                  Base64-encoded image data.

                • media_type: string

                  MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

                • type: "base64"

                  • "base64"
              • BetaManagedAgentsURLImageSource object { type, url }

                Image referenced by URL.

                • type: "url"

                  • "url"
                • url: string

                  URL of the image to fetch.

              • BetaManagedAgentsFileImageSource object { file_id, type }

                Image referenced by file ID.

                • file_id: string

                  ID of a previously uploaded file.

                • type: "file"

                  • "file"
            • type: "image"

              • "image"
          • BetaManagedAgentsDocumentBlock object { source, type, context, title }

            Document content, either specified directly as base64 data, as text, or as a reference via a URL.

            • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

              Union type for document source variants.

              • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

                Base64-encoded document data.

                • data: string

                  Base64-encoded document data.

                • media_type: string

                  MIME type of the document (e.g., "application/pdf").

                • type: "base64"

                  • "base64"
              • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

                Plain text document content.

                • data: string

                  The plain text content.

                • media_type: "text/plain"

                  MIME type of the text content. Must be "text/plain".

                  • "text/plain"
                • type: "text"

                  • "text"
              • BetaManagedAgentsURLDocumentSource object { type, url }

                Document referenced by URL.

                • type: "url"

                  • "url"
                • url: string

                  URL of the document to fetch.

              • BetaManagedAgentsFileDocumentSource object { file_id, type }

                Document referenced by file ID.

                • file_id: string

                  ID of a previously uploaded file.

                • type: "file"

                  • "file"
            • type: "document"

              • "document"
            • context: optional string

              Additional context about the document for the model.

            • title: optional string

              The title of the document.

        • type: "user.message"

          • "user.message"
        • processed_at: optional string

          A timestamp in RFC 3339 format

      • BetaManagedAgentsUserInterruptEvent object { id, type, processed_at, session_thread_id }

        An interrupt event that pauses agent execution and returns control to the user.

        • id: string

          Unique identifier for this event.

        • type: "user.interrupt"

          • "user.interrupt"
        • processed_at: optional string

          A timestamp in RFC 3339 format

        • session_thread_id: optional string

          If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

      • BetaManagedAgentsUserToolConfirmationEvent object { id, result, tool_use_id, 4 more }

        A tool confirmation event that approves or denies a pending tool execution.

        • id: string

          Unique identifier for this event.

        • result: "allow" or "deny"

          UserToolConfirmationResult enum

          • "allow"

          • "deny"

        • tool_use_id: string

          The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

        • type: "user.tool_confirmation"

          • "user.tool_confirmation"
        • deny_message: optional string

          Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

        • processed_at: optional string

          A timestamp in RFC 3339 format

        • session_thread_id: optional string

          When set, the confirmation routes to this subagent's thread rather than the primary. Echo this from the session_thread_id on the agent.tool_use or agent.mcp_tool_use event that prompted the approval.

      • BetaManagedAgentsUserCustomToolResultEvent object { id, custom_tool_use_id, type, 4 more }

        Event sent by the client providing the result of a custom tool execution.

        • id: string

          Unique identifier for this event.

        • custom_tool_use_id: string

          The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

        • type: "user.custom_tool_result"

          • "user.custom_tool_result"
        • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

          The result content returned by the tool.

          • BetaManagedAgentsTextBlock object { text, type }

            Regular text content.

          • BetaManagedAgentsImageBlock object { source, type }

            Image content specified directly as base64 data or as a reference via a URL.

          • BetaManagedAgentsDocumentBlock object { source, type, context, title }

            Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

            A block containing a web search result.

            • citations: BetaManagedAgentsSearchResultCitations

              Citation settings for a search result.

              • enabled: boolean

                Whether citations are enabled for this search result.

            • content: array of BetaManagedAgentsSearchResultContent

              Array of text content blocks from the search result.

              • text: string

                The text content.

              • type: "text"

                • "text"
            • source: string

              The URL source of the search result.

            • title: string

              The title of the search result.

            • type: "search_result"

              • "search_result"
        • is_error: optional boolean

          Whether the tool execution resulted in an error.

        • processed_at: optional string

          A timestamp in RFC 3339 format

        • session_thread_id: optional string

          Routes this result to a subagent thread. Copy from the agent.custom_tool_use event's session_thread_id.

      • BetaManagedAgentsUserDefineOutcomeEvent object { id, description, max_iterations, 4 more }

        Echo of a user.define_outcome input event. Carries the server-generated outcome_id that subsequent span.outcome_evaluation_* events reference.

        • id: string

          Unique identifier for this event.

        • description: string

          What the agent should produce. Copied from the input event.

        • max_iterations: number

          Evaluate-then-revise cycles before giving up. Default 3, max 20.

        • outcome_id: string

          Server-generated outc_ ID for this outcome. Referenced by span.outcome_evaluation_* events and the session's outcome_evaluations list.

        • processed_at: string

          A timestamp in RFC 3339 format

        • rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric

          Rubric for grading the quality of an outcome.

          • BetaManagedAgentsFileRubric object { file_id, type }

            Rubric referenced by a file uploaded via the Files API.

            • file_id: string

              ID of the rubric file.

            • type: "file"

              • "file"
          • BetaManagedAgentsTextRubric object { content, type }

            Rubric content provided inline as text.

            • content: string

              Rubric content. Plain text or markdown — the grader treats it as freeform text.

            • type: "text"

              • "text"
        • type: "user.define_outcome"

          • "user.define_outcome"
      • BetaManagedAgentsUserToolResultEvent object { id, tool_use_id, type, 4 more }

        Event sent by the client providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

        • id: string

          Unique identifier for this event.

        • tool_use_id: string

          The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

        • type: "user.tool_result"

          • "user.tool_result"
        • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

          The result content returned by the tool.

          • BetaManagedAgentsTextBlock object { text, type }

            Regular text content.

          • BetaManagedAgentsImageBlock object { source, type }

            Image content specified directly as base64 data or as a reference via a URL.

          • BetaManagedAgentsDocumentBlock object { source, type, context, title }

            Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

            A block containing a web search result.

        • is_error: optional boolean

          Whether the tool execution resulted in an error.

        • processed_at: optional string

          A timestamp in RFC 3339 format

        • session_thread_id: optional string

          Routes this result to a subagent thread. Copy from the agent.tool_use event's session_thread_id.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/events \
    -H 'Content-Type: application/json' \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY" \
    -d '{
          "events": [
            {
              "content": [
                {
                  "text": "Where is my order #1234?",
                  "type": "text"
                }
              ],
              "type": "user.message"
            }
          ]
        }'

Response

{
  "data": [
    {
      "id": "sevt_011CZkZGOp0iBcp4kaQSihUmy",
      "content": [
        {
          "text": "Where is my order #1234?",
          "type": "text"
        }
      ],
      "type": "user.message",
      "processed_at": "2026-03-15T10:00:00Z"
    }
  ]
}

Stream Events

get /v1/sessions/{session_id}/events/stream

Stream Events

Path Parameters

  • session_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • BetaManagedAgentsStreamSessionEvents = BetaManagedAgentsUserMessageEvent or BetaManagedAgentsUserInterruptEvent or BetaManagedAgentsUserToolConfirmationEvent or 30 more

    Server-sent event in the session stream.

    • BetaManagedAgentsUserMessageEvent object { id, content, type, processed_at }

      A user message event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Array of content blocks comprising the user message.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

          • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

            Union type for image source variants.

            • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

              Base64-encoded image data.

              • data: string

                Base64-encoded image data.

              • media_type: string

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsURLImageSource object { type, url }

              Image referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the image to fetch.

            • BetaManagedAgentsFileImageSource object { file_id, type }

              Image referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "image"

            • "image"
        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

            Union type for document source variants.

            • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

              Base64-encoded document data.

              • data: string

                Base64-encoded document data.

              • media_type: string

                MIME type of the document (e.g., "application/pdf").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

              Plain text document content.

              • data: string

                The plain text content.

              • media_type: "text/plain"

                MIME type of the text content. Must be "text/plain".

                • "text/plain"
              • type: "text"

                • "text"
            • BetaManagedAgentsURLDocumentSource object { type, url }

              Document referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the document to fetch.

            • BetaManagedAgentsFileDocumentSource object { file_id, type }

              Document referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "document"

            • "document"
          • context: optional string

            Additional context about the document for the model.

          • title: optional string

            The title of the document.

      • type: "user.message"

        • "user.message"
      • processed_at: optional string

        A timestamp in RFC 3339 format

    • BetaManagedAgentsUserInterruptEvent object { id, type, processed_at, session_thread_id }

      An interrupt event that pauses agent execution and returns control to the user.

      • id: string

        Unique identifier for this event.

      • type: "user.interrupt"

        • "user.interrupt"
      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

    • BetaManagedAgentsUserToolConfirmationEvent object { id, result, tool_use_id, 4 more }

      A tool confirmation event that approves or denies a pending tool execution.

      • id: string

        Unique identifier for this event.

      • result: "allow" or "deny"

        UserToolConfirmationResult enum

        • "allow"

        • "deny"

      • tool_use_id: string

        The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_confirmation"

        • "user.tool_confirmation"
      • deny_message: optional string

        Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        When set, the confirmation routes to this subagent's thread rather than the primary. Echo this from the session_thread_id on the agent.tool_use or agent.mcp_tool_use event that prompted the approval.

    • BetaManagedAgentsUserCustomToolResultEvent object { id, custom_tool_use_id, type, 4 more }

      Event sent by the client providing the result of a custom tool execution.

      • id: string

        Unique identifier for this event.

      • custom_tool_use_id: string

        The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.custom_tool_result"

        • "user.custom_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

          • citations: BetaManagedAgentsSearchResultCitations

            Citation settings for a search result.

            • enabled: boolean

              Whether citations are enabled for this search result.

          • content: array of BetaManagedAgentsSearchResultContent

            Array of text content blocks from the search result.

            • text: string

              The text content.

            • type: "text"

              • "text"
          • source: string

            The URL source of the search result.

          • title: string

            The title of the search result.

          • type: "search_result"

            • "search_result"
      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.custom_tool_use event's session_thread_id.

    • BetaManagedAgentsAgentCustomToolUseEvent object { id, input, name, 3 more }

      Event emitted when the agent calls a custom tool. The session goes idle until the client sends a user.custom_tool_result event with the result.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the custom tool being called.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.custom_tool_use"

        • "agent.custom_tool_use"
      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Echo this on a user.custom_tool_result event to route the result back.

    • BetaManagedAgentsAgentMessageEvent object { id, content, processed_at, type }

      An agent response event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock

        Array of text blocks comprising the agent response.

        • text: string

          The text content.

        • type: "text"

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.message"

        • "agent.message"
    • BetaManagedAgentsAgentThinkingEvent object { id, processed_at, type }

      Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thinking"

        • "agent.thinking"
    • BetaManagedAgentsAgentMCPToolUseEvent object { id, input, mcp_server_name, 5 more }

      Event emitted when the agent invokes a tool provided by an MCP server.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • mcp_server_name: string

        Name of the MCP server providing the tool.

      • name: string

        Name of the MCP tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_use"

        • "agent.mcp_tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentMCPToolResultEvent object { id, mcp_tool_use_id, processed_at, 3 more }

      Event representing the result of an MCP tool execution.

      • id: string

        Unique identifier for this event.

      • mcp_tool_use_id: string

        The id of the agent.mcp_tool_use event this result corresponds to.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_result"

        • "agent.mcp_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentToolUseEvent object { id, input, name, 4 more }

      Event emitted when the agent invokes a built-in agent tool.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the agent tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.tool_use"

        • "agent.tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentToolResultEvent object { id, processed_at, tool_use_id, 3 more }

      Event representing the result of an agent tool execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to.

      • type: "agent.tool_result"

        • "agent.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentThreadMessageReceivedEvent object { id, content, from_session_thread_id, 3 more }

      Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • from_session_thread_id: string

        Public sthr_ ID of the thread that sent the message.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_message_received"

        • "agent.thread_message_received"
      • from_agent_name: optional string

        Name of the callable agent this message came from. Absent when received from the primary agent.

    • BetaManagedAgentsAgentThreadMessageSentEvent object { id, content, processed_at, 3 more }

      Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • processed_at: string

        A timestamp in RFC 3339 format

      • to_session_thread_id: string

        Public sthr_ ID of the thread the message was sent to.

      • type: "agent.thread_message_sent"

        • "agent.thread_message_sent"
      • to_agent_name: optional string

        Name of the callable agent this message was sent to. Absent when sent to the primary agent.

    • BetaManagedAgentsAgentThreadContextCompactedEvent object { id, processed_at, type }

      Indicates that context compaction (summarization) occurred during the session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_context_compacted"

        • "agent.thread_context_compacted"
    • BetaManagedAgentsSessionErrorEvent object { id, error, processed_at, type }

      An error event indicating a problem occurred during session execution.

      • id: string

        Unique identifier for this event.

      • error: BetaManagedAgentsUnknownError or BetaManagedAgentsModelOverloadedError or BetaManagedAgentsModelRateLimitedError or 4 more

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

        • BetaManagedAgentsUnknownError object { message, retry_status, type }

          An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

              • type: "retrying"

                • "retrying"
            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

              • type: "exhausted"

                • "exhausted"
            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

              • type: "terminal"

                • "terminal"
          • type: "unknown_error"

            • "unknown_error"
        • BetaManagedAgentsModelOverloadedError object { message, retry_status, type }

          The model is currently overloaded. Emitted after automatic retries are exhausted.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_overloaded_error"

            • "model_overloaded_error"
        • BetaManagedAgentsModelRateLimitedError object { message, retry_status, type }

          The model request was rate-limited.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_rate_limited_error"

            • "model_rate_limited_error"
        • BetaManagedAgentsModelRequestFailedError object { message, retry_status, type }

          A model request failed for a reason other than overload or rate-limiting.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_request_failed_error"

            • "model_request_failed_error"
        • BetaManagedAgentsMCPConnectionFailedError object { mcp_server_name, message, retry_status, type }

          Failed to connect to an MCP server.

          • mcp_server_name: string

            Name of the MCP server that failed to connect.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_connection_failed_error"

            • "mcp_connection_failed_error"
        • BetaManagedAgentsMCPAuthenticationFailedError object { mcp_server_name, message, retry_status, type }

          Authentication to an MCP server failed.

          • mcp_server_name: string

            Name of the MCP server that failed authentication.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_authentication_failed_error"

            • "mcp_authentication_failed_error"
        • BetaManagedAgentsBillingError object { message, retry_status, type }

          The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "billing_error"

            • "billing_error"
      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.error"

        • "session.error"
    • BetaManagedAgentsSessionStatusRescheduledEvent object { id, processed_at, type }

      Indicates the session is recovering from an error state and is rescheduled for execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_rescheduled"

        • "session.status_rescheduled"
    • BetaManagedAgentsSessionStatusRunningEvent object { id, processed_at, type }

      Indicates the session is actively running and the agent is working.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_running"

        • "session.status_running"
    • BetaManagedAgentsSessionStatusIdleEvent object { id, processed_at, stop_reason, type }

      Indicates the agent has paused and is awaiting user input.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

          • type: "end_turn"

            • "end_turn"
        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

          • event_ids: array of string

            The ids of events the agent is blocked on. Resolving fewer than all re-emits session.status_idle with the remainder.

          • type: "requires_action"

            • "requires_action"
        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

          • type: "retries_exhausted"

            • "retries_exhausted"
      • type: "session.status_idle"

        • "session.status_idle"
    • BetaManagedAgentsSessionStatusTerminatedEvent object { id, processed_at, type }

      Indicates the session has terminated, either due to an error or completion.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_terminated"

        • "session.status_terminated"
    • BetaManagedAgentsSessionThreadCreatedEvent object { id, agent_name, processed_at, 2 more }

      Emitted when a subagent is spawned as a new thread. Written to the parent thread's output stream so clients observing the session see child creation.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the callable agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the newly created thread.

      • type: "session.thread_created"

        • "session.thread_created"
    • BetaManagedAgentsSpanOutcomeEvaluationStartEvent object { id, iteration, outcome_id, 2 more }

      Emitted when an outcome evaluation cycle begins.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_start"

        • "span.outcome_evaluation_start"
    • BetaManagedAgentsSpanOutcomeEvaluationEndEvent object { id, explanation, iteration, 6 more }

      Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of needs_revision means another evaluation cycle follows; satisfied, max_iterations_reached, failed, or interrupted are terminal — no further evaluation cycles follow.

      • id: string

        Unique identifier for this event.

      • explanation: string

        Human-readable explanation of the verdict. For needs_revision, describes which criteria failed and why.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_evaluation_start_id: string

        The id of the corresponding span.outcome_evaluation_start event.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • result: string

        Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

      • type: "span.outcome_evaluation_end"

        • "span.outcome_evaluation_end"
      • usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

        • cache_creation_input_tokens: number

          Tokens used to create prompt cache in this request.

        • cache_read_input_tokens: number

          Tokens read from prompt cache in this request.

        • input_tokens: number

          Input tokens consumed by this request.

        • output_tokens: number

          Output tokens generated by this request.

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

    • BetaManagedAgentsSpanModelRequestStartEvent object { id, processed_at, type }

      Emitted when a model request is initiated by the agent.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_start"

        • "span.model_request_start"
    • BetaManagedAgentsSpanModelRequestEndEvent object { id, is_error, model_request_start_id, 3 more }

      Emitted when a model request completes.

      • id: string

        Unique identifier for this event.

      • is_error: boolean

        Whether the model request resulted in an error.

      • model_request_start_id: string

        The id of the corresponding span.model_request_start event.

      • model_usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_end"

        • "span.model_request_end"
    • BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent object { id, iteration, outcome_id, 2 more }

      Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding span.outcome_evaluation_start and span.outcome_evaluation_end events.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_ongoing"

        • "span.outcome_evaluation_ongoing"
    • BetaManagedAgentsUserDefineOutcomeEvent object { id, description, max_iterations, 4 more }

      Echo of a user.define_outcome input event. Carries the server-generated outcome_id that subsequent span.outcome_evaluation_* events reference.

      • id: string

        Unique identifier for this event.

      • description: string

        What the agent should produce. Copied from the input event.

      • max_iterations: number

        Evaluate-then-revise cycles before giving up. Default 3, max 20.

      • outcome_id: string

        Server-generated outc_ ID for this outcome. Referenced by span.outcome_evaluation_* events and the session's outcome_evaluations list.

      • processed_at: string

        A timestamp in RFC 3339 format

      • rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric

        Rubric for grading the quality of an outcome.

        • BetaManagedAgentsFileRubric object { file_id, type }

          Rubric referenced by a file uploaded via the Files API.

          • file_id: string

            ID of the rubric file.

          • type: "file"

            • "file"
        • BetaManagedAgentsTextRubric object { content, type }

          Rubric content provided inline as text.

          • content: string

            Rubric content. Plain text or markdown — the grader treats it as freeform text.

          • type: "text"

            • "text"
      • type: "user.define_outcome"

        • "user.define_outcome"
    • BetaManagedAgentsSessionDeletedEvent object { id, processed_at, type }

      Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.deleted"

        • "session.deleted"
    • BetaManagedAgentsSessionThreadStatusRunningEvent object { id, agent_name, processed_at, 2 more }

      A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that started running.

      • type: "session.thread_status_running"

        • "session.thread_status_running"
    • BetaManagedAgentsSessionThreadStatusIdleEvent object { id, agent_name, processed_at, 3 more }

      A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that went idle.

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

      • type: "session.thread_status_idle"

        • "session.thread_status_idle"
    • BetaManagedAgentsSessionThreadStatusTerminatedEvent object { id, agent_name, processed_at, 2 more }

      A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that terminated.

      • type: "session.thread_status_terminated"

        • "session.thread_status_terminated"
    • BetaManagedAgentsUserToolResultEvent object { id, tool_use_id, type, 4 more }

      Event sent by the client providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

      • id: string

        Unique identifier for this event.

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_result"

        • "user.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.tool_use event's session_thread_id.

    • BetaManagedAgentsSessionThreadStatusRescheduledEvent object { id, agent_name, processed_at, 2 more }

      A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that is retrying.

      • type: "session.thread_status_rescheduled"

        • "session.thread_status_rescheduled"
    • BetaManagedAgentsSessionUpdatedEvent object { id, processed_at, type, 3 more }

      Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.updated"

        • "session.updated"
      • agent: optional BetaManagedAgentsSessionAgent

        Resolved agent definition for a session. Snapshot of the agent at session creation time.

        • id: string

        • description: string

        • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

          • name: string

          • type: "url"

            • "url"
          • url: string

        • model: BetaManagedAgentsModelConfig

          Model identifier and configuration.

          • id: BetaManagedAgentsModel

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

              The model that will power your agent.

              See models for additional details and options.

              • "claude-opus-4-7"

                Frontier intelligence for long-running agents and coding

              • "claude-opus-4-6"

                Most intelligent model for building 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"

                Premium model combining maximum intelligence with practical performance

              • "claude-opus-4-5-20251101"

                Premium model combining maximum intelligence with practical performance

              • "claude-sonnet-4-5"

                High-performance model for agents and coding

              • "claude-sonnet-4-5-20250929"

                High-performance model for agents and coding

            • string

          • speed: optional "standard" or "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.

            • "standard"

            • "fast"

        • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

          Resolved coordinator topology with full agent definitions for each roster member.

          • agents: array of BetaManagedAgentsSessionThreadAgent

            Full agent definitions the coordinator may spawn as session threads.

            • id: string

            • description: string

            • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

              • name: string

              • type: "url"

              • url: string

            • model: BetaManagedAgentsModelConfig

              Model identifier and configuration.

            • name: string

            • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

              • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

                A resolved Anthropic-managed skill.

                • skill_id: string

                • type: "anthropic"

                  • "anthropic"
                • version: string

              • BetaManagedAgentsCustomSkill object { skill_id, type, version }

                A resolved user-created custom skill.

                • skill_id: string

                • type: "custom"

                  • "custom"
                • version: string

            • system: string

            • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

              • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

                • configs: array of BetaManagedAgentsAgentToolConfig

                  • enabled: boolean

                  • name: "bash" or "edit" or "read" or 5 more

                    Built-in agent tool identifier.

                    • "bash"

                    • "edit"

                    • "read"

                    • "write"

                    • "glob"

                    • "grep"

                    • "web_fetch"

                    • "web_search"

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                      • type: "always_allow"

                        • "always_allow"
                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                      • type: "always_ask"

                        • "always_ask"
                • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                  Resolved default configuration for agent tools.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • type: "agent_toolset_20260401"

                  • "agent_toolset_20260401"
              • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

                • configs: array of BetaManagedAgentsMCPToolConfig

                  • enabled: boolean

                  • name: string

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                  Resolved default configuration for all tools from an MCP server.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • mcp_server_name: string

                • type: "mcp_toolset"

                  • "mcp_toolset"
              • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

                A custom tool as returned in API responses.

                • description: string

                • input_schema: BetaManagedAgentsCustomToolInputSchema

                  JSON Schema for custom tool input parameters.

                  • properties: optional map[unknown]

                    JSON Schema properties defining the tool's input parameters.

                  • required: optional array of string

                    List of required property names.

                  • type: optional "object"

                    Must be 'object' for tool input schemas.

                    • "object"
                • name: string

                • type: "custom"

                  • "custom"
            • type: "agent"

              • "agent"
            • version: number

          • type: "coordinator"

            • "coordinator"
        • name: string

        • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

          • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

            A resolved Anthropic-managed skill.

          • BetaManagedAgentsCustomSkill object { skill_id, type, version }

            A resolved user-created custom skill.

        • system: string

        • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

          • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

            A custom tool as returned in API responses.

        • type: "agent"

          • "agent"
        • version: number

      • metadata: optional map[string]

        The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

      • title: optional string

        The session's new title. Present only when the update changed it.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/events/stream \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "id": "sevt_011CZkZGOp0iBcp4kaQSihUmy",
  "content": [
    {
      "text": "Where is my order #1234?",
      "type": "text"
    }
  ],
  "type": "user.message",
  "processed_at": "2026-03-15T10:00:00Z"
}

Domain Types

Beta Managed Agents Agent Custom Tool Use Event

  • BetaManagedAgentsAgentCustomToolUseEvent object { id, input, name, 3 more }

    Event emitted when the agent calls a custom tool. The session goes idle until the client sends a user.custom_tool_result event with the result.

    • id: string

      Unique identifier for this event.

    • input: map[unknown]

      Input parameters for the tool call.

    • name: string

      Name of the custom tool being called.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "agent.custom_tool_use"

      • "agent.custom_tool_use"
    • session_thread_id: optional string

      When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Echo this on a user.custom_tool_result event to route the result back.

Beta Managed Agents Agent MCP Tool Result Event

  • BetaManagedAgentsAgentMCPToolResultEvent object { id, mcp_tool_use_id, processed_at, 3 more }

    Event representing the result of an MCP tool execution.

    • id: string

      Unique identifier for this event.

    • mcp_tool_use_id: string

      The id of the agent.mcp_tool_use event this result corresponds to.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "agent.mcp_tool_result"

      • "agent.mcp_tool_result"
    • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

      The result content returned by the tool.

      • BetaManagedAgentsTextBlock object { text, type }

        Regular text content.

        • text: string

          The text content.

        • type: "text"

          • "text"
      • BetaManagedAgentsImageBlock object { source, type }

        Image content specified directly as base64 data or as a reference via a URL.

        • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

          Union type for image source variants.

          • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

            Base64-encoded image data.

            • data: string

              Base64-encoded image data.

            • media_type: string

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsURLImageSource object { type, url }

            Image referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the image to fetch.

          • BetaManagedAgentsFileImageSource object { file_id, type }

            Image referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "image"

          • "image"
      • BetaManagedAgentsDocumentBlock object { source, type, context, title }

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

          Union type for document source variants.

          • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

            Base64-encoded document data.

            • data: string

              Base64-encoded document data.

            • media_type: string

              MIME type of the document (e.g., "application/pdf").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

            Plain text document content.

            • data: string

              The plain text content.

            • media_type: "text/plain"

              MIME type of the text content. Must be "text/plain".

              • "text/plain"
            • type: "text"

              • "text"
          • BetaManagedAgentsURLDocumentSource object { type, url }

            Document referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the document to fetch.

          • BetaManagedAgentsFileDocumentSource object { file_id, type }

            Document referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "document"

          • "document"
        • context: optional string

          Additional context about the document for the model.

        • title: optional string

          The title of the document.

      • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

        A block containing a web search result.

        • citations: BetaManagedAgentsSearchResultCitations

          Citation settings for a search result.

          • enabled: boolean

            Whether citations are enabled for this search result.

        • content: array of BetaManagedAgentsSearchResultContent

          Array of text content blocks from the search result.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • source: string

          The URL source of the search result.

        • title: string

          The title of the search result.

        • type: "search_result"

          • "search_result"
    • is_error: optional boolean

      Whether the tool execution resulted in an error.

Beta Managed Agents Agent MCP Tool Use Event

  • BetaManagedAgentsAgentMCPToolUseEvent object { id, input, mcp_server_name, 5 more }

    Event emitted when the agent invokes a tool provided by an MCP server.

    • id: string

      Unique identifier for this event.

    • input: map[unknown]

      Input parameters for the tool call.

    • mcp_server_name: string

      Name of the MCP server providing the tool.

    • name: string

      Name of the MCP tool being used.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "agent.mcp_tool_use"

      • "agent.mcp_tool_use"
    • evaluated_permission: optional "allow" or "ask" or "deny"

      AgentEvaluatedPermission enum

      • "allow"

      • "ask"

      • "deny"

    • session_thread_id: optional string

      When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

Beta Managed Agents Agent Message Event

  • BetaManagedAgentsAgentMessageEvent object { id, content, processed_at, type }

    An agent response event in the session conversation.

    • id: string

      Unique identifier for this event.

    • content: array of BetaManagedAgentsTextBlock

      Array of text blocks comprising the agent response.

      • text: string

        The text content.

      • type: "text"

        • "text"
    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "agent.message"

      • "agent.message"

Beta Managed Agents Agent Thinking Event

  • BetaManagedAgentsAgentThinkingEvent object { id, processed_at, type }

    Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

    • id: string

      Unique identifier for this event.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "agent.thinking"

      • "agent.thinking"

Beta Managed Agents Agent Thread Context Compacted Event

  • BetaManagedAgentsAgentThreadContextCompactedEvent object { id, processed_at, type }

    Indicates that context compaction (summarization) occurred during the session.

    • id: string

      Unique identifier for this event.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "agent.thread_context_compacted"

      • "agent.thread_context_compacted"

Beta Managed Agents Agent Thread Message Received Event

  • BetaManagedAgentsAgentThreadMessageReceivedEvent object { id, content, from_session_thread_id, 3 more }

    Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

    • id: string

      Unique identifier for this event.

    • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

      Message content blocks.

      • BetaManagedAgentsTextBlock object { text, type }

        Regular text content.

        • text: string

          The text content.

        • type: "text"

          • "text"
      • BetaManagedAgentsImageBlock object { source, type }

        Image content specified directly as base64 data or as a reference via a URL.

        • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

          Union type for image source variants.

          • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

            Base64-encoded image data.

            • data: string

              Base64-encoded image data.

            • media_type: string

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsURLImageSource object { type, url }

            Image referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the image to fetch.

          • BetaManagedAgentsFileImageSource object { file_id, type }

            Image referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "image"

          • "image"
      • BetaManagedAgentsDocumentBlock object { source, type, context, title }

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

          Union type for document source variants.

          • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

            Base64-encoded document data.

            • data: string

              Base64-encoded document data.

            • media_type: string

              MIME type of the document (e.g., "application/pdf").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

            Plain text document content.

            • data: string

              The plain text content.

            • media_type: "text/plain"

              MIME type of the text content. Must be "text/plain".

              • "text/plain"
            • type: "text"

              • "text"
          • BetaManagedAgentsURLDocumentSource object { type, url }

            Document referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the document to fetch.

          • BetaManagedAgentsFileDocumentSource object { file_id, type }

            Document referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "document"

          • "document"
        • context: optional string

          Additional context about the document for the model.

        • title: optional string

          The title of the document.

    • from_session_thread_id: string

      Public sthr_ ID of the thread that sent the message.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "agent.thread_message_received"

      • "agent.thread_message_received"
    • from_agent_name: optional string

      Name of the callable agent this message came from. Absent when received from the primary agent.

Beta Managed Agents Agent Thread Message Sent Event

  • BetaManagedAgentsAgentThreadMessageSentEvent object { id, content, processed_at, 3 more }

    Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

    • id: string

      Unique identifier for this event.

    • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

      Message content blocks.

      • BetaManagedAgentsTextBlock object { text, type }

        Regular text content.

        • text: string

          The text content.

        • type: "text"

          • "text"
      • BetaManagedAgentsImageBlock object { source, type }

        Image content specified directly as base64 data or as a reference via a URL.

        • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

          Union type for image source variants.

          • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

            Base64-encoded image data.

            • data: string

              Base64-encoded image data.

            • media_type: string

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsURLImageSource object { type, url }

            Image referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the image to fetch.

          • BetaManagedAgentsFileImageSource object { file_id, type }

            Image referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "image"

          • "image"
      • BetaManagedAgentsDocumentBlock object { source, type, context, title }

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

          Union type for document source variants.

          • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

            Base64-encoded document data.

            • data: string

              Base64-encoded document data.

            • media_type: string

              MIME type of the document (e.g., "application/pdf").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

            Plain text document content.

            • data: string

              The plain text content.

            • media_type: "text/plain"

              MIME type of the text content. Must be "text/plain".

              • "text/plain"
            • type: "text"

              • "text"
          • BetaManagedAgentsURLDocumentSource object { type, url }

            Document referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the document to fetch.

          • BetaManagedAgentsFileDocumentSource object { file_id, type }

            Document referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "document"

          • "document"
        • context: optional string

          Additional context about the document for the model.

        • title: optional string

          The title of the document.

    • processed_at: string

      A timestamp in RFC 3339 format

    • to_session_thread_id: string

      Public sthr_ ID of the thread the message was sent to.

    • type: "agent.thread_message_sent"

      • "agent.thread_message_sent"
    • to_agent_name: optional string

      Name of the callable agent this message was sent to. Absent when sent to the primary agent.

Beta Managed Agents Agent Tool Result Event

  • BetaManagedAgentsAgentToolResultEvent object { id, processed_at, tool_use_id, 3 more }

    Event representing the result of an agent tool execution.

    • id: string

      Unique identifier for this event.

    • processed_at: string

      A timestamp in RFC 3339 format

    • tool_use_id: string

      The id of the agent.tool_use event this result corresponds to.

    • type: "agent.tool_result"

      • "agent.tool_result"
    • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

      The result content returned by the tool.

      • BetaManagedAgentsTextBlock object { text, type }

        Regular text content.

        • text: string

          The text content.

        • type: "text"

          • "text"
      • BetaManagedAgentsImageBlock object { source, type }

        Image content specified directly as base64 data or as a reference via a URL.

        • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

          Union type for image source variants.

          • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

            Base64-encoded image data.

            • data: string

              Base64-encoded image data.

            • media_type: string

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsURLImageSource object { type, url }

            Image referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the image to fetch.

          • BetaManagedAgentsFileImageSource object { file_id, type }

            Image referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "image"

          • "image"
      • BetaManagedAgentsDocumentBlock object { source, type, context, title }

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

          Union type for document source variants.

          • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

            Base64-encoded document data.

            • data: string

              Base64-encoded document data.

            • media_type: string

              MIME type of the document (e.g., "application/pdf").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

            Plain text document content.

            • data: string

              The plain text content.

            • media_type: "text/plain"

              MIME type of the text content. Must be "text/plain".

              • "text/plain"
            • type: "text"

              • "text"
          • BetaManagedAgentsURLDocumentSource object { type, url }

            Document referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the document to fetch.

          • BetaManagedAgentsFileDocumentSource object { file_id, type }

            Document referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "document"

          • "document"
        • context: optional string

          Additional context about the document for the model.

        • title: optional string

          The title of the document.

      • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

        A block containing a web search result.

        • citations: BetaManagedAgentsSearchResultCitations

          Citation settings for a search result.

          • enabled: boolean

            Whether citations are enabled for this search result.

        • content: array of BetaManagedAgentsSearchResultContent

          Array of text content blocks from the search result.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • source: string

          The URL source of the search result.

        • title: string

          The title of the search result.

        • type: "search_result"

          • "search_result"
    • is_error: optional boolean

      Whether the tool execution resulted in an error.

Beta Managed Agents Agent Tool Use Event

  • BetaManagedAgentsAgentToolUseEvent object { id, input, name, 4 more }

    Event emitted when the agent invokes a built-in agent tool.

    • id: string

      Unique identifier for this event.

    • input: map[unknown]

      Input parameters for the tool call.

    • name: string

      Name of the agent tool being used.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "agent.tool_use"

      • "agent.tool_use"
    • evaluated_permission: optional "allow" or "ask" or "deny"

      AgentEvaluatedPermission enum

      • "allow"

      • "ask"

      • "deny"

    • session_thread_id: optional string

      When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

Beta Managed Agents Base64 Document Source

  • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

    Base64-encoded document data.

    • data: string

      Base64-encoded document data.

    • media_type: string

      MIME type of the document (e.g., "application/pdf").

    • type: "base64"

      • "base64"

Beta Managed Agents Base64 Image Source

  • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

    Base64-encoded image data.

    • data: string

      Base64-encoded image data.

    • media_type: string

      MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

    • type: "base64"

      • "base64"

Beta Managed Agents Billing Error

  • BetaManagedAgentsBillingError object { message, retry_status, type }

    The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

    • message: string

      Human-readable error description.

    • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

      What the client should do next in response to this error.

      • BetaManagedAgentsRetryStatusRetrying object { type }

        The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

        • type: "retrying"

          • "retrying"
      • BetaManagedAgentsRetryStatusExhausted object { type }

        This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

        • type: "exhausted"

          • "exhausted"
      • BetaManagedAgentsRetryStatusTerminal object { type }

        The session encountered a terminal error and will transition to terminated state.

        • type: "terminal"

          • "terminal"
    • type: "billing_error"

      • "billing_error"

Beta Managed Agents Document Block

  • BetaManagedAgentsDocumentBlock object { source, type, context, title }

    Document content, either specified directly as base64 data, as text, or as a reference via a URL.

    • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

      Union type for document source variants.

      • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

        Base64-encoded document data.

        • data: string

          Base64-encoded document data.

        • media_type: string

          MIME type of the document (e.g., "application/pdf").

        • type: "base64"

          • "base64"
      • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

        Plain text document content.

        • data: string

          The plain text content.

        • media_type: "text/plain"

          MIME type of the text content. Must be "text/plain".

          • "text/plain"
        • type: "text"

          • "text"
      • BetaManagedAgentsURLDocumentSource object { type, url }

        Document referenced by URL.

        • type: "url"

          • "url"
        • url: string

          URL of the document to fetch.

      • BetaManagedAgentsFileDocumentSource object { file_id, type }

        Document referenced by file ID.

        • file_id: string

          ID of a previously uploaded file.

        • type: "file"

          • "file"
    • type: "document"

      • "document"
    • context: optional string

      Additional context about the document for the model.

    • title: optional string

      The title of the document.

Beta Managed Agents Event Params

  • BetaManagedAgentsEventParams = BetaManagedAgentsUserMessageEventParams or BetaManagedAgentsUserInterruptEventParams or BetaManagedAgentsUserToolConfirmationEventParams or 3 more

    Union type for event parameters that can be sent to a session.

    • BetaManagedAgentsUserMessageEventParams object { content, type }

      Parameters for sending a user message to the session.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Array of content blocks for the user message.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

          • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

            Union type for image source variants.

            • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

              Base64-encoded image data.

              • data: string

                Base64-encoded image data.

              • media_type: string

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsURLImageSource object { type, url }

              Image referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the image to fetch.

            • BetaManagedAgentsFileImageSource object { file_id, type }

              Image referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "image"

            • "image"
        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

            Union type for document source variants.

            • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

              Base64-encoded document data.

              • data: string

                Base64-encoded document data.

              • media_type: string

                MIME type of the document (e.g., "application/pdf").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

              Plain text document content.

              • data: string

                The plain text content.

              • media_type: "text/plain"

                MIME type of the text content. Must be "text/plain".

                • "text/plain"
              • type: "text"

                • "text"
            • BetaManagedAgentsURLDocumentSource object { type, url }

              Document referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the document to fetch.

            • BetaManagedAgentsFileDocumentSource object { file_id, type }

              Document referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "document"

            • "document"
          • context: optional string

            Additional context about the document for the model.

          • title: optional string

            The title of the document.

      • type: "user.message"

        • "user.message"
    • BetaManagedAgentsUserInterruptEventParams object { type, session_thread_id }

      Parameters for sending an interrupt to pause the agent.

      • type: "user.interrupt"

        • "user.interrupt"
      • session_thread_id: optional string

        If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

    • BetaManagedAgentsUserToolConfirmationEventParams object { result, tool_use_id, type, deny_message }

      Parameters for confirming or denying a tool execution request.

      • result: "allow" or "deny"

        UserToolConfirmationResult enum

        • "allow"

        • "deny"

      • tool_use_id: string

        The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_confirmation"

        • "user.tool_confirmation"
      • deny_message: optional string

        Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

    • BetaManagedAgentsUserCustomToolResultEventParams object { custom_tool_use_id, type, content, is_error }

      Parameters for providing the result of a custom tool execution.

      • custom_tool_use_id: string

        The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.custom_tool_result"

        • "user.custom_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

          • citations: BetaManagedAgentsSearchResultCitations

            Citation settings for a search result.

            • enabled: boolean

              Whether citations are enabled for this search result.

          • content: array of BetaManagedAgentsSearchResultContent

            Array of text content blocks from the search result.

            • text: string

              The text content.

            • type: "text"

              • "text"
          • source: string

            The URL source of the search result.

          • title: string

            The title of the search result.

          • type: "search_result"

            • "search_result"
      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsUserDefineOutcomeEventParams object { description, rubric, type, max_iterations }

      Parameters for defining an outcome the agent should work toward. The agent begins work on receipt.

      • description: string

        What the agent should produce. This is the task specification.

      • rubric: BetaManagedAgentsFileRubricParams or BetaManagedAgentsTextRubricParams

        Rubric for grading the quality of an outcome.

        • BetaManagedAgentsFileRubricParams object { file_id, type }

          Rubric referenced by a file uploaded via the Files API.

          • file_id: string

            ID of the rubric file.

          • type: "file"

            • "file"
        • BetaManagedAgentsTextRubricParams object { content, type }

          Rubric content provided inline as text.

          • content: string

            Rubric content. Plain text or markdown — the grader treats it as freeform text. Maximum 262144 characters.

          • type: "text"

            • "text"
      • type: "user.define_outcome"

        • "user.define_outcome"
      • max_iterations: optional number

        Eval→revision cycles before giving up. Default 3, max 20.

    • BetaManagedAgentsUserToolResultEventParams object { tool_use_id, type, content, is_error }

      Parameters for providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_result"

        • "user.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

Beta Managed Agents File Document Source

  • BetaManagedAgentsFileDocumentSource object { file_id, type }

    Document referenced by file ID.

    • file_id: string

      ID of a previously uploaded file.

    • type: "file"

      • "file"

Beta Managed Agents File Image Source

  • BetaManagedAgentsFileImageSource object { file_id, type }

    Image referenced by file ID.

    • file_id: string

      ID of a previously uploaded file.

    • type: "file"

      • "file"

Beta Managed Agents File Rubric

  • BetaManagedAgentsFileRubric object { file_id, type }

    Rubric referenced by a file uploaded via the Files API.

    • file_id: string

      ID of the rubric file.

    • type: "file"

      • "file"

Beta Managed Agents File Rubric Params

  • BetaManagedAgentsFileRubricParams object { file_id, type }

    Rubric referenced by a file uploaded via the Files API.

    • file_id: string

      ID of the rubric file.

    • type: "file"

      • "file"

Beta Managed Agents Image Block

  • BetaManagedAgentsImageBlock object { source, type }

    Image content specified directly as base64 data or as a reference via a URL.

    • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

      Union type for image source variants.

      • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

        Base64-encoded image data.

        • data: string

          Base64-encoded image data.

        • media_type: string

          MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

        • type: "base64"

          • "base64"
      • BetaManagedAgentsURLImageSource object { type, url }

        Image referenced by URL.

        • type: "url"

          • "url"
        • url: string

          URL of the image to fetch.

      • BetaManagedAgentsFileImageSource object { file_id, type }

        Image referenced by file ID.

        • file_id: string

          ID of a previously uploaded file.

        • type: "file"

          • "file"
    • type: "image"

      • "image"

Beta Managed Agents MCP Authentication Failed Error

  • BetaManagedAgentsMCPAuthenticationFailedError object { mcp_server_name, message, retry_status, type }

    Authentication to an MCP server failed.

    • mcp_server_name: string

      Name of the MCP server that failed authentication.

    • message: string

      Human-readable error description.

    • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

      What the client should do next in response to this error.

      • BetaManagedAgentsRetryStatusRetrying object { type }

        The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

        • type: "retrying"

          • "retrying"
      • BetaManagedAgentsRetryStatusExhausted object { type }

        This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

        • type: "exhausted"

          • "exhausted"
      • BetaManagedAgentsRetryStatusTerminal object { type }

        The session encountered a terminal error and will transition to terminated state.

        • type: "terminal"

          • "terminal"
    • type: "mcp_authentication_failed_error"

      • "mcp_authentication_failed_error"

Beta Managed Agents MCP Connection Failed Error

  • BetaManagedAgentsMCPConnectionFailedError object { mcp_server_name, message, retry_status, type }

    Failed to connect to an MCP server.

    • mcp_server_name: string

      Name of the MCP server that failed to connect.

    • message: string

      Human-readable error description.

    • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

      What the client should do next in response to this error.

      • BetaManagedAgentsRetryStatusRetrying object { type }

        The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

        • type: "retrying"

          • "retrying"
      • BetaManagedAgentsRetryStatusExhausted object { type }

        This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

        • type: "exhausted"

          • "exhausted"
      • BetaManagedAgentsRetryStatusTerminal object { type }

        The session encountered a terminal error and will transition to terminated state.

        • type: "terminal"

          • "terminal"
    • type: "mcp_connection_failed_error"

      • "mcp_connection_failed_error"

Beta Managed Agents Model Overloaded Error

  • BetaManagedAgentsModelOverloadedError object { message, retry_status, type }

    The model is currently overloaded. Emitted after automatic retries are exhausted.

    • message: string

      Human-readable error description.

    • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

      What the client should do next in response to this error.

      • BetaManagedAgentsRetryStatusRetrying object { type }

        The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

        • type: "retrying"

          • "retrying"
      • BetaManagedAgentsRetryStatusExhausted object { type }

        This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

        • type: "exhausted"

          • "exhausted"
      • BetaManagedAgentsRetryStatusTerminal object { type }

        The session encountered a terminal error and will transition to terminated state.

        • type: "terminal"

          • "terminal"
    • type: "model_overloaded_error"

      • "model_overloaded_error"

Beta Managed Agents Model Rate Limited Error

  • BetaManagedAgentsModelRateLimitedError object { message, retry_status, type }

    The model request was rate-limited.

    • message: string

      Human-readable error description.

    • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

      What the client should do next in response to this error.

      • BetaManagedAgentsRetryStatusRetrying object { type }

        The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

        • type: "retrying"

          • "retrying"
      • BetaManagedAgentsRetryStatusExhausted object { type }

        This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

        • type: "exhausted"

          • "exhausted"
      • BetaManagedAgentsRetryStatusTerminal object { type }

        The session encountered a terminal error and will transition to terminated state.

        • type: "terminal"

          • "terminal"
    • type: "model_rate_limited_error"

      • "model_rate_limited_error"

Beta Managed Agents Model Request Failed Error

  • BetaManagedAgentsModelRequestFailedError object { message, retry_status, type }

    A model request failed for a reason other than overload or rate-limiting.

    • message: string

      Human-readable error description.

    • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

      What the client should do next in response to this error.

      • BetaManagedAgentsRetryStatusRetrying object { type }

        The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

        • type: "retrying"

          • "retrying"
      • BetaManagedAgentsRetryStatusExhausted object { type }

        This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

        • type: "exhausted"

          • "exhausted"
      • BetaManagedAgentsRetryStatusTerminal object { type }

        The session encountered a terminal error and will transition to terminated state.

        • type: "terminal"

          • "terminal"
    • type: "model_request_failed_error"

      • "model_request_failed_error"

Beta Managed Agents Plain Text Document Source

  • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

    Plain text document content.

    • data: string

      The plain text content.

    • media_type: "text/plain"

      MIME type of the text content. Must be "text/plain".

      • "text/plain"
    • type: "text"

      • "text"

Beta Managed Agents Retry Status Exhausted

  • BetaManagedAgentsRetryStatusExhausted object { type }

    This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

    • type: "exhausted"

      • "exhausted"

Beta Managed Agents Retry Status Retrying

  • BetaManagedAgentsRetryStatusRetrying object { type }

    The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

    • type: "retrying"

      • "retrying"

Beta Managed Agents Retry Status Terminal

  • BetaManagedAgentsRetryStatusTerminal object { type }

    The session encountered a terminal error and will transition to terminated state.

    • type: "terminal"

      • "terminal"

Beta Managed Agents Search Result Block

  • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

    A block containing a web search result.

    • citations: BetaManagedAgentsSearchResultCitations

      Citation settings for a search result.

      • enabled: boolean

        Whether citations are enabled for this search result.

    • content: array of BetaManagedAgentsSearchResultContent

      Array of text content blocks from the search result.

      • text: string

        The text content.

      • type: "text"

        • "text"
    • source: string

      The URL source of the search result.

    • title: string

      The title of the search result.

    • type: "search_result"

      • "search_result"

Beta Managed Agents Search Result Citations

  • BetaManagedAgentsSearchResultCitations object { enabled }

    Citation settings for a search result.

    • enabled: boolean

      Whether citations are enabled for this search result.

Beta Managed Agents Search Result Content

  • BetaManagedAgentsSearchResultContent object { text, type }

    Text content within a search result.

    • text: string

      The text content.

    • type: "text"

      • "text"

Beta Managed Agents Send Session Events

  • BetaManagedAgentsSendSessionEvents object { data }

    Events that were successfully sent to the session.

    • data: optional array of BetaManagedAgentsUserMessageEvent or BetaManagedAgentsUserInterruptEvent or BetaManagedAgentsUserToolConfirmationEvent or 3 more

      Sent events

      • BetaManagedAgentsUserMessageEvent object { id, content, type, processed_at }

        A user message event in the session conversation.

        • id: string

          Unique identifier for this event.

        • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

          Array of content blocks comprising the user message.

          • BetaManagedAgentsTextBlock object { text, type }

            Regular text content.

            • text: string

              The text content.

            • type: "text"

              • "text"
          • BetaManagedAgentsImageBlock object { source, type }

            Image content specified directly as base64 data or as a reference via a URL.

            • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

              Union type for image source variants.

              • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

                Base64-encoded image data.

                • data: string

                  Base64-encoded image data.

                • media_type: string

                  MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

                • type: "base64"

                  • "base64"
              • BetaManagedAgentsURLImageSource object { type, url }

                Image referenced by URL.

                • type: "url"

                  • "url"
                • url: string

                  URL of the image to fetch.

              • BetaManagedAgentsFileImageSource object { file_id, type }

                Image referenced by file ID.

                • file_id: string

                  ID of a previously uploaded file.

                • type: "file"

                  • "file"
            • type: "image"

              • "image"
          • BetaManagedAgentsDocumentBlock object { source, type, context, title }

            Document content, either specified directly as base64 data, as text, or as a reference via a URL.

            • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

              Union type for document source variants.

              • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

                Base64-encoded document data.

                • data: string

                  Base64-encoded document data.

                • media_type: string

                  MIME type of the document (e.g., "application/pdf").

                • type: "base64"

                  • "base64"
              • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

                Plain text document content.

                • data: string

                  The plain text content.

                • media_type: "text/plain"

                  MIME type of the text content. Must be "text/plain".

                  • "text/plain"
                • type: "text"

                  • "text"
              • BetaManagedAgentsURLDocumentSource object { type, url }

                Document referenced by URL.

                • type: "url"

                  • "url"
                • url: string

                  URL of the document to fetch.

              • BetaManagedAgentsFileDocumentSource object { file_id, type }

                Document referenced by file ID.

                • file_id: string

                  ID of a previously uploaded file.

                • type: "file"

                  • "file"
            • type: "document"

              • "document"
            • context: optional string

              Additional context about the document for the model.

            • title: optional string

              The title of the document.

        • type: "user.message"

          • "user.message"
        • processed_at: optional string

          A timestamp in RFC 3339 format

      • BetaManagedAgentsUserInterruptEvent object { id, type, processed_at, session_thread_id }

        An interrupt event that pauses agent execution and returns control to the user.

        • id: string

          Unique identifier for this event.

        • type: "user.interrupt"

          • "user.interrupt"
        • processed_at: optional string

          A timestamp in RFC 3339 format

        • session_thread_id: optional string

          If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

      • BetaManagedAgentsUserToolConfirmationEvent object { id, result, tool_use_id, 4 more }

        A tool confirmation event that approves or denies a pending tool execution.

        • id: string

          Unique identifier for this event.

        • result: "allow" or "deny"

          UserToolConfirmationResult enum

          • "allow"

          • "deny"

        • tool_use_id: string

          The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

        • type: "user.tool_confirmation"

          • "user.tool_confirmation"
        • deny_message: optional string

          Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

        • processed_at: optional string

          A timestamp in RFC 3339 format

        • session_thread_id: optional string

          When set, the confirmation routes to this subagent's thread rather than the primary. Echo this from the session_thread_id on the agent.tool_use or agent.mcp_tool_use event that prompted the approval.

      • BetaManagedAgentsUserCustomToolResultEvent object { id, custom_tool_use_id, type, 4 more }

        Event sent by the client providing the result of a custom tool execution.

        • id: string

          Unique identifier for this event.

        • custom_tool_use_id: string

          The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

        • type: "user.custom_tool_result"

          • "user.custom_tool_result"
        • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

          The result content returned by the tool.

          • BetaManagedAgentsTextBlock object { text, type }

            Regular text content.

          • BetaManagedAgentsImageBlock object { source, type }

            Image content specified directly as base64 data or as a reference via a URL.

          • BetaManagedAgentsDocumentBlock object { source, type, context, title }

            Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

            A block containing a web search result.

            • citations: BetaManagedAgentsSearchResultCitations

              Citation settings for a search result.

              • enabled: boolean

                Whether citations are enabled for this search result.

            • content: array of BetaManagedAgentsSearchResultContent

              Array of text content blocks from the search result.

              • text: string

                The text content.

              • type: "text"

                • "text"
            • source: string

              The URL source of the search result.

            • title: string

              The title of the search result.

            • type: "search_result"

              • "search_result"
        • is_error: optional boolean

          Whether the tool execution resulted in an error.

        • processed_at: optional string

          A timestamp in RFC 3339 format

        • session_thread_id: optional string

          Routes this result to a subagent thread. Copy from the agent.custom_tool_use event's session_thread_id.

      • BetaManagedAgentsUserDefineOutcomeEvent object { id, description, max_iterations, 4 more }

        Echo of a user.define_outcome input event. Carries the server-generated outcome_id that subsequent span.outcome_evaluation_* events reference.

        • id: string

          Unique identifier for this event.

        • description: string

          What the agent should produce. Copied from the input event.

        • max_iterations: number

          Evaluate-then-revise cycles before giving up. Default 3, max 20.

        • outcome_id: string

          Server-generated outc_ ID for this outcome. Referenced by span.outcome_evaluation_* events and the session's outcome_evaluations list.

        • processed_at: string

          A timestamp in RFC 3339 format

        • rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric

          Rubric for grading the quality of an outcome.

          • BetaManagedAgentsFileRubric object { file_id, type }

            Rubric referenced by a file uploaded via the Files API.

            • file_id: string

              ID of the rubric file.

            • type: "file"

              • "file"
          • BetaManagedAgentsTextRubric object { content, type }

            Rubric content provided inline as text.

            • content: string

              Rubric content. Plain text or markdown — the grader treats it as freeform text.

            • type: "text"

              • "text"
        • type: "user.define_outcome"

          • "user.define_outcome"
      • BetaManagedAgentsUserToolResultEvent object { id, tool_use_id, type, 4 more }

        Event sent by the client providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

        • id: string

          Unique identifier for this event.

        • tool_use_id: string

          The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

        • type: "user.tool_result"

          • "user.tool_result"
        • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

          The result content returned by the tool.

          • BetaManagedAgentsTextBlock object { text, type }

            Regular text content.

          • BetaManagedAgentsImageBlock object { source, type }

            Image content specified directly as base64 data or as a reference via a URL.

          • BetaManagedAgentsDocumentBlock object { source, type, context, title }

            Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

            A block containing a web search result.

        • is_error: optional boolean

          Whether the tool execution resulted in an error.

        • processed_at: optional string

          A timestamp in RFC 3339 format

        • session_thread_id: optional string

          Routes this result to a subagent thread. Copy from the agent.tool_use event's session_thread_id.

Beta Managed Agents Session Deleted Event

  • BetaManagedAgentsSessionDeletedEvent object { id, processed_at, type }

    Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

    • id: string

      Unique identifier for this event.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "session.deleted"

      • "session.deleted"

Beta Managed Agents Session End Turn

  • BetaManagedAgentsSessionEndTurn object { type }

    The agent completed its turn naturally and is ready for the next user message.

    • type: "end_turn"

      • "end_turn"

Beta Managed Agents Session Error Event

  • BetaManagedAgentsSessionErrorEvent object { id, error, processed_at, type }

    An error event indicating a problem occurred during session execution.

    • id: string

      Unique identifier for this event.

    • error: BetaManagedAgentsUnknownError or BetaManagedAgentsModelOverloadedError or BetaManagedAgentsModelRateLimitedError or 4 more

      An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

      • BetaManagedAgentsUnknownError object { message, retry_status, type }

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

        • message: string

          Human-readable error description.

        • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

          What the client should do next in response to this error.

          • BetaManagedAgentsRetryStatusRetrying object { type }

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • type: "retrying"

              • "retrying"
          • BetaManagedAgentsRetryStatusExhausted object { type }

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • type: "exhausted"

              • "exhausted"
          • BetaManagedAgentsRetryStatusTerminal object { type }

            The session encountered a terminal error and will transition to terminated state.

            • type: "terminal"

              • "terminal"
        • type: "unknown_error"

          • "unknown_error"
      • BetaManagedAgentsModelOverloadedError object { message, retry_status, type }

        The model is currently overloaded. Emitted after automatic retries are exhausted.

        • message: string

          Human-readable error description.

        • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

          What the client should do next in response to this error.

          • BetaManagedAgentsRetryStatusRetrying object { type }

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          • BetaManagedAgentsRetryStatusExhausted object { type }

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          • BetaManagedAgentsRetryStatusTerminal object { type }

            The session encountered a terminal error and will transition to terminated state.

        • type: "model_overloaded_error"

          • "model_overloaded_error"
      • BetaManagedAgentsModelRateLimitedError object { message, retry_status, type }

        The model request was rate-limited.

        • message: string

          Human-readable error description.

        • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

          What the client should do next in response to this error.

          • BetaManagedAgentsRetryStatusRetrying object { type }

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          • BetaManagedAgentsRetryStatusExhausted object { type }

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          • BetaManagedAgentsRetryStatusTerminal object { type }

            The session encountered a terminal error and will transition to terminated state.

        • type: "model_rate_limited_error"

          • "model_rate_limited_error"
      • BetaManagedAgentsModelRequestFailedError object { message, retry_status, type }

        A model request failed for a reason other than overload or rate-limiting.

        • message: string

          Human-readable error description.

        • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

          What the client should do next in response to this error.

          • BetaManagedAgentsRetryStatusRetrying object { type }

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          • BetaManagedAgentsRetryStatusExhausted object { type }

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          • BetaManagedAgentsRetryStatusTerminal object { type }

            The session encountered a terminal error and will transition to terminated state.

        • type: "model_request_failed_error"

          • "model_request_failed_error"
      • BetaManagedAgentsMCPConnectionFailedError object { mcp_server_name, message, retry_status, type }

        Failed to connect to an MCP server.

        • mcp_server_name: string

          Name of the MCP server that failed to connect.

        • message: string

          Human-readable error description.

        • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

          What the client should do next in response to this error.

          • BetaManagedAgentsRetryStatusRetrying object { type }

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          • BetaManagedAgentsRetryStatusExhausted object { type }

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          • BetaManagedAgentsRetryStatusTerminal object { type }

            The session encountered a terminal error and will transition to terminated state.

        • type: "mcp_connection_failed_error"

          • "mcp_connection_failed_error"
      • BetaManagedAgentsMCPAuthenticationFailedError object { mcp_server_name, message, retry_status, type }

        Authentication to an MCP server failed.

        • mcp_server_name: string

          Name of the MCP server that failed authentication.

        • message: string

          Human-readable error description.

        • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

          What the client should do next in response to this error.

          • BetaManagedAgentsRetryStatusRetrying object { type }

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          • BetaManagedAgentsRetryStatusExhausted object { type }

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          • BetaManagedAgentsRetryStatusTerminal object { type }

            The session encountered a terminal error and will transition to terminated state.

        • type: "mcp_authentication_failed_error"

          • "mcp_authentication_failed_error"
      • BetaManagedAgentsBillingError object { message, retry_status, type }

        The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

        • message: string

          Human-readable error description.

        • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

          What the client should do next in response to this error.

          • BetaManagedAgentsRetryStatusRetrying object { type }

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          • BetaManagedAgentsRetryStatusExhausted object { type }

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          • BetaManagedAgentsRetryStatusTerminal object { type }

            The session encountered a terminal error and will transition to terminated state.

        • type: "billing_error"

          • "billing_error"
    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "session.error"

      • "session.error"

Beta Managed Agents Session Event

  • BetaManagedAgentsSessionEvent = BetaManagedAgentsUserMessageEvent or BetaManagedAgentsUserInterruptEvent or BetaManagedAgentsUserToolConfirmationEvent or 30 more

    Union type for all event types in a session.

    • BetaManagedAgentsUserMessageEvent object { id, content, type, processed_at }

      A user message event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Array of content blocks comprising the user message.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

          • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

            Union type for image source variants.

            • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

              Base64-encoded image data.

              • data: string

                Base64-encoded image data.

              • media_type: string

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsURLImageSource object { type, url }

              Image referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the image to fetch.

            • BetaManagedAgentsFileImageSource object { file_id, type }

              Image referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "image"

            • "image"
        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

            Union type for document source variants.

            • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

              Base64-encoded document data.

              • data: string

                Base64-encoded document data.

              • media_type: string

                MIME type of the document (e.g., "application/pdf").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

              Plain text document content.

              • data: string

                The plain text content.

              • media_type: "text/plain"

                MIME type of the text content. Must be "text/plain".

                • "text/plain"
              • type: "text"

                • "text"
            • BetaManagedAgentsURLDocumentSource object { type, url }

              Document referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the document to fetch.

            • BetaManagedAgentsFileDocumentSource object { file_id, type }

              Document referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "document"

            • "document"
          • context: optional string

            Additional context about the document for the model.

          • title: optional string

            The title of the document.

      • type: "user.message"

        • "user.message"
      • processed_at: optional string

        A timestamp in RFC 3339 format

    • BetaManagedAgentsUserInterruptEvent object { id, type, processed_at, session_thread_id }

      An interrupt event that pauses agent execution and returns control to the user.

      • id: string

        Unique identifier for this event.

      • type: "user.interrupt"

        • "user.interrupt"
      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

    • BetaManagedAgentsUserToolConfirmationEvent object { id, result, tool_use_id, 4 more }

      A tool confirmation event that approves or denies a pending tool execution.

      • id: string

        Unique identifier for this event.

      • result: "allow" or "deny"

        UserToolConfirmationResult enum

        • "allow"

        • "deny"

      • tool_use_id: string

        The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_confirmation"

        • "user.tool_confirmation"
      • deny_message: optional string

        Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        When set, the confirmation routes to this subagent's thread rather than the primary. Echo this from the session_thread_id on the agent.tool_use or agent.mcp_tool_use event that prompted the approval.

    • BetaManagedAgentsUserCustomToolResultEvent object { id, custom_tool_use_id, type, 4 more }

      Event sent by the client providing the result of a custom tool execution.

      • id: string

        Unique identifier for this event.

      • custom_tool_use_id: string

        The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.custom_tool_result"

        • "user.custom_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

          • citations: BetaManagedAgentsSearchResultCitations

            Citation settings for a search result.

            • enabled: boolean

              Whether citations are enabled for this search result.

          • content: array of BetaManagedAgentsSearchResultContent

            Array of text content blocks from the search result.

            • text: string

              The text content.

            • type: "text"

              • "text"
          • source: string

            The URL source of the search result.

          • title: string

            The title of the search result.

          • type: "search_result"

            • "search_result"
      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.custom_tool_use event's session_thread_id.

    • BetaManagedAgentsAgentCustomToolUseEvent object { id, input, name, 3 more }

      Event emitted when the agent calls a custom tool. The session goes idle until the client sends a user.custom_tool_result event with the result.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the custom tool being called.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.custom_tool_use"

        • "agent.custom_tool_use"
      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Echo this on a user.custom_tool_result event to route the result back.

    • BetaManagedAgentsAgentMessageEvent object { id, content, processed_at, type }

      An agent response event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock

        Array of text blocks comprising the agent response.

        • text: string

          The text content.

        • type: "text"

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.message"

        • "agent.message"
    • BetaManagedAgentsAgentThinkingEvent object { id, processed_at, type }

      Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thinking"

        • "agent.thinking"
    • BetaManagedAgentsAgentMCPToolUseEvent object { id, input, mcp_server_name, 5 more }

      Event emitted when the agent invokes a tool provided by an MCP server.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • mcp_server_name: string

        Name of the MCP server providing the tool.

      • name: string

        Name of the MCP tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_use"

        • "agent.mcp_tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentMCPToolResultEvent object { id, mcp_tool_use_id, processed_at, 3 more }

      Event representing the result of an MCP tool execution.

      • id: string

        Unique identifier for this event.

      • mcp_tool_use_id: string

        The id of the agent.mcp_tool_use event this result corresponds to.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_result"

        • "agent.mcp_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentToolUseEvent object { id, input, name, 4 more }

      Event emitted when the agent invokes a built-in agent tool.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the agent tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.tool_use"

        • "agent.tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentToolResultEvent object { id, processed_at, tool_use_id, 3 more }

      Event representing the result of an agent tool execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to.

      • type: "agent.tool_result"

        • "agent.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentThreadMessageReceivedEvent object { id, content, from_session_thread_id, 3 more }

      Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • from_session_thread_id: string

        Public sthr_ ID of the thread that sent the message.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_message_received"

        • "agent.thread_message_received"
      • from_agent_name: optional string

        Name of the callable agent this message came from. Absent when received from the primary agent.

    • BetaManagedAgentsAgentThreadMessageSentEvent object { id, content, processed_at, 3 more }

      Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • processed_at: string

        A timestamp in RFC 3339 format

      • to_session_thread_id: string

        Public sthr_ ID of the thread the message was sent to.

      • type: "agent.thread_message_sent"

        • "agent.thread_message_sent"
      • to_agent_name: optional string

        Name of the callable agent this message was sent to. Absent when sent to the primary agent.

    • BetaManagedAgentsAgentThreadContextCompactedEvent object { id, processed_at, type }

      Indicates that context compaction (summarization) occurred during the session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_context_compacted"

        • "agent.thread_context_compacted"
    • BetaManagedAgentsSessionErrorEvent object { id, error, processed_at, type }

      An error event indicating a problem occurred during session execution.

      • id: string

        Unique identifier for this event.

      • error: BetaManagedAgentsUnknownError or BetaManagedAgentsModelOverloadedError or BetaManagedAgentsModelRateLimitedError or 4 more

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

        • BetaManagedAgentsUnknownError object { message, retry_status, type }

          An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

              • type: "retrying"

                • "retrying"
            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

              • type: "exhausted"

                • "exhausted"
            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

              • type: "terminal"

                • "terminal"
          • type: "unknown_error"

            • "unknown_error"
        • BetaManagedAgentsModelOverloadedError object { message, retry_status, type }

          The model is currently overloaded. Emitted after automatic retries are exhausted.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_overloaded_error"

            • "model_overloaded_error"
        • BetaManagedAgentsModelRateLimitedError object { message, retry_status, type }

          The model request was rate-limited.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_rate_limited_error"

            • "model_rate_limited_error"
        • BetaManagedAgentsModelRequestFailedError object { message, retry_status, type }

          A model request failed for a reason other than overload or rate-limiting.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_request_failed_error"

            • "model_request_failed_error"
        • BetaManagedAgentsMCPConnectionFailedError object { mcp_server_name, message, retry_status, type }

          Failed to connect to an MCP server.

          • mcp_server_name: string

            Name of the MCP server that failed to connect.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_connection_failed_error"

            • "mcp_connection_failed_error"
        • BetaManagedAgentsMCPAuthenticationFailedError object { mcp_server_name, message, retry_status, type }

          Authentication to an MCP server failed.

          • mcp_server_name: string

            Name of the MCP server that failed authentication.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_authentication_failed_error"

            • "mcp_authentication_failed_error"
        • BetaManagedAgentsBillingError object { message, retry_status, type }

          The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "billing_error"

            • "billing_error"
      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.error"

        • "session.error"
    • BetaManagedAgentsSessionStatusRescheduledEvent object { id, processed_at, type }

      Indicates the session is recovering from an error state and is rescheduled for execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_rescheduled"

        • "session.status_rescheduled"
    • BetaManagedAgentsSessionStatusRunningEvent object { id, processed_at, type }

      Indicates the session is actively running and the agent is working.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_running"

        • "session.status_running"
    • BetaManagedAgentsSessionStatusIdleEvent object { id, processed_at, stop_reason, type }

      Indicates the agent has paused and is awaiting user input.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

          • type: "end_turn"

            • "end_turn"
        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

          • event_ids: array of string

            The ids of events the agent is blocked on. Resolving fewer than all re-emits session.status_idle with the remainder.

          • type: "requires_action"

            • "requires_action"
        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

          • type: "retries_exhausted"

            • "retries_exhausted"
      • type: "session.status_idle"

        • "session.status_idle"
    • BetaManagedAgentsSessionStatusTerminatedEvent object { id, processed_at, type }

      Indicates the session has terminated, either due to an error or completion.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_terminated"

        • "session.status_terminated"
    • BetaManagedAgentsSessionThreadCreatedEvent object { id, agent_name, processed_at, 2 more }

      Emitted when a subagent is spawned as a new thread. Written to the parent thread's output stream so clients observing the session see child creation.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the callable agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the newly created thread.

      • type: "session.thread_created"

        • "session.thread_created"
    • BetaManagedAgentsSpanOutcomeEvaluationStartEvent object { id, iteration, outcome_id, 2 more }

      Emitted when an outcome evaluation cycle begins.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_start"

        • "span.outcome_evaluation_start"
    • BetaManagedAgentsSpanOutcomeEvaluationEndEvent object { id, explanation, iteration, 6 more }

      Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of needs_revision means another evaluation cycle follows; satisfied, max_iterations_reached, failed, or interrupted are terminal — no further evaluation cycles follow.

      • id: string

        Unique identifier for this event.

      • explanation: string

        Human-readable explanation of the verdict. For needs_revision, describes which criteria failed and why.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_evaluation_start_id: string

        The id of the corresponding span.outcome_evaluation_start event.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • result: string

        Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

      • type: "span.outcome_evaluation_end"

        • "span.outcome_evaluation_end"
      • usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

        • cache_creation_input_tokens: number

          Tokens used to create prompt cache in this request.

        • cache_read_input_tokens: number

          Tokens read from prompt cache in this request.

        • input_tokens: number

          Input tokens consumed by this request.

        • output_tokens: number

          Output tokens generated by this request.

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

    • BetaManagedAgentsSpanModelRequestStartEvent object { id, processed_at, type }

      Emitted when a model request is initiated by the agent.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_start"

        • "span.model_request_start"
    • BetaManagedAgentsSpanModelRequestEndEvent object { id, is_error, model_request_start_id, 3 more }

      Emitted when a model request completes.

      • id: string

        Unique identifier for this event.

      • is_error: boolean

        Whether the model request resulted in an error.

      • model_request_start_id: string

        The id of the corresponding span.model_request_start event.

      • model_usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_end"

        • "span.model_request_end"
    • BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent object { id, iteration, outcome_id, 2 more }

      Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding span.outcome_evaluation_start and span.outcome_evaluation_end events.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_ongoing"

        • "span.outcome_evaluation_ongoing"
    • BetaManagedAgentsUserDefineOutcomeEvent object { id, description, max_iterations, 4 more }

      Echo of a user.define_outcome input event. Carries the server-generated outcome_id that subsequent span.outcome_evaluation_* events reference.

      • id: string

        Unique identifier for this event.

      • description: string

        What the agent should produce. Copied from the input event.

      • max_iterations: number

        Evaluate-then-revise cycles before giving up. Default 3, max 20.

      • outcome_id: string

        Server-generated outc_ ID for this outcome. Referenced by span.outcome_evaluation_* events and the session's outcome_evaluations list.

      • processed_at: string

        A timestamp in RFC 3339 format

      • rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric

        Rubric for grading the quality of an outcome.

        • BetaManagedAgentsFileRubric object { file_id, type }

          Rubric referenced by a file uploaded via the Files API.

          • file_id: string

            ID of the rubric file.

          • type: "file"

            • "file"
        • BetaManagedAgentsTextRubric object { content, type }

          Rubric content provided inline as text.

          • content: string

            Rubric content. Plain text or markdown — the grader treats it as freeform text.

          • type: "text"

            • "text"
      • type: "user.define_outcome"

        • "user.define_outcome"
    • BetaManagedAgentsSessionDeletedEvent object { id, processed_at, type }

      Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.deleted"

        • "session.deleted"
    • BetaManagedAgentsSessionThreadStatusRunningEvent object { id, agent_name, processed_at, 2 more }

      A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that started running.

      • type: "session.thread_status_running"

        • "session.thread_status_running"
    • BetaManagedAgentsSessionThreadStatusIdleEvent object { id, agent_name, processed_at, 3 more }

      A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that went idle.

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

      • type: "session.thread_status_idle"

        • "session.thread_status_idle"
    • BetaManagedAgentsSessionThreadStatusTerminatedEvent object { id, agent_name, processed_at, 2 more }

      A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that terminated.

      • type: "session.thread_status_terminated"

        • "session.thread_status_terminated"
    • BetaManagedAgentsUserToolResultEvent object { id, tool_use_id, type, 4 more }

      Event sent by the client providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

      • id: string

        Unique identifier for this event.

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_result"

        • "user.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.tool_use event's session_thread_id.

    • BetaManagedAgentsSessionThreadStatusRescheduledEvent object { id, agent_name, processed_at, 2 more }

      A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that is retrying.

      • type: "session.thread_status_rescheduled"

        • "session.thread_status_rescheduled"
    • BetaManagedAgentsSessionUpdatedEvent object { id, processed_at, type, 3 more }

      Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.updated"

        • "session.updated"
      • agent: optional BetaManagedAgentsSessionAgent

        Resolved agent definition for a session. Snapshot of the agent at session creation time.

        • id: string

        • description: string

        • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

          • name: string

          • type: "url"

            • "url"
          • url: string

        • model: BetaManagedAgentsModelConfig

          Model identifier and configuration.

          • id: BetaManagedAgentsModel

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

              The model that will power your agent.

              See models for additional details and options.

              • "claude-opus-4-7"

                Frontier intelligence for long-running agents and coding

              • "claude-opus-4-6"

                Most intelligent model for building 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"

                Premium model combining maximum intelligence with practical performance

              • "claude-opus-4-5-20251101"

                Premium model combining maximum intelligence with practical performance

              • "claude-sonnet-4-5"

                High-performance model for agents and coding

              • "claude-sonnet-4-5-20250929"

                High-performance model for agents and coding

            • string

          • speed: optional "standard" or "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.

            • "standard"

            • "fast"

        • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

          Resolved coordinator topology with full agent definitions for each roster member.

          • agents: array of BetaManagedAgentsSessionThreadAgent

            Full agent definitions the coordinator may spawn as session threads.

            • id: string

            • description: string

            • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

              • name: string

              • type: "url"

              • url: string

            • model: BetaManagedAgentsModelConfig

              Model identifier and configuration.

            • name: string

            • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

              • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

                A resolved Anthropic-managed skill.

                • skill_id: string

                • type: "anthropic"

                  • "anthropic"
                • version: string

              • BetaManagedAgentsCustomSkill object { skill_id, type, version }

                A resolved user-created custom skill.

                • skill_id: string

                • type: "custom"

                  • "custom"
                • version: string

            • system: string

            • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

              • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

                • configs: array of BetaManagedAgentsAgentToolConfig

                  • enabled: boolean

                  • name: "bash" or "edit" or "read" or 5 more

                    Built-in agent tool identifier.

                    • "bash"

                    • "edit"

                    • "read"

                    • "write"

                    • "glob"

                    • "grep"

                    • "web_fetch"

                    • "web_search"

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                      • type: "always_allow"

                        • "always_allow"
                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                      • type: "always_ask"

                        • "always_ask"
                • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                  Resolved default configuration for agent tools.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • type: "agent_toolset_20260401"

                  • "agent_toolset_20260401"
              • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

                • configs: array of BetaManagedAgentsMCPToolConfig

                  • enabled: boolean

                  • name: string

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                  Resolved default configuration for all tools from an MCP server.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • mcp_server_name: string

                • type: "mcp_toolset"

                  • "mcp_toolset"
              • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

                A custom tool as returned in API responses.

                • description: string

                • input_schema: BetaManagedAgentsCustomToolInputSchema

                  JSON Schema for custom tool input parameters.

                  • properties: optional map[unknown]

                    JSON Schema properties defining the tool's input parameters.

                  • required: optional array of string

                    List of required property names.

                  • type: optional "object"

                    Must be 'object' for tool input schemas.

                    • "object"
                • name: string

                • type: "custom"

                  • "custom"
            • type: "agent"

              • "agent"
            • version: number

          • type: "coordinator"

            • "coordinator"
        • name: string

        • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

          • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

            A resolved Anthropic-managed skill.

          • BetaManagedAgentsCustomSkill object { skill_id, type, version }

            A resolved user-created custom skill.

        • system: string

        • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

          • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

            A custom tool as returned in API responses.

        • type: "agent"

          • "agent"
        • version: number

      • metadata: optional map[string]

        The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

      • title: optional string

        The session's new title. Present only when the update changed it.

Beta Managed Agents Session Requires Action

  • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

    The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

    • event_ids: array of string

      The ids of events the agent is blocked on. Resolving fewer than all re-emits session.status_idle with the remainder.

    • type: "requires_action"

      • "requires_action"

Beta Managed Agents Session Retries Exhausted

  • BetaManagedAgentsSessionRetriesExhausted object { type }

    The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

    • type: "retries_exhausted"

      • "retries_exhausted"

Beta Managed Agents Session Status Idle Event

  • BetaManagedAgentsSessionStatusIdleEvent object { id, processed_at, stop_reason, type }

    Indicates the agent has paused and is awaiting user input.

    • id: string

      Unique identifier for this event.

    • processed_at: string

      A timestamp in RFC 3339 format

    • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

      The agent completed its turn naturally and is ready for the next user message.

      • BetaManagedAgentsSessionEndTurn object { type }

        The agent completed its turn naturally and is ready for the next user message.

        • type: "end_turn"

          • "end_turn"
      • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

        The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        • event_ids: array of string

          The ids of events the agent is blocked on. Resolving fewer than all re-emits session.status_idle with the remainder.

        • type: "requires_action"

          • "requires_action"
      • BetaManagedAgentsSessionRetriesExhausted object { type }

        The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

        • type: "retries_exhausted"

          • "retries_exhausted"
    • type: "session.status_idle"

      • "session.status_idle"

Beta Managed Agents Session Status Rescheduled Event

  • BetaManagedAgentsSessionStatusRescheduledEvent object { id, processed_at, type }

    Indicates the session is recovering from an error state and is rescheduled for execution.

    • id: string

      Unique identifier for this event.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "session.status_rescheduled"

      • "session.status_rescheduled"

Beta Managed Agents Session Status Running Event

  • BetaManagedAgentsSessionStatusRunningEvent object { id, processed_at, type }

    Indicates the session is actively running and the agent is working.

    • id: string

      Unique identifier for this event.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "session.status_running"

      • "session.status_running"

Beta Managed Agents Session Status Terminated Event

  • BetaManagedAgentsSessionStatusTerminatedEvent object { id, processed_at, type }

    Indicates the session has terminated, either due to an error or completion.

    • id: string

      Unique identifier for this event.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "session.status_terminated"

      • "session.status_terminated"

Beta Managed Agents Session Thread Created Event

  • BetaManagedAgentsSessionThreadCreatedEvent object { id, agent_name, processed_at, 2 more }

    Emitted when a subagent is spawned as a new thread. Written to the parent thread's output stream so clients observing the session see child creation.

    • id: string

      Unique identifier for this event.

    • agent_name: string

      Name of the callable agent the thread runs.

    • processed_at: string

      A timestamp in RFC 3339 format

    • session_thread_id: string

      Public sthr_ ID of the newly created thread.

    • type: "session.thread_created"

      • "session.thread_created"

Beta Managed Agents Session Thread Status Idle Event

  • BetaManagedAgentsSessionThreadStatusIdleEvent object { id, agent_name, processed_at, 3 more }

    A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    • id: string

      Unique identifier for this event.

    • agent_name: string

      Name of the agent the thread runs.

    • processed_at: string

      A timestamp in RFC 3339 format

    • session_thread_id: string

      Public sthr_ ID of the thread that went idle.

    • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

      The agent completed its turn naturally and is ready for the next user message.

      • BetaManagedAgentsSessionEndTurn object { type }

        The agent completed its turn naturally and is ready for the next user message.

        • type: "end_turn"

          • "end_turn"
      • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

        The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        • event_ids: array of string

          The ids of events the agent is blocked on. Resolving fewer than all re-emits session.status_idle with the remainder.

        • type: "requires_action"

          • "requires_action"
      • BetaManagedAgentsSessionRetriesExhausted object { type }

        The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

        • type: "retries_exhausted"

          • "retries_exhausted"
    • type: "session.thread_status_idle"

      • "session.thread_status_idle"

Beta Managed Agents Session Thread Status Rescheduled Event

  • BetaManagedAgentsSessionThreadStatusRescheduledEvent object { id, agent_name, processed_at, 2 more }

    A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    • id: string

      Unique identifier for this event.

    • agent_name: string

      Name of the agent the thread runs.

    • processed_at: string

      A timestamp in RFC 3339 format

    • session_thread_id: string

      Public sthr_ ID of the thread that is retrying.

    • type: "session.thread_status_rescheduled"

      • "session.thread_status_rescheduled"

Beta Managed Agents Session Thread Status Running Event

  • BetaManagedAgentsSessionThreadStatusRunningEvent object { id, agent_name, processed_at, 2 more }

    A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    • id: string

      Unique identifier for this event.

    • agent_name: string

      Name of the agent the thread runs.

    • processed_at: string

      A timestamp in RFC 3339 format

    • session_thread_id: string

      Public sthr_ ID of the thread that started running.

    • type: "session.thread_status_running"

      • "session.thread_status_running"

Beta Managed Agents Session Thread Status Terminated Event

  • BetaManagedAgentsSessionThreadStatusTerminatedEvent object { id, agent_name, processed_at, 2 more }

    A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    • id: string

      Unique identifier for this event.

    • agent_name: string

      Name of the agent the thread runs.

    • processed_at: string

      A timestamp in RFC 3339 format

    • session_thread_id: string

      Public sthr_ ID of the thread that terminated.

    • type: "session.thread_status_terminated"

      • "session.thread_status_terminated"

Beta Managed Agents Span Model Request End Event

  • BetaManagedAgentsSpanModelRequestEndEvent object { id, is_error, model_request_start_id, 3 more }

    Emitted when a model request completes.

    • id: string

      Unique identifier for this event.

    • is_error: boolean

      Whether the model request resulted in an error.

    • model_request_start_id: string

      The id of the corresponding span.model_request_start event.

    • model_usage: BetaManagedAgentsSpanModelUsage

      Token usage for a single model request.

      • cache_creation_input_tokens: number

        Tokens used to create prompt cache in this request.

      • cache_read_input_tokens: number

        Tokens read from prompt cache in this request.

      • input_tokens: number

        Input tokens consumed by this request.

      • output_tokens: number

        Output tokens generated by this request.

      • speed: optional "standard" or "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.

        • "standard"

        • "fast"

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "span.model_request_end"

      • "span.model_request_end"

Beta Managed Agents Span Model Request Start Event

  • BetaManagedAgentsSpanModelRequestStartEvent object { id, processed_at, type }

    Emitted when a model request is initiated by the agent.

    • id: string

      Unique identifier for this event.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "span.model_request_start"

      • "span.model_request_start"

Beta Managed Agents Span Model Usage

  • BetaManagedAgentsSpanModelUsage object { cache_creation_input_tokens, cache_read_input_tokens, input_tokens, 2 more }

    Token usage for a single model request.

    • cache_creation_input_tokens: number

      Tokens used to create prompt cache in this request.

    • cache_read_input_tokens: number

      Tokens read from prompt cache in this request.

    • input_tokens: number

      Input tokens consumed by this request.

    • output_tokens: number

      Output tokens generated by this request.

    • speed: optional "standard" or "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.

      • "standard"

      • "fast"

Beta Managed Agents Span Outcome Evaluation End Event

  • BetaManagedAgentsSpanOutcomeEvaluationEndEvent object { id, explanation, iteration, 6 more }

    Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of needs_revision means another evaluation cycle follows; satisfied, max_iterations_reached, failed, or interrupted are terminal — no further evaluation cycles follow.

    • id: string

      Unique identifier for this event.

    • explanation: string

      Human-readable explanation of the verdict. For needs_revision, describes which criteria failed and why.

    • iteration: number

      0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

    • outcome_evaluation_start_id: string

      The id of the corresponding span.outcome_evaluation_start event.

    • outcome_id: string

      The outc_ ID of the outcome being evaluated.

    • processed_at: string

      A timestamp in RFC 3339 format

    • result: string

      Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

    • type: "span.outcome_evaluation_end"

      • "span.outcome_evaluation_end"
    • usage: BetaManagedAgentsSpanModelUsage

      Token usage for a single model request.

      • cache_creation_input_tokens: number

        Tokens used to create prompt cache in this request.

      • cache_read_input_tokens: number

        Tokens read from prompt cache in this request.

      • input_tokens: number

        Input tokens consumed by this request.

      • output_tokens: number

        Output tokens generated by this request.

      • speed: optional "standard" or "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.

        • "standard"

        • "fast"

Beta Managed Agents Span Outcome Evaluation Ongoing Event

  • BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent object { id, iteration, outcome_id, 2 more }

    Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding span.outcome_evaluation_start and span.outcome_evaluation_end events.

    • id: string

      Unique identifier for this event.

    • iteration: number

      0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

    • outcome_id: string

      The outc_ ID of the outcome being evaluated.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "span.outcome_evaluation_ongoing"

      • "span.outcome_evaluation_ongoing"

Beta Managed Agents Span Outcome Evaluation Start Event

  • BetaManagedAgentsSpanOutcomeEvaluationStartEvent object { id, iteration, outcome_id, 2 more }

    Emitted when an outcome evaluation cycle begins.

    • id: string

      Unique identifier for this event.

    • iteration: number

      0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

    • outcome_id: string

      The outc_ ID of the outcome being evaluated.

    • processed_at: string

      A timestamp in RFC 3339 format

    • type: "span.outcome_evaluation_start"

      • "span.outcome_evaluation_start"

Beta Managed Agents Stream Session Events

  • BetaManagedAgentsStreamSessionEvents = BetaManagedAgentsUserMessageEvent or BetaManagedAgentsUserInterruptEvent or BetaManagedAgentsUserToolConfirmationEvent or 30 more

    Server-sent event in the session stream.

    • BetaManagedAgentsUserMessageEvent object { id, content, type, processed_at }

      A user message event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Array of content blocks comprising the user message.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

          • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

            Union type for image source variants.

            • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

              Base64-encoded image data.

              • data: string

                Base64-encoded image data.

              • media_type: string

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsURLImageSource object { type, url }

              Image referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the image to fetch.

            • BetaManagedAgentsFileImageSource object { file_id, type }

              Image referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "image"

            • "image"
        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

            Union type for document source variants.

            • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

              Base64-encoded document data.

              • data: string

                Base64-encoded document data.

              • media_type: string

                MIME type of the document (e.g., "application/pdf").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

              Plain text document content.

              • data: string

                The plain text content.

              • media_type: "text/plain"

                MIME type of the text content. Must be "text/plain".

                • "text/plain"
              • type: "text"

                • "text"
            • BetaManagedAgentsURLDocumentSource object { type, url }

              Document referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the document to fetch.

            • BetaManagedAgentsFileDocumentSource object { file_id, type }

              Document referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "document"

            • "document"
          • context: optional string

            Additional context about the document for the model.

          • title: optional string

            The title of the document.

      • type: "user.message"

        • "user.message"
      • processed_at: optional string

        A timestamp in RFC 3339 format

    • BetaManagedAgentsUserInterruptEvent object { id, type, processed_at, session_thread_id }

      An interrupt event that pauses agent execution and returns control to the user.

      • id: string

        Unique identifier for this event.

      • type: "user.interrupt"

        • "user.interrupt"
      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

    • BetaManagedAgentsUserToolConfirmationEvent object { id, result, tool_use_id, 4 more }

      A tool confirmation event that approves or denies a pending tool execution.

      • id: string

        Unique identifier for this event.

      • result: "allow" or "deny"

        UserToolConfirmationResult enum

        • "allow"

        • "deny"

      • tool_use_id: string

        The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_confirmation"

        • "user.tool_confirmation"
      • deny_message: optional string

        Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        When set, the confirmation routes to this subagent's thread rather than the primary. Echo this from the session_thread_id on the agent.tool_use or agent.mcp_tool_use event that prompted the approval.

    • BetaManagedAgentsUserCustomToolResultEvent object { id, custom_tool_use_id, type, 4 more }

      Event sent by the client providing the result of a custom tool execution.

      • id: string

        Unique identifier for this event.

      • custom_tool_use_id: string

        The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.custom_tool_result"

        • "user.custom_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

          • citations: BetaManagedAgentsSearchResultCitations

            Citation settings for a search result.

            • enabled: boolean

              Whether citations are enabled for this search result.

          • content: array of BetaManagedAgentsSearchResultContent

            Array of text content blocks from the search result.

            • text: string

              The text content.

            • type: "text"

              • "text"
          • source: string

            The URL source of the search result.

          • title: string

            The title of the search result.

          • type: "search_result"

            • "search_result"
      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.custom_tool_use event's session_thread_id.

    • BetaManagedAgentsAgentCustomToolUseEvent object { id, input, name, 3 more }

      Event emitted when the agent calls a custom tool. The session goes idle until the client sends a user.custom_tool_result event with the result.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the custom tool being called.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.custom_tool_use"

        • "agent.custom_tool_use"
      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Echo this on a user.custom_tool_result event to route the result back.

    • BetaManagedAgentsAgentMessageEvent object { id, content, processed_at, type }

      An agent response event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock

        Array of text blocks comprising the agent response.

        • text: string

          The text content.

        • type: "text"

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.message"

        • "agent.message"
    • BetaManagedAgentsAgentThinkingEvent object { id, processed_at, type }

      Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thinking"

        • "agent.thinking"
    • BetaManagedAgentsAgentMCPToolUseEvent object { id, input, mcp_server_name, 5 more }

      Event emitted when the agent invokes a tool provided by an MCP server.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • mcp_server_name: string

        Name of the MCP server providing the tool.

      • name: string

        Name of the MCP tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_use"

        • "agent.mcp_tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentMCPToolResultEvent object { id, mcp_tool_use_id, processed_at, 3 more }

      Event representing the result of an MCP tool execution.

      • id: string

        Unique identifier for this event.

      • mcp_tool_use_id: string

        The id of the agent.mcp_tool_use event this result corresponds to.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_result"

        • "agent.mcp_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentToolUseEvent object { id, input, name, 4 more }

      Event emitted when the agent invokes a built-in agent tool.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the agent tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.tool_use"

        • "agent.tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentToolResultEvent object { id, processed_at, tool_use_id, 3 more }

      Event representing the result of an agent tool execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to.

      • type: "agent.tool_result"

        • "agent.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentThreadMessageReceivedEvent object { id, content, from_session_thread_id, 3 more }

      Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • from_session_thread_id: string

        Public sthr_ ID of the thread that sent the message.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_message_received"

        • "agent.thread_message_received"
      • from_agent_name: optional string

        Name of the callable agent this message came from. Absent when received from the primary agent.

    • BetaManagedAgentsAgentThreadMessageSentEvent object { id, content, processed_at, 3 more }

      Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • processed_at: string

        A timestamp in RFC 3339 format

      • to_session_thread_id: string

        Public sthr_ ID of the thread the message was sent to.

      • type: "agent.thread_message_sent"

        • "agent.thread_message_sent"
      • to_agent_name: optional string

        Name of the callable agent this message was sent to. Absent when sent to the primary agent.

    • BetaManagedAgentsAgentThreadContextCompactedEvent object { id, processed_at, type }

      Indicates that context compaction (summarization) occurred during the session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_context_compacted"

        • "agent.thread_context_compacted"
    • BetaManagedAgentsSessionErrorEvent object { id, error, processed_at, type }

      An error event indicating a problem occurred during session execution.

      • id: string

        Unique identifier for this event.

      • error: BetaManagedAgentsUnknownError or BetaManagedAgentsModelOverloadedError or BetaManagedAgentsModelRateLimitedError or 4 more

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

        • BetaManagedAgentsUnknownError object { message, retry_status, type }

          An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

              • type: "retrying"

                • "retrying"
            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

              • type: "exhausted"

                • "exhausted"
            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

              • type: "terminal"

                • "terminal"
          • type: "unknown_error"

            • "unknown_error"
        • BetaManagedAgentsModelOverloadedError object { message, retry_status, type }

          The model is currently overloaded. Emitted after automatic retries are exhausted.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_overloaded_error"

            • "model_overloaded_error"
        • BetaManagedAgentsModelRateLimitedError object { message, retry_status, type }

          The model request was rate-limited.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_rate_limited_error"

            • "model_rate_limited_error"
        • BetaManagedAgentsModelRequestFailedError object { message, retry_status, type }

          A model request failed for a reason other than overload or rate-limiting.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_request_failed_error"

            • "model_request_failed_error"
        • BetaManagedAgentsMCPConnectionFailedError object { mcp_server_name, message, retry_status, type }

          Failed to connect to an MCP server.

          • mcp_server_name: string

            Name of the MCP server that failed to connect.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_connection_failed_error"

            • "mcp_connection_failed_error"
        • BetaManagedAgentsMCPAuthenticationFailedError object { mcp_server_name, message, retry_status, type }

          Authentication to an MCP server failed.

          • mcp_server_name: string

            Name of the MCP server that failed authentication.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_authentication_failed_error"

            • "mcp_authentication_failed_error"
        • BetaManagedAgentsBillingError object { message, retry_status, type }

          The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "billing_error"

            • "billing_error"
      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.error"

        • "session.error"
    • BetaManagedAgentsSessionStatusRescheduledEvent object { id, processed_at, type }

      Indicates the session is recovering from an error state and is rescheduled for execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_rescheduled"

        • "session.status_rescheduled"
    • BetaManagedAgentsSessionStatusRunningEvent object { id, processed_at, type }

      Indicates the session is actively running and the agent is working.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_running"

        • "session.status_running"
    • BetaManagedAgentsSessionStatusIdleEvent object { id, processed_at, stop_reason, type }

      Indicates the agent has paused and is awaiting user input.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

          • type: "end_turn"

            • "end_turn"
        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

          • event_ids: array of string

            The ids of events the agent is blocked on. Resolving fewer than all re-emits session.status_idle with the remainder.

          • type: "requires_action"

            • "requires_action"
        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

          • type: "retries_exhausted"

            • "retries_exhausted"
      • type: "session.status_idle"

        • "session.status_idle"
    • BetaManagedAgentsSessionStatusTerminatedEvent object { id, processed_at, type }

      Indicates the session has terminated, either due to an error or completion.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_terminated"

        • "session.status_terminated"
    • BetaManagedAgentsSessionThreadCreatedEvent object { id, agent_name, processed_at, 2 more }

      Emitted when a subagent is spawned as a new thread. Written to the parent thread's output stream so clients observing the session see child creation.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the callable agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the newly created thread.

      • type: "session.thread_created"

        • "session.thread_created"
    • BetaManagedAgentsSpanOutcomeEvaluationStartEvent object { id, iteration, outcome_id, 2 more }

      Emitted when an outcome evaluation cycle begins.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_start"

        • "span.outcome_evaluation_start"
    • BetaManagedAgentsSpanOutcomeEvaluationEndEvent object { id, explanation, iteration, 6 more }

      Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of needs_revision means another evaluation cycle follows; satisfied, max_iterations_reached, failed, or interrupted are terminal — no further evaluation cycles follow.

      • id: string

        Unique identifier for this event.

      • explanation: string

        Human-readable explanation of the verdict. For needs_revision, describes which criteria failed and why.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_evaluation_start_id: string

        The id of the corresponding span.outcome_evaluation_start event.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • result: string

        Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

      • type: "span.outcome_evaluation_end"

        • "span.outcome_evaluation_end"
      • usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

        • cache_creation_input_tokens: number

          Tokens used to create prompt cache in this request.

        • cache_read_input_tokens: number

          Tokens read from prompt cache in this request.

        • input_tokens: number

          Input tokens consumed by this request.

        • output_tokens: number

          Output tokens generated by this request.

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

    • BetaManagedAgentsSpanModelRequestStartEvent object { id, processed_at, type }

      Emitted when a model request is initiated by the agent.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_start"

        • "span.model_request_start"
    • BetaManagedAgentsSpanModelRequestEndEvent object { id, is_error, model_request_start_id, 3 more }

      Emitted when a model request completes.

      • id: string

        Unique identifier for this event.

      • is_error: boolean

        Whether the model request resulted in an error.

      • model_request_start_id: string

        The id of the corresponding span.model_request_start event.

      • model_usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_end"

        • "span.model_request_end"
    • BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent object { id, iteration, outcome_id, 2 more }

      Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding span.outcome_evaluation_start and span.outcome_evaluation_end events.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_ongoing"

        • "span.outcome_evaluation_ongoing"
    • BetaManagedAgentsUserDefineOutcomeEvent object { id, description, max_iterations, 4 more }

      Echo of a user.define_outcome input event. Carries the server-generated outcome_id that subsequent span.outcome_evaluation_* events reference.

      • id: string

        Unique identifier for this event.

      • description: string

        What the agent should produce. Copied from the input event.

      • max_iterations: number

        Evaluate-then-revise cycles before giving up. Default 3, max 20.

      • outcome_id: string

        Server-generated outc_ ID for this outcome. Referenced by span.outcome_evaluation_* events and the session's outcome_evaluations list.

      • processed_at: string

        A timestamp in RFC 3339 format

      • rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric

        Rubric for grading the quality of an outcome.

        • BetaManagedAgentsFileRubric object { file_id, type }

          Rubric referenced by a file uploaded via the Files API.

          • file_id: string

            ID of the rubric file.

          • type: "file"

            • "file"
        • BetaManagedAgentsTextRubric object { content, type }

          Rubric content provided inline as text.

          • content: string

            Rubric content. Plain text or markdown — the grader treats it as freeform text.

          • type: "text"

            • "text"
      • type: "user.define_outcome"

        • "user.define_outcome"
    • BetaManagedAgentsSessionDeletedEvent object { id, processed_at, type }

      Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.deleted"

        • "session.deleted"
    • BetaManagedAgentsSessionThreadStatusRunningEvent object { id, agent_name, processed_at, 2 more }

      A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that started running.

      • type: "session.thread_status_running"

        • "session.thread_status_running"
    • BetaManagedAgentsSessionThreadStatusIdleEvent object { id, agent_name, processed_at, 3 more }

      A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that went idle.

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

      • type: "session.thread_status_idle"

        • "session.thread_status_idle"
    • BetaManagedAgentsSessionThreadStatusTerminatedEvent object { id, agent_name, processed_at, 2 more }

      A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that terminated.

      • type: "session.thread_status_terminated"

        • "session.thread_status_terminated"
    • BetaManagedAgentsUserToolResultEvent object { id, tool_use_id, type, 4 more }

      Event sent by the client providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

      • id: string

        Unique identifier for this event.

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_result"

        • "user.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.tool_use event's session_thread_id.

    • BetaManagedAgentsSessionThreadStatusRescheduledEvent object { id, agent_name, processed_at, 2 more }

      A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that is retrying.

      • type: "session.thread_status_rescheduled"

        • "session.thread_status_rescheduled"
    • BetaManagedAgentsSessionUpdatedEvent object { id, processed_at, type, 3 more }

      Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.updated"

        • "session.updated"
      • agent: optional BetaManagedAgentsSessionAgent

        Resolved agent definition for a session. Snapshot of the agent at session creation time.

        • id: string

        • description: string

        • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

          • name: string

          • type: "url"

            • "url"
          • url: string

        • model: BetaManagedAgentsModelConfig

          Model identifier and configuration.

          • id: BetaManagedAgentsModel

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

              The model that will power your agent.

              See models for additional details and options.

              • "claude-opus-4-7"

                Frontier intelligence for long-running agents and coding

              • "claude-opus-4-6"

                Most intelligent model for building 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"

                Premium model combining maximum intelligence with practical performance

              • "claude-opus-4-5-20251101"

                Premium model combining maximum intelligence with practical performance

              • "claude-sonnet-4-5"

                High-performance model for agents and coding

              • "claude-sonnet-4-5-20250929"

                High-performance model for agents and coding

            • string

          • speed: optional "standard" or "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.

            • "standard"

            • "fast"

        • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

          Resolved coordinator topology with full agent definitions for each roster member.

          • agents: array of BetaManagedAgentsSessionThreadAgent

            Full agent definitions the coordinator may spawn as session threads.

            • id: string

            • description: string

            • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

              • name: string

              • type: "url"

              • url: string

            • model: BetaManagedAgentsModelConfig

              Model identifier and configuration.

            • name: string

            • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

              • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

                A resolved Anthropic-managed skill.

                • skill_id: string

                • type: "anthropic"

                  • "anthropic"
                • version: string

              • BetaManagedAgentsCustomSkill object { skill_id, type, version }

                A resolved user-created custom skill.

                • skill_id: string

                • type: "custom"

                  • "custom"
                • version: string

            • system: string

            • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

              • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

                • configs: array of BetaManagedAgentsAgentToolConfig

                  • enabled: boolean

                  • name: "bash" or "edit" or "read" or 5 more

                    Built-in agent tool identifier.

                    • "bash"

                    • "edit"

                    • "read"

                    • "write"

                    • "glob"

                    • "grep"

                    • "web_fetch"

                    • "web_search"

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                      • type: "always_allow"

                        • "always_allow"
                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                      • type: "always_ask"

                        • "always_ask"
                • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                  Resolved default configuration for agent tools.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • type: "agent_toolset_20260401"

                  • "agent_toolset_20260401"
              • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

                • configs: array of BetaManagedAgentsMCPToolConfig

                  • enabled: boolean

                  • name: string

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                  Resolved default configuration for all tools from an MCP server.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • mcp_server_name: string

                • type: "mcp_toolset"

                  • "mcp_toolset"
              • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

                A custom tool as returned in API responses.

                • description: string

                • input_schema: BetaManagedAgentsCustomToolInputSchema

                  JSON Schema for custom tool input parameters.

                  • properties: optional map[unknown]

                    JSON Schema properties defining the tool's input parameters.

                  • required: optional array of string

                    List of required property names.

                  • type: optional "object"

                    Must be 'object' for tool input schemas.

                    • "object"
                • name: string

                • type: "custom"

                  • "custom"
            • type: "agent"

              • "agent"
            • version: number

          • type: "coordinator"

            • "coordinator"
        • name: string

        • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

          • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

            A resolved Anthropic-managed skill.

          • BetaManagedAgentsCustomSkill object { skill_id, type, version }

            A resolved user-created custom skill.

        • system: string

        • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

          • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

            A custom tool as returned in API responses.

        • type: "agent"

          • "agent"
        • version: number

      • metadata: optional map[string]

        The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

      • title: optional string

        The session's new title. Present only when the update changed it.

Beta Managed Agents Text Block

  • BetaManagedAgentsTextBlock object { text, type }

    Regular text content.

    • text: string

      The text content.

    • type: "text"

      • "text"

Beta Managed Agents Text Rubric

  • BetaManagedAgentsTextRubric object { content, type }

    Rubric content provided inline as text.

    • content: string

      Rubric content. Plain text or markdown — the grader treats it as freeform text.

    • type: "text"

      • "text"

Beta Managed Agents Text Rubric Params

  • BetaManagedAgentsTextRubricParams object { content, type }

    Rubric content provided inline as text.

    • content: string

      Rubric content. Plain text or markdown — the grader treats it as freeform text. Maximum 262144 characters.

    • type: "text"

      • "text"

Beta Managed Agents Unknown Error

  • BetaManagedAgentsUnknownError object { message, retry_status, type }

    An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

    • message: string

      Human-readable error description.

    • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

      What the client should do next in response to this error.

      • BetaManagedAgentsRetryStatusRetrying object { type }

        The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

        • type: "retrying"

          • "retrying"
      • BetaManagedAgentsRetryStatusExhausted object { type }

        This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

        • type: "exhausted"

          • "exhausted"
      • BetaManagedAgentsRetryStatusTerminal object { type }

        The session encountered a terminal error and will transition to terminated state.

        • type: "terminal"

          • "terminal"
    • type: "unknown_error"

      • "unknown_error"

Beta Managed Agents URL Document Source

  • BetaManagedAgentsURLDocumentSource object { type, url }

    Document referenced by URL.

    • type: "url"

      • "url"
    • url: string

      URL of the document to fetch.

Beta Managed Agents URL Image Source

  • BetaManagedAgentsURLImageSource object { type, url }

    Image referenced by URL.

    • type: "url"

      • "url"
    • url: string

      URL of the image to fetch.

Beta Managed Agents User Custom Tool Result Event

  • BetaManagedAgentsUserCustomToolResultEvent object { id, custom_tool_use_id, type, 4 more }

    Event sent by the client providing the result of a custom tool execution.

    • id: string

      Unique identifier for this event.

    • custom_tool_use_id: string

      The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

    • type: "user.custom_tool_result"

      • "user.custom_tool_result"
    • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

      The result content returned by the tool.

      • BetaManagedAgentsTextBlock object { text, type }

        Regular text content.

        • text: string

          The text content.

        • type: "text"

          • "text"
      • BetaManagedAgentsImageBlock object { source, type }

        Image content specified directly as base64 data or as a reference via a URL.

        • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

          Union type for image source variants.

          • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

            Base64-encoded image data.

            • data: string

              Base64-encoded image data.

            • media_type: string

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsURLImageSource object { type, url }

            Image referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the image to fetch.

          • BetaManagedAgentsFileImageSource object { file_id, type }

            Image referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "image"

          • "image"
      • BetaManagedAgentsDocumentBlock object { source, type, context, title }

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

          Union type for document source variants.

          • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

            Base64-encoded document data.

            • data: string

              Base64-encoded document data.

            • media_type: string

              MIME type of the document (e.g., "application/pdf").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

            Plain text document content.

            • data: string

              The plain text content.

            • media_type: "text/plain"

              MIME type of the text content. Must be "text/plain".

              • "text/plain"
            • type: "text"

              • "text"
          • BetaManagedAgentsURLDocumentSource object { type, url }

            Document referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the document to fetch.

          • BetaManagedAgentsFileDocumentSource object { file_id, type }

            Document referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "document"

          • "document"
        • context: optional string

          Additional context about the document for the model.

        • title: optional string

          The title of the document.

      • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

        A block containing a web search result.

        • citations: BetaManagedAgentsSearchResultCitations

          Citation settings for a search result.

          • enabled: boolean

            Whether citations are enabled for this search result.

        • content: array of BetaManagedAgentsSearchResultContent

          Array of text content blocks from the search result.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • source: string

          The URL source of the search result.

        • title: string

          The title of the search result.

        • type: "search_result"

          • "search_result"
    • is_error: optional boolean

      Whether the tool execution resulted in an error.

    • processed_at: optional string

      A timestamp in RFC 3339 format

    • session_thread_id: optional string

      Routes this result to a subagent thread. Copy from the agent.custom_tool_use event's session_thread_id.

Beta Managed Agents User Custom Tool Result Event Params

  • BetaManagedAgentsUserCustomToolResultEventParams object { custom_tool_use_id, type, content, is_error }

    Parameters for providing the result of a custom tool execution.

    • custom_tool_use_id: string

      The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

    • type: "user.custom_tool_result"

      • "user.custom_tool_result"
    • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

      The result content returned by the tool.

      • BetaManagedAgentsTextBlock object { text, type }

        Regular text content.

        • text: string

          The text content.

        • type: "text"

          • "text"
      • BetaManagedAgentsImageBlock object { source, type }

        Image content specified directly as base64 data or as a reference via a URL.

        • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

          Union type for image source variants.

          • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

            Base64-encoded image data.

            • data: string

              Base64-encoded image data.

            • media_type: string

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsURLImageSource object { type, url }

            Image referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the image to fetch.

          • BetaManagedAgentsFileImageSource object { file_id, type }

            Image referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "image"

          • "image"
      • BetaManagedAgentsDocumentBlock object { source, type, context, title }

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

          Union type for document source variants.

          • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

            Base64-encoded document data.

            • data: string

              Base64-encoded document data.

            • media_type: string

              MIME type of the document (e.g., "application/pdf").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

            Plain text document content.

            • data: string

              The plain text content.

            • media_type: "text/plain"

              MIME type of the text content. Must be "text/plain".

              • "text/plain"
            • type: "text"

              • "text"
          • BetaManagedAgentsURLDocumentSource object { type, url }

            Document referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the document to fetch.

          • BetaManagedAgentsFileDocumentSource object { file_id, type }

            Document referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "document"

          • "document"
        • context: optional string

          Additional context about the document for the model.

        • title: optional string

          The title of the document.

      • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

        A block containing a web search result.

        • citations: BetaManagedAgentsSearchResultCitations

          Citation settings for a search result.

          • enabled: boolean

            Whether citations are enabled for this search result.

        • content: array of BetaManagedAgentsSearchResultContent

          Array of text content blocks from the search result.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • source: string

          The URL source of the search result.

        • title: string

          The title of the search result.

        • type: "search_result"

          • "search_result"
    • is_error: optional boolean

      Whether the tool execution resulted in an error.

Beta Managed Agents User Define Outcome Event

  • BetaManagedAgentsUserDefineOutcomeEvent object { id, description, max_iterations, 4 more }

    Echo of a user.define_outcome input event. Carries the server-generated outcome_id that subsequent span.outcome_evaluation_* events reference.

    • id: string

      Unique identifier for this event.

    • description: string

      What the agent should produce. Copied from the input event.

    • max_iterations: number

      Evaluate-then-revise cycles before giving up. Default 3, max 20.

    • outcome_id: string

      Server-generated outc_ ID for this outcome. Referenced by span.outcome_evaluation_* events and the session's outcome_evaluations list.

    • processed_at: string

      A timestamp in RFC 3339 format

    • rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric

      Rubric for grading the quality of an outcome.

      • BetaManagedAgentsFileRubric object { file_id, type }

        Rubric referenced by a file uploaded via the Files API.

        • file_id: string

          ID of the rubric file.

        • type: "file"

          • "file"
      • BetaManagedAgentsTextRubric object { content, type }

        Rubric content provided inline as text.

        • content: string

          Rubric content. Plain text or markdown — the grader treats it as freeform text.

        • type: "text"

          • "text"
    • type: "user.define_outcome"

      • "user.define_outcome"

Beta Managed Agents User Define Outcome Event Params

  • BetaManagedAgentsUserDefineOutcomeEventParams object { description, rubric, type, max_iterations }

    Parameters for defining an outcome the agent should work toward. The agent begins work on receipt.

    • description: string

      What the agent should produce. This is the task specification.

    • rubric: BetaManagedAgentsFileRubricParams or BetaManagedAgentsTextRubricParams

      Rubric for grading the quality of an outcome.

      • BetaManagedAgentsFileRubricParams object { file_id, type }

        Rubric referenced by a file uploaded via the Files API.

        • file_id: string

          ID of the rubric file.

        • type: "file"

          • "file"
      • BetaManagedAgentsTextRubricParams object { content, type }

        Rubric content provided inline as text.

        • content: string

          Rubric content. Plain text or markdown — the grader treats it as freeform text. Maximum 262144 characters.

        • type: "text"

          • "text"
    • type: "user.define_outcome"

      • "user.define_outcome"
    • max_iterations: optional number

      Eval→revision cycles before giving up. Default 3, max 20.

Beta Managed Agents User Interrupt Event

  • BetaManagedAgentsUserInterruptEvent object { id, type, processed_at, session_thread_id }

    An interrupt event that pauses agent execution and returns control to the user.

    • id: string

      Unique identifier for this event.

    • type: "user.interrupt"

      • "user.interrupt"
    • processed_at: optional string

      A timestamp in RFC 3339 format

    • session_thread_id: optional string

      If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

Beta Managed Agents User Interrupt Event Params

  • BetaManagedAgentsUserInterruptEventParams object { type, session_thread_id }

    Parameters for sending an interrupt to pause the agent.

    • type: "user.interrupt"

      • "user.interrupt"
    • session_thread_id: optional string

      If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

Beta Managed Agents User Message Event

  • BetaManagedAgentsUserMessageEvent object { id, content, type, processed_at }

    A user message event in the session conversation.

    • id: string

      Unique identifier for this event.

    • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

      Array of content blocks comprising the user message.

      • BetaManagedAgentsTextBlock object { text, type }

        Regular text content.

        • text: string

          The text content.

        • type: "text"

          • "text"
      • BetaManagedAgentsImageBlock object { source, type }

        Image content specified directly as base64 data or as a reference via a URL.

        • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

          Union type for image source variants.

          • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

            Base64-encoded image data.

            • data: string

              Base64-encoded image data.

            • media_type: string

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsURLImageSource object { type, url }

            Image referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the image to fetch.

          • BetaManagedAgentsFileImageSource object { file_id, type }

            Image referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "image"

          • "image"
      • BetaManagedAgentsDocumentBlock object { source, type, context, title }

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

          Union type for document source variants.

          • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

            Base64-encoded document data.

            • data: string

              Base64-encoded document data.

            • media_type: string

              MIME type of the document (e.g., "application/pdf").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

            Plain text document content.

            • data: string

              The plain text content.

            • media_type: "text/plain"

              MIME type of the text content. Must be "text/plain".

              • "text/plain"
            • type: "text"

              • "text"
          • BetaManagedAgentsURLDocumentSource object { type, url }

            Document referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the document to fetch.

          • BetaManagedAgentsFileDocumentSource object { file_id, type }

            Document referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "document"

          • "document"
        • context: optional string

          Additional context about the document for the model.

        • title: optional string

          The title of the document.

    • type: "user.message"

      • "user.message"
    • processed_at: optional string

      A timestamp in RFC 3339 format

Beta Managed Agents User Message Event Params

  • BetaManagedAgentsUserMessageEventParams object { content, type }

    Parameters for sending a user message to the session.

    • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

      Array of content blocks for the user message.

      • BetaManagedAgentsTextBlock object { text, type }

        Regular text content.

        • text: string

          The text content.

        • type: "text"

          • "text"
      • BetaManagedAgentsImageBlock object { source, type }

        Image content specified directly as base64 data or as a reference via a URL.

        • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

          Union type for image source variants.

          • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

            Base64-encoded image data.

            • data: string

              Base64-encoded image data.

            • media_type: string

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsURLImageSource object { type, url }

            Image referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the image to fetch.

          • BetaManagedAgentsFileImageSource object { file_id, type }

            Image referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "image"

          • "image"
      • BetaManagedAgentsDocumentBlock object { source, type, context, title }

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

          Union type for document source variants.

          • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

            Base64-encoded document data.

            • data: string

              Base64-encoded document data.

            • media_type: string

              MIME type of the document (e.g., "application/pdf").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

            Plain text document content.

            • data: string

              The plain text content.

            • media_type: "text/plain"

              MIME type of the text content. Must be "text/plain".

              • "text/plain"
            • type: "text"

              • "text"
          • BetaManagedAgentsURLDocumentSource object { type, url }

            Document referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the document to fetch.

          • BetaManagedAgentsFileDocumentSource object { file_id, type }

            Document referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "document"

          • "document"
        • context: optional string

          Additional context about the document for the model.

        • title: optional string

          The title of the document.

    • type: "user.message"

      • "user.message"

Beta Managed Agents User Tool Confirmation Event

  • BetaManagedAgentsUserToolConfirmationEvent object { id, result, tool_use_id, 4 more }

    A tool confirmation event that approves or denies a pending tool execution.

    • id: string

      Unique identifier for this event.

    • result: "allow" or "deny"

      UserToolConfirmationResult enum

      • "allow"

      • "deny"

    • tool_use_id: string

      The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

    • type: "user.tool_confirmation"

      • "user.tool_confirmation"
    • deny_message: optional string

      Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

    • processed_at: optional string

      A timestamp in RFC 3339 format

    • session_thread_id: optional string

      When set, the confirmation routes to this subagent's thread rather than the primary. Echo this from the session_thread_id on the agent.tool_use or agent.mcp_tool_use event that prompted the approval.

Beta Managed Agents User Tool Confirmation Event Params

  • BetaManagedAgentsUserToolConfirmationEventParams object { result, tool_use_id, type, deny_message }

    Parameters for confirming or denying a tool execution request.

    • result: "allow" or "deny"

      UserToolConfirmationResult enum

      • "allow"

      • "deny"

    • tool_use_id: string

      The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

    • type: "user.tool_confirmation"

      • "user.tool_confirmation"
    • deny_message: optional string

      Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

Beta Managed Agents User Tool Result Event Params

  • BetaManagedAgentsUserToolResultEventParams object { tool_use_id, type, content, is_error }

    Parameters for providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

    • tool_use_id: string

      The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

    • type: "user.tool_result"

      • "user.tool_result"
    • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

      The result content returned by the tool.

      • BetaManagedAgentsTextBlock object { text, type }

        Regular text content.

        • text: string

          The text content.

        • type: "text"

          • "text"
      • BetaManagedAgentsImageBlock object { source, type }

        Image content specified directly as base64 data or as a reference via a URL.

        • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

          Union type for image source variants.

          • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

            Base64-encoded image data.

            • data: string

              Base64-encoded image data.

            • media_type: string

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsURLImageSource object { type, url }

            Image referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the image to fetch.

          • BetaManagedAgentsFileImageSource object { file_id, type }

            Image referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "image"

          • "image"
      • BetaManagedAgentsDocumentBlock object { source, type, context, title }

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

          Union type for document source variants.

          • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

            Base64-encoded document data.

            • data: string

              Base64-encoded document data.

            • media_type: string

              MIME type of the document (e.g., "application/pdf").

            • type: "base64"

              • "base64"
          • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

            Plain text document content.

            • data: string

              The plain text content.

            • media_type: "text/plain"

              MIME type of the text content. Must be "text/plain".

              • "text/plain"
            • type: "text"

              • "text"
          • BetaManagedAgentsURLDocumentSource object { type, url }

            Document referenced by URL.

            • type: "url"

              • "url"
            • url: string

              URL of the document to fetch.

          • BetaManagedAgentsFileDocumentSource object { file_id, type }

            Document referenced by file ID.

            • file_id: string

              ID of a previously uploaded file.

            • type: "file"

              • "file"
        • type: "document"

          • "document"
        • context: optional string

          Additional context about the document for the model.

        • title: optional string

          The title of the document.

      • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

        A block containing a web search result.

        • citations: BetaManagedAgentsSearchResultCitations

          Citation settings for a search result.

          • enabled: boolean

            Whether citations are enabled for this search result.

        • content: array of BetaManagedAgentsSearchResultContent

          Array of text content blocks from the search result.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • source: string

          The URL source of the search result.

        • title: string

          The title of the search result.

        • type: "search_result"

          • "search_result"
    • is_error: optional boolean

      Whether the tool execution resulted in an error.

Resources

Add Session Resource

post /v1/sessions/{session_id}/resources

Add Session Resource

Path Parameters

  • session_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Body Parameters

  • file_id: string

    ID of a previously uploaded file.

  • type: "file"

    • "file"
  • mount_path: optional string

    Mount path in the container. Defaults to /mnt/session/uploads/<file_id>.

Returns

  • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

    • id: string

    • created_at: string

      A timestamp in RFC 3339 format

    • file_id: string

    • mount_path: string

    • type: "file"

      • "file"
    • updated_at: string

      A timestamp in RFC 3339 format

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/resources \
    -H 'Content-Type: application/json' \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY" \
    -d '{
          "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
          "type": "file",
          "mount_path": "/uploads/receipt.pdf"
        }'

Response

{
  "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
  "created_at": "2026-03-15T10:00:00Z",
  "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
  "mount_path": "/uploads/receipt.pdf",
  "type": "file",
  "updated_at": "2026-03-15T10:00:00Z"
}

List Session Resources

get /v1/sessions/{session_id}/resources

List Session Resources

Path Parameters

  • session_id: string

Query Parameters

  • limit: optional number

    Maximum number of resources to return per page (max 1000). If omitted, returns all resources.

  • page: optional string

    Opaque cursor from a previous response's next_page field.

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • data: array of BetaManagedAgentsSessionResource

    Resources for the session, ordered by created_at.

    • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

      • id: string

      • created_at: string

        A timestamp in RFC 3339 format

      • mount_path: string

      • type: "github_repository"

        • "github_repository"
      • updated_at: string

        A timestamp in RFC 3339 format

      • url: string

      • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

        • BetaManagedAgentsBranchCheckout object { name, type }

          • name: string

            Branch name to check out.

          • type: "branch"

            • "branch"
        • BetaManagedAgentsCommitCheckout object { sha, type }

          • sha: string

            Full commit SHA to check out.

          • type: "commit"

            • "commit"
    • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

      • id: string

      • created_at: string

        A timestamp in RFC 3339 format

      • file_id: string

      • mount_path: string

      • type: "file"

        • "file"
      • updated_at: string

        A timestamp in RFC 3339 format

    • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

      A memory store attached to an agent session.

      • memory_store_id: string

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      • type: "memory_store"

        • "memory_store"
      • access: optional "read_write" or "read_only"

        Access mode for an attached memory store.

        • "read_write"

        • "read_only"

      • description: optional string

        Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

      • instructions: optional string

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

      • mount_path: optional string

        Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

      • name: optional string

        Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

  • next_page: optional string

    Opaque cursor for the next page. Null when no more results.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/resources \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "data": [
    {
      "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
      "created_at": "2026-03-15T10:00:00Z",
      "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
      "mount_path": "/uploads/receipt.pdf",
      "type": "file",
      "updated_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sesrsc_011CZkZCKr6eXyl0gWMOdQiu",
      "created_at": "2026-03-15T10:00:00Z",
      "mount_path": "/workspace/example-repo",
      "type": "github_repository",
      "updated_at": "2026-03-15T10:00:00Z",
      "url": "https://github.com/example-org/example-repo",
      "checkout": {
        "name": "main",
        "type": "branch"
      }
    }
  ],
  "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}

Get Session Resource

get /v1/sessions/{session_id}/resources/{resource_id}

Get Session Resource

Path Parameters

  • session_id: string

  • resource_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

    • id: string

    • created_at: string

      A timestamp in RFC 3339 format

    • mount_path: string

    • type: "github_repository"

      • "github_repository"
    • updated_at: string

      A timestamp in RFC 3339 format

    • url: string

    • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

      • BetaManagedAgentsBranchCheckout object { name, type }

        • name: string

          Branch name to check out.

        • type: "branch"

          • "branch"
      • BetaManagedAgentsCommitCheckout object { sha, type }

        • sha: string

          Full commit SHA to check out.

        • type: "commit"

          • "commit"
  • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

    • id: string

    • created_at: string

      A timestamp in RFC 3339 format

    • file_id: string

    • mount_path: string

    • type: "file"

      • "file"
    • updated_at: string

      A timestamp in RFC 3339 format

  • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

    A memory store attached to an agent session.

    • memory_store_id: string

      The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

    • type: "memory_store"

      • "memory_store"
    • access: optional "read_write" or "read_only"

      Access mode for an attached memory store.

      • "read_write"

      • "read_only"

    • description: optional string

      Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

    • instructions: optional string

      Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

    • mount_path: optional string

      Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

    • name: optional string

      Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/resources/$RESOURCE_ID \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "id": "sesrsc_011CZkZCKr6eXyl0gWMOdQiu",
  "created_at": "2026-03-15T10:00:00Z",
  "mount_path": "/workspace/example-repo",
  "type": "github_repository",
  "updated_at": "2026-03-15T10:00:00Z",
  "url": "https://github.com/example-org/example-repo",
  "checkout": {
    "name": "main",
    "type": "branch"
  }
}

Update Session Resource

post /v1/sessions/{session_id}/resources/{resource_id}

Update Session Resource

Path Parameters

  • session_id: string

  • resource_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Body Parameters

  • authorization_token: string

    New authorization token for the resource. Currently only github_repository resources support token rotation.

Returns

  • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

    • id: string

    • created_at: string

      A timestamp in RFC 3339 format

    • mount_path: string

    • type: "github_repository"

      • "github_repository"
    • updated_at: string

      A timestamp in RFC 3339 format

    • url: string

    • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

      • BetaManagedAgentsBranchCheckout object { name, type }

        • name: string

          Branch name to check out.

        • type: "branch"

          • "branch"
      • BetaManagedAgentsCommitCheckout object { sha, type }

        • sha: string

          Full commit SHA to check out.

        • type: "commit"

          • "commit"
  • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

    • id: string

    • created_at: string

      A timestamp in RFC 3339 format

    • file_id: string

    • mount_path: string

    • type: "file"

      • "file"
    • updated_at: string

      A timestamp in RFC 3339 format

  • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

    A memory store attached to an agent session.

    • memory_store_id: string

      The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

    • type: "memory_store"

      • "memory_store"
    • access: optional "read_write" or "read_only"

      Access mode for an attached memory store.

      • "read_write"

      • "read_only"

    • description: optional string

      Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

    • instructions: optional string

      Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

    • mount_path: optional string

      Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

    • name: optional string

      Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/resources/$RESOURCE_ID \
    -H 'Content-Type: application/json' \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY" \
    -d '{
          "authorization_token": "ghp_exampletoken"
        }'

Response

{
  "id": "sesrsc_011CZkZCKr6eXyl0gWMOdQiu",
  "created_at": "2026-03-15T10:00:00Z",
  "mount_path": "/workspace/example-repo",
  "type": "github_repository",
  "updated_at": "2026-03-15T10:00:00Z",
  "url": "https://github.com/example-org/example-repo",
  "checkout": {
    "name": "main",
    "type": "branch"
  }
}

Delete Session Resource

delete /v1/sessions/{session_id}/resources/{resource_id}

Delete Session Resource

Path Parameters

  • session_id: string

  • resource_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • BetaManagedAgentsDeleteSessionResource object { id, type }

    Confirmation of resource deletion.

    • id: string

    • type: "session_resource_deleted"

      • "session_resource_deleted"

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/resources/$RESOURCE_ID \
    -X DELETE \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
  "type": "session_resource_deleted"
}

Domain Types

Beta Managed Agents Delete Session Resource

  • BetaManagedAgentsDeleteSessionResource object { id, type }

    Confirmation of resource deletion.

    • id: string

    • type: "session_resource_deleted"

      • "session_resource_deleted"

Beta Managed Agents File Resource

  • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

    • id: string

    • created_at: string

      A timestamp in RFC 3339 format

    • file_id: string

    • mount_path: string

    • type: "file"

      • "file"
    • updated_at: string

      A timestamp in RFC 3339 format

Beta Managed Agents GitHub Repository Resource

  • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

    • id: string

    • created_at: string

      A timestamp in RFC 3339 format

    • mount_path: string

    • type: "github_repository"

      • "github_repository"
    • updated_at: string

      A timestamp in RFC 3339 format

    • url: string

    • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

      • BetaManagedAgentsBranchCheckout object { name, type }

        • name: string

          Branch name to check out.

        • type: "branch"

          • "branch"
      • BetaManagedAgentsCommitCheckout object { sha, type }

        • sha: string

          Full commit SHA to check out.

        • type: "commit"

          • "commit"

Beta Managed Agents Memory Store Resource

  • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

    A memory store attached to an agent session.

    • memory_store_id: string

      The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

    • type: "memory_store"

      • "memory_store"
    • access: optional "read_write" or "read_only"

      Access mode for an attached memory store.

      • "read_write"

      • "read_only"

    • description: optional string

      Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

    • instructions: optional string

      Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

    • mount_path: optional string

      Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

    • name: optional string

      Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

Beta Managed Agents Session Resource

  • BetaManagedAgentsSessionResource = BetaManagedAgentsGitHubRepositoryResource or BetaManagedAgentsFileResource or BetaManagedAgentsMemoryStoreResource

    A memory store attached to an agent session.

    • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

      • id: string

      • created_at: string

        A timestamp in RFC 3339 format

      • mount_path: string

      • type: "github_repository"

        • "github_repository"
      • updated_at: string

        A timestamp in RFC 3339 format

      • url: string

      • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

        • BetaManagedAgentsBranchCheckout object { name, type }

          • name: string

            Branch name to check out.

          • type: "branch"

            • "branch"
        • BetaManagedAgentsCommitCheckout object { sha, type }

          • sha: string

            Full commit SHA to check out.

          • type: "commit"

            • "commit"
    • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

      • id: string

      • created_at: string

        A timestamp in RFC 3339 format

      • file_id: string

      • mount_path: string

      • type: "file"

        • "file"
      • updated_at: string

        A timestamp in RFC 3339 format

    • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

      A memory store attached to an agent session.

      • memory_store_id: string

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      • type: "memory_store"

        • "memory_store"
      • access: optional "read_write" or "read_only"

        Access mode for an attached memory store.

        • "read_write"

        • "read_only"

      • description: optional string

        Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

      • instructions: optional string

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

      • mount_path: optional string

        Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

      • name: optional string

        Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

Resource Retrieve Response

  • ResourceRetrieveResponse = BetaManagedAgentsGitHubRepositoryResource or BetaManagedAgentsFileResource or BetaManagedAgentsMemoryStoreResource

    The requested session resource.

    • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

      • id: string

      • created_at: string

        A timestamp in RFC 3339 format

      • mount_path: string

      • type: "github_repository"

        • "github_repository"
      • updated_at: string

        A timestamp in RFC 3339 format

      • url: string

      • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

        • BetaManagedAgentsBranchCheckout object { name, type }

          • name: string

            Branch name to check out.

          • type: "branch"

            • "branch"
        • BetaManagedAgentsCommitCheckout object { sha, type }

          • sha: string

            Full commit SHA to check out.

          • type: "commit"

            • "commit"
    • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

      • id: string

      • created_at: string

        A timestamp in RFC 3339 format

      • file_id: string

      • mount_path: string

      • type: "file"

        • "file"
      • updated_at: string

        A timestamp in RFC 3339 format

    • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

      A memory store attached to an agent session.

      • memory_store_id: string

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      • type: "memory_store"

        • "memory_store"
      • access: optional "read_write" or "read_only"

        Access mode for an attached memory store.

        • "read_write"

        • "read_only"

      • description: optional string

        Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

      • instructions: optional string

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

      • mount_path: optional string

        Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

      • name: optional string

        Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

Resource Update Response

  • ResourceUpdateResponse = BetaManagedAgentsGitHubRepositoryResource or BetaManagedAgentsFileResource or BetaManagedAgentsMemoryStoreResource

    The updated session resource.

    • BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }

      • id: string

      • created_at: string

        A timestamp in RFC 3339 format

      • mount_path: string

      • type: "github_repository"

        • "github_repository"
      • updated_at: string

        A timestamp in RFC 3339 format

      • url: string

      • checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout

        • BetaManagedAgentsBranchCheckout object { name, type }

          • name: string

            Branch name to check out.

          • type: "branch"

            • "branch"
        • BetaManagedAgentsCommitCheckout object { sha, type }

          • sha: string

            Full commit SHA to check out.

          • type: "commit"

            • "commit"
    • BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }

      • id: string

      • created_at: string

        A timestamp in RFC 3339 format

      • file_id: string

      • mount_path: string

      • type: "file"

        • "file"
      • updated_at: string

        A timestamp in RFC 3339 format

    • BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }

      A memory store attached to an agent session.

      • memory_store_id: string

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      • type: "memory_store"

        • "memory_store"
      • access: optional "read_write" or "read_only"

        Access mode for an attached memory store.

        • "read_write"

        • "read_only"

      • description: optional string

        Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

      • instructions: optional string

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

      • mount_path: optional string

        Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

      • name: optional string

        Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

Threads

List Session Threads

get /v1/sessions/{session_id}/threads

List Session Threads

Path Parameters

  • session_id: string

Query Parameters

  • limit: optional number

    Maximum results per page. Defaults to 1000.

  • page: optional string

    Opaque pagination cursor from a previous response's next_page. Forward-only.

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • data: optional array of BetaManagedAgentsSessionThread

    Threads in the session, primary first then children in spawn order.

    • id: string

      Unique identifier for this thread.

    • agent: 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.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

          • skill_id: string

          • type: "anthropic"

            • "anthropic"
          • version: string

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

          • skill_id: string

          • type: "custom"

            • "custom"
          • version: string

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • configs: array of BetaManagedAgentsAgentToolConfig

            • enabled: boolean

            • name: "bash" or "edit" or "read" or 5 more

              Built-in agent tool identifier.

              • "bash"

              • "edit"

              • "read"

              • "write"

              • "glob"

              • "grep"

              • "web_fetch"

              • "web_search"

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

                • type: "always_allow"

                  • "always_allow"
              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

                • type: "always_ask"

                  • "always_ask"
          • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

            Resolved default configuration for agent tools.

            • enabled: boolean

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • type: "agent_toolset_20260401"

            • "agent_toolset_20260401"
        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • configs: array of BetaManagedAgentsMCPToolConfig

            • enabled: boolean

            • name: string

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

            Resolved default configuration for all tools from an MCP server.

            • enabled: boolean

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • mcp_server_name: string

          • type: "mcp_toolset"

            • "mcp_toolset"
        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

          • description: string

          • input_schema: BetaManagedAgentsCustomToolInputSchema

            JSON Schema for custom tool input parameters.

            • properties: optional map[unknown]

              JSON Schema properties defining the tool's input parameters.

            • required: optional array of string

              List of required property names.

            • type: optional "object"

              Must be 'object' for tool input schemas.

              • "object"
          • name: string

          • type: "custom"

            • "custom"
      • type: "agent"

        • "agent"
      • version: number

    • archived_at: string

      A timestamp in RFC 3339 format

    • created_at: string

      A timestamp in RFC 3339 format

    • parent_thread_id: string

      Parent thread that spawned this thread. Null for the primary thread.

    • session_id: string

      The session this thread belongs to.

    • stats: BetaManagedAgentsSessionThreadStats

      Timing statistics for a session thread.

      • active_seconds: optional number

        Cumulative time in seconds the thread spent actively running. Excludes idle time.

      • duration_seconds: optional number

        Elapsed time since thread creation in seconds. For archived threads, frozen at the final update.

      • startup_seconds: optional number

        Time in seconds for the thread to begin running. Zero for child threads, which start immediately.

    • status: BetaManagedAgentsSessionThreadStatus

      SessionThreadStatus enum

      • "running"

      • "idle"

      • "rescheduling"

      • "terminated"

    • type: "session_thread"

      • "session_thread"
    • updated_at: string

      A timestamp in RFC 3339 format

    • usage: BetaManagedAgentsSessionThreadUsage

      Cumulative token usage for a session thread across all turns.

      • cache_creation: optional BetaManagedAgentsCacheCreationUsage

        Prompt-cache creation token usage broken down by cache lifetime.

        • ephemeral_1h_input_tokens: optional number

          Tokens used to create 1-hour ephemeral cache entries.

        • ephemeral_5m_input_tokens: optional number

          Tokens used to create 5-minute ephemeral cache entries.

      • cache_read_input_tokens: optional number

        Total tokens read from prompt cache.

      • input_tokens: optional number

        Total input tokens consumed across all turns.

      • output_tokens: optional number

        Total output tokens generated across all turns.

  • next_page: optional string

    Opaque cursor for the next page. Null when no more results.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/threads \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "data": [
    {
      "id": "sthr_011CZkZVWa6oIjw0rgXZpnBt",
      "agent": {
        "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
        "description": "A focused research subagent.",
        "mcp_servers": [
          {
            "name": "example-mcp",
            "type": "url",
            "url": "https://example-server.modelcontextprotocol.io/sse"
          }
        ],
        "model": {
          "id": "claude-sonnet-4-6",
          "speed": "standard"
        },
        "name": "Researcher",
        "skills": [
          {
            "skill_id": "xlsx",
            "type": "anthropic",
            "version": "1"
          }
        ],
        "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
        "tools": [
          {
            "configs": [
              {
                "enabled": true,
                "name": "bash",
                "permission_policy": {
                  "type": "always_allow"
                }
              }
            ],
            "default_config": {
              "enabled": true,
              "permission_policy": {
                "type": "always_ask"
              }
            },
            "type": "agent_toolset_20260401"
          }
        ],
        "type": "agent",
        "version": 1
      },
      "archived_at": null,
      "created_at": "2026-03-15T10:00:00Z",
      "parent_thread_id": null,
      "session_id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
      "stats": {
        "active_seconds": 0,
        "duration_seconds": 0,
        "startup_seconds": 0
      },
      "status": "idle",
      "type": "session_thread",
      "updated_at": "2026-03-15T10:00:00Z",
      "usage": {
        "cache_creation": {
          "ephemeral_1h_input_tokens": 0,
          "ephemeral_5m_input_tokens": 0
        },
        "cache_read_input_tokens": 0,
        "input_tokens": 0,
        "output_tokens": 0
      }
    }
  ],
  "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}

Get Session Thread

get /v1/sessions/{session_id}/threads/{thread_id}

Get Session Thread

Path Parameters

  • session_id: string

  • thread_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • BetaManagedAgentsSessionThread object { id, agent, archived_at, 8 more }

    An execution thread within a session. Each session has one primary thread plus zero or more child threads spawned by the coordinator.

    • id: string

      Unique identifier for this thread.

    • agent: 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.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

          • skill_id: string

          • type: "anthropic"

            • "anthropic"
          • version: string

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

          • skill_id: string

          • type: "custom"

            • "custom"
          • version: string

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • configs: array of BetaManagedAgentsAgentToolConfig

            • enabled: boolean

            • name: "bash" or "edit" or "read" or 5 more

              Built-in agent tool identifier.

              • "bash"

              • "edit"

              • "read"

              • "write"

              • "glob"

              • "grep"

              • "web_fetch"

              • "web_search"

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

                • type: "always_allow"

                  • "always_allow"
              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

                • type: "always_ask"

                  • "always_ask"
          • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

            Resolved default configuration for agent tools.

            • enabled: boolean

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • type: "agent_toolset_20260401"

            • "agent_toolset_20260401"
        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • configs: array of BetaManagedAgentsMCPToolConfig

            • enabled: boolean

            • name: string

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

            Resolved default configuration for all tools from an MCP server.

            • enabled: boolean

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • mcp_server_name: string

          • type: "mcp_toolset"

            • "mcp_toolset"
        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

          • description: string

          • input_schema: BetaManagedAgentsCustomToolInputSchema

            JSON Schema for custom tool input parameters.

            • properties: optional map[unknown]

              JSON Schema properties defining the tool's input parameters.

            • required: optional array of string

              List of required property names.

            • type: optional "object"

              Must be 'object' for tool input schemas.

              • "object"
          • name: string

          • type: "custom"

            • "custom"
      • type: "agent"

        • "agent"
      • version: number

    • archived_at: string

      A timestamp in RFC 3339 format

    • created_at: string

      A timestamp in RFC 3339 format

    • parent_thread_id: string

      Parent thread that spawned this thread. Null for the primary thread.

    • session_id: string

      The session this thread belongs to.

    • stats: BetaManagedAgentsSessionThreadStats

      Timing statistics for a session thread.

      • active_seconds: optional number

        Cumulative time in seconds the thread spent actively running. Excludes idle time.

      • duration_seconds: optional number

        Elapsed time since thread creation in seconds. For archived threads, frozen at the final update.

      • startup_seconds: optional number

        Time in seconds for the thread to begin running. Zero for child threads, which start immediately.

    • status: BetaManagedAgentsSessionThreadStatus

      SessionThreadStatus enum

      • "running"

      • "idle"

      • "rescheduling"

      • "terminated"

    • type: "session_thread"

      • "session_thread"
    • updated_at: string

      A timestamp in RFC 3339 format

    • usage: BetaManagedAgentsSessionThreadUsage

      Cumulative token usage for a session thread across all turns.

      • cache_creation: optional BetaManagedAgentsCacheCreationUsage

        Prompt-cache creation token usage broken down by cache lifetime.

        • ephemeral_1h_input_tokens: optional number

          Tokens used to create 1-hour ephemeral cache entries.

        • ephemeral_5m_input_tokens: optional number

          Tokens used to create 5-minute ephemeral cache entries.

      • cache_read_input_tokens: optional number

        Total tokens read from prompt cache.

      • input_tokens: optional number

        Total input tokens consumed across all turns.

      • output_tokens: optional number

        Total output tokens generated across all turns.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/threads/$THREAD_ID \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "id": "sthr_011CZkZVWa6oIjw0rgXZpnBt",
  "agent": {
    "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
    "description": "A focused research subagent.",
    "mcp_servers": [
      {
        "name": "example-mcp",
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse"
      }
    ],
    "model": {
      "id": "claude-sonnet-4-6",
      "speed": "standard"
    },
    "name": "Researcher",
    "skills": [
      {
        "skill_id": "xlsx",
        "type": "anthropic",
        "version": "1"
      }
    ],
    "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
    "tools": [
      {
        "configs": [
          {
            "enabled": true,
            "name": "bash",
            "permission_policy": {
              "type": "always_allow"
            }
          }
        ],
        "default_config": {
          "enabled": true,
          "permission_policy": {
            "type": "always_ask"
          }
        },
        "type": "agent_toolset_20260401"
      }
    ],
    "type": "agent",
    "version": 1
  },
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "parent_thread_id": null,
  "session_id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0,
    "startup_seconds": 0
  },
  "status": "idle",
  "type": "session_thread",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "output_tokens": 0
  }
}

Archive Session Thread

post /v1/sessions/{session_id}/threads/{thread_id}/archive

Archive Session Thread

Path Parameters

  • session_id: string

  • thread_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • BetaManagedAgentsSessionThread object { id, agent, archived_at, 8 more }

    An execution thread within a session. Each session has one primary thread plus zero or more child threads spawned by the coordinator.

    • id: string

      Unique identifier for this thread.

    • agent: 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.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

          • skill_id: string

          • type: "anthropic"

            • "anthropic"
          • version: string

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

          • skill_id: string

          • type: "custom"

            • "custom"
          • version: string

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • configs: array of BetaManagedAgentsAgentToolConfig

            • enabled: boolean

            • name: "bash" or "edit" or "read" or 5 more

              Built-in agent tool identifier.

              • "bash"

              • "edit"

              • "read"

              • "write"

              • "glob"

              • "grep"

              • "web_fetch"

              • "web_search"

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

                • type: "always_allow"

                  • "always_allow"
              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

                • type: "always_ask"

                  • "always_ask"
          • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

            Resolved default configuration for agent tools.

            • enabled: boolean

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • type: "agent_toolset_20260401"

            • "agent_toolset_20260401"
        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • configs: array of BetaManagedAgentsMCPToolConfig

            • enabled: boolean

            • name: string

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

            Resolved default configuration for all tools from an MCP server.

            • enabled: boolean

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • mcp_server_name: string

          • type: "mcp_toolset"

            • "mcp_toolset"
        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

          • description: string

          • input_schema: BetaManagedAgentsCustomToolInputSchema

            JSON Schema for custom tool input parameters.

            • properties: optional map[unknown]

              JSON Schema properties defining the tool's input parameters.

            • required: optional array of string

              List of required property names.

            • type: optional "object"

              Must be 'object' for tool input schemas.

              • "object"
          • name: string

          • type: "custom"

            • "custom"
      • type: "agent"

        • "agent"
      • version: number

    • archived_at: string

      A timestamp in RFC 3339 format

    • created_at: string

      A timestamp in RFC 3339 format

    • parent_thread_id: string

      Parent thread that spawned this thread. Null for the primary thread.

    • session_id: string

      The session this thread belongs to.

    • stats: BetaManagedAgentsSessionThreadStats

      Timing statistics for a session thread.

      • active_seconds: optional number

        Cumulative time in seconds the thread spent actively running. Excludes idle time.

      • duration_seconds: optional number

        Elapsed time since thread creation in seconds. For archived threads, frozen at the final update.

      • startup_seconds: optional number

        Time in seconds for the thread to begin running. Zero for child threads, which start immediately.

    • status: BetaManagedAgentsSessionThreadStatus

      SessionThreadStatus enum

      • "running"

      • "idle"

      • "rescheduling"

      • "terminated"

    • type: "session_thread"

      • "session_thread"
    • updated_at: string

      A timestamp in RFC 3339 format

    • usage: BetaManagedAgentsSessionThreadUsage

      Cumulative token usage for a session thread across all turns.

      • cache_creation: optional BetaManagedAgentsCacheCreationUsage

        Prompt-cache creation token usage broken down by cache lifetime.

        • ephemeral_1h_input_tokens: optional number

          Tokens used to create 1-hour ephemeral cache entries.

        • ephemeral_5m_input_tokens: optional number

          Tokens used to create 5-minute ephemeral cache entries.

      • cache_read_input_tokens: optional number

        Total tokens read from prompt cache.

      • input_tokens: optional number

        Total input tokens consumed across all turns.

      • output_tokens: optional number

        Total output tokens generated across all turns.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/threads/$THREAD_ID/archive \
    -X POST \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "id": "sthr_011CZkZVWa6oIjw0rgXZpnBt",
  "agent": {
    "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
    "description": "A focused research subagent.",
    "mcp_servers": [
      {
        "name": "example-mcp",
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse"
      }
    ],
    "model": {
      "id": "claude-sonnet-4-6",
      "speed": "standard"
    },
    "name": "Researcher",
    "skills": [
      {
        "skill_id": "xlsx",
        "type": "anthropic",
        "version": "1"
      }
    ],
    "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
    "tools": [
      {
        "configs": [
          {
            "enabled": true,
            "name": "bash",
            "permission_policy": {
              "type": "always_allow"
            }
          }
        ],
        "default_config": {
          "enabled": true,
          "permission_policy": {
            "type": "always_ask"
          }
        },
        "type": "agent_toolset_20260401"
      }
    ],
    "type": "agent",
    "version": 1
  },
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "parent_thread_id": null,
  "session_id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0,
    "startup_seconds": 0
  },
  "status": "idle",
  "type": "session_thread",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "output_tokens": 0
  }
}

Domain Types

Beta Managed Agents Session Thread

  • BetaManagedAgentsSessionThread object { id, agent, archived_at, 8 more }

    An execution thread within a session. Each session has one primary thread plus zero or more child threads spawned by the coordinator.

    • id: string

      Unique identifier for this thread.

    • agent: 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.

      • id: string

      • description: string

      • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

        • name: string

        • type: "url"

          • "url"
        • url: string

      • model: BetaManagedAgentsModelConfig

        Model identifier and configuration.

        • id: BetaManagedAgentsModel

          The model that will power your agent.

          See models for additional details and options.

          • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7"

              Frontier intelligence for long-running agents and coding

            • "claude-opus-4-6"

              Most intelligent model for building 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"

              Premium model combining maximum intelligence with practical performance

            • "claude-opus-4-5-20251101"

              Premium model combining maximum intelligence with practical performance

            • "claude-sonnet-4-5"

              High-performance model for agents and coding

            • "claude-sonnet-4-5-20250929"

              High-performance model for agents and coding

          • string

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

      • name: string

      • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

        • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

          A resolved Anthropic-managed skill.

          • skill_id: string

          • type: "anthropic"

            • "anthropic"
          • version: string

        • BetaManagedAgentsCustomSkill object { skill_id, type, version }

          A resolved user-created custom skill.

          • skill_id: string

          • type: "custom"

            • "custom"
          • version: string

      • system: string

      • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

        • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • configs: array of BetaManagedAgentsAgentToolConfig

            • enabled: boolean

            • name: "bash" or "edit" or "read" or 5 more

              Built-in agent tool identifier.

              • "bash"

              • "edit"

              • "read"

              • "write"

              • "glob"

              • "grep"

              • "web_fetch"

              • "web_search"

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

                • type: "always_allow"

                  • "always_allow"
              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

                • type: "always_ask"

                  • "always_ask"
          • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

            Resolved default configuration for agent tools.

            • enabled: boolean

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • type: "agent_toolset_20260401"

            • "agent_toolset_20260401"
        • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • configs: array of BetaManagedAgentsMCPToolConfig

            • enabled: boolean

            • name: string

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

            Resolved default configuration for all tools from an MCP server.

            • enabled: boolean

            • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

              Permission policy for tool execution.

              • BetaManagedAgentsAlwaysAllowPolicy object { type }

                Tool calls are automatically approved without user confirmation.

              • BetaManagedAgentsAlwaysAskPolicy object { type }

                Tool calls require user confirmation before execution.

          • mcp_server_name: string

          • type: "mcp_toolset"

            • "mcp_toolset"
        • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

          A custom tool as returned in API responses.

          • description: string

          • input_schema: BetaManagedAgentsCustomToolInputSchema

            JSON Schema for custom tool input parameters.

            • properties: optional map[unknown]

              JSON Schema properties defining the tool's input parameters.

            • required: optional array of string

              List of required property names.

            • type: optional "object"

              Must be 'object' for tool input schemas.

              • "object"
          • name: string

          • type: "custom"

            • "custom"
      • type: "agent"

        • "agent"
      • version: number

    • archived_at: string

      A timestamp in RFC 3339 format

    • created_at: string

      A timestamp in RFC 3339 format

    • parent_thread_id: string

      Parent thread that spawned this thread. Null for the primary thread.

    • session_id: string

      The session this thread belongs to.

    • stats: BetaManagedAgentsSessionThreadStats

      Timing statistics for a session thread.

      • active_seconds: optional number

        Cumulative time in seconds the thread spent actively running. Excludes idle time.

      • duration_seconds: optional number

        Elapsed time since thread creation in seconds. For archived threads, frozen at the final update.

      • startup_seconds: optional number

        Time in seconds for the thread to begin running. Zero for child threads, which start immediately.

    • status: BetaManagedAgentsSessionThreadStatus

      SessionThreadStatus enum

      • "running"

      • "idle"

      • "rescheduling"

      • "terminated"

    • type: "session_thread"

      • "session_thread"
    • updated_at: string

      A timestamp in RFC 3339 format

    • usage: BetaManagedAgentsSessionThreadUsage

      Cumulative token usage for a session thread across all turns.

      • cache_creation: optional BetaManagedAgentsCacheCreationUsage

        Prompt-cache creation token usage broken down by cache lifetime.

        • ephemeral_1h_input_tokens: optional number

          Tokens used to create 1-hour ephemeral cache entries.

        • ephemeral_5m_input_tokens: optional number

          Tokens used to create 5-minute ephemeral cache entries.

      • cache_read_input_tokens: optional number

        Total tokens read from prompt cache.

      • input_tokens: optional number

        Total input tokens consumed across all turns.

      • output_tokens: optional number

        Total output tokens generated across all turns.

Beta Managed Agents Session Thread Stats

  • BetaManagedAgentsSessionThreadStats object { active_seconds, duration_seconds, startup_seconds }

    Timing statistics for a session thread.

    • active_seconds: optional number

      Cumulative time in seconds the thread spent actively running. Excludes idle time.

    • duration_seconds: optional number

      Elapsed time since thread creation in seconds. For archived threads, frozen at the final update.

    • startup_seconds: optional number

      Time in seconds for the thread to begin running. Zero for child threads, which start immediately.

Beta Managed Agents Session Thread Status

  • BetaManagedAgentsSessionThreadStatus = "running" or "idle" or "rescheduling" or "terminated"

    SessionThreadStatus enum

    • "running"

    • "idle"

    • "rescheduling"

    • "terminated"

Beta Managed Agents Session Thread Usage

  • BetaManagedAgentsSessionThreadUsage object { cache_creation, cache_read_input_tokens, input_tokens, output_tokens }

    Cumulative token usage for a session thread across all turns.

    • cache_creation: optional BetaManagedAgentsCacheCreationUsage

      Prompt-cache creation token usage broken down by cache lifetime.

      • ephemeral_1h_input_tokens: optional number

        Tokens used to create 1-hour ephemeral cache entries.

      • ephemeral_5m_input_tokens: optional number

        Tokens used to create 5-minute ephemeral cache entries.

    • cache_read_input_tokens: optional number

      Total tokens read from prompt cache.

    • input_tokens: optional number

      Total input tokens consumed across all turns.

    • output_tokens: optional number

      Total output tokens generated across all turns.

Beta Managed Agents Stream Session Thread Events

  • BetaManagedAgentsStreamSessionThreadEvents = BetaManagedAgentsUserMessageEvent or BetaManagedAgentsUserInterruptEvent or BetaManagedAgentsUserToolConfirmationEvent or 30 more

    Server-sent event in a single thread's stream.

    • BetaManagedAgentsUserMessageEvent object { id, content, type, processed_at }

      A user message event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Array of content blocks comprising the user message.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

          • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

            Union type for image source variants.

            • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

              Base64-encoded image data.

              • data: string

                Base64-encoded image data.

              • media_type: string

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsURLImageSource object { type, url }

              Image referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the image to fetch.

            • BetaManagedAgentsFileImageSource object { file_id, type }

              Image referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "image"

            • "image"
        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

            Union type for document source variants.

            • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

              Base64-encoded document data.

              • data: string

                Base64-encoded document data.

              • media_type: string

                MIME type of the document (e.g., "application/pdf").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

              Plain text document content.

              • data: string

                The plain text content.

              • media_type: "text/plain"

                MIME type of the text content. Must be "text/plain".

                • "text/plain"
              • type: "text"

                • "text"
            • BetaManagedAgentsURLDocumentSource object { type, url }

              Document referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the document to fetch.

            • BetaManagedAgentsFileDocumentSource object { file_id, type }

              Document referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "document"

            • "document"
          • context: optional string

            Additional context about the document for the model.

          • title: optional string

            The title of the document.

      • type: "user.message"

        • "user.message"
      • processed_at: optional string

        A timestamp in RFC 3339 format

    • BetaManagedAgentsUserInterruptEvent object { id, type, processed_at, session_thread_id }

      An interrupt event that pauses agent execution and returns control to the user.

      • id: string

        Unique identifier for this event.

      • type: "user.interrupt"

        • "user.interrupt"
      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

    • BetaManagedAgentsUserToolConfirmationEvent object { id, result, tool_use_id, 4 more }

      A tool confirmation event that approves or denies a pending tool execution.

      • id: string

        Unique identifier for this event.

      • result: "allow" or "deny"

        UserToolConfirmationResult enum

        • "allow"

        • "deny"

      • tool_use_id: string

        The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_confirmation"

        • "user.tool_confirmation"
      • deny_message: optional string

        Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        When set, the confirmation routes to this subagent's thread rather than the primary. Echo this from the session_thread_id on the agent.tool_use or agent.mcp_tool_use event that prompted the approval.

    • BetaManagedAgentsUserCustomToolResultEvent object { id, custom_tool_use_id, type, 4 more }

      Event sent by the client providing the result of a custom tool execution.

      • id: string

        Unique identifier for this event.

      • custom_tool_use_id: string

        The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.custom_tool_result"

        • "user.custom_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

          • citations: BetaManagedAgentsSearchResultCitations

            Citation settings for a search result.

            • enabled: boolean

              Whether citations are enabled for this search result.

          • content: array of BetaManagedAgentsSearchResultContent

            Array of text content blocks from the search result.

            • text: string

              The text content.

            • type: "text"

              • "text"
          • source: string

            The URL source of the search result.

          • title: string

            The title of the search result.

          • type: "search_result"

            • "search_result"
      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.custom_tool_use event's session_thread_id.

    • BetaManagedAgentsAgentCustomToolUseEvent object { id, input, name, 3 more }

      Event emitted when the agent calls a custom tool. The session goes idle until the client sends a user.custom_tool_result event with the result.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the custom tool being called.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.custom_tool_use"

        • "agent.custom_tool_use"
      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Echo this on a user.custom_tool_result event to route the result back.

    • BetaManagedAgentsAgentMessageEvent object { id, content, processed_at, type }

      An agent response event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock

        Array of text blocks comprising the agent response.

        • text: string

          The text content.

        • type: "text"

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.message"

        • "agent.message"
    • BetaManagedAgentsAgentThinkingEvent object { id, processed_at, type }

      Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thinking"

        • "agent.thinking"
    • BetaManagedAgentsAgentMCPToolUseEvent object { id, input, mcp_server_name, 5 more }

      Event emitted when the agent invokes a tool provided by an MCP server.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • mcp_server_name: string

        Name of the MCP server providing the tool.

      • name: string

        Name of the MCP tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_use"

        • "agent.mcp_tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentMCPToolResultEvent object { id, mcp_tool_use_id, processed_at, 3 more }

      Event representing the result of an MCP tool execution.

      • id: string

        Unique identifier for this event.

      • mcp_tool_use_id: string

        The id of the agent.mcp_tool_use event this result corresponds to.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_result"

        • "agent.mcp_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentToolUseEvent object { id, input, name, 4 more }

      Event emitted when the agent invokes a built-in agent tool.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the agent tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.tool_use"

        • "agent.tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentToolResultEvent object { id, processed_at, tool_use_id, 3 more }

      Event representing the result of an agent tool execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to.

      • type: "agent.tool_result"

        • "agent.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentThreadMessageReceivedEvent object { id, content, from_session_thread_id, 3 more }

      Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • from_session_thread_id: string

        Public sthr_ ID of the thread that sent the message.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_message_received"

        • "agent.thread_message_received"
      • from_agent_name: optional string

        Name of the callable agent this message came from. Absent when received from the primary agent.

    • BetaManagedAgentsAgentThreadMessageSentEvent object { id, content, processed_at, 3 more }

      Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • processed_at: string

        A timestamp in RFC 3339 format

      • to_session_thread_id: string

        Public sthr_ ID of the thread the message was sent to.

      • type: "agent.thread_message_sent"

        • "agent.thread_message_sent"
      • to_agent_name: optional string

        Name of the callable agent this message was sent to. Absent when sent to the primary agent.

    • BetaManagedAgentsAgentThreadContextCompactedEvent object { id, processed_at, type }

      Indicates that context compaction (summarization) occurred during the session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_context_compacted"

        • "agent.thread_context_compacted"
    • BetaManagedAgentsSessionErrorEvent object { id, error, processed_at, type }

      An error event indicating a problem occurred during session execution.

      • id: string

        Unique identifier for this event.

      • error: BetaManagedAgentsUnknownError or BetaManagedAgentsModelOverloadedError or BetaManagedAgentsModelRateLimitedError or 4 more

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

        • BetaManagedAgentsUnknownError object { message, retry_status, type }

          An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

              • type: "retrying"

                • "retrying"
            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

              • type: "exhausted"

                • "exhausted"
            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

              • type: "terminal"

                • "terminal"
          • type: "unknown_error"

            • "unknown_error"
        • BetaManagedAgentsModelOverloadedError object { message, retry_status, type }

          The model is currently overloaded. Emitted after automatic retries are exhausted.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_overloaded_error"

            • "model_overloaded_error"
        • BetaManagedAgentsModelRateLimitedError object { message, retry_status, type }

          The model request was rate-limited.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_rate_limited_error"

            • "model_rate_limited_error"
        • BetaManagedAgentsModelRequestFailedError object { message, retry_status, type }

          A model request failed for a reason other than overload or rate-limiting.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_request_failed_error"

            • "model_request_failed_error"
        • BetaManagedAgentsMCPConnectionFailedError object { mcp_server_name, message, retry_status, type }

          Failed to connect to an MCP server.

          • mcp_server_name: string

            Name of the MCP server that failed to connect.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_connection_failed_error"

            • "mcp_connection_failed_error"
        • BetaManagedAgentsMCPAuthenticationFailedError object { mcp_server_name, message, retry_status, type }

          Authentication to an MCP server failed.

          • mcp_server_name: string

            Name of the MCP server that failed authentication.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_authentication_failed_error"

            • "mcp_authentication_failed_error"
        • BetaManagedAgentsBillingError object { message, retry_status, type }

          The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "billing_error"

            • "billing_error"
      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.error"

        • "session.error"
    • BetaManagedAgentsSessionStatusRescheduledEvent object { id, processed_at, type }

      Indicates the session is recovering from an error state and is rescheduled for execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_rescheduled"

        • "session.status_rescheduled"
    • BetaManagedAgentsSessionStatusRunningEvent object { id, processed_at, type }

      Indicates the session is actively running and the agent is working.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_running"

        • "session.status_running"
    • BetaManagedAgentsSessionStatusIdleEvent object { id, processed_at, stop_reason, type }

      Indicates the agent has paused and is awaiting user input.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

          • type: "end_turn"

            • "end_turn"
        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

          • event_ids: array of string

            The ids of events the agent is blocked on. Resolving fewer than all re-emits session.status_idle with the remainder.

          • type: "requires_action"

            • "requires_action"
        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

          • type: "retries_exhausted"

            • "retries_exhausted"
      • type: "session.status_idle"

        • "session.status_idle"
    • BetaManagedAgentsSessionStatusTerminatedEvent object { id, processed_at, type }

      Indicates the session has terminated, either due to an error or completion.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_terminated"

        • "session.status_terminated"
    • BetaManagedAgentsSessionThreadCreatedEvent object { id, agent_name, processed_at, 2 more }

      Emitted when a subagent is spawned as a new thread. Written to the parent thread's output stream so clients observing the session see child creation.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the callable agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the newly created thread.

      • type: "session.thread_created"

        • "session.thread_created"
    • BetaManagedAgentsSpanOutcomeEvaluationStartEvent object { id, iteration, outcome_id, 2 more }

      Emitted when an outcome evaluation cycle begins.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_start"

        • "span.outcome_evaluation_start"
    • BetaManagedAgentsSpanOutcomeEvaluationEndEvent object { id, explanation, iteration, 6 more }

      Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of needs_revision means another evaluation cycle follows; satisfied, max_iterations_reached, failed, or interrupted are terminal — no further evaluation cycles follow.

      • id: string

        Unique identifier for this event.

      • explanation: string

        Human-readable explanation of the verdict. For needs_revision, describes which criteria failed and why.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_evaluation_start_id: string

        The id of the corresponding span.outcome_evaluation_start event.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • result: string

        Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

      • type: "span.outcome_evaluation_end"

        • "span.outcome_evaluation_end"
      • usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

        • cache_creation_input_tokens: number

          Tokens used to create prompt cache in this request.

        • cache_read_input_tokens: number

          Tokens read from prompt cache in this request.

        • input_tokens: number

          Input tokens consumed by this request.

        • output_tokens: number

          Output tokens generated by this request.

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

    • BetaManagedAgentsSpanModelRequestStartEvent object { id, processed_at, type }

      Emitted when a model request is initiated by the agent.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_start"

        • "span.model_request_start"
    • BetaManagedAgentsSpanModelRequestEndEvent object { id, is_error, model_request_start_id, 3 more }

      Emitted when a model request completes.

      • id: string

        Unique identifier for this event.

      • is_error: boolean

        Whether the model request resulted in an error.

      • model_request_start_id: string

        The id of the corresponding span.model_request_start event.

      • model_usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_end"

        • "span.model_request_end"
    • BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent object { id, iteration, outcome_id, 2 more }

      Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding span.outcome_evaluation_start and span.outcome_evaluation_end events.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_ongoing"

        • "span.outcome_evaluation_ongoing"
    • BetaManagedAgentsUserDefineOutcomeEvent object { id, description, max_iterations, 4 more }

      Echo of a user.define_outcome input event. Carries the server-generated outcome_id that subsequent span.outcome_evaluation_* events reference.

      • id: string

        Unique identifier for this event.

      • description: string

        What the agent should produce. Copied from the input event.

      • max_iterations: number

        Evaluate-then-revise cycles before giving up. Default 3, max 20.

      • outcome_id: string

        Server-generated outc_ ID for this outcome. Referenced by span.outcome_evaluation_* events and the session's outcome_evaluations list.

      • processed_at: string

        A timestamp in RFC 3339 format

      • rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric

        Rubric for grading the quality of an outcome.

        • BetaManagedAgentsFileRubric object { file_id, type }

          Rubric referenced by a file uploaded via the Files API.

          • file_id: string

            ID of the rubric file.

          • type: "file"

            • "file"
        • BetaManagedAgentsTextRubric object { content, type }

          Rubric content provided inline as text.

          • content: string

            Rubric content. Plain text or markdown — the grader treats it as freeform text.

          • type: "text"

            • "text"
      • type: "user.define_outcome"

        • "user.define_outcome"
    • BetaManagedAgentsSessionDeletedEvent object { id, processed_at, type }

      Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.deleted"

        • "session.deleted"
    • BetaManagedAgentsSessionThreadStatusRunningEvent object { id, agent_name, processed_at, 2 more }

      A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that started running.

      • type: "session.thread_status_running"

        • "session.thread_status_running"
    • BetaManagedAgentsSessionThreadStatusIdleEvent object { id, agent_name, processed_at, 3 more }

      A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that went idle.

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

      • type: "session.thread_status_idle"

        • "session.thread_status_idle"
    • BetaManagedAgentsSessionThreadStatusTerminatedEvent object { id, agent_name, processed_at, 2 more }

      A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that terminated.

      • type: "session.thread_status_terminated"

        • "session.thread_status_terminated"
    • BetaManagedAgentsUserToolResultEvent object { id, tool_use_id, type, 4 more }

      Event sent by the client providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

      • id: string

        Unique identifier for this event.

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_result"

        • "user.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.tool_use event's session_thread_id.

    • BetaManagedAgentsSessionThreadStatusRescheduledEvent object { id, agent_name, processed_at, 2 more }

      A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that is retrying.

      • type: "session.thread_status_rescheduled"

        • "session.thread_status_rescheduled"
    • BetaManagedAgentsSessionUpdatedEvent object { id, processed_at, type, 3 more }

      Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.updated"

        • "session.updated"
      • agent: optional BetaManagedAgentsSessionAgent

        Resolved agent definition for a session. Snapshot of the agent at session creation time.

        • id: string

        • description: string

        • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

          • name: string

          • type: "url"

            • "url"
          • url: string

        • model: BetaManagedAgentsModelConfig

          Model identifier and configuration.

          • id: BetaManagedAgentsModel

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

              The model that will power your agent.

              See models for additional details and options.

              • "claude-opus-4-7"

                Frontier intelligence for long-running agents and coding

              • "claude-opus-4-6"

                Most intelligent model for building 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"

                Premium model combining maximum intelligence with practical performance

              • "claude-opus-4-5-20251101"

                Premium model combining maximum intelligence with practical performance

              • "claude-sonnet-4-5"

                High-performance model for agents and coding

              • "claude-sonnet-4-5-20250929"

                High-performance model for agents and coding

            • string

          • speed: optional "standard" or "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.

            • "standard"

            • "fast"

        • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

          Resolved coordinator topology with full agent definitions for each roster member.

          • agents: array of BetaManagedAgentsSessionThreadAgent

            Full agent definitions the coordinator may spawn as session threads.

            • id: string

            • description: string

            • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

              • name: string

              • type: "url"

              • url: string

            • model: BetaManagedAgentsModelConfig

              Model identifier and configuration.

            • name: string

            • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

              • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

                A resolved Anthropic-managed skill.

                • skill_id: string

                • type: "anthropic"

                  • "anthropic"
                • version: string

              • BetaManagedAgentsCustomSkill object { skill_id, type, version }

                A resolved user-created custom skill.

                • skill_id: string

                • type: "custom"

                  • "custom"
                • version: string

            • system: string

            • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

              • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

                • configs: array of BetaManagedAgentsAgentToolConfig

                  • enabled: boolean

                  • name: "bash" or "edit" or "read" or 5 more

                    Built-in agent tool identifier.

                    • "bash"

                    • "edit"

                    • "read"

                    • "write"

                    • "glob"

                    • "grep"

                    • "web_fetch"

                    • "web_search"

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                      • type: "always_allow"

                        • "always_allow"
                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                      • type: "always_ask"

                        • "always_ask"
                • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                  Resolved default configuration for agent tools.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • type: "agent_toolset_20260401"

                  • "agent_toolset_20260401"
              • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

                • configs: array of BetaManagedAgentsMCPToolConfig

                  • enabled: boolean

                  • name: string

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                  Resolved default configuration for all tools from an MCP server.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • mcp_server_name: string

                • type: "mcp_toolset"

                  • "mcp_toolset"
              • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

                A custom tool as returned in API responses.

                • description: string

                • input_schema: BetaManagedAgentsCustomToolInputSchema

                  JSON Schema for custom tool input parameters.

                  • properties: optional map[unknown]

                    JSON Schema properties defining the tool's input parameters.

                  • required: optional array of string

                    List of required property names.

                  • type: optional "object"

                    Must be 'object' for tool input schemas.

                    • "object"
                • name: string

                • type: "custom"

                  • "custom"
            • type: "agent"

              • "agent"
            • version: number

          • type: "coordinator"

            • "coordinator"
        • name: string

        • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

          • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

            A resolved Anthropic-managed skill.

          • BetaManagedAgentsCustomSkill object { skill_id, type, version }

            A resolved user-created custom skill.

        • system: string

        • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

          • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

            A custom tool as returned in API responses.

        • type: "agent"

          • "agent"
        • version: number

      • metadata: optional map[string]

        The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

      • title: optional string

        The session's new title. Present only when the update changed it.

Events

List Session Thread Events

get /v1/sessions/{session_id}/threads/{thread_id}/events

List Session Thread Events

Path Parameters

  • session_id: string

  • thread_id: string

Query Parameters

  • limit: optional number

    Query parameter for limit

  • page: optional string

    Query parameter for page

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • data: optional array of BetaManagedAgentsSessionEvent

    Events for the thread, ordered by created_at.

    • BetaManagedAgentsUserMessageEvent object { id, content, type, processed_at }

      A user message event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Array of content blocks comprising the user message.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

          • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

            Union type for image source variants.

            • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

              Base64-encoded image data.

              • data: string

                Base64-encoded image data.

              • media_type: string

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsURLImageSource object { type, url }

              Image referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the image to fetch.

            • BetaManagedAgentsFileImageSource object { file_id, type }

              Image referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "image"

            • "image"
        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

            Union type for document source variants.

            • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

              Base64-encoded document data.

              • data: string

                Base64-encoded document data.

              • media_type: string

                MIME type of the document (e.g., "application/pdf").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

              Plain text document content.

              • data: string

                The plain text content.

              • media_type: "text/plain"

                MIME type of the text content. Must be "text/plain".

                • "text/plain"
              • type: "text"

                • "text"
            • BetaManagedAgentsURLDocumentSource object { type, url }

              Document referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the document to fetch.

            • BetaManagedAgentsFileDocumentSource object { file_id, type }

              Document referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "document"

            • "document"
          • context: optional string

            Additional context about the document for the model.

          • title: optional string

            The title of the document.

      • type: "user.message"

        • "user.message"
      • processed_at: optional string

        A timestamp in RFC 3339 format

    • BetaManagedAgentsUserInterruptEvent object { id, type, processed_at, session_thread_id }

      An interrupt event that pauses agent execution and returns control to the user.

      • id: string

        Unique identifier for this event.

      • type: "user.interrupt"

        • "user.interrupt"
      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

    • BetaManagedAgentsUserToolConfirmationEvent object { id, result, tool_use_id, 4 more }

      A tool confirmation event that approves or denies a pending tool execution.

      • id: string

        Unique identifier for this event.

      • result: "allow" or "deny"

        UserToolConfirmationResult enum

        • "allow"

        • "deny"

      • tool_use_id: string

        The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_confirmation"

        • "user.tool_confirmation"
      • deny_message: optional string

        Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        When set, the confirmation routes to this subagent's thread rather than the primary. Echo this from the session_thread_id on the agent.tool_use or agent.mcp_tool_use event that prompted the approval.

    • BetaManagedAgentsUserCustomToolResultEvent object { id, custom_tool_use_id, type, 4 more }

      Event sent by the client providing the result of a custom tool execution.

      • id: string

        Unique identifier for this event.

      • custom_tool_use_id: string

        The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.custom_tool_result"

        • "user.custom_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

          • citations: BetaManagedAgentsSearchResultCitations

            Citation settings for a search result.

            • enabled: boolean

              Whether citations are enabled for this search result.

          • content: array of BetaManagedAgentsSearchResultContent

            Array of text content blocks from the search result.

            • text: string

              The text content.

            • type: "text"

              • "text"
          • source: string

            The URL source of the search result.

          • title: string

            The title of the search result.

          • type: "search_result"

            • "search_result"
      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.custom_tool_use event's session_thread_id.

    • BetaManagedAgentsAgentCustomToolUseEvent object { id, input, name, 3 more }

      Event emitted when the agent calls a custom tool. The session goes idle until the client sends a user.custom_tool_result event with the result.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the custom tool being called.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.custom_tool_use"

        • "agent.custom_tool_use"
      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Echo this on a user.custom_tool_result event to route the result back.

    • BetaManagedAgentsAgentMessageEvent object { id, content, processed_at, type }

      An agent response event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock

        Array of text blocks comprising the agent response.

        • text: string

          The text content.

        • type: "text"

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.message"

        • "agent.message"
    • BetaManagedAgentsAgentThinkingEvent object { id, processed_at, type }

      Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thinking"

        • "agent.thinking"
    • BetaManagedAgentsAgentMCPToolUseEvent object { id, input, mcp_server_name, 5 more }

      Event emitted when the agent invokes a tool provided by an MCP server.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • mcp_server_name: string

        Name of the MCP server providing the tool.

      • name: string

        Name of the MCP tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_use"

        • "agent.mcp_tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentMCPToolResultEvent object { id, mcp_tool_use_id, processed_at, 3 more }

      Event representing the result of an MCP tool execution.

      • id: string

        Unique identifier for this event.

      • mcp_tool_use_id: string

        The id of the agent.mcp_tool_use event this result corresponds to.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_result"

        • "agent.mcp_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentToolUseEvent object { id, input, name, 4 more }

      Event emitted when the agent invokes a built-in agent tool.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the agent tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.tool_use"

        • "agent.tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentToolResultEvent object { id, processed_at, tool_use_id, 3 more }

      Event representing the result of an agent tool execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to.

      • type: "agent.tool_result"

        • "agent.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentThreadMessageReceivedEvent object { id, content, from_session_thread_id, 3 more }

      Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • from_session_thread_id: string

        Public sthr_ ID of the thread that sent the message.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_message_received"

        • "agent.thread_message_received"
      • from_agent_name: optional string

        Name of the callable agent this message came from. Absent when received from the primary agent.

    • BetaManagedAgentsAgentThreadMessageSentEvent object { id, content, processed_at, 3 more }

      Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • processed_at: string

        A timestamp in RFC 3339 format

      • to_session_thread_id: string

        Public sthr_ ID of the thread the message was sent to.

      • type: "agent.thread_message_sent"

        • "agent.thread_message_sent"
      • to_agent_name: optional string

        Name of the callable agent this message was sent to. Absent when sent to the primary agent.

    • BetaManagedAgentsAgentThreadContextCompactedEvent object { id, processed_at, type }

      Indicates that context compaction (summarization) occurred during the session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_context_compacted"

        • "agent.thread_context_compacted"
    • BetaManagedAgentsSessionErrorEvent object { id, error, processed_at, type }

      An error event indicating a problem occurred during session execution.

      • id: string

        Unique identifier for this event.

      • error: BetaManagedAgentsUnknownError or BetaManagedAgentsModelOverloadedError or BetaManagedAgentsModelRateLimitedError or 4 more

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

        • BetaManagedAgentsUnknownError object { message, retry_status, type }

          An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

              • type: "retrying"

                • "retrying"
            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

              • type: "exhausted"

                • "exhausted"
            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

              • type: "terminal"

                • "terminal"
          • type: "unknown_error"

            • "unknown_error"
        • BetaManagedAgentsModelOverloadedError object { message, retry_status, type }

          The model is currently overloaded. Emitted after automatic retries are exhausted.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_overloaded_error"

            • "model_overloaded_error"
        • BetaManagedAgentsModelRateLimitedError object { message, retry_status, type }

          The model request was rate-limited.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_rate_limited_error"

            • "model_rate_limited_error"
        • BetaManagedAgentsModelRequestFailedError object { message, retry_status, type }

          A model request failed for a reason other than overload or rate-limiting.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_request_failed_error"

            • "model_request_failed_error"
        • BetaManagedAgentsMCPConnectionFailedError object { mcp_server_name, message, retry_status, type }

          Failed to connect to an MCP server.

          • mcp_server_name: string

            Name of the MCP server that failed to connect.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_connection_failed_error"

            • "mcp_connection_failed_error"
        • BetaManagedAgentsMCPAuthenticationFailedError object { mcp_server_name, message, retry_status, type }

          Authentication to an MCP server failed.

          • mcp_server_name: string

            Name of the MCP server that failed authentication.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_authentication_failed_error"

            • "mcp_authentication_failed_error"
        • BetaManagedAgentsBillingError object { message, retry_status, type }

          The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "billing_error"

            • "billing_error"
      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.error"

        • "session.error"
    • BetaManagedAgentsSessionStatusRescheduledEvent object { id, processed_at, type }

      Indicates the session is recovering from an error state and is rescheduled for execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_rescheduled"

        • "session.status_rescheduled"
    • BetaManagedAgentsSessionStatusRunningEvent object { id, processed_at, type }

      Indicates the session is actively running and the agent is working.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_running"

        • "session.status_running"
    • BetaManagedAgentsSessionStatusIdleEvent object { id, processed_at, stop_reason, type }

      Indicates the agent has paused and is awaiting user input.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

          • type: "end_turn"

            • "end_turn"
        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

          • event_ids: array of string

            The ids of events the agent is blocked on. Resolving fewer than all re-emits session.status_idle with the remainder.

          • type: "requires_action"

            • "requires_action"
        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

          • type: "retries_exhausted"

            • "retries_exhausted"
      • type: "session.status_idle"

        • "session.status_idle"
    • BetaManagedAgentsSessionStatusTerminatedEvent object { id, processed_at, type }

      Indicates the session has terminated, either due to an error or completion.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_terminated"

        • "session.status_terminated"
    • BetaManagedAgentsSessionThreadCreatedEvent object { id, agent_name, processed_at, 2 more }

      Emitted when a subagent is spawned as a new thread. Written to the parent thread's output stream so clients observing the session see child creation.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the callable agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the newly created thread.

      • type: "session.thread_created"

        • "session.thread_created"
    • BetaManagedAgentsSpanOutcomeEvaluationStartEvent object { id, iteration, outcome_id, 2 more }

      Emitted when an outcome evaluation cycle begins.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_start"

        • "span.outcome_evaluation_start"
    • BetaManagedAgentsSpanOutcomeEvaluationEndEvent object { id, explanation, iteration, 6 more }

      Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of needs_revision means another evaluation cycle follows; satisfied, max_iterations_reached, failed, or interrupted are terminal — no further evaluation cycles follow.

      • id: string

        Unique identifier for this event.

      • explanation: string

        Human-readable explanation of the verdict. For needs_revision, describes which criteria failed and why.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_evaluation_start_id: string

        The id of the corresponding span.outcome_evaluation_start event.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • result: string

        Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

      • type: "span.outcome_evaluation_end"

        • "span.outcome_evaluation_end"
      • usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

        • cache_creation_input_tokens: number

          Tokens used to create prompt cache in this request.

        • cache_read_input_tokens: number

          Tokens read from prompt cache in this request.

        • input_tokens: number

          Input tokens consumed by this request.

        • output_tokens: number

          Output tokens generated by this request.

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

    • BetaManagedAgentsSpanModelRequestStartEvent object { id, processed_at, type }

      Emitted when a model request is initiated by the agent.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_start"

        • "span.model_request_start"
    • BetaManagedAgentsSpanModelRequestEndEvent object { id, is_error, model_request_start_id, 3 more }

      Emitted when a model request completes.

      • id: string

        Unique identifier for this event.

      • is_error: boolean

        Whether the model request resulted in an error.

      • model_request_start_id: string

        The id of the corresponding span.model_request_start event.

      • model_usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_end"

        • "span.model_request_end"
    • BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent object { id, iteration, outcome_id, 2 more }

      Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding span.outcome_evaluation_start and span.outcome_evaluation_end events.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_ongoing"

        • "span.outcome_evaluation_ongoing"
    • BetaManagedAgentsUserDefineOutcomeEvent object { id, description, max_iterations, 4 more }

      Echo of a user.define_outcome input event. Carries the server-generated outcome_id that subsequent span.outcome_evaluation_* events reference.

      • id: string

        Unique identifier for this event.

      • description: string

        What the agent should produce. Copied from the input event.

      • max_iterations: number

        Evaluate-then-revise cycles before giving up. Default 3, max 20.

      • outcome_id: string

        Server-generated outc_ ID for this outcome. Referenced by span.outcome_evaluation_* events and the session's outcome_evaluations list.

      • processed_at: string

        A timestamp in RFC 3339 format

      • rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric

        Rubric for grading the quality of an outcome.

        • BetaManagedAgentsFileRubric object { file_id, type }

          Rubric referenced by a file uploaded via the Files API.

          • file_id: string

            ID of the rubric file.

          • type: "file"

            • "file"
        • BetaManagedAgentsTextRubric object { content, type }

          Rubric content provided inline as text.

          • content: string

            Rubric content. Plain text or markdown — the grader treats it as freeform text.

          • type: "text"

            • "text"
      • type: "user.define_outcome"

        • "user.define_outcome"
    • BetaManagedAgentsSessionDeletedEvent object { id, processed_at, type }

      Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.deleted"

        • "session.deleted"
    • BetaManagedAgentsSessionThreadStatusRunningEvent object { id, agent_name, processed_at, 2 more }

      A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that started running.

      • type: "session.thread_status_running"

        • "session.thread_status_running"
    • BetaManagedAgentsSessionThreadStatusIdleEvent object { id, agent_name, processed_at, 3 more }

      A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that went idle.

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

      • type: "session.thread_status_idle"

        • "session.thread_status_idle"
    • BetaManagedAgentsSessionThreadStatusTerminatedEvent object { id, agent_name, processed_at, 2 more }

      A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that terminated.

      • type: "session.thread_status_terminated"

        • "session.thread_status_terminated"
    • BetaManagedAgentsUserToolResultEvent object { id, tool_use_id, type, 4 more }

      Event sent by the client providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

      • id: string

        Unique identifier for this event.

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_result"

        • "user.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.tool_use event's session_thread_id.

    • BetaManagedAgentsSessionThreadStatusRescheduledEvent object { id, agent_name, processed_at, 2 more }

      A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that is retrying.

      • type: "session.thread_status_rescheduled"

        • "session.thread_status_rescheduled"
    • BetaManagedAgentsSessionUpdatedEvent object { id, processed_at, type, 3 more }

      Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.updated"

        • "session.updated"
      • agent: optional BetaManagedAgentsSessionAgent

        Resolved agent definition for a session. Snapshot of the agent at session creation time.

        • id: string

        • description: string

        • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

          • name: string

          • type: "url"

            • "url"
          • url: string

        • model: BetaManagedAgentsModelConfig

          Model identifier and configuration.

          • id: BetaManagedAgentsModel

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

              The model that will power your agent.

              See models for additional details and options.

              • "claude-opus-4-7"

                Frontier intelligence for long-running agents and coding

              • "claude-opus-4-6"

                Most intelligent model for building 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"

                Premium model combining maximum intelligence with practical performance

              • "claude-opus-4-5-20251101"

                Premium model combining maximum intelligence with practical performance

              • "claude-sonnet-4-5"

                High-performance model for agents and coding

              • "claude-sonnet-4-5-20250929"

                High-performance model for agents and coding

            • string

          • speed: optional "standard" or "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.

            • "standard"

            • "fast"

        • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

          Resolved coordinator topology with full agent definitions for each roster member.

          • agents: array of BetaManagedAgentsSessionThreadAgent

            Full agent definitions the coordinator may spawn as session threads.

            • id: string

            • description: string

            • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

              • name: string

              • type: "url"

              • url: string

            • model: BetaManagedAgentsModelConfig

              Model identifier and configuration.

            • name: string

            • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

              • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

                A resolved Anthropic-managed skill.

                • skill_id: string

                • type: "anthropic"

                  • "anthropic"
                • version: string

              • BetaManagedAgentsCustomSkill object { skill_id, type, version }

                A resolved user-created custom skill.

                • skill_id: string

                • type: "custom"

                  • "custom"
                • version: string

            • system: string

            • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

              • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

                • configs: array of BetaManagedAgentsAgentToolConfig

                  • enabled: boolean

                  • name: "bash" or "edit" or "read" or 5 more

                    Built-in agent tool identifier.

                    • "bash"

                    • "edit"

                    • "read"

                    • "write"

                    • "glob"

                    • "grep"

                    • "web_fetch"

                    • "web_search"

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                      • type: "always_allow"

                        • "always_allow"
                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                      • type: "always_ask"

                        • "always_ask"
                • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                  Resolved default configuration for agent tools.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • type: "agent_toolset_20260401"

                  • "agent_toolset_20260401"
              • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

                • configs: array of BetaManagedAgentsMCPToolConfig

                  • enabled: boolean

                  • name: string

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                  Resolved default configuration for all tools from an MCP server.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • mcp_server_name: string

                • type: "mcp_toolset"

                  • "mcp_toolset"
              • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

                A custom tool as returned in API responses.

                • description: string

                • input_schema: BetaManagedAgentsCustomToolInputSchema

                  JSON Schema for custom tool input parameters.

                  • properties: optional map[unknown]

                    JSON Schema properties defining the tool's input parameters.

                  • required: optional array of string

                    List of required property names.

                  • type: optional "object"

                    Must be 'object' for tool input schemas.

                    • "object"
                • name: string

                • type: "custom"

                  • "custom"
            • type: "agent"

              • "agent"
            • version: number

          • type: "coordinator"

            • "coordinator"
        • name: string

        • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

          • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

            A resolved Anthropic-managed skill.

          • BetaManagedAgentsCustomSkill object { skill_id, type, version }

            A resolved user-created custom skill.

        • system: string

        • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

          • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

            A custom tool as returned in API responses.

        • type: "agent"

          • "agent"
        • version: number

      • metadata: optional map[string]

        The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

      • title: optional string

        The session's new title. Present only when the update changed it.

  • next_page: optional string

    Opaque cursor for the next page. Null when no more results.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/threads/$THREAD_ID/events \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "data": [
    {
      "id": "sevt_011CZkZGOp0iBcp4kaQSihUmy",
      "content": [
        {
          "text": "Where is my order #1234?",
          "type": "text"
        }
      ],
      "type": "user.message",
      "processed_at": "2026-03-15T10:00:00Z"
    }
  ],
  "next_page": "next_page"
}

Stream Session Thread Events

get /v1/sessions/{session_id}/threads/{thread_id}/stream

Stream Session Thread Events

Path Parameters

  • session_id: string

  • thread_id: string

Header Parameters

  • "anthropic-beta": optional array of AnthropicBeta

    Optional header to specify the beta version(s) you want to use.

    • string

    • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more

      • "message-batches-2024-09-24"

      • "prompt-caching-2024-07-31"

      • "computer-use-2024-10-22"

      • "computer-use-2025-01-24"

      • "pdfs-2024-09-25"

      • "token-counting-2024-11-01"

      • "token-efficient-tools-2025-02-19"

      • "output-128k-2025-02-19"

      • "files-api-2025-04-14"

      • "mcp-client-2025-04-04"

      • "mcp-client-2025-11-20"

      • "dev-full-thinking-2025-05-14"

      • "interleaved-thinking-2025-05-14"

      • "code-execution-2025-05-22"

      • "extended-cache-ttl-2025-04-11"

      • "context-1m-2025-08-07"

      • "context-management-2025-06-27"

      • "model-context-window-exceeded-2025-08-26"

      • "skills-2025-10-02"

      • "fast-mode-2026-02-01"

      • "output-300k-2026-03-24"

      • "user-profiles-2026-03-24"

      • "advisor-tool-2026-03-01"

      • "managed-agents-2026-04-01"

      • "cache-diagnosis-2026-04-07"

Returns

  • BetaManagedAgentsStreamSessionThreadEvents = BetaManagedAgentsUserMessageEvent or BetaManagedAgentsUserInterruptEvent or BetaManagedAgentsUserToolConfirmationEvent or 30 more

    Server-sent event in a single thread's stream.

    • BetaManagedAgentsUserMessageEvent object { id, content, type, processed_at }

      A user message event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Array of content blocks comprising the user message.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

          • text: string

            The text content.

          • type: "text"

            • "text"
        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

          • source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource

            Union type for image source variants.

            • BetaManagedAgentsBase64ImageSource object { data, media_type, type }

              Base64-encoded image data.

              • data: string

                Base64-encoded image data.

              • media_type: string

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsURLImageSource object { type, url }

              Image referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the image to fetch.

            • BetaManagedAgentsFileImageSource object { file_id, type }

              Image referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "image"

            • "image"
        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          • source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource

            Union type for document source variants.

            • BetaManagedAgentsBase64DocumentSource object { data, media_type, type }

              Base64-encoded document data.

              • data: string

                Base64-encoded document data.

              • media_type: string

                MIME type of the document (e.g., "application/pdf").

              • type: "base64"

                • "base64"
            • BetaManagedAgentsPlainTextDocumentSource object { data, media_type, type }

              Plain text document content.

              • data: string

                The plain text content.

              • media_type: "text/plain"

                MIME type of the text content. Must be "text/plain".

                • "text/plain"
              • type: "text"

                • "text"
            • BetaManagedAgentsURLDocumentSource object { type, url }

              Document referenced by URL.

              • type: "url"

                • "url"
              • url: string

                URL of the document to fetch.

            • BetaManagedAgentsFileDocumentSource object { file_id, type }

              Document referenced by file ID.

              • file_id: string

                ID of a previously uploaded file.

              • type: "file"

                • "file"
          • type: "document"

            • "document"
          • context: optional string

            Additional context about the document for the model.

          • title: optional string

            The title of the document.

      • type: "user.message"

        • "user.message"
      • processed_at: optional string

        A timestamp in RFC 3339 format

    • BetaManagedAgentsUserInterruptEvent object { id, type, processed_at, session_thread_id }

      An interrupt event that pauses agent execution and returns control to the user.

      • id: string

        Unique identifier for this event.

      • type: "user.interrupt"

        • "user.interrupt"
      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

    • BetaManagedAgentsUserToolConfirmationEvent object { id, result, tool_use_id, 4 more }

      A tool confirmation event that approves or denies a pending tool execution.

      • id: string

        Unique identifier for this event.

      • result: "allow" or "deny"

        UserToolConfirmationResult enum

        • "allow"

        • "deny"

      • tool_use_id: string

        The id of the agent.tool_use or agent.mcp_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_confirmation"

        • "user.tool_confirmation"
      • deny_message: optional string

        Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        When set, the confirmation routes to this subagent's thread rather than the primary. Echo this from the session_thread_id on the agent.tool_use or agent.mcp_tool_use event that prompted the approval.

    • BetaManagedAgentsUserCustomToolResultEvent object { id, custom_tool_use_id, type, 4 more }

      Event sent by the client providing the result of a custom tool execution.

      • id: string

        Unique identifier for this event.

      • custom_tool_use_id: string

        The id of the agent.custom_tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.custom_tool_result"

        • "user.custom_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

          • citations: BetaManagedAgentsSearchResultCitations

            Citation settings for a search result.

            • enabled: boolean

              Whether citations are enabled for this search result.

          • content: array of BetaManagedAgentsSearchResultContent

            Array of text content blocks from the search result.

            • text: string

              The text content.

            • type: "text"

              • "text"
          • source: string

            The URL source of the search result.

          • title: string

            The title of the search result.

          • type: "search_result"

            • "search_result"
      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.custom_tool_use event's session_thread_id.

    • BetaManagedAgentsAgentCustomToolUseEvent object { id, input, name, 3 more }

      Event emitted when the agent calls a custom tool. The session goes idle until the client sends a user.custom_tool_result event with the result.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the custom tool being called.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.custom_tool_use"

        • "agent.custom_tool_use"
      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Echo this on a user.custom_tool_result event to route the result back.

    • BetaManagedAgentsAgentMessageEvent object { id, content, processed_at, type }

      An agent response event in the session conversation.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock

        Array of text blocks comprising the agent response.

        • text: string

          The text content.

        • type: "text"

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.message"

        • "agent.message"
    • BetaManagedAgentsAgentThinkingEvent object { id, processed_at, type }

      Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thinking"

        • "agent.thinking"
    • BetaManagedAgentsAgentMCPToolUseEvent object { id, input, mcp_server_name, 5 more }

      Event emitted when the agent invokes a tool provided by an MCP server.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • mcp_server_name: string

        Name of the MCP server providing the tool.

      • name: string

        Name of the MCP tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_use"

        • "agent.mcp_tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentMCPToolResultEvent object { id, mcp_tool_use_id, processed_at, 3 more }

      Event representing the result of an MCP tool execution.

      • id: string

        Unique identifier for this event.

      • mcp_tool_use_id: string

        The id of the agent.mcp_tool_use event this result corresponds to.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.mcp_tool_result"

        • "agent.mcp_tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentToolUseEvent object { id, input, name, 4 more }

      Event emitted when the agent invokes a built-in agent tool.

      • id: string

        Unique identifier for this event.

      • input: map[unknown]

        Input parameters for the tool call.

      • name: string

        Name of the agent tool being used.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.tool_use"

        • "agent.tool_use"
      • evaluated_permission: optional "allow" or "ask" or "deny"

        AgentEvaluatedPermission enum

        • "allow"

        • "ask"

        • "deny"

      • session_thread_id: optional string

        When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Echo this on a user.tool_confirmation event to route the approval back.

    • BetaManagedAgentsAgentToolResultEvent object { id, processed_at, tool_use_id, 3 more }

      Event representing the result of an agent tool execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to.

      • type: "agent.tool_result"

        • "agent.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

    • BetaManagedAgentsAgentThreadMessageReceivedEvent object { id, content, from_session_thread_id, 3 more }

      Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • from_session_thread_id: string

        Public sthr_ ID of the thread that sent the message.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_message_received"

        • "agent.thread_message_received"
      • from_agent_name: optional string

        Name of the callable agent this message came from. Absent when received from the primary agent.

    • BetaManagedAgentsAgentThreadMessageSentEvent object { id, content, processed_at, 3 more }

      Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

      • id: string

        Unique identifier for this event.

      • content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock

        Message content blocks.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      • processed_at: string

        A timestamp in RFC 3339 format

      • to_session_thread_id: string

        Public sthr_ ID of the thread the message was sent to.

      • type: "agent.thread_message_sent"

        • "agent.thread_message_sent"
      • to_agent_name: optional string

        Name of the callable agent this message was sent to. Absent when sent to the primary agent.

    • BetaManagedAgentsAgentThreadContextCompactedEvent object { id, processed_at, type }

      Indicates that context compaction (summarization) occurred during the session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "agent.thread_context_compacted"

        • "agent.thread_context_compacted"
    • BetaManagedAgentsSessionErrorEvent object { id, error, processed_at, type }

      An error event indicating a problem occurred during session execution.

      • id: string

        Unique identifier for this event.

      • error: BetaManagedAgentsUnknownError or BetaManagedAgentsModelOverloadedError or BetaManagedAgentsModelRateLimitedError or 4 more

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

        • BetaManagedAgentsUnknownError object { message, retry_status, type }

          An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on retry_status and message alone.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

              • type: "retrying"

                • "retrying"
            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

              • type: "exhausted"

                • "exhausted"
            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

              • type: "terminal"

                • "terminal"
          • type: "unknown_error"

            • "unknown_error"
        • BetaManagedAgentsModelOverloadedError object { message, retry_status, type }

          The model is currently overloaded. Emitted after automatic retries are exhausted.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_overloaded_error"

            • "model_overloaded_error"
        • BetaManagedAgentsModelRateLimitedError object { message, retry_status, type }

          The model request was rate-limited.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_rate_limited_error"

            • "model_rate_limited_error"
        • BetaManagedAgentsModelRequestFailedError object { message, retry_status, type }

          A model request failed for a reason other than overload or rate-limiting.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "model_request_failed_error"

            • "model_request_failed_error"
        • BetaManagedAgentsMCPConnectionFailedError object { mcp_server_name, message, retry_status, type }

          Failed to connect to an MCP server.

          • mcp_server_name: string

            Name of the MCP server that failed to connect.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_connection_failed_error"

            • "mcp_connection_failed_error"
        • BetaManagedAgentsMCPAuthenticationFailedError object { mcp_server_name, message, retry_status, type }

          Authentication to an MCP server failed.

          • mcp_server_name: string

            Name of the MCP server that failed authentication.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "mcp_authentication_failed_error"

            • "mcp_authentication_failed_error"
        • BetaManagedAgentsBillingError object { message, retry_status, type }

          The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

          • message: string

            Human-readable error description.

          • retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal

            What the client should do next in response to this error.

            • BetaManagedAgentsRetryStatusRetrying object { type }

              The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            • BetaManagedAgentsRetryStatusExhausted object { type }

              This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            • BetaManagedAgentsRetryStatusTerminal object { type }

              The session encountered a terminal error and will transition to terminated state.

          • type: "billing_error"

            • "billing_error"
      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.error"

        • "session.error"
    • BetaManagedAgentsSessionStatusRescheduledEvent object { id, processed_at, type }

      Indicates the session is recovering from an error state and is rescheduled for execution.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_rescheduled"

        • "session.status_rescheduled"
    • BetaManagedAgentsSessionStatusRunningEvent object { id, processed_at, type }

      Indicates the session is actively running and the agent is working.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_running"

        • "session.status_running"
    • BetaManagedAgentsSessionStatusIdleEvent object { id, processed_at, stop_reason, type }

      Indicates the agent has paused and is awaiting user input.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

          • type: "end_turn"

            • "end_turn"
        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

          • event_ids: array of string

            The ids of events the agent is blocked on. Resolving fewer than all re-emits session.status_idle with the remainder.

          • type: "requires_action"

            • "requires_action"
        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

          • type: "retries_exhausted"

            • "retries_exhausted"
      • type: "session.status_idle"

        • "session.status_idle"
    • BetaManagedAgentsSessionStatusTerminatedEvent object { id, processed_at, type }

      Indicates the session has terminated, either due to an error or completion.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.status_terminated"

        • "session.status_terminated"
    • BetaManagedAgentsSessionThreadCreatedEvent object { id, agent_name, processed_at, 2 more }

      Emitted when a subagent is spawned as a new thread. Written to the parent thread's output stream so clients observing the session see child creation.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the callable agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the newly created thread.

      • type: "session.thread_created"

        • "session.thread_created"
    • BetaManagedAgentsSpanOutcomeEvaluationStartEvent object { id, iteration, outcome_id, 2 more }

      Emitted when an outcome evaluation cycle begins.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_start"

        • "span.outcome_evaluation_start"
    • BetaManagedAgentsSpanOutcomeEvaluationEndEvent object { id, explanation, iteration, 6 more }

      Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of needs_revision means another evaluation cycle follows; satisfied, max_iterations_reached, failed, or interrupted are terminal — no further evaluation cycles follow.

      • id: string

        Unique identifier for this event.

      • explanation: string

        Human-readable explanation of the verdict. For needs_revision, describes which criteria failed and why.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_evaluation_start_id: string

        The id of the corresponding span.outcome_evaluation_start event.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • result: string

        Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

      • type: "span.outcome_evaluation_end"

        • "span.outcome_evaluation_end"
      • usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

        • cache_creation_input_tokens: number

          Tokens used to create prompt cache in this request.

        • cache_read_input_tokens: number

          Tokens read from prompt cache in this request.

        • input_tokens: number

          Input tokens consumed by this request.

        • output_tokens: number

          Output tokens generated by this request.

        • speed: optional "standard" or "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.

          • "standard"

          • "fast"

    • BetaManagedAgentsSpanModelRequestStartEvent object { id, processed_at, type }

      Emitted when a model request is initiated by the agent.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_start"

        • "span.model_request_start"
    • BetaManagedAgentsSpanModelRequestEndEvent object { id, is_error, model_request_start_id, 3 more }

      Emitted when a model request completes.

      • id: string

        Unique identifier for this event.

      • is_error: boolean

        Whether the model request resulted in an error.

      • model_request_start_id: string

        The id of the corresponding span.model_request_start event.

      • model_usage: BetaManagedAgentsSpanModelUsage

        Token usage for a single model request.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.model_request_end"

        • "span.model_request_end"
    • BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent object { id, iteration, outcome_id, 2 more }

      Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding span.outcome_evaluation_start and span.outcome_evaluation_end events.

      • id: string

        Unique identifier for this event.

      • iteration: number

        0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.

      • outcome_id: string

        The outc_ ID of the outcome being evaluated.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "span.outcome_evaluation_ongoing"

        • "span.outcome_evaluation_ongoing"
    • BetaManagedAgentsUserDefineOutcomeEvent object { id, description, max_iterations, 4 more }

      Echo of a user.define_outcome input event. Carries the server-generated outcome_id that subsequent span.outcome_evaluation_* events reference.

      • id: string

        Unique identifier for this event.

      • description: string

        What the agent should produce. Copied from the input event.

      • max_iterations: number

        Evaluate-then-revise cycles before giving up. Default 3, max 20.

      • outcome_id: string

        Server-generated outc_ ID for this outcome. Referenced by span.outcome_evaluation_* events and the session's outcome_evaluations list.

      • processed_at: string

        A timestamp in RFC 3339 format

      • rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric

        Rubric for grading the quality of an outcome.

        • BetaManagedAgentsFileRubric object { file_id, type }

          Rubric referenced by a file uploaded via the Files API.

          • file_id: string

            ID of the rubric file.

          • type: "file"

            • "file"
        • BetaManagedAgentsTextRubric object { content, type }

          Rubric content provided inline as text.

          • content: string

            Rubric content. Plain text or markdown — the grader treats it as freeform text.

          • type: "text"

            • "text"
      • type: "user.define_outcome"

        • "user.define_outcome"
    • BetaManagedAgentsSessionDeletedEvent object { id, processed_at, type }

      Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.deleted"

        • "session.deleted"
    • BetaManagedAgentsSessionThreadStatusRunningEvent object { id, agent_name, processed_at, 2 more }

      A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that started running.

      • type: "session.thread_status_running"

        • "session.thread_status_running"
    • BetaManagedAgentsSessionThreadStatusIdleEvent object { id, agent_name, processed_at, 3 more }

      A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that went idle.

      • stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted

        The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionEndTurn object { type }

          The agent completed its turn naturally and is ready for the next user message.

        • BetaManagedAgentsSessionRequiresAction object { event_ids, type }

          The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        • BetaManagedAgentsSessionRetriesExhausted object { type }

          The turn ended because the retry budget was exhausted (max_iterations hit or an error escalated to retry_status: 'exhausted').

      • type: "session.thread_status_idle"

        • "session.thread_status_idle"
    • BetaManagedAgentsSessionThreadStatusTerminatedEvent object { id, agent_name, processed_at, 2 more }

      A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that terminated.

      • type: "session.thread_status_terminated"

        • "session.thread_status_terminated"
    • BetaManagedAgentsUserToolResultEvent object { id, tool_use_id, type, 4 more }

      Event sent by the client providing the result of an agent-toolset tool execution. Only valid on self_hosted environments, where sandbox-routed tools are executed by the client rather than the server.

      • id: string

        Unique identifier for this event.

      • tool_use_id: string

        The id of the agent.tool_use event this result corresponds to, which can be found in the last session.status_idle event's stop_reason.event_ids field.

      • type: "user.tool_result"

        • "user.tool_result"
      • content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock

        The result content returned by the tool.

        • BetaManagedAgentsTextBlock object { text, type }

          Regular text content.

        • BetaManagedAgentsImageBlock object { source, type }

          Image content specified directly as base64 data or as a reference via a URL.

        • BetaManagedAgentsDocumentBlock object { source, type, context, title }

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        • BetaManagedAgentsSearchResultBlock object { citations, content, source, 2 more }

          A block containing a web search result.

      • is_error: optional boolean

        Whether the tool execution resulted in an error.

      • processed_at: optional string

        A timestamp in RFC 3339 format

      • session_thread_id: optional string

        Routes this result to a subagent thread. Copy from the agent.tool_use event's session_thread_id.

    • BetaManagedAgentsSessionThreadStatusRescheduledEvent object { id, agent_name, processed_at, 2 more }

      A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

      • id: string

        Unique identifier for this event.

      • agent_name: string

        Name of the agent the thread runs.

      • processed_at: string

        A timestamp in RFC 3339 format

      • session_thread_id: string

        Public sthr_ ID of the thread that is retrying.

      • type: "session.thread_status_rescheduled"

        • "session.thread_status_rescheduled"
    • BetaManagedAgentsSessionUpdatedEvent object { id, processed_at, type, 3 more }

      Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

      • id: string

        Unique identifier for this event.

      • processed_at: string

        A timestamp in RFC 3339 format

      • type: "session.updated"

        • "session.updated"
      • agent: optional BetaManagedAgentsSessionAgent

        Resolved agent definition for a session. Snapshot of the agent at session creation time.

        • id: string

        • description: string

        • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

          • name: string

          • type: "url"

            • "url"
          • url: string

        • model: BetaManagedAgentsModelConfig

          Model identifier and configuration.

          • id: BetaManagedAgentsModel

            The model that will power your agent.

            See models for additional details and options.

            • "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more

              The model that will power your agent.

              See models for additional details and options.

              • "claude-opus-4-7"

                Frontier intelligence for long-running agents and coding

              • "claude-opus-4-6"

                Most intelligent model for building 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"

                Premium model combining maximum intelligence with practical performance

              • "claude-opus-4-5-20251101"

                Premium model combining maximum intelligence with practical performance

              • "claude-sonnet-4-5"

                High-performance model for agents and coding

              • "claude-sonnet-4-5-20250929"

                High-performance model for agents and coding

            • string

          • speed: optional "standard" or "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.

            • "standard"

            • "fast"

        • multiagent: BetaManagedAgentsSessionMultiagentCoordinator

          Resolved coordinator topology with full agent definitions for each roster member.

          • agents: array of BetaManagedAgentsSessionThreadAgent

            Full agent definitions the coordinator may spawn as session threads.

            • id: string

            • description: string

            • mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition

              • name: string

              • type: "url"

              • url: string

            • model: BetaManagedAgentsModelConfig

              Model identifier and configuration.

            • name: string

            • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

              • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

                A resolved Anthropic-managed skill.

                • skill_id: string

                • type: "anthropic"

                  • "anthropic"
                • version: string

              • BetaManagedAgentsCustomSkill object { skill_id, type, version }

                A resolved user-created custom skill.

                • skill_id: string

                • type: "custom"

                  • "custom"
                • version: string

            • system: string

            • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

              • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

                • configs: array of BetaManagedAgentsAgentToolConfig

                  • enabled: boolean

                  • name: "bash" or "edit" or "read" or 5 more

                    Built-in agent tool identifier.

                    • "bash"

                    • "edit"

                    • "read"

                    • "write"

                    • "glob"

                    • "grep"

                    • "web_fetch"

                    • "web_search"

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                      • type: "always_allow"

                        • "always_allow"
                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                      • type: "always_ask"

                        • "always_ask"
                • default_config: BetaManagedAgentsAgentToolsetDefaultConfig

                  Resolved default configuration for agent tools.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • type: "agent_toolset_20260401"

                  • "agent_toolset_20260401"
              • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

                • configs: array of BetaManagedAgentsMCPToolConfig

                  • enabled: boolean

                  • name: string

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • default_config: BetaManagedAgentsMCPToolsetDefaultConfig

                  Resolved default configuration for all tools from an MCP server.

                  • enabled: boolean

                  • permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy

                    Permission policy for tool execution.

                    • BetaManagedAgentsAlwaysAllowPolicy object { type }

                      Tool calls are automatically approved without user confirmation.

                    • BetaManagedAgentsAlwaysAskPolicy object { type }

                      Tool calls require user confirmation before execution.

                • mcp_server_name: string

                • type: "mcp_toolset"

                  • "mcp_toolset"
              • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

                A custom tool as returned in API responses.

                • description: string

                • input_schema: BetaManagedAgentsCustomToolInputSchema

                  JSON Schema for custom tool input parameters.

                  • properties: optional map[unknown]

                    JSON Schema properties defining the tool's input parameters.

                  • required: optional array of string

                    List of required property names.

                  • type: optional "object"

                    Must be 'object' for tool input schemas.

                    • "object"
                • name: string

                • type: "custom"

                  • "custom"
            • type: "agent"

              • "agent"
            • version: number

          • type: "coordinator"

            • "coordinator"
        • name: string

        • skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill

          • BetaManagedAgentsAnthropicSkill object { skill_id, type, version }

            A resolved Anthropic-managed skill.

          • BetaManagedAgentsCustomSkill object { skill_id, type, version }

            A resolved user-created custom skill.

        • system: string

        • tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool

          • BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }

          • BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }

          • BetaManagedAgentsCustomTool object { description, input_schema, name, type }

            A custom tool as returned in API responses.

        • type: "agent"

          • "agent"
        • version: number

      • metadata: optional map[string]

        The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

      • title: optional string

        The session's new title. Present only when the update changed it.

Example

curl https://api.anthropic.com/v1/sessions/$SESSION_ID/threads/$THREAD_ID/stream \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: managed-agents-2026-04-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"

Response

{
  "id": "sevt_011CZkZGOp0iBcp4kaQSihUmy",
  "content": [
    {
      "text": "Where is my order #1234?",
      "type": "text"
    }
  ],
  "type": "user.message",
  "processed_at": "2026-03-15T10:00:00Z"
}