Repository Public
1---2title: Events3url: https://platform.claude.com/docs/en/api/beta/sessions/threads/events4---56# Events78## List Session Thread Events910**GET** `/v1/sessions/{session_id}/threads/{thread_id}/events`1112List Session Thread Events1314### Path parameters1516- `session_id: string`1718- `thread_id: string`1920### Query parameters2122- `limit: optional number`2324 Query parameter for limit2526 format: int322728- `page: optional string`2930 Query parameter for page3132### Headers3334- `"anthropic-beta": optional array of AnthropicBeta`3536 Optional header to specify the beta version(s) you want to use.3738 - `string`3940 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`4142 - `"message-batches-2024-09-24"`4344 - `"prompt-caching-2024-07-31"`4546 - `"computer-use-2024-10-22"`4748 - `"computer-use-2025-01-24"`4950 - `"pdfs-2024-09-25"`5152 - `"token-counting-2024-11-01"`5354 - `"token-efficient-tools-2025-02-19"`5556 - `"output-128k-2025-02-19"`5758 - `"files-api-2025-04-14"`5960 - `"mcp-client-2025-04-04"`6162 - `"mcp-client-2025-11-20"`6364 - `"dev-full-thinking-2025-05-14"`6566 - `"interleaved-thinking-2025-05-14"`6768 - `"code-execution-2025-05-22"`6970 - `"extended-cache-ttl-2025-04-11"`7172 - `"context-1m-2025-08-07"`7374 - `"context-management-2025-06-27"`7576 - `"model-context-window-exceeded-2025-08-26"`7778 - `"skills-2025-10-02"`7980 - `"fast-mode-2026-02-01"`8182 - `"output-300k-2026-03-24"`8384 - `"user-profiles-2026-03-24"`8586 - `"user-profiles-2026-08-18"`8788 - `"user-profiles-2026-09-04"`8990 - `"advisor-tool-2026-03-01"`9192 - `"managed-agents-2026-04-01"`9394 - `"cache-diagnosis-2026-04-07"`9596 - `"dreaming-2026-04-21"`9798 - `"thinking-token-count-2026-05-13"`99100 - `"server-side-fallback-2026-06-01"`101102 - `"server-side-fallback-2026-07-01"`103104 - `"fallback-credit-2026-06-01"`105106 - `"fallback-credit-2026-07-01"`107108 - `"agent-memory-2026-07-22"`109110 - `"mid-conversation-tool-changes-2026-07-01"`111112 - `"compact-2026-01-12"`113114 - `"computer-use-2025-11-24"`115116 - `"mcp-tunnels-2026-06-22"`117118 - `"structured-outputs-2025-11-13"`119120 - `"task-budgets-2026-03-13"`121122 - `"thinking-display-updates-2026-08-18"`123124 - `"ce-user-management-2026-07-13"`125126 - `"mid-conversation-output-config-2026-07-01"`127128 - `"thinking-binding-controls-2026-08-01"`129130 - `"mid-conversation-system-clear-at-2026-08-21"`131132 - `"compact-2026-09-04"`133134- `"anthropic-workspace-id": optional string`135136### Returns137138- `data: optional array of BetaManagedAgentsSessionEvent`139140 Events for the thread, ordered by `processed_at`.141142 - `BetaManagedAgentsUserMessageEvent object`143144 A user message event in the session conversation.145146 - `type: "user.message"`147148 - `id: string`149150 Unique identifier for this event.151152 - `content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsRedactedBlock`153154 Array of content blocks comprising the user message.155156 - `BetaManagedAgentsTextBlock object`157158 Regular text content.159160 - `type: "text"`161162 - `text: string`163164 The text content.165166 minLength: 1167168 - `BetaManagedAgentsImageBlock object`169170 Image content specified directly as base64 data or as a reference via a URL.171172 - `type: "image"`173174 - `source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource`175176 Union type for image source variants.177178 - `BetaManagedAgentsBase64ImageSource object`179180 Base64-encoded image data.181182 - `type: "base64"`183184 - `data: string`185186 Base64-encoded image data.187188 minLength: 1189190 - `media_type: string`191192 MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").193194 minLength: 1195196 - `BetaManagedAgentsURLImageSource object`197198 Image referenced by URL.199200 - `type: "url"`201202 - `url: string`203204 URL of the image to fetch.205206 minLength: 1207208 - `BetaManagedAgentsFileImageSource object`209210 Image referenced by file ID.211212 - `type: "file"`213214 - `file_id: string`215216 ID of a previously uploaded file.217218 minLength: 1219220 - `BetaManagedAgentsDocumentBlock object`221222 Document content, either specified directly as base64 data, as text, or as a reference via a URL.223224 - `type: "document"`225226 - `source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource`227228 Union type for document source variants.229230 - `BetaManagedAgentsBase64DocumentSource object`231232 Base64-encoded document data.233234 - `type: "base64"`235236 - `data: string`237238 Base64-encoded document data.239240 minLength: 1241242 - `media_type: string`243244 MIME type of the document (e.g., "application/pdf").245246 minLength: 1247248 - `BetaManagedAgentsPlainTextDocumentSource object`249250 Plain text document content.251252 - `type: "text"`253254 - `data: string`255256 The plain text content.257258 minLength: 1259260 - `media_type: "text/plain"`261262 MIME type of the text content. Must be "text/plain".263264 - `BetaManagedAgentsURLDocumentSource object`265266 Document referenced by URL.267268 - `type: "url"`269270 - `url: string`271272 URL of the document to fetch.273274 minLength: 1275276 - `BetaManagedAgentsFileDocumentSource object`277278 Document referenced by file ID.279280 - `type: "file"`281282 - `file_id: string`283284 ID of a previously uploaded file.285286 minLength: 1287288 - `context: optional string or null`289290 Additional context about the document for the model.291292 - `title: optional string or null`293294 The title of the document.295296 - `BetaManagedAgentsRedactedBlock object`297298 Placeholder for content withheld by Anthropic model policy.299300 - `type: "redacted"`301302 - `processed_at: optional string or null`303304 A timestamp in RFC 3339 format305306 format: date-time307308 - `BetaManagedAgentsUserInterruptEvent object`309310 An interrupt event that pauses agent execution and returns control to the user.311312 - `type: "user.interrupt"`313314 - `id: string`315316 Unique identifier for this event.317318 - `processed_at: optional string or null`319320 A timestamp in RFC 3339 format321322 format: date-time323324 - `session_thread_id: optional string or null`325326 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.327328 - `BetaManagedAgentsUserToolConfirmationEvent object`329330 A tool confirmation event that approves or denies a pending tool execution.331332 - `type: "user.tool_confirmation"`333334 - `id: string`335336 Unique identifier for this event.337338 - `result: "allow" or "deny"`339340 UserToolConfirmationResult enum341342 - `"allow"`343344 - `"deny"`345346 - `tool_use_id: string`347348 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](https://platform.claude.com/docs/en/api/beta/sessions/events/list#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.349350 - `deny_message: optional string or null`351352 Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.353354 maxLength: 10000355356 - `processed_at: optional string or null`357358 A timestamp in RFC 3339 format359360 format: date-time361362 - `session_thread_id: optional string or null`363364 Set by the server to the subagent thread this confirmation was routed to. Omitted when it was routed to the primary thread.365366 - `BetaManagedAgentsUserCustomToolResultEvent object`367368 Event sent by the client providing the result of a custom tool execution.369370 - `type: "user.custom_tool_result"`371372 - `id: string`373374 Unique identifier for this event.375376 - `custom_tool_use_id: string`377378 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](https://platform.claude.com/docs/en/api/beta/sessions/events/list#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.379380 - `content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock`381382 The result content returned by the tool.383384 - `BetaManagedAgentsTextBlock object`385386 Regular text content.387388 - `BetaManagedAgentsImageBlock object`389390 Image content specified directly as base64 data or as a reference via a URL.391392 - `BetaManagedAgentsDocumentBlock object`393394 Document content, either specified directly as base64 data, as text, or as a reference via a URL.395396 - `BetaManagedAgentsSearchResultBlock object`397398 A block containing a web search result.399400 - `type: "search_result"`401402 - `citations: BetaManagedAgentsSearchResultCitations`403404 Citation settings for a search result.405406 - `enabled: boolean`407408 Whether citations are enabled for this search result.409410 - `content: array of BetaManagedAgentsSearchResultContent`411412 Array of text content blocks from the search result.413414 - `type: "text"`415416 - `text: string`417418 The text content.419420 minLength: 1421422 - `source: string`423424 The URL source of the search result.425426 minLength: 1427428 - `title: string`429430 The title of the search result.431432 minLength: 1433434 - `is_error: optional boolean or null`435436 Whether the tool execution resulted in an error.437438 - `processed_at: optional string or null`439440 A timestamp in RFC 3339 format441442 format: date-time443444 - `session_thread_id: optional string or null`445446 Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.447448 - `BetaManagedAgentsAgentCustomToolUseEvent object`449450 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.451452 - `type: "agent.custom_tool_use"`453454 - `id: string`455456 Unique identifier for this event.457458 - `input: map[unknown]`459460 Input parameters for the tool call.461462 - `name: string`463464 Name of the custom tool being called.465466 - `processed_at: string`467468 A timestamp in RFC 3339 format469470 format: date-time471472 - `session_thread_id: optional string or null`473474 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. Informational only: the server routes the matching `user.custom_tool_result` by `custom_tool_use_id`, so clients do not send it back.475476 - `BetaManagedAgentsAgentMessageEvent object`477478 An agent response event in the session conversation.479480 - `type: "agent.message"`481482 - `id: string`483484 Unique identifier for this event.485486 - `content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsRedactedBlock`487488 Array of text blocks comprising the agent response.489490 - `BetaManagedAgentsTextBlock object`491492 Regular text content.493494 - `BetaManagedAgentsRedactedBlock object`495496 Placeholder for content withheld by Anthropic model policy.497498 - `processed_at: string`499500 A timestamp in RFC 3339 format501502 format: date-time503504 - `BetaManagedAgentsAgentThinkingEvent object`505506 Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.507508 - `type: "agent.thinking"`509510 - `id: string`511512 Unique identifier for this event.513514 - `processed_at: string`515516 A timestamp in RFC 3339 format517518 format: date-time519520 - `BetaManagedAgentsAgentMCPToolUseEvent object`521522 Event emitted when the agent invokes a tool provided by an MCP server.523524 - `type: "agent.mcp_tool_use"`525526 - `id: string`527528 Unique identifier for this event.529530 - `input: map[unknown]`531532 Input parameters for the tool call.533534 - `mcp_server_name: string`535536 Name of the MCP server providing the tool.537538 - `name: string`539540 Name of the MCP tool being used.541542 - `processed_at: string`543544 A timestamp in RFC 3339 format545546 format: date-time547548 - `evaluated_permission: optional "allow" or "ask" or "deny"`549550 AgentEvaluatedPermission enum551552 - `"allow"`553554 - `"ask"`555556 - `"deny"`557558 - `evaluation: optional BetaManagedAgentsAgentToolEvaluation`559560 Names the resolved permission_policy that produced evaluated_permission, and under auto carries the judgement. Open union: clients must tolerate unknown variants.561562 - `BetaManagedAgentsAgentToolEvaluationAlwaysAllow object`563564 The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".565566 - `type: "always_allow"`567568 - `BetaManagedAgentsAgentToolEvaluationAlwaysAsk object`569570 The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".571572 - `type: "always_ask"`573574 - `BetaManagedAgentsAgentToolEvaluationAuto object`575576 The resolved permission_policy was auto: the server judged this invocation individually.577578 - `type: "auto"`579580 - `evaluated_permission: BetaManagedAgentsAgentAutoEvaluatedPermission`581582 The server's per-invocation judgement under the auto permission policy. Its type always equals the event's top-level evaluated_permission. Open union: clients must tolerate unknown variants.583584 - `BetaManagedAgentsAgentAutoEvaluatedPermissionAllow object`585586 The server judged the invocation safe to execute without client approval.587588 - `type: "allow"`589590 - `BetaManagedAgentsAgentAutoEvaluatedPermissionAsk object`591592 The server reached no judgement; the invocation is held for client approval.593594 - `type: "ask"`595596 - `reason_code: string`597598 The judgement's grounds in registry-bound terms, for client branching and audit rather than end-user display. Open registry; currently "indeterminate" (no judgement was reached). Clients must tolerate values outside this set.599600 maxLength: 64601602 - `BetaManagedAgentsAgentAutoEvaluatedPermissionDeny object`603604 The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.605606 - `type: "deny"`607608 - `reason_code: string`609610 The judgement's grounds in registry-bound terms. Open registry; currently "high_risk" (judged high-risk; the call does not run). Clients must tolerate values outside this set.611612 maxLength: 64613614 - `session_thread_id: optional string or null`615616 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. Informational only: the server routes the matching `user.tool_confirmation` by `tool_use_id`, so clients do not send it back.617618 - `BetaManagedAgentsAgentMCPToolResultEvent object`619620 Event representing the result of an MCP tool execution.621622 - `type: "agent.mcp_tool_result"`623624 - `id: string`625626 Unique identifier for this event.627628 - `mcp_tool_use_id: string`629630 The id of the `agent.mcp_tool_use` event this result corresponds to.631632 - `processed_at: string`633634 A timestamp in RFC 3339 format635636 format: date-time637638 - `content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock`639640 The result content returned by the tool.641642 - `BetaManagedAgentsTextBlock object`643644 Regular text content.645646 - `BetaManagedAgentsImageBlock object`647648 Image content specified directly as base64 data or as a reference via a URL.649650 - `BetaManagedAgentsDocumentBlock object`651652 Document content, either specified directly as base64 data, as text, or as a reference via a URL.653654 - `BetaManagedAgentsSearchResultBlock object`655656 A block containing a web search result.657658 - `is_error: optional boolean or null`659660 Whether the tool execution resulted in an error.661662 - `BetaManagedAgentsAgentToolUseEvent object`663664 Event emitted when the agent invokes a built-in agent tool.665666 - `type: "agent.tool_use"`667668 - `id: string`669670 Unique identifier for this event.671672 - `input: map[unknown]`673674 Input parameters for the tool call.675676 - `name: string`677678 Name of the agent tool being used.679680 - `processed_at: string`681682 A timestamp in RFC 3339 format683684 format: date-time685686 - `evaluated_permission: optional "allow" or "ask" or "deny"`687688 AgentEvaluatedPermission enum689690 - `"allow"`691692 - `"ask"`693694 - `"deny"`695696 - `evaluation: optional BetaManagedAgentsAgentToolEvaluation`697698 Names the resolved permission_policy that produced evaluated_permission, and under auto carries the judgement. Open union: clients must tolerate unknown variants.699700 - `session_thread_id: optional string or null`701702 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. Informational only: the server routes the matching `user.tool_confirmation` or `user.tool_result` by `tool_use_id`, so clients do not send it back.703704 - `BetaManagedAgentsAgentToolResultEvent object`705706 Event representing the result of an agent tool execution.707708 - `type: "agent.tool_result"`709710 - `id: string`711712 Unique identifier for this event.713714 - `processed_at: string`715716 A timestamp in RFC 3339 format717718 format: date-time719720 - `tool_use_id: string`721722 The id of the `agent.tool_use` event this result corresponds to.723724 - `content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock`725726 The result content returned by the tool.727728 - `BetaManagedAgentsTextBlock object`729730 Regular text content.731732 - `BetaManagedAgentsImageBlock object`733734 Image content specified directly as base64 data or as a reference via a URL.735736 - `BetaManagedAgentsDocumentBlock object`737738 Document content, either specified directly as base64 data, as text, or as a reference via a URL.739740 - `BetaManagedAgentsSearchResultBlock object`741742 A block containing a web search result.743744 - `is_error: optional boolean or null`745746 Whether the tool execution resulted in an error.747748 - `BetaManagedAgentsAgentThreadMessageReceivedEvent object`749750 Delivery event written to the target thread's input stream when an agent-to-agent message arrives.751752 - `type: "agent.thread_message_received"`753754 - `id: string`755756 Unique identifier for this event.757758 - `content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsRedactedBlock`759760 Message content blocks.761762 - `BetaManagedAgentsTextBlock object`763764 Regular text content.765766 - `BetaManagedAgentsImageBlock object`767768 Image content specified directly as base64 data or as a reference via a URL.769770 - `BetaManagedAgentsDocumentBlock object`771772 Document content, either specified directly as base64 data, as text, or as a reference via a URL.773774 - `BetaManagedAgentsRedactedBlock object`775776 Placeholder for content withheld by Anthropic model policy.777778 - `from_session_thread_id: string`779780 Public `sthr_` ID of the thread that sent the message.781782 - `processed_at: string`783784 A timestamp in RFC 3339 format785786 format: date-time787788 - `from_agent_name: optional string or null`789790 Name of the callable agent this message came from. Absent when received from the primary agent.791792 - `BetaManagedAgentsAgentThreadMessageSentEvent object`793794 Observability event emitted to the sender's output stream when an agent-to-agent message is sent.795796 - `type: "agent.thread_message_sent"`797798 - `id: string`799800 Unique identifier for this event.801802 - `content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsRedactedBlock`803804 Message content blocks.805806 - `BetaManagedAgentsTextBlock object`807808 Regular text content.809810 - `BetaManagedAgentsImageBlock object`811812 Image content specified directly as base64 data or as a reference via a URL.813814 - `BetaManagedAgentsDocumentBlock object`815816 Document content, either specified directly as base64 data, as text, or as a reference via a URL.817818 - `BetaManagedAgentsRedactedBlock object`819820 Placeholder for content withheld by Anthropic model policy.821822 - `processed_at: string`823824 A timestamp in RFC 3339 format825826 format: date-time827828 - `to_session_thread_id: string`829830 Public `sthr_` ID of the thread the message was sent to.831832 - `to_agent_name: optional string or null`833834 Name of the callable agent this message was sent to. Absent when sent to the primary agent.835836 - `BetaManagedAgentsAgentThreadContextCompactedEvent object`837838 Indicates that context compaction (summarization) occurred during the session.839840 - `type: "agent.thread_context_compacted"`841842 - `id: string`843844 Unique identifier for this event.845846 - `processed_at: string`847848 A timestamp in RFC 3339 format849850 format: date-time851852 - `BetaManagedAgentsSessionErrorEvent object`853854 An error event indicating a problem occurred during session execution.855856 - `type: "session.error"`857858 - `id: string`859860 Unique identifier for this event.861862 - `error: BetaManagedAgentsUnknownError or BetaManagedAgentsModelOverloadedError or BetaManagedAgentsModelRateLimitedError or 5 more`863864 - `BetaManagedAgentsUnknownError object`865866 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.867868 - `type: "unknown_error"`869870 - `message: string`871872 Human-readable error description.873874 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`875876 What the client should do next in response to this error.877878 - `BetaManagedAgentsRetryStatusRetrying object`879880 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.881882 - `type: "retrying"`883884 - `BetaManagedAgentsRetryStatusExhausted object`885886 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.887888 - `type: "exhausted"`889890 - `BetaManagedAgentsRetryStatusTerminal object`891892 The session encountered a terminal error and will transition to `terminated` state.893894 - `type: "terminal"`895896 - `BetaManagedAgentsModelOverloadedError object`897898 The model is currently overloaded. Emitted after automatic retries are exhausted.899900 - `type: "model_overloaded_error"`901902 - `message: string`903904 Human-readable error description.905906 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`907908 What the client should do next in response to this error.909910 - `BetaManagedAgentsRetryStatusRetrying object`911912 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.913914 - `BetaManagedAgentsRetryStatusExhausted object`915916 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.917918 - `BetaManagedAgentsRetryStatusTerminal object`919920 The session encountered a terminal error and will transition to `terminated` state.921922 - `BetaManagedAgentsModelRateLimitedError object`923924 The model request was rate-limited.925926 - `type: "model_rate_limited_error"`927928 - `message: string`929930 Human-readable error description.931932 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`933934 What the client should do next in response to this error.935936 - `BetaManagedAgentsRetryStatusRetrying object`937938 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.939940 - `BetaManagedAgentsRetryStatusExhausted object`941942 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.943944 - `BetaManagedAgentsRetryStatusTerminal object`945946 The session encountered a terminal error and will transition to `terminated` state.947948 - `BetaManagedAgentsModelRequestFailedError object`949950 A model request failed for a reason other than overload or rate-limiting.951952 - `type: "model_request_failed_error"`953954 - `message: string`955956 Human-readable error description.957958 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`959960 What the client should do next in response to this error.961962 - `BetaManagedAgentsRetryStatusRetrying object`963964 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.965966 - `BetaManagedAgentsRetryStatusExhausted object`967968 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.969970 - `BetaManagedAgentsRetryStatusTerminal object`971972 The session encountered a terminal error and will transition to `terminated` state.973974 - `BetaManagedAgentsMCPConnectionFailedError object`975976 Failed to connect to an MCP server.977978 - `type: "mcp_connection_failed_error"`979980 - `mcp_server_name: string`981982 Name of the MCP server that failed to connect.983984 - `message: string`985986 Human-readable error description.987988 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`989990 What the client should do next in response to this error.991992 - `BetaManagedAgentsRetryStatusRetrying object`993994 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.995996 - `BetaManagedAgentsRetryStatusExhausted object`997998 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.9991000 - `BetaManagedAgentsRetryStatusTerminal object`10011002 The session encountered a terminal error and will transition to `terminated` state.10031004 - `BetaManagedAgentsMCPAuthenticationFailedError object`10051006 Authentication to an MCP server failed.10071008 - `type: "mcp_authentication_failed_error"`10091010 - `mcp_server_name: string`10111012 Name of the MCP server that failed authentication.10131014 - `message: string`10151016 Human-readable error description.10171018 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`10191020 What the client should do next in response to this error.10211022 - `BetaManagedAgentsRetryStatusRetrying object`10231024 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.10251026 - `BetaManagedAgentsRetryStatusExhausted object`10271028 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.10291030 - `BetaManagedAgentsRetryStatusTerminal object`10311032 The session encountered a terminal error and will transition to `terminated` state.10331034 - `BetaManagedAgentsBillingError object`10351036 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.10371038 - `type: "billing_error"`10391040 - `message: string`10411042 Human-readable error description.10431044 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`10451046 What the client should do next in response to this error.10471048 - `BetaManagedAgentsRetryStatusRetrying object`10491050 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.10511052 - `BetaManagedAgentsRetryStatusExhausted object`10531054 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.10551056 - `BetaManagedAgentsRetryStatusTerminal object`10571058 The session encountered a terminal error and will transition to `terminated` state.10591060 - `BetaManagedAgentsCredentialHostUnreachableError object`10611062 An `environment_variable` credential's `auth.networking.allowed_hosts` includes a host the environment's network policy does not permit.10631064 - `type: "credential_host_unreachable_error"`10651066 - `credential_id: string`10671068 ID of the affected credential.10691070 - `message: string`10711072 Human-readable error description.10731074 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`10751076 What the client should do next in response to this error.10771078 - `BetaManagedAgentsRetryStatusRetrying object`10791080 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.10811082 - `BetaManagedAgentsRetryStatusExhausted object`10831084 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.10851086 - `BetaManagedAgentsRetryStatusTerminal object`10871088 The session encountered a terminal error and will transition to `terminated` state.10891090 - `vault_id: string`10911092 ID of the vault containing the affected credential.10931094 - `processed_at: string`10951096 A timestamp in RFC 3339 format10971098 format: date-time10991100 - `BetaManagedAgentsSessionStatusRescheduledEvent object`11011102 Indicates the session is recovering from an error state and is rescheduled for execution.11031104 - `type: "session.status_rescheduled"`11051106 - `id: string`11071108 Unique identifier for this event.11091110 - `processed_at: string`11111112 A timestamp in RFC 3339 format11131114 format: date-time11151116 - `BetaManagedAgentsSessionStatusRunningEvent object`11171118 Indicates the session is actively running and the agent is working.11191120 - `type: "session.status_running"`11211122 - `id: string`11231124 Unique identifier for this event.11251126 - `processed_at: string`11271128 A timestamp in RFC 3339 format11291130 format: date-time11311132 - `BetaManagedAgentsSessionStatusIdleEvent object`11331134 Indicates the agent has paused and is awaiting user input.11351136 - `type: "session.status_idle"`11371138 - `id: string`11391140 Unique identifier for this event.11411142 - `processed_at: string`11431144 A timestamp in RFC 3339 format11451146 format: date-time11471148 - `stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted or BetaManagedAgentsSessionBudgetReached`11491150 - `BetaManagedAgentsSessionEndTurn object`11511152 The agent completed its turn naturally and is ready for the next user message.11531154 - `type: "end_turn"`11551156 - `BetaManagedAgentsSessionRequiresAction object`11571158 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.11591160 - `type: "requires_action"`11611162 - `event_ids: array of string`11631164 The ids of events the agent is blocked on. Resolving fewer than all re-emits `session.status_idle` with the remainder.11651166 - `BetaManagedAgentsSessionRetriesExhausted object`11671168 The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.11691170 - `type: "retries_exhausted"`11711172 - `BetaManagedAgentsSessionBudgetReached object`11731174 The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.11751176 - `type: "budget_reached"`11771178 - `BetaManagedAgentsSessionStatusTerminatedEvent object`11791180 Indicates the session has terminated, either due to an error or completion.11811182 - `type: "session.status_terminated"`11831184 - `id: string`11851186 Unique identifier for this event.11871188 - `processed_at: string`11891190 A timestamp in RFC 3339 format11911192 format: date-time11931194 - `BetaManagedAgentsSessionThreadCreatedEvent object`11951196 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.11971198 - `type: "session.thread_created"`11991200 - `id: string`12011202 Unique identifier for this event.12031204 - `agent_name: string`12051206 Name of the callable agent the thread runs.12071208 - `processed_at: string`12091210 A timestamp in RFC 3339 format12111212 format: date-time12131214 - `session_thread_id: string`12151216 Public `sthr_` ID of the newly created thread.12171218 - `BetaManagedAgentsSpanOutcomeEvaluationStartEvent object`12191220 Emitted when an outcome evaluation cycle begins.12211222 - `type: "span.outcome_evaluation_start"`12231224 - `id: string`12251226 Unique identifier for this event.12271228 - `iteration: number`12291230 0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.12311232 format: int3212331234 - `outcome_id: string`12351236 The `outc_` ID of the outcome being evaluated.12371238 - `processed_at: string`12391240 A timestamp in RFC 3339 format12411242 format: date-time12431244 - `BetaManagedAgentsSpanOutcomeEvaluationEndEvent object`12451246 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.12471248 - `type: "span.outcome_evaluation_end"`12491250 - `id: string`12511252 Unique identifier for this event.12531254 - `explanation: string`12551256 Human-readable explanation of the verdict. For `needs_revision`, describes which criteria failed and why.12571258 - `iteration: number`12591260 0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.12611262 format: int3212631264 - `outcome_evaluation_start_id: string`12651266 The id of the corresponding `span.outcome_evaluation_start` event.12671268 - `outcome_id: string`12691270 The `outc_` ID of the outcome being evaluated.12711272 - `processed_at: string`12731274 A timestamp in RFC 3339 format12751276 format: date-time12771278 - `result: string`12791280 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.12811282 - `usage: BetaManagedAgentsSpanModelUsage`12831284 Token usage for a single model request.12851286 - `cache_creation_input_tokens: number`12871288 Tokens used to create prompt cache in this request.12891290 format: int3212911292 - `cache_read_input_tokens: number`12931294 Tokens read from prompt cache in this request.12951296 format: int3212971298 - `input_tokens: number`12991300 Input tokens consumed by this request.13011302 format: int3213031304 - `output_tokens: number`13051306 Output tokens generated by this request.13071308 format: int3213091310 - `speed: optional "standard" or "fast" or null`13111312 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.13131314 - `"standard"`13151316 - `"fast"`13171318 - `BetaManagedAgentsSpanModelRequestStartEvent object`13191320 Emitted when a model request is initiated by the agent.13211322 - `type: "span.model_request_start"`13231324 - `id: string`13251326 Unique identifier for this event.13271328 - `processed_at: string`13291330 A timestamp in RFC 3339 format13311332 format: date-time13331334 - `BetaManagedAgentsSpanModelRequestEndEvent object`13351336 Emitted when a model request completes.13371338 - `type: "span.model_request_end"`13391340 - `id: string`13411342 Unique identifier for this event.13431344 - `is_error: boolean or null`13451346 Whether the model request resulted in an error.13471348 - `model_request_start_id: string`13491350 The id of the corresponding `span.model_request_start` event.13511352 - `model_usage: BetaManagedAgentsSpanModelUsage`13531354 Token usage for a single model request.13551356 - `processed_at: string`13571358 A timestamp in RFC 3339 format13591360 format: date-time13611362 - `BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent object`13631364 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.13651366 - `type: "span.outcome_evaluation_ongoing"`13671368 - `id: string`13691370 Unique identifier for this event.13711372 - `iteration: number`13731374 0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.13751376 format: int3213771378 - `outcome_id: string`13791380 The `outc_` ID of the outcome being evaluated.13811382 - `processed_at: string`13831384 A timestamp in RFC 3339 format13851386 format: date-time13871388 - `BetaManagedAgentsUserDefineOutcomeEvent object`13891390 Echo of a `user.define_outcome` input event. Carries the server-generated `outcome_id` that subsequent `span.outcome_evaluation_*` events reference.13911392 - `type: "user.define_outcome"`13931394 - `id: string`13951396 Unique identifier for this event.13971398 - `description: string`13991400 What the agent should produce. Copied from the input event.14011402 - `max_iterations: number or null`14031404 Evaluate-then-revise cycles before giving up. Default 3, max 20.14051406 format: int3214071408 - `outcome_id: string`14091410 Server-generated `outc_` ID for this outcome. Referenced by `span.outcome_evaluation_*` events and the session's `outcome_evaluations` list.14111412 - `processed_at: string`14131414 A timestamp in RFC 3339 format14151416 format: date-time14171418 - `rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric`14191420 Rubric for grading the quality of an outcome.14211422 - `BetaManagedAgentsFileRubric object`14231424 Rubric referenced by a file uploaded via the Files API.14251426 - `type: "file"`14271428 - `file_id: string`14291430 ID of the rubric file.14311432 - `BetaManagedAgentsTextRubric object`14331434 Rubric content provided inline as text.14351436 - `type: "text"`14371438 - `content: string`14391440 Rubric content. Plain text or markdown — the grader treats it as freeform text.14411442 - `BetaManagedAgentsSessionDeletedEvent object`14431444 Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.14451446 - `type: "session.deleted"`14471448 - `id: string`14491450 Unique identifier for this event.14511452 - `processed_at: string`14531454 A timestamp in RFC 3339 format14551456 format: date-time14571458 - `BetaManagedAgentsSessionThreadStatusRunningEvent object`14591460 A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.14611462 - `type: "session.thread_status_running"`14631464 - `id: string`14651466 Unique identifier for this event.14671468 - `agent_name: string`14691470 Name of the agent the thread runs.14711472 - `processed_at: string`14731474 A timestamp in RFC 3339 format14751476 format: date-time14771478 - `session_thread_id: string`14791480 Public sthr_ ID of the thread that started running.14811482 - `BetaManagedAgentsSessionThreadStatusIdleEvent object`14831484 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.14851486 - `type: "session.thread_status_idle"`14871488 - `id: string`14891490 Unique identifier for this event.14911492 - `agent_name: string`14931494 Name of the agent the thread runs.14951496 - `processed_at: string`14971498 A timestamp in RFC 3339 format14991500 format: date-time15011502 - `session_thread_id: string`15031504 Public sthr_ ID of the thread that went idle.15051506 - `stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted or BetaManagedAgentsSessionBudgetReached`15071508 - `BetaManagedAgentsSessionEndTurn object`15091510 The agent completed its turn naturally and is ready for the next user message.15111512 - `BetaManagedAgentsSessionRequiresAction object`15131514 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.15151516 - `BetaManagedAgentsSessionRetriesExhausted object`15171518 The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.15191520 - `BetaManagedAgentsSessionBudgetReached object`15211522 The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.15231524 - `BetaManagedAgentsSessionThreadStatusTerminatedEvent object`15251526 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.15271528 - `type: "session.thread_status_terminated"`15291530 - `id: string`15311532 Unique identifier for this event.15331534 - `agent_name: string`15351536 Name of the agent the thread runs.15371538 - `processed_at: string`15391540 A timestamp in RFC 3339 format15411542 format: date-time15431544 - `session_thread_id: string`15451546 Public sthr_ ID of the thread that terminated.15471548 - `BetaManagedAgentsUserToolResultEvent object`15491550 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.15511552 - `type: "user.tool_result"`15531554 - `id: string`15551556 Unique identifier for this event.15571558 - `tool_use_id: string`15591560 The id of the `agent.tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.15611562 - `content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock`15631564 The result content returned by the tool.15651566 - `BetaManagedAgentsTextBlock object`15671568 Regular text content.15691570 - `BetaManagedAgentsImageBlock object`15711572 Image content specified directly as base64 data or as a reference via a URL.15731574 - `BetaManagedAgentsDocumentBlock object`15751576 Document content, either specified directly as base64 data, as text, or as a reference via a URL.15771578 - `BetaManagedAgentsSearchResultBlock object`15791580 A block containing a web search result.15811582 - `is_error: optional boolean or null`15831584 Whether the tool execution resulted in an error.15851586 - `processed_at: optional string or null`15871588 A timestamp in RFC 3339 format15891590 format: date-time15911592 - `session_thread_id: optional string or null`15931594 Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.15951596 - `BetaManagedAgentsSessionThreadStatusRescheduledEvent object`15971598 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.15991600 - `type: "session.thread_status_rescheduled"`16011602 - `id: string`16031604 Unique identifier for this event.16051606 - `agent_name: string`16071608 Name of the agent the thread runs.16091610 - `processed_at: string`16111612 A timestamp in RFC 3339 format16131614 format: date-time16151616 - `session_thread_id: string`16171618 Public sthr_ ID of the thread that is retrying.16191620 - `BetaManagedAgentsSessionUpdatedEvent object`16211622 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.16231624 - `type: "session.updated"`16251626 - `id: string`16271628 Unique identifier for this event.16291630 - `processed_at: string`16311632 A timestamp in RFC 3339 format16331634 format: date-time16351636 - `agent: optional BetaManagedAgentsSessionAgent or null`16371638 Resolved `agent` definition for a `session`. Snapshot of the `agent` at `session` creation time.16391640 - `type: "agent"`16411642 - `id: string`16431644 - `description: string or null`16451646 - `mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition`16471648 - `type: "url"`16491650 - `name: string`16511652 - `url: string`16531654 - `model: BetaManagedAgentsModelConfig`16551656 Model identifier and configuration.16571658 - `id: BetaManagedAgentsModel`16591660 The model that will power your agent.16611662 See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.16631664 - `"claude-fable-5-1" or "claude-sonnet-5" or "claude-fable-5" or 11 more`16651666 The model that will power your agent.16671668 See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.16691670 - `"claude-fable-5-1"`16711672 Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows16731674 - `"claude-sonnet-5"`16751676 High-performance model for coding and agents16771678 - `"claude-fable-5"`16791680 Next generation of intelligence for the hardest knowledge work and coding problems16811682 - `"claude-opus-5"`16831684 Powerful intelligence for long-running agents and coding16851686 - `"claude-opus-4-8"`16871688 Powerful intelligence for long-running agents and coding16891690 - `"claude-opus-4-7"`16911692 Powerful intelligence for long-running agents and coding16931694 - `"claude-opus-4-6"`16951696 Powerful intelligence for long-running agents and coding16971698 - `"claude-sonnet-4-6"`16991700 Best combination of speed and intelligence17011702 - `"claude-haiku-4-5"`17031704 Fastest model with near-frontier intelligence17051706 - `"claude-haiku-4-5-20251001"`17071708 Fastest model with near-frontier intelligence17091710 - `"claude-opus-4-5"`17111712 Powerful intelligence for long-running agents and coding17131714 - `"claude-opus-4-5-20251101"`17151716 Powerful intelligence for long-running agents and coding17171718 - `"claude-sonnet-4-5"`17191720 High-performance model for agents and coding17211722 - `"claude-sonnet-4-5-20250929"`17231724 High-performance model for agents and coding17251726 - `string`17271728 - `effort: optional BetaManagedAgentsEffortLow or BetaManagedAgentsEffortMedium or BetaManagedAgentsEffortHigh or 2 more`17291730 How hard Claude works on each turn. Sets `output_config.effort` on every Messages call the session makes.17311732 - `BetaManagedAgentsEffortLow object`17331734 Low effort. Favors latency over reasoning depth.17351736 - `type: "low"`17371738 - `BetaManagedAgentsEffortMedium object`17391740 Medium effort. Balances latency and reasoning depth.17411742 - `type: "medium"`17431744 - `BetaManagedAgentsEffortHigh object`17451746 High effort. Favors reasoning depth.17471748 - `type: "high"`17491750 - `BetaManagedAgentsEffortXhigh object`17511752 Extra-high effort. Not all models accept this level.17531754 - `type: "xhigh"`17551756 - `BetaManagedAgentsEffortMax object`17571758 Maximum effort. Favors reasoning depth over latency.17591760 - `type: "max"`17611762 - `inference_geo: optional string`17631764 Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.17651766 - `speed: optional "standard" or "fast"`17671768 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.17691770 - `"standard"`17711772 - `"fast"`17731774 - `multiagent: BetaManagedAgentsSessionMultiagentCoordinator or null`17751776 Resolved coordinator topology with full agent definitions for each roster member.17771778 - `type: "coordinator"`17791780 - `agents: array of BetaManagedAgentsSessionThreadAgent or BetaManagedAgentsAdvisor`17811782 Full `agent` definitions the coordinator may spawn as session threads.17831784 - `BetaManagedAgentsSessionThreadAgent object`17851786 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`.17871788 - `type: "agent"`17891790 - `id: string`17911792 - `description: string or null`17931794 - `mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition`17951796 - `type: "url"`17971798 - `name: string`17991800 - `url: string`18011802 - `model: BetaManagedAgentsModelConfig`18031804 Model identifier and configuration.18051806 - `name: string`18071808 - `skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill`18091810 - `BetaManagedAgentsAnthropicSkill object`18111812 A resolved Anthropic-managed skill.18131814 - `type: "anthropic"`18151816 - `skill_id: string`18171818 - `version: string`18191820 - `BetaManagedAgentsCustomSkill object`18211822 A resolved user-created custom skill.18231824 - `type: "custom"`18251826 - `skill_id: string`18271828 - `version: string`18291830 - `system: string or null`18311832 - `tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool`18331834 - `BetaManagedAgentsAgentToolset20260401 object`18351836 - `type: "agent_toolset_20260401"`18371838 - `configs: array of BetaManagedAgentsAgentToolConfig`18391840 - `BetaManagedAgentsBashToolConfig object`18411842 Configuration for the bash tool.18431844 - `type: "bash"`18451846 - `enabled: boolean`18471848 - `name: "bash"`18491850 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`18511852 Permission policy for tool execution.18531854 - `BetaManagedAgentsAlwaysAllowPolicy object`18551856 Tool calls are automatically approved without user confirmation.18571858 - `type: "always_allow"`18591860 - `BetaManagedAgentsAlwaysAskPolicy object`18611862 Tool calls require user confirmation before execution.18631864 - `type: "always_ask"`18651866 - `BetaManagedAgentsAutoPolicy object`18671868 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.18691870 - `type: "auto"`18711872 - `BetaManagedAgentsEditToolConfig object`18731874 Configuration for the edit tool.18751876 - `type: "edit"`18771878 - `enabled: boolean`18791880 - `name: "edit"`18811882 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`18831884 Permission policy for tool execution.18851886 - `BetaManagedAgentsAlwaysAllowPolicy object`18871888 Tool calls are automatically approved without user confirmation.18891890 - `BetaManagedAgentsAlwaysAskPolicy object`18911892 Tool calls require user confirmation before execution.18931894 - `BetaManagedAgentsAutoPolicy object`18951896 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.18971898 - `BetaManagedAgentsReadToolConfig object`18991900 Configuration for the read tool.19011902 - `type: "read"`19031904 - `enabled: boolean`19051906 - `name: "read"`19071908 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`19091910 Permission policy for tool execution.19111912 - `BetaManagedAgentsAlwaysAllowPolicy object`19131914 Tool calls are automatically approved without user confirmation.19151916 - `BetaManagedAgentsAlwaysAskPolicy object`19171918 Tool calls require user confirmation before execution.19191920 - `BetaManagedAgentsAutoPolicy object`19211922 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.19231924 - `BetaManagedAgentsWriteToolConfig object`19251926 Configuration for the write tool.19271928 - `type: "write"`19291930 - `enabled: boolean`19311932 - `name: "write"`19331934 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`19351936 Permission policy for tool execution.19371938 - `BetaManagedAgentsAlwaysAllowPolicy object`19391940 Tool calls are automatically approved without user confirmation.19411942 - `BetaManagedAgentsAlwaysAskPolicy object`19431944 Tool calls require user confirmation before execution.19451946 - `BetaManagedAgentsAutoPolicy object`19471948 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.19491950 - `BetaManagedAgentsGlobToolConfig object`19511952 Configuration for the glob tool.19531954 - `type: "glob"`19551956 - `enabled: boolean`19571958 - `name: "glob"`19591960 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`19611962 Permission policy for tool execution.19631964 - `BetaManagedAgentsAlwaysAllowPolicy object`19651966 Tool calls are automatically approved without user confirmation.19671968 - `BetaManagedAgentsAlwaysAskPolicy object`19691970 Tool calls require user confirmation before execution.19711972 - `BetaManagedAgentsAutoPolicy object`19731974 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.19751976 - `BetaManagedAgentsGrepToolConfig object`19771978 Configuration for the grep tool.19791980 - `type: "grep"`19811982 - `enabled: boolean`19831984 - `name: "grep"`19851986 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`19871988 Permission policy for tool execution.19891990 - `BetaManagedAgentsAlwaysAllowPolicy object`19911992 Tool calls are automatically approved without user confirmation.19931994 - `BetaManagedAgentsAlwaysAskPolicy object`19951996 Tool calls require user confirmation before execution.19971998 - `BetaManagedAgentsAutoPolicy object`19992000 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.20012002 - `BetaManagedAgentsWebFetchToolConfig object`20032004 Configuration for the web_fetch tool.20052006 - `type: "web_fetch"`20072008 - `enabled: boolean`20092010 - `name: "web_fetch"`20112012 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`20132014 Permission policy for tool execution.20152016 - `BetaManagedAgentsAlwaysAllowPolicy object`20172018 Tool calls are automatically approved without user confirmation.20192020 - `BetaManagedAgentsAlwaysAskPolicy object`20212022 Tool calls require user confirmation before execution.20232024 - `BetaManagedAgentsAutoPolicy object`20252026 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.20272028 - `allowed_domains: optional array of string`20292030 - `blocked_domains: optional array of string`20312032 - `max_content_tokens: optional number or null`20332034 format: int3220352036 - `BetaManagedAgentsWebSearchToolConfig object`20372038 Configuration for the web_search tool.20392040 - `type: "web_search"`20412042 - `enabled: boolean`20432044 - `name: "web_search"`20452046 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`20472048 Permission policy for tool execution.20492050 - `BetaManagedAgentsAlwaysAllowPolicy object`20512052 Tool calls are automatically approved without user confirmation.20532054 - `BetaManagedAgentsAlwaysAskPolicy object`20552056 Tool calls require user confirmation before execution.20572058 - `BetaManagedAgentsAutoPolicy object`20592060 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.20612062 - `allowed_domains: optional array of string`20632064 - `blocked_domains: optional array of string`20652066 - `user_location: optional BetaManagedAgentsUserLocation or null`20672068 Approximate user location for search result localization.20692070 - `type: "approximate"`20712072 Location precision. Only "approximate" is supported.20732074 - `city: optional string or null`20752076 City name.20772078 minLength: 1, maxLength: 25520792080 - `country: optional string or null`20812082 Two-letter ISO 3166-1 country code, uppercase.20832084 - `region: optional string or null`20852086 Region or state name.20872088 minLength: 1, maxLength: 25520892090 - `timezone: optional string or null`20912092 IANA timezone identifier, e.g. "America/Los_Angeles".20932094 minLength: 1, maxLength: 25520952096 - `default_config: BetaManagedAgentsAgentToolsetDefaultConfig`20972098 Resolved default configuration for agent tools.20992100 - `enabled: boolean`21012102 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`21032104 Permission policy for tool execution.21052106 - `BetaManagedAgentsAlwaysAllowPolicy object`21072108 Tool calls are automatically approved without user confirmation.21092110 - `BetaManagedAgentsAlwaysAskPolicy object`21112112 Tool calls require user confirmation before execution.21132114 - `BetaManagedAgentsAutoPolicy object`21152116 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.21172118 - `BetaManagedAgentsMCPToolset object`21192120 - `type: "mcp_toolset"`21212122 - `configs: array of BetaManagedAgentsMCPToolConfig`21232124 - `enabled: boolean`21252126 - `name: string`21272128 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`21292130 Permission policy for tool execution.21312132 - `BetaManagedAgentsAlwaysAllowPolicy object`21332134 Tool calls are automatically approved without user confirmation.21352136 - `BetaManagedAgentsAlwaysAskPolicy object`21372138 Tool calls require user confirmation before execution.21392140 - `BetaManagedAgentsAutoPolicy object`21412142 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.21432144 - `default_config: BetaManagedAgentsMCPToolsetDefaultConfig`21452146 Resolved default configuration for all tools from an MCP server.21472148 - `enabled: boolean`21492150 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`21512152 Permission policy for tool execution.21532154 - `BetaManagedAgentsAlwaysAllowPolicy object`21552156 Tool calls are automatically approved without user confirmation.21572158 - `BetaManagedAgentsAlwaysAskPolicy object`21592160 Tool calls require user confirmation before execution.21612162 - `BetaManagedAgentsAutoPolicy object`21632164 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.21652166 - `mcp_server_name: string`21672168 - `BetaManagedAgentsCustomTool object`21692170 A custom tool as returned in API responses.21712172 - `type: "custom"`21732174 - `description: string`21752176 - `input_schema: BetaManagedAgentsCustomToolInputSchema`21772178 JSON Schema for custom tool input parameters.21792180 - `type: "object"`21812182 - `properties: optional map[unknown] or null`21832184 - `required: optional array of string or null`21852186 - `name: string`21872188 - `version: number`21892190 format: int3221912192 - `BetaManagedAgentsAdvisor object`21932194 Platform advisor roster entry: a model the session's primary thread may consult mid-turn.21952196 - `type: "advisor"`21972198 - `model: string`21992200 The advisor model id.22012202 - `name: string`22032204 - `skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill`22052206 - `BetaManagedAgentsAnthropicSkill object`22072208 A resolved Anthropic-managed skill.22092210 - `BetaManagedAgentsCustomSkill object`22112212 A resolved user-created custom skill.22132214 - `system: string or null`22152216 - `tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool`22172218 - `BetaManagedAgentsAgentToolset20260401 object`22192220 - `BetaManagedAgentsMCPToolset object`22212222 - `BetaManagedAgentsCustomTool object`22232224 A custom tool as returned in API responses.22252226 - `version: number`22272228 format: int3222292230 - `budget: optional BetaManagedAgentsBudgetLimit or null`22312232 A hard spend ceiling. The session stops issuing new model requests once the tracked list cost reaches `max_list_cost`.22332234 - `type: "limit"`22352236 - `max_list_cost: BetaMonetaryAmount`22372238 A monetary amount in a specific currency.22392240 - `amount: string`22412242 Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.22432244 - `currency: BetaCurrency`22452246 Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.22472248 - `metadata: optional map[string]`22492250 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.22512252 - `title: optional string or null`22532254 The session's new title. Present only when the update changed it.22552256 - `BetaManagedAgentsSystemMessageEvent object`22572258 A mid-conversation system message event. Carries system-role content that is appended to the session as a `role: "system"` turn.22592260 - `type: "system.message"`22612262 - `id: string`22632264 Unique identifier for this event.22652266 - `content: array of BetaManagedAgentsSystemContentBlock`22672268 System content blocks. Text-only.22692270 - `type: "text"`22712272 - `text: string`22732274 The text content.22752276 minLength: 122772278 - `processed_at: optional string or null`22792280 A timestamp in RFC 3339 format22812282 format: date-time22832284 - `BetaManagedAgentsSessionUsageEvent object`22852286 Periodic snapshot of the session's cumulative usage and tracked list cost.22872288 - `type: "session.usage"`22892290 - `id: string`22912292 Unique identifier for this event.22932294 - `processed_at: string`22952296 A timestamp in RFC 3339 format22972298 format: date-time22992300 - `usage: BetaManagedAgentsSessionUsageSnapshot`23012302 Point-in-time snapshot of a session's cumulative usage.23032304 - `active_seconds: optional number`23052306 Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once. This is the duration the session's runtime cost is priced on.23072308 format: double23092310 - `cache_creation: optional BetaManagedAgentsCacheCreationUsage`23112312 Prompt-cache creation token usage broken down by cache lifetime.23132314 - `ephemeral_1h_input_tokens: optional number`23152316 Tokens used to create 1-hour ephemeral cache entries.23172318 format: int3223192320 - `ephemeral_5m_input_tokens: optional number`23212322 Tokens used to create 5-minute ephemeral cache entries.23232324 format: int3223252326 - `cache_read_input_tokens: optional number`23272328 Total tokens read from prompt cache.23292330 format: int3223312332 - `input_tokens: optional number`23332334 Total input tokens consumed across all turns.23352336 format: int3223372338 - `list_cost: optional BetaMonetaryAmount`23392340 A monetary amount in a specific currency.23412342 - `output_tokens: optional number`23432344 Total output tokens generated across all turns.23452346 format: int3223472348 - `server_tool_use: optional BetaManagedAgentsServerToolUsage`23492350 Cumulative count of server-executed tool invocations, broken down by tool.23512352 - `web_fetch_requests: optional number`23532354 Number of server-executed web fetch requests.23552356 format: int3223572358 - `web_search_requests: optional number`23592360 Number of server-executed web search requests.23612362 format: int3223632364 - `budget: optional BetaManagedAgentsBudgetLimit or null`23652366 A hard spend ceiling. The session stops issuing new model requests once the tracked list cost reaches `max_list_cost`.23672368- `next_page: optional string or null`23692370 Opaque cursor for the next page. Null when no more results.23712372### Example23732374```bash2375curl https://api.anthropic.com/v1/sessions/$SESSION_ID/threads/$THREAD_ID/events \2376 -H 'anthropic-version: 2023-06-01' \2377 -H 'anthropic-beta: managed-agents-2026-04-01' \2378 -H "X-Api-Key: $ANTHROPIC_API_KEY"2379```23802381#### Response (200)23822383```json2384{2385 "data": [2386 {2387 "id": "sevt_011CZkZGOp0iBcp4kaQSihUmy",2388 "content": [2389 {2390 "text": "Where is my order #1234?",2391 "type": "text"2392 }2393 ],2394 "type": "user.message",2395 "processed_at": "2026-03-15T10:00:00Z"2396 }2397 ],2398 "next_page": "next_page"2399}2400```24012402## Stream Session Thread Events24032404**GET** `/v1/sessions/{session_id}/threads/{thread_id}/stream`24052406Stream Session Thread Events24072408### Path parameters24092410- `session_id: string`24112412- `thread_id: string`24132414### Query parameters24152416- `event_deltas: optional array of BetaManagedAgentsDeltaType`24172418 When set, this connection also receives streaming deltas (`event_start`, `event_delta`) while an event is being produced, before the event itself arrives. Deltas are best-effort; when the final event is produced it carries the complete content. A model request that ends early (an error or interrupt) produces no final event — its terminal `span.model_request_end` closes the preview. Accepts one or more event types to preview and may be repeated: `agent.message` streams `content_delta` fragments; `agent.thinking` is start-only — a signal that the agent has begun extended thinking, concluded by the `agent.thinking` event itself. Only previews of the requested event types are sent.24192420 - `"agent.message"`24212422 - `"agent.thinking"`24232424### Headers24252426- `"anthropic-beta": optional array of AnthropicBeta`24272428 Optional header to specify the beta version(s) you want to use.24292430 - `string`24312432 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`24332434 - `"message-batches-2024-09-24"`24352436 - `"prompt-caching-2024-07-31"`24372438 - `"computer-use-2024-10-22"`24392440 - `"computer-use-2025-01-24"`24412442 - `"pdfs-2024-09-25"`24432444 - `"token-counting-2024-11-01"`24452446 - `"token-efficient-tools-2025-02-19"`24472448 - `"output-128k-2025-02-19"`24492450 - `"files-api-2025-04-14"`24512452 - `"mcp-client-2025-04-04"`24532454 - `"mcp-client-2025-11-20"`24552456 - `"dev-full-thinking-2025-05-14"`24572458 - `"interleaved-thinking-2025-05-14"`24592460 - `"code-execution-2025-05-22"`24612462 - `"extended-cache-ttl-2025-04-11"`24632464 - `"context-1m-2025-08-07"`24652466 - `"context-management-2025-06-27"`24672468 - `"model-context-window-exceeded-2025-08-26"`24692470 - `"skills-2025-10-02"`24712472 - `"fast-mode-2026-02-01"`24732474 - `"output-300k-2026-03-24"`24752476 - `"user-profiles-2026-03-24"`24772478 - `"user-profiles-2026-08-18"`24792480 - `"user-profiles-2026-09-04"`24812482 - `"advisor-tool-2026-03-01"`24832484 - `"managed-agents-2026-04-01"`24852486 - `"cache-diagnosis-2026-04-07"`24872488 - `"dreaming-2026-04-21"`24892490 - `"thinking-token-count-2026-05-13"`24912492 - `"server-side-fallback-2026-06-01"`24932494 - `"server-side-fallback-2026-07-01"`24952496 - `"fallback-credit-2026-06-01"`24972498 - `"fallback-credit-2026-07-01"`24992500 - `"agent-memory-2026-07-22"`25012502 - `"mid-conversation-tool-changes-2026-07-01"`25032504 - `"compact-2026-01-12"`25052506 - `"computer-use-2025-11-24"`25072508 - `"mcp-tunnels-2026-06-22"`25092510 - `"structured-outputs-2025-11-13"`25112512 - `"task-budgets-2026-03-13"`25132514 - `"thinking-display-updates-2026-08-18"`25152516 - `"ce-user-management-2026-07-13"`25172518 - `"mid-conversation-output-config-2026-07-01"`25192520 - `"thinking-binding-controls-2026-08-01"`25212522 - `"mid-conversation-system-clear-at-2026-08-21"`25232524 - `"compact-2026-09-04"`25252526- `"anthropic-workspace-id": optional string`25272528### Returns25292530- `BetaManagedAgentsStreamSessionThreadEvents = BetaManagedAgentsUserMessageEvent or BetaManagedAgentsUserInterruptEvent or BetaManagedAgentsUserToolConfirmationEvent or 34 more`25312532 Server-sent event in a single thread's stream.25332534 - `BetaManagedAgentsUserMessageEvent object`25352536 A user message event in the session conversation.25372538 - `type: "user.message"`25392540 - `id: string`25412542 Unique identifier for this event.25432544 - `content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsRedactedBlock`25452546 Array of content blocks comprising the user message.25472548 - `BetaManagedAgentsTextBlock object`25492550 Regular text content.25512552 - `type: "text"`25532554 - `text: string`25552556 The text content.25572558 minLength: 125592560 - `BetaManagedAgentsImageBlock object`25612562 Image content specified directly as base64 data or as a reference via a URL.25632564 - `type: "image"`25652566 - `source: BetaManagedAgentsBase64ImageSource or BetaManagedAgentsURLImageSource or BetaManagedAgentsFileImageSource`25672568 Union type for image source variants.25692570 - `BetaManagedAgentsBase64ImageSource object`25712572 Base64-encoded image data.25732574 - `type: "base64"`25752576 - `data: string`25772578 Base64-encoded image data.25792580 minLength: 125812582 - `media_type: string`25832584 MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").25852586 minLength: 125872588 - `BetaManagedAgentsURLImageSource object`25892590 Image referenced by URL.25912592 - `type: "url"`25932594 - `url: string`25952596 URL of the image to fetch.25972598 minLength: 125992600 - `BetaManagedAgentsFileImageSource object`26012602 Image referenced by file ID.26032604 - `type: "file"`26052606 - `file_id: string`26072608 ID of a previously uploaded file.26092610 minLength: 126112612 - `BetaManagedAgentsDocumentBlock object`26132614 Document content, either specified directly as base64 data, as text, or as a reference via a URL.26152616 - `type: "document"`26172618 - `source: BetaManagedAgentsBase64DocumentSource or BetaManagedAgentsPlainTextDocumentSource or BetaManagedAgentsURLDocumentSource or BetaManagedAgentsFileDocumentSource`26192620 Union type for document source variants.26212622 - `BetaManagedAgentsBase64DocumentSource object`26232624 Base64-encoded document data.26252626 - `type: "base64"`26272628 - `data: string`26292630 Base64-encoded document data.26312632 minLength: 126332634 - `media_type: string`26352636 MIME type of the document (e.g., "application/pdf").26372638 minLength: 126392640 - `BetaManagedAgentsPlainTextDocumentSource object`26412642 Plain text document content.26432644 - `type: "text"`26452646 - `data: string`26472648 The plain text content.26492650 minLength: 126512652 - `media_type: "text/plain"`26532654 MIME type of the text content. Must be "text/plain".26552656 - `BetaManagedAgentsURLDocumentSource object`26572658 Document referenced by URL.26592660 - `type: "url"`26612662 - `url: string`26632664 URL of the document to fetch.26652666 minLength: 126672668 - `BetaManagedAgentsFileDocumentSource object`26692670 Document referenced by file ID.26712672 - `type: "file"`26732674 - `file_id: string`26752676 ID of a previously uploaded file.26772678 minLength: 126792680 - `context: optional string or null`26812682 Additional context about the document for the model.26832684 - `title: optional string or null`26852686 The title of the document.26872688 - `BetaManagedAgentsRedactedBlock object`26892690 Placeholder for content withheld by Anthropic model policy.26912692 - `type: "redacted"`26932694 - `processed_at: optional string or null`26952696 A timestamp in RFC 3339 format26972698 format: date-time26992700 - `BetaManagedAgentsUserInterruptEvent object`27012702 An interrupt event that pauses agent execution and returns control to the user.27032704 - `type: "user.interrupt"`27052706 - `id: string`27072708 Unique identifier for this event.27092710 - `processed_at: optional string or null`27112712 A timestamp in RFC 3339 format27132714 format: date-time27152716 - `session_thread_id: optional string or null`27172718 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.27192720 - `BetaManagedAgentsUserToolConfirmationEvent object`27212722 A tool confirmation event that approves or denies a pending tool execution.27232724 - `type: "user.tool_confirmation"`27252726 - `id: string`27272728 Unique identifier for this event.27292730 - `result: "allow" or "deny"`27312732 UserToolConfirmationResult enum27332734 - `"allow"`27352736 - `"deny"`27372738 - `tool_use_id: string`27392740 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](https://platform.claude.com/docs/en/api/beta/sessions/events/list#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.27412742 - `deny_message: optional string or null`27432744 Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.27452746 maxLength: 1000027472748 - `processed_at: optional string or null`27492750 A timestamp in RFC 3339 format27512752 format: date-time27532754 - `session_thread_id: optional string or null`27552756 Set by the server to the subagent thread this confirmation was routed to. Omitted when it was routed to the primary thread.27572758 - `BetaManagedAgentsUserCustomToolResultEvent object`27592760 Event sent by the client providing the result of a custom tool execution.27612762 - `type: "user.custom_tool_result"`27632764 - `id: string`27652766 Unique identifier for this event.27672768 - `custom_tool_use_id: string`27692770 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](https://platform.claude.com/docs/en/api/beta/sessions/events/list#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.27712772 - `content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock`27732774 The result content returned by the tool.27752776 - `BetaManagedAgentsTextBlock object`27772778 Regular text content.27792780 - `BetaManagedAgentsImageBlock object`27812782 Image content specified directly as base64 data or as a reference via a URL.27832784 - `BetaManagedAgentsDocumentBlock object`27852786 Document content, either specified directly as base64 data, as text, or as a reference via a URL.27872788 - `BetaManagedAgentsSearchResultBlock object`27892790 A block containing a web search result.27912792 - `type: "search_result"`27932794 - `citations: BetaManagedAgentsSearchResultCitations`27952796 Citation settings for a search result.27972798 - `enabled: boolean`27992800 Whether citations are enabled for this search result.28012802 - `content: array of BetaManagedAgentsSearchResultContent`28032804 Array of text content blocks from the search result.28052806 - `type: "text"`28072808 - `text: string`28092810 The text content.28112812 minLength: 128132814 - `source: string`28152816 The URL source of the search result.28172818 minLength: 128192820 - `title: string`28212822 The title of the search result.28232824 minLength: 128252826 - `is_error: optional boolean or null`28272828 Whether the tool execution resulted in an error.28292830 - `processed_at: optional string or null`28312832 A timestamp in RFC 3339 format28332834 format: date-time28352836 - `session_thread_id: optional string or null`28372838 Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.28392840 - `BetaManagedAgentsAgentCustomToolUseEvent object`28412842 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.28432844 - `type: "agent.custom_tool_use"`28452846 - `id: string`28472848 Unique identifier for this event.28492850 - `input: map[unknown]`28512852 Input parameters for the tool call.28532854 - `name: string`28552856 Name of the custom tool being called.28572858 - `processed_at: string`28592860 A timestamp in RFC 3339 format28612862 format: date-time28632864 - `session_thread_id: optional string or null`28652866 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. Informational only: the server routes the matching `user.custom_tool_result` by `custom_tool_use_id`, so clients do not send it back.28672868 - `BetaManagedAgentsAgentMessageEvent object`28692870 An agent response event in the session conversation.28712872 - `type: "agent.message"`28732874 - `id: string`28752876 Unique identifier for this event.28772878 - `content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsRedactedBlock`28792880 Array of text blocks comprising the agent response.28812882 - `BetaManagedAgentsTextBlock object`28832884 Regular text content.28852886 - `BetaManagedAgentsRedactedBlock object`28872888 Placeholder for content withheld by Anthropic model policy.28892890 - `processed_at: string`28912892 A timestamp in RFC 3339 format28932894 format: date-time28952896 - `BetaManagedAgentsAgentThinkingEvent object`28972898 Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.28992900 - `type: "agent.thinking"`29012902 - `id: string`29032904 Unique identifier for this event.29052906 - `processed_at: string`29072908 A timestamp in RFC 3339 format29092910 format: date-time29112912 - `BetaManagedAgentsAgentMCPToolUseEvent object`29132914 Event emitted when the agent invokes a tool provided by an MCP server.29152916 - `type: "agent.mcp_tool_use"`29172918 - `id: string`29192920 Unique identifier for this event.29212922 - `input: map[unknown]`29232924 Input parameters for the tool call.29252926 - `mcp_server_name: string`29272928 Name of the MCP server providing the tool.29292930 - `name: string`29312932 Name of the MCP tool being used.29332934 - `processed_at: string`29352936 A timestamp in RFC 3339 format29372938 format: date-time29392940 - `evaluated_permission: optional "allow" or "ask" or "deny"`29412942 AgentEvaluatedPermission enum29432944 - `"allow"`29452946 - `"ask"`29472948 - `"deny"`29492950 - `evaluation: optional BetaManagedAgentsAgentToolEvaluation`29512952 Names the resolved permission_policy that produced evaluated_permission, and under auto carries the judgement. Open union: clients must tolerate unknown variants.29532954 - `BetaManagedAgentsAgentToolEvaluationAlwaysAllow object`29552956 The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".29572958 - `type: "always_allow"`29592960 - `BetaManagedAgentsAgentToolEvaluationAlwaysAsk object`29612962 The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".29632964 - `type: "always_ask"`29652966 - `BetaManagedAgentsAgentToolEvaluationAuto object`29672968 The resolved permission_policy was auto: the server judged this invocation individually.29692970 - `type: "auto"`29712972 - `evaluated_permission: BetaManagedAgentsAgentAutoEvaluatedPermission`29732974 The server's per-invocation judgement under the auto permission policy. Its type always equals the event's top-level evaluated_permission. Open union: clients must tolerate unknown variants.29752976 - `BetaManagedAgentsAgentAutoEvaluatedPermissionAllow object`29772978 The server judged the invocation safe to execute without client approval.29792980 - `type: "allow"`29812982 - `BetaManagedAgentsAgentAutoEvaluatedPermissionAsk object`29832984 The server reached no judgement; the invocation is held for client approval.29852986 - `type: "ask"`29872988 - `reason_code: string`29892990 The judgement's grounds in registry-bound terms, for client branching and audit rather than end-user display. Open registry; currently "indeterminate" (no judgement was reached). Clients must tolerate values outside this set.29912992 maxLength: 6429932994 - `BetaManagedAgentsAgentAutoEvaluatedPermissionDeny object`29952996 The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.29972998 - `type: "deny"`29993000 - `reason_code: string`30013002 The judgement's grounds in registry-bound terms. Open registry; currently "high_risk" (judged high-risk; the call does not run). Clients must tolerate values outside this set.30033004 maxLength: 6430053006 - `session_thread_id: optional string or null`30073008 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. Informational only: the server routes the matching `user.tool_confirmation` by `tool_use_id`, so clients do not send it back.30093010 - `BetaManagedAgentsAgentMCPToolResultEvent object`30113012 Event representing the result of an MCP tool execution.30133014 - `type: "agent.mcp_tool_result"`30153016 - `id: string`30173018 Unique identifier for this event.30193020 - `mcp_tool_use_id: string`30213022 The id of the `agent.mcp_tool_use` event this result corresponds to.30233024 - `processed_at: string`30253026 A timestamp in RFC 3339 format30273028 format: date-time30293030 - `content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock`30313032 The result content returned by the tool.30333034 - `BetaManagedAgentsTextBlock object`30353036 Regular text content.30373038 - `BetaManagedAgentsImageBlock object`30393040 Image content specified directly as base64 data or as a reference via a URL.30413042 - `BetaManagedAgentsDocumentBlock object`30433044 Document content, either specified directly as base64 data, as text, or as a reference via a URL.30453046 - `BetaManagedAgentsSearchResultBlock object`30473048 A block containing a web search result.30493050 - `is_error: optional boolean or null`30513052 Whether the tool execution resulted in an error.30533054 - `BetaManagedAgentsAgentToolUseEvent object`30553056 Event emitted when the agent invokes a built-in agent tool.30573058 - `type: "agent.tool_use"`30593060 - `id: string`30613062 Unique identifier for this event.30633064 - `input: map[unknown]`30653066 Input parameters for the tool call.30673068 - `name: string`30693070 Name of the agent tool being used.30713072 - `processed_at: string`30733074 A timestamp in RFC 3339 format30753076 format: date-time30773078 - `evaluated_permission: optional "allow" or "ask" or "deny"`30793080 AgentEvaluatedPermission enum30813082 - `"allow"`30833084 - `"ask"`30853086 - `"deny"`30873088 - `evaluation: optional BetaManagedAgentsAgentToolEvaluation`30893090 Names the resolved permission_policy that produced evaluated_permission, and under auto carries the judgement. Open union: clients must tolerate unknown variants.30913092 - `session_thread_id: optional string or null`30933094 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. Informational only: the server routes the matching `user.tool_confirmation` or `user.tool_result` by `tool_use_id`, so clients do not send it back.30953096 - `BetaManagedAgentsAgentToolResultEvent object`30973098 Event representing the result of an agent tool execution.30993100 - `type: "agent.tool_result"`31013102 - `id: string`31033104 Unique identifier for this event.31053106 - `processed_at: string`31073108 A timestamp in RFC 3339 format31093110 format: date-time31113112 - `tool_use_id: string`31133114 The id of the `agent.tool_use` event this result corresponds to.31153116 - `content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock`31173118 The result content returned by the tool.31193120 - `BetaManagedAgentsTextBlock object`31213122 Regular text content.31233124 - `BetaManagedAgentsImageBlock object`31253126 Image content specified directly as base64 data or as a reference via a URL.31273128 - `BetaManagedAgentsDocumentBlock object`31293130 Document content, either specified directly as base64 data, as text, or as a reference via a URL.31313132 - `BetaManagedAgentsSearchResultBlock object`31333134 A block containing a web search result.31353136 - `is_error: optional boolean or null`31373138 Whether the tool execution resulted in an error.31393140 - `BetaManagedAgentsAgentThreadMessageReceivedEvent object`31413142 Delivery event written to the target thread's input stream when an agent-to-agent message arrives.31433144 - `type: "agent.thread_message_received"`31453146 - `id: string`31473148 Unique identifier for this event.31493150 - `content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsRedactedBlock`31513152 Message content blocks.31533154 - `BetaManagedAgentsTextBlock object`31553156 Regular text content.31573158 - `BetaManagedAgentsImageBlock object`31593160 Image content specified directly as base64 data or as a reference via a URL.31613162 - `BetaManagedAgentsDocumentBlock object`31633164 Document content, either specified directly as base64 data, as text, or as a reference via a URL.31653166 - `BetaManagedAgentsRedactedBlock object`31673168 Placeholder for content withheld by Anthropic model policy.31693170 - `from_session_thread_id: string`31713172 Public `sthr_` ID of the thread that sent the message.31733174 - `processed_at: string`31753176 A timestamp in RFC 3339 format31773178 format: date-time31793180 - `from_agent_name: optional string or null`31813182 Name of the callable agent this message came from. Absent when received from the primary agent.31833184 - `BetaManagedAgentsAgentThreadMessageSentEvent object`31853186 Observability event emitted to the sender's output stream when an agent-to-agent message is sent.31873188 - `type: "agent.thread_message_sent"`31893190 - `id: string`31913192 Unique identifier for this event.31933194 - `content: array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsRedactedBlock`31953196 Message content blocks.31973198 - `BetaManagedAgentsTextBlock object`31993200 Regular text content.32013202 - `BetaManagedAgentsImageBlock object`32033204 Image content specified directly as base64 data or as a reference via a URL.32053206 - `BetaManagedAgentsDocumentBlock object`32073208 Document content, either specified directly as base64 data, as text, or as a reference via a URL.32093210 - `BetaManagedAgentsRedactedBlock object`32113212 Placeholder for content withheld by Anthropic model policy.32133214 - `processed_at: string`32153216 A timestamp in RFC 3339 format32173218 format: date-time32193220 - `to_session_thread_id: string`32213222 Public `sthr_` ID of the thread the message was sent to.32233224 - `to_agent_name: optional string or null`32253226 Name of the callable agent this message was sent to. Absent when sent to the primary agent.32273228 - `BetaManagedAgentsAgentThreadContextCompactedEvent object`32293230 Indicates that context compaction (summarization) occurred during the session.32313232 - `type: "agent.thread_context_compacted"`32333234 - `id: string`32353236 Unique identifier for this event.32373238 - `processed_at: string`32393240 A timestamp in RFC 3339 format32413242 format: date-time32433244 - `BetaManagedAgentsSessionErrorEvent object`32453246 An error event indicating a problem occurred during session execution.32473248 - `type: "session.error"`32493250 - `id: string`32513252 Unique identifier for this event.32533254 - `error: BetaManagedAgentsUnknownError or BetaManagedAgentsModelOverloadedError or BetaManagedAgentsModelRateLimitedError or 5 more`32553256 - `BetaManagedAgentsUnknownError object`32573258 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.32593260 - `type: "unknown_error"`32613262 - `message: string`32633264 Human-readable error description.32653266 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`32673268 What the client should do next in response to this error.32693270 - `BetaManagedAgentsRetryStatusRetrying object`32713272 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.32733274 - `type: "retrying"`32753276 - `BetaManagedAgentsRetryStatusExhausted object`32773278 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.32793280 - `type: "exhausted"`32813282 - `BetaManagedAgentsRetryStatusTerminal object`32833284 The session encountered a terminal error and will transition to `terminated` state.32853286 - `type: "terminal"`32873288 - `BetaManagedAgentsModelOverloadedError object`32893290 The model is currently overloaded. Emitted after automatic retries are exhausted.32913292 - `type: "model_overloaded_error"`32933294 - `message: string`32953296 Human-readable error description.32973298 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`32993300 What the client should do next in response to this error.33013302 - `BetaManagedAgentsRetryStatusRetrying object`33033304 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.33053306 - `BetaManagedAgentsRetryStatusExhausted object`33073308 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.33093310 - `BetaManagedAgentsRetryStatusTerminal object`33113312 The session encountered a terminal error and will transition to `terminated` state.33133314 - `BetaManagedAgentsModelRateLimitedError object`33153316 The model request was rate-limited.33173318 - `type: "model_rate_limited_error"`33193320 - `message: string`33213322 Human-readable error description.33233324 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`33253326 What the client should do next in response to this error.33273328 - `BetaManagedAgentsRetryStatusRetrying object`33293330 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.33313332 - `BetaManagedAgentsRetryStatusExhausted object`33333334 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.33353336 - `BetaManagedAgentsRetryStatusTerminal object`33373338 The session encountered a terminal error and will transition to `terminated` state.33393340 - `BetaManagedAgentsModelRequestFailedError object`33413342 A model request failed for a reason other than overload or rate-limiting.33433344 - `type: "model_request_failed_error"`33453346 - `message: string`33473348 Human-readable error description.33493350 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`33513352 What the client should do next in response to this error.33533354 - `BetaManagedAgentsRetryStatusRetrying object`33553356 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.33573358 - `BetaManagedAgentsRetryStatusExhausted object`33593360 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.33613362 - `BetaManagedAgentsRetryStatusTerminal object`33633364 The session encountered a terminal error and will transition to `terminated` state.33653366 - `BetaManagedAgentsMCPConnectionFailedError object`33673368 Failed to connect to an MCP server.33693370 - `type: "mcp_connection_failed_error"`33713372 - `mcp_server_name: string`33733374 Name of the MCP server that failed to connect.33753376 - `message: string`33773378 Human-readable error description.33793380 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`33813382 What the client should do next in response to this error.33833384 - `BetaManagedAgentsRetryStatusRetrying object`33853386 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.33873388 - `BetaManagedAgentsRetryStatusExhausted object`33893390 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.33913392 - `BetaManagedAgentsRetryStatusTerminal object`33933394 The session encountered a terminal error and will transition to `terminated` state.33953396 - `BetaManagedAgentsMCPAuthenticationFailedError object`33973398 Authentication to an MCP server failed.33993400 - `type: "mcp_authentication_failed_error"`34013402 - `mcp_server_name: string`34033404 Name of the MCP server that failed authentication.34053406 - `message: string`34073408 Human-readable error description.34093410 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`34113412 What the client should do next in response to this error.34133414 - `BetaManagedAgentsRetryStatusRetrying object`34153416 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.34173418 - `BetaManagedAgentsRetryStatusExhausted object`34193420 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.34213422 - `BetaManagedAgentsRetryStatusTerminal object`34233424 The session encountered a terminal error and will transition to `terminated` state.34253426 - `BetaManagedAgentsBillingError object`34273428 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.34293430 - `type: "billing_error"`34313432 - `message: string`34333434 Human-readable error description.34353436 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`34373438 What the client should do next in response to this error.34393440 - `BetaManagedAgentsRetryStatusRetrying object`34413442 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.34433444 - `BetaManagedAgentsRetryStatusExhausted object`34453446 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.34473448 - `BetaManagedAgentsRetryStatusTerminal object`34493450 The session encountered a terminal error and will transition to `terminated` state.34513452 - `BetaManagedAgentsCredentialHostUnreachableError object`34533454 An `environment_variable` credential's `auth.networking.allowed_hosts` includes a host the environment's network policy does not permit.34553456 - `type: "credential_host_unreachable_error"`34573458 - `credential_id: string`34593460 ID of the affected credential.34613462 - `message: string`34633464 Human-readable error description.34653466 - `retry_status: BetaManagedAgentsRetryStatusRetrying or BetaManagedAgentsRetryStatusExhausted or BetaManagedAgentsRetryStatusTerminal`34673468 What the client should do next in response to this error.34693470 - `BetaManagedAgentsRetryStatusRetrying object`34713472 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.34733474 - `BetaManagedAgentsRetryStatusExhausted object`34753476 This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.34773478 - `BetaManagedAgentsRetryStatusTerminal object`34793480 The session encountered a terminal error and will transition to `terminated` state.34813482 - `vault_id: string`34833484 ID of the vault containing the affected credential.34853486 - `processed_at: string`34873488 A timestamp in RFC 3339 format34893490 format: date-time34913492 - `BetaManagedAgentsSessionStatusRescheduledEvent object`34933494 Indicates the session is recovering from an error state and is rescheduled for execution.34953496 - `type: "session.status_rescheduled"`34973498 - `id: string`34993500 Unique identifier for this event.35013502 - `processed_at: string`35033504 A timestamp in RFC 3339 format35053506 format: date-time35073508 - `BetaManagedAgentsSessionStatusRunningEvent object`35093510 Indicates the session is actively running and the agent is working.35113512 - `type: "session.status_running"`35133514 - `id: string`35153516 Unique identifier for this event.35173518 - `processed_at: string`35193520 A timestamp in RFC 3339 format35213522 format: date-time35233524 - `BetaManagedAgentsSessionStatusIdleEvent object`35253526 Indicates the agent has paused and is awaiting user input.35273528 - `type: "session.status_idle"`35293530 - `id: string`35313532 Unique identifier for this event.35333534 - `processed_at: string`35353536 A timestamp in RFC 3339 format35373538 format: date-time35393540 - `stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted or BetaManagedAgentsSessionBudgetReached`35413542 - `BetaManagedAgentsSessionEndTurn object`35433544 The agent completed its turn naturally and is ready for the next user message.35453546 - `type: "end_turn"`35473548 - `BetaManagedAgentsSessionRequiresAction object`35493550 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.35513552 - `type: "requires_action"`35533554 - `event_ids: array of string`35553556 The ids of events the agent is blocked on. Resolving fewer than all re-emits `session.status_idle` with the remainder.35573558 - `BetaManagedAgentsSessionRetriesExhausted object`35593560 The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.35613562 - `type: "retries_exhausted"`35633564 - `BetaManagedAgentsSessionBudgetReached object`35653566 The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.35673568 - `type: "budget_reached"`35693570 - `BetaManagedAgentsSessionStatusTerminatedEvent object`35713572 Indicates the session has terminated, either due to an error or completion.35733574 - `type: "session.status_terminated"`35753576 - `id: string`35773578 Unique identifier for this event.35793580 - `processed_at: string`35813582 A timestamp in RFC 3339 format35833584 format: date-time35853586 - `BetaManagedAgentsSessionThreadCreatedEvent object`35873588 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.35893590 - `type: "session.thread_created"`35913592 - `id: string`35933594 Unique identifier for this event.35953596 - `agent_name: string`35973598 Name of the callable agent the thread runs.35993600 - `processed_at: string`36013602 A timestamp in RFC 3339 format36033604 format: date-time36053606 - `session_thread_id: string`36073608 Public `sthr_` ID of the newly created thread.36093610 - `BetaManagedAgentsSpanOutcomeEvaluationStartEvent object`36113612 Emitted when an outcome evaluation cycle begins.36133614 - `type: "span.outcome_evaluation_start"`36153616 - `id: string`36173618 Unique identifier for this event.36193620 - `iteration: number`36213622 0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.36233624 format: int3236253626 - `outcome_id: string`36273628 The `outc_` ID of the outcome being evaluated.36293630 - `processed_at: string`36313632 A timestamp in RFC 3339 format36333634 format: date-time36353636 - `BetaManagedAgentsSpanOutcomeEvaluationEndEvent object`36373638 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.36393640 - `type: "span.outcome_evaluation_end"`36413642 - `id: string`36433644 Unique identifier for this event.36453646 - `explanation: string`36473648 Human-readable explanation of the verdict. For `needs_revision`, describes which criteria failed and why.36493650 - `iteration: number`36513652 0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.36533654 format: int3236553656 - `outcome_evaluation_start_id: string`36573658 The id of the corresponding `span.outcome_evaluation_start` event.36593660 - `outcome_id: string`36613662 The `outc_` ID of the outcome being evaluated.36633664 - `processed_at: string`36653666 A timestamp in RFC 3339 format36673668 format: date-time36693670 - `result: string`36713672 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.36733674 - `usage: BetaManagedAgentsSpanModelUsage`36753676 Token usage for a single model request.36773678 - `cache_creation_input_tokens: number`36793680 Tokens used to create prompt cache in this request.36813682 format: int3236833684 - `cache_read_input_tokens: number`36853686 Tokens read from prompt cache in this request.36873688 format: int3236893690 - `input_tokens: number`36913692 Input tokens consumed by this request.36933694 format: int3236953696 - `output_tokens: number`36973698 Output tokens generated by this request.36993700 format: int3237013702 - `speed: optional "standard" or "fast" or null`37033704 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.37053706 - `"standard"`37073708 - `"fast"`37093710 - `BetaManagedAgentsSpanModelRequestStartEvent object`37113712 Emitted when a model request is initiated by the agent.37133714 - `type: "span.model_request_start"`37153716 - `id: string`37173718 Unique identifier for this event.37193720 - `processed_at: string`37213722 A timestamp in RFC 3339 format37233724 format: date-time37253726 - `BetaManagedAgentsSpanModelRequestEndEvent object`37273728 Emitted when a model request completes.37293730 - `type: "span.model_request_end"`37313732 - `id: string`37333734 Unique identifier for this event.37353736 - `is_error: boolean or null`37373738 Whether the model request resulted in an error.37393740 - `model_request_start_id: string`37413742 The id of the corresponding `span.model_request_start` event.37433744 - `model_usage: BetaManagedAgentsSpanModelUsage`37453746 Token usage for a single model request.37473748 - `processed_at: string`37493750 A timestamp in RFC 3339 format37513752 format: date-time37533754 - `BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent object`37553756 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.37573758 - `type: "span.outcome_evaluation_ongoing"`37593760 - `id: string`37613762 Unique identifier for this event.37633764 - `iteration: number`37653766 0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.37673768 format: int3237693770 - `outcome_id: string`37713772 The `outc_` ID of the outcome being evaluated.37733774 - `processed_at: string`37753776 A timestamp in RFC 3339 format37773778 format: date-time37793780 - `BetaManagedAgentsUserDefineOutcomeEvent object`37813782 Echo of a `user.define_outcome` input event. Carries the server-generated `outcome_id` that subsequent `span.outcome_evaluation_*` events reference.37833784 - `type: "user.define_outcome"`37853786 - `id: string`37873788 Unique identifier for this event.37893790 - `description: string`37913792 What the agent should produce. Copied from the input event.37933794 - `max_iterations: number or null`37953796 Evaluate-then-revise cycles before giving up. Default 3, max 20.37973798 format: int3237993800 - `outcome_id: string`38013802 Server-generated `outc_` ID for this outcome. Referenced by `span.outcome_evaluation_*` events and the session's `outcome_evaluations` list.38033804 - `processed_at: string`38053806 A timestamp in RFC 3339 format38073808 format: date-time38093810 - `rubric: BetaManagedAgentsFileRubric or BetaManagedAgentsTextRubric`38113812 Rubric for grading the quality of an outcome.38133814 - `BetaManagedAgentsFileRubric object`38153816 Rubric referenced by a file uploaded via the Files API.38173818 - `type: "file"`38193820 - `file_id: string`38213822 ID of the rubric file.38233824 - `BetaManagedAgentsTextRubric object`38253826 Rubric content provided inline as text.38273828 - `type: "text"`38293830 - `content: string`38313832 Rubric content. Plain text or markdown — the grader treats it as freeform text.38333834 - `BetaManagedAgentsSessionDeletedEvent object`38353836 Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.38373838 - `type: "session.deleted"`38393840 - `id: string`38413842 Unique identifier for this event.38433844 - `processed_at: string`38453846 A timestamp in RFC 3339 format38473848 format: date-time38493850 - `BetaManagedAgentsSessionThreadStatusRunningEvent object`38513852 A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.38533854 - `type: "session.thread_status_running"`38553856 - `id: string`38573858 Unique identifier for this event.38593860 - `agent_name: string`38613862 Name of the agent the thread runs.38633864 - `processed_at: string`38653866 A timestamp in RFC 3339 format38673868 format: date-time38693870 - `session_thread_id: string`38713872 Public sthr_ ID of the thread that started running.38733874 - `BetaManagedAgentsSessionThreadStatusIdleEvent object`38753876 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.38773878 - `type: "session.thread_status_idle"`38793880 - `id: string`38813882 Unique identifier for this event.38833884 - `agent_name: string`38853886 Name of the agent the thread runs.38873888 - `processed_at: string`38893890 A timestamp in RFC 3339 format38913892 format: date-time38933894 - `session_thread_id: string`38953896 Public sthr_ ID of the thread that went idle.38973898 - `stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted or BetaManagedAgentsSessionBudgetReached`38993900 - `BetaManagedAgentsSessionEndTurn object`39013902 The agent completed its turn naturally and is ready for the next user message.39033904 - `BetaManagedAgentsSessionRequiresAction object`39053906 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.39073908 - `BetaManagedAgentsSessionRetriesExhausted object`39093910 The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.39113912 - `BetaManagedAgentsSessionBudgetReached object`39133914 The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.39153916 - `BetaManagedAgentsSessionThreadStatusTerminatedEvent object`39173918 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.39193920 - `type: "session.thread_status_terminated"`39213922 - `id: string`39233924 Unique identifier for this event.39253926 - `agent_name: string`39273928 Name of the agent the thread runs.39293930 - `processed_at: string`39313932 A timestamp in RFC 3339 format39333934 format: date-time39353936 - `session_thread_id: string`39373938 Public sthr_ ID of the thread that terminated.39393940 - `BetaManagedAgentsUserToolResultEvent object`39413942 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.39433944 - `type: "user.tool_result"`39453946 - `id: string`39473948 Unique identifier for this event.39493950 - `tool_use_id: string`39513952 The id of the `agent.tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.39533954 - `content: optional array of BetaManagedAgentsTextBlock or BetaManagedAgentsImageBlock or BetaManagedAgentsDocumentBlock or BetaManagedAgentsSearchResultBlock`39553956 The result content returned by the tool.39573958 - `BetaManagedAgentsTextBlock object`39593960 Regular text content.39613962 - `BetaManagedAgentsImageBlock object`39633964 Image content specified directly as base64 data or as a reference via a URL.39653966 - `BetaManagedAgentsDocumentBlock object`39673968 Document content, either specified directly as base64 data, as text, or as a reference via a URL.39693970 - `BetaManagedAgentsSearchResultBlock object`39713972 A block containing a web search result.39733974 - `is_error: optional boolean or null`39753976 Whether the tool execution resulted in an error.39773978 - `processed_at: optional string or null`39793980 A timestamp in RFC 3339 format39813982 format: date-time39833984 - `session_thread_id: optional string or null`39853986 Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.39873988 - `BetaManagedAgentsSessionThreadStatusRescheduledEvent object`39893990 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.39913992 - `type: "session.thread_status_rescheduled"`39933994 - `id: string`39953996 Unique identifier for this event.39973998 - `agent_name: string`39994000 Name of the agent the thread runs.40014002 - `processed_at: string`40034004 A timestamp in RFC 3339 format40054006 format: date-time40074008 - `session_thread_id: string`40094010 Public sthr_ ID of the thread that is retrying.40114012 - `BetaManagedAgentsSessionUpdatedEvent object`40134014 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.40154016 - `type: "session.updated"`40174018 - `id: string`40194020 Unique identifier for this event.40214022 - `processed_at: string`40234024 A timestamp in RFC 3339 format40254026 format: date-time40274028 - `agent: optional BetaManagedAgentsSessionAgent or null`40294030 Resolved `agent` definition for a `session`. Snapshot of the `agent` at `session` creation time.40314032 - `type: "agent"`40334034 - `id: string`40354036 - `description: string or null`40374038 - `mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition`40394040 - `type: "url"`40414042 - `name: string`40434044 - `url: string`40454046 - `model: BetaManagedAgentsModelConfig`40474048 Model identifier and configuration.40494050 - `id: BetaManagedAgentsModel`40514052 The model that will power your agent.40534054 See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.40554056 - `"claude-fable-5-1" or "claude-sonnet-5" or "claude-fable-5" or 11 more`40574058 The model that will power your agent.40594060 See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.40614062 - `"claude-fable-5-1"`40634064 Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows40654066 - `"claude-sonnet-5"`40674068 High-performance model for coding and agents40694070 - `"claude-fable-5"`40714072 Next generation of intelligence for the hardest knowledge work and coding problems40734074 - `"claude-opus-5"`40754076 Powerful intelligence for long-running agents and coding40774078 - `"claude-opus-4-8"`40794080 Powerful intelligence for long-running agents and coding40814082 - `"claude-opus-4-7"`40834084 Powerful intelligence for long-running agents and coding40854086 - `"claude-opus-4-6"`40874088 Powerful intelligence for long-running agents and coding40894090 - `"claude-sonnet-4-6"`40914092 Best combination of speed and intelligence40934094 - `"claude-haiku-4-5"`40954096 Fastest model with near-frontier intelligence40974098 - `"claude-haiku-4-5-20251001"`40994100 Fastest model with near-frontier intelligence41014102 - `"claude-opus-4-5"`41034104 Powerful intelligence for long-running agents and coding41054106 - `"claude-opus-4-5-20251101"`41074108 Powerful intelligence for long-running agents and coding41094110 - `"claude-sonnet-4-5"`41114112 High-performance model for agents and coding41134114 - `"claude-sonnet-4-5-20250929"`41154116 High-performance model for agents and coding41174118 - `string`41194120 - `effort: optional BetaManagedAgentsEffortLow or BetaManagedAgentsEffortMedium or BetaManagedAgentsEffortHigh or 2 more`41214122 How hard Claude works on each turn. Sets `output_config.effort` on every Messages call the session makes.41234124 - `BetaManagedAgentsEffortLow object`41254126 Low effort. Favors latency over reasoning depth.41274128 - `type: "low"`41294130 - `BetaManagedAgentsEffortMedium object`41314132 Medium effort. Balances latency and reasoning depth.41334134 - `type: "medium"`41354136 - `BetaManagedAgentsEffortHigh object`41374138 High effort. Favors reasoning depth.41394140 - `type: "high"`41414142 - `BetaManagedAgentsEffortXhigh object`41434144 Extra-high effort. Not all models accept this level.41454146 - `type: "xhigh"`41474148 - `BetaManagedAgentsEffortMax object`41494150 Maximum effort. Favors reasoning depth over latency.41514152 - `type: "max"`41534154 - `inference_geo: optional string`41554156 Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.41574158 - `speed: optional "standard" or "fast"`41594160 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.41614162 - `"standard"`41634164 - `"fast"`41654166 - `multiagent: BetaManagedAgentsSessionMultiagentCoordinator or null`41674168 Resolved coordinator topology with full agent definitions for each roster member.41694170 - `type: "coordinator"`41714172 - `agents: array of BetaManagedAgentsSessionThreadAgent or BetaManagedAgentsAdvisor`41734174 Full `agent` definitions the coordinator may spawn as session threads.41754176 - `BetaManagedAgentsSessionThreadAgent object`41774178 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`.41794180 - `type: "agent"`41814182 - `id: string`41834184 - `description: string or null`41854186 - `mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition`41874188 - `type: "url"`41894190 - `name: string`41914192 - `url: string`41934194 - `model: BetaManagedAgentsModelConfig`41954196 Model identifier and configuration.41974198 - `name: string`41994200 - `skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill`42014202 - `BetaManagedAgentsAnthropicSkill object`42034204 A resolved Anthropic-managed skill.42054206 - `type: "anthropic"`42074208 - `skill_id: string`42094210 - `version: string`42114212 - `BetaManagedAgentsCustomSkill object`42134214 A resolved user-created custom skill.42154216 - `type: "custom"`42174218 - `skill_id: string`42194220 - `version: string`42214222 - `system: string or null`42234224 - `tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool`42254226 - `BetaManagedAgentsAgentToolset20260401 object`42274228 - `type: "agent_toolset_20260401"`42294230 - `configs: array of BetaManagedAgentsAgentToolConfig`42314232 - `BetaManagedAgentsBashToolConfig object`42334234 Configuration for the bash tool.42354236 - `type: "bash"`42374238 - `enabled: boolean`42394240 - `name: "bash"`42414242 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`42434244 Permission policy for tool execution.42454246 - `BetaManagedAgentsAlwaysAllowPolicy object`42474248 Tool calls are automatically approved without user confirmation.42494250 - `type: "always_allow"`42514252 - `BetaManagedAgentsAlwaysAskPolicy object`42534254 Tool calls require user confirmation before execution.42554256 - `type: "always_ask"`42574258 - `BetaManagedAgentsAutoPolicy object`42594260 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.42614262 - `type: "auto"`42634264 - `BetaManagedAgentsEditToolConfig object`42654266 Configuration for the edit tool.42674268 - `type: "edit"`42694270 - `enabled: boolean`42714272 - `name: "edit"`42734274 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`42754276 Permission policy for tool execution.42774278 - `BetaManagedAgentsAlwaysAllowPolicy object`42794280 Tool calls are automatically approved without user confirmation.42814282 - `BetaManagedAgentsAlwaysAskPolicy object`42834284 Tool calls require user confirmation before execution.42854286 - `BetaManagedAgentsAutoPolicy object`42874288 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.42894290 - `BetaManagedAgentsReadToolConfig object`42914292 Configuration for the read tool.42934294 - `type: "read"`42954296 - `enabled: boolean`42974298 - `name: "read"`42994300 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`43014302 Permission policy for tool execution.43034304 - `BetaManagedAgentsAlwaysAllowPolicy object`43054306 Tool calls are automatically approved without user confirmation.43074308 - `BetaManagedAgentsAlwaysAskPolicy object`43094310 Tool calls require user confirmation before execution.43114312 - `BetaManagedAgentsAutoPolicy object`43134314 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.43154316 - `BetaManagedAgentsWriteToolConfig object`43174318 Configuration for the write tool.43194320 - `type: "write"`43214322 - `enabled: boolean`43234324 - `name: "write"`43254326 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`43274328 Permission policy for tool execution.43294330 - `BetaManagedAgentsAlwaysAllowPolicy object`43314332 Tool calls are automatically approved without user confirmation.43334334 - `BetaManagedAgentsAlwaysAskPolicy object`43354336 Tool calls require user confirmation before execution.43374338 - `BetaManagedAgentsAutoPolicy object`43394340 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.43414342 - `BetaManagedAgentsGlobToolConfig object`43434344 Configuration for the glob tool.43454346 - `type: "glob"`43474348 - `enabled: boolean`43494350 - `name: "glob"`43514352 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`43534354 Permission policy for tool execution.43554356 - `BetaManagedAgentsAlwaysAllowPolicy object`43574358 Tool calls are automatically approved without user confirmation.43594360 - `BetaManagedAgentsAlwaysAskPolicy object`43614362 Tool calls require user confirmation before execution.43634364 - `BetaManagedAgentsAutoPolicy object`43654366 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.43674368 - `BetaManagedAgentsGrepToolConfig object`43694370 Configuration for the grep tool.43714372 - `type: "grep"`43734374 - `enabled: boolean`43754376 - `name: "grep"`43774378 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`43794380 Permission policy for tool execution.43814382 - `BetaManagedAgentsAlwaysAllowPolicy object`43834384 Tool calls are automatically approved without user confirmation.43854386 - `BetaManagedAgentsAlwaysAskPolicy object`43874388 Tool calls require user confirmation before execution.43894390 - `BetaManagedAgentsAutoPolicy object`43914392 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.43934394 - `BetaManagedAgentsWebFetchToolConfig object`43954396 Configuration for the web_fetch tool.43974398 - `type: "web_fetch"`43994400 - `enabled: boolean`44014402 - `name: "web_fetch"`44034404 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`44054406 Permission policy for tool execution.44074408 - `BetaManagedAgentsAlwaysAllowPolicy object`44094410 Tool calls are automatically approved without user confirmation.44114412 - `BetaManagedAgentsAlwaysAskPolicy object`44134414 Tool calls require user confirmation before execution.44154416 - `BetaManagedAgentsAutoPolicy object`44174418 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.44194420 - `allowed_domains: optional array of string`44214422 - `blocked_domains: optional array of string`44234424 - `max_content_tokens: optional number or null`44254426 format: int3244274428 - `BetaManagedAgentsWebSearchToolConfig object`44294430 Configuration for the web_search tool.44314432 - `type: "web_search"`44334434 - `enabled: boolean`44354436 - `name: "web_search"`44374438 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`44394440 Permission policy for tool execution.44414442 - `BetaManagedAgentsAlwaysAllowPolicy object`44434444 Tool calls are automatically approved without user confirmation.44454446 - `BetaManagedAgentsAlwaysAskPolicy object`44474448 Tool calls require user confirmation before execution.44494450 - `BetaManagedAgentsAutoPolicy object`44514452 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.44534454 - `allowed_domains: optional array of string`44554456 - `blocked_domains: optional array of string`44574458 - `user_location: optional BetaManagedAgentsUserLocation or null`44594460 Approximate user location for search result localization.44614462 - `type: "approximate"`44634464 Location precision. Only "approximate" is supported.44654466 - `city: optional string or null`44674468 City name.44694470 minLength: 1, maxLength: 25544714472 - `country: optional string or null`44734474 Two-letter ISO 3166-1 country code, uppercase.44754476 - `region: optional string or null`44774478 Region or state name.44794480 minLength: 1, maxLength: 25544814482 - `timezone: optional string or null`44834484 IANA timezone identifier, e.g. "America/Los_Angeles".44854486 minLength: 1, maxLength: 25544874488 - `default_config: BetaManagedAgentsAgentToolsetDefaultConfig`44894490 Resolved default configuration for agent tools.44914492 - `enabled: boolean`44934494 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`44954496 Permission policy for tool execution.44974498 - `BetaManagedAgentsAlwaysAllowPolicy object`44994500 Tool calls are automatically approved without user confirmation.45014502 - `BetaManagedAgentsAlwaysAskPolicy object`45034504 Tool calls require user confirmation before execution.45054506 - `BetaManagedAgentsAutoPolicy object`45074508 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.45094510 - `BetaManagedAgentsMCPToolset object`45114512 - `type: "mcp_toolset"`45134514 - `configs: array of BetaManagedAgentsMCPToolConfig`45154516 - `enabled: boolean`45174518 - `name: string`45194520 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`45214522 Permission policy for tool execution.45234524 - `BetaManagedAgentsAlwaysAllowPolicy object`45254526 Tool calls are automatically approved without user confirmation.45274528 - `BetaManagedAgentsAlwaysAskPolicy object`45294530 Tool calls require user confirmation before execution.45314532 - `BetaManagedAgentsAutoPolicy object`45334534 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.45354536 - `default_config: BetaManagedAgentsMCPToolsetDefaultConfig`45374538 Resolved default configuration for all tools from an MCP server.45394540 - `enabled: boolean`45414542 - `permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy`45434544 Permission policy for tool execution.45454546 - `BetaManagedAgentsAlwaysAllowPolicy object`45474548 Tool calls are automatically approved without user confirmation.45494550 - `BetaManagedAgentsAlwaysAskPolicy object`45514552 Tool calls require user confirmation before execution.45534554 - `BetaManagedAgentsAutoPolicy object`45554556 The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.45574558 - `mcp_server_name: string`45594560 - `BetaManagedAgentsCustomTool object`45614562 A custom tool as returned in API responses.45634564 - `type: "custom"`45654566 - `description: string`45674568 - `input_schema: BetaManagedAgentsCustomToolInputSchema`45694570 JSON Schema for custom tool input parameters.45714572 - `type: "object"`45734574 - `properties: optional map[unknown] or null`45754576 - `required: optional array of string or null`45774578 - `name: string`45794580 - `version: number`45814582 format: int3245834584 - `BetaManagedAgentsAdvisor object`45854586 Platform advisor roster entry: a model the session's primary thread may consult mid-turn.45874588 - `type: "advisor"`45894590 - `model: string`45914592 The advisor model id.45934594 - `name: string`45954596 - `skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill`45974598 - `BetaManagedAgentsAnthropicSkill object`45994600 A resolved Anthropic-managed skill.46014602 - `BetaManagedAgentsCustomSkill object`46034604 A resolved user-created custom skill.46054606 - `system: string or null`46074608 - `tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool`46094610 - `BetaManagedAgentsAgentToolset20260401 object`46114612 - `BetaManagedAgentsMCPToolset object`46134614 - `BetaManagedAgentsCustomTool object`46154616 A custom tool as returned in API responses.46174618 - `version: number`46194620 format: int3246214622 - `budget: optional BetaManagedAgentsBudgetLimit or null`46234624 A hard spend ceiling. The session stops issuing new model requests once the tracked list cost reaches `max_list_cost`.46254626 - `type: "limit"`46274628 - `max_list_cost: BetaMonetaryAmount`46294630 A monetary amount in a specific currency.46314632 - `amount: string`46334634 Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.46354636 - `currency: BetaCurrency`46374638 Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.46394640 - `metadata: optional map[string]`46414642 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.46434644 - `title: optional string or null`46454646 The session's new title. Present only when the update changed it.46474648 - `BetaManagedAgentsStartEvent object`46494650 Opens a preview of a buffered event. Carries the previewed event's type and id only. Followed by zero or more event_delta events with the same event id, normally concluded by the buffered event carrying that id. If the producing model request ends without that event (an error or interrupt mid-stream), its terminal span.model_request_end closes the preview. Only sent on stream connections that opt in via event_deltas; never appears in event history.46514652 - `type: "event_start"`46534654 - `event: BetaManagedAgentsStartEventPreview`46554656 The previewed event's type and id. The event type determines which delta types the preview's event_delta events carry: agent.message events stream content_delta fragments; agent.thinking previews are start-only — no deltas follow, and the buffered agent.thinking with the same id concludes them.46574658 - `BetaManagedAgentsAgentMessagePreview object`46594660 - `type: "agent.message"`46614662 - `id: string`46634664 The id the buffered agent.message will carry if it is emitted. Matches the event_id on this preview's event_delta events.46654666 - `BetaManagedAgentsAgentThinkingPreview object`46674668 - `type: "agent.thinking"`46694670 - `id: string`46714672 The id the buffered agent.thinking will carry if it is emitted. Start-only — no event_delta events follow.46734674 - `BetaManagedAgentsDeltaEvent object`46754676 An incremental update to an event that is still being streamed. Deltas are best-effort and may stop early; when the buffered event with id == event_id is produced it carries the complete content. A model request that ends early (an error or interrupt) produces no buffered event — its terminal span.model_request_end closes the preview. Only sent on stream connections that opt in via event_deltas; never appears in event history.46774678 - `type: "event_delta"`46794680 - `delta: BetaManagedAgentsDeltaContent`46814682 One fragment of the previewed event. The delta type is named for the previewed event's field it streams into: agent.message events stream content_delta fragments, each a partial element of the content array.46834684 - `type: "content_delta"`46854686 - `content: BetaManagedAgentsTextBlock`46874688 Regular text content.46894690 - `index: optional number`46914692 Which entry in the previewed event's content array this fragment lands in. Insert content as that entry when the index is new; append to the existing entry otherwise.46934694 format: uint3246954696 - `event_id: string`46974698 The id of the event being previewed. Matches event.id on the corresponding event_start and the buffered event that reconciles the preview.46994700 - `BetaManagedAgentsSystemMessageEvent object`47014702 A mid-conversation system message event. Carries system-role content that is appended to the session as a `role: "system"` turn.47034704 - `type: "system.message"`47054706 - `id: string`47074708 Unique identifier for this event.47094710 - `content: array of BetaManagedAgentsSystemContentBlock`47114712 System content blocks. Text-only.47134714 - `type: "text"`47154716 - `text: string`47174718 The text content.47194720 minLength: 147214722 - `processed_at: optional string or null`47234724 A timestamp in RFC 3339 format47254726 format: date-time47274728 - `BetaManagedAgentsSessionUsageEvent object`47294730 Periodic snapshot of the session's cumulative usage and tracked list cost.47314732 - `type: "session.usage"`47334734 - `id: string`47354736 Unique identifier for this event.47374738 - `processed_at: string`47394740 A timestamp in RFC 3339 format47414742 format: date-time47434744 - `usage: BetaManagedAgentsSessionUsageSnapshot`47454746 Point-in-time snapshot of a session's cumulative usage.47474748 - `active_seconds: optional number`47494750 Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once. This is the duration the session's runtime cost is priced on.47514752 format: double47534754 - `cache_creation: optional BetaManagedAgentsCacheCreationUsage`47554756 Prompt-cache creation token usage broken down by cache lifetime.47574758 - `ephemeral_1h_input_tokens: optional number`47594760 Tokens used to create 1-hour ephemeral cache entries.47614762 format: int3247634764 - `ephemeral_5m_input_tokens: optional number`47654766 Tokens used to create 5-minute ephemeral cache entries.47674768 format: int3247694770 - `cache_read_input_tokens: optional number`47714772 Total tokens read from prompt cache.47734774 format: int3247754776 - `input_tokens: optional number`47774778 Total input tokens consumed across all turns.47794780 format: int3247814782 - `list_cost: optional BetaMonetaryAmount`47834784 A monetary amount in a specific currency.47854786 - `output_tokens: optional number`47874788 Total output tokens generated across all turns.47894790 format: int3247914792 - `server_tool_use: optional BetaManagedAgentsServerToolUsage`47934794 Cumulative count of server-executed tool invocations, broken down by tool.47954796 - `web_fetch_requests: optional number`47974798 Number of server-executed web fetch requests.47994800 format: int3248014802 - `web_search_requests: optional number`48034804 Number of server-executed web search requests.48054806 format: int3248074808 - `budget: optional BetaManagedAgentsBudgetLimit or null`48094810 A hard spend ceiling. The session stops issuing new model requests once the tracked list cost reaches `max_list_cost`.48114812### Example48134814```bash4815curl https://api.anthropic.com/v1/sessions/$SESSION_ID/threads/$THREAD_ID/stream \4816 -H 'anthropic-version: 2023-06-01' \4817 -H 'anthropic-beta: managed-agents-2026-04-01' \4818 -H "X-Api-Key: $ANTHROPIC_API_KEY"4819```48204821#### Response (200)48224823```json4824{4825 "id": "sevt_011CZkZGOp0iBcp4kaQSihUmy",4826 "content": [4827 {4828 "text": "Where is my order #1234?",4829 "type": "text"4830 }4831 ],4832 "type": "user.message",4833 "processed_at": "2026-03-15T10:00:00Z"4834}4835```4836