Claude Platform Docs

Events

List Events
EventListPage Beta.Sessions.Events.List(parameters, cancellationToken = default)
GET/v1/sessions/{session_id}/events
Send Events
BetaManagedAgentsSendSessionEvents Beta.Sessions.Events.Send(parameters, cancellationToken = default)
POST/v1/sessions/{session_id}/events
Stream Events
IAsyncEnumerable<BetaManagedAgentsStreamSessionEvents> Beta.Sessions.Events.StreamStreaming(parameters, cancellationToken = default)
GET/v1/sessions/{session_id}/events/stream
Models
class BetaManagedAgentsAgentAutoEvaluatedPermission: union

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.

class BetaManagedAgentsAgentAutoEvaluatedPermissionAllow { Type = "allow"; }

The server judged the invocation safe to execute without client approval.

JsonElement Type = "allow"
class BetaManagedAgentsAgentAutoEvaluatedPermissionAsk { Type = "ask"; ReasonCode; }

The server reached no judgement; the invocation is held for client approval.

JsonElement Type = "ask"
required string ReasonCode

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.

maxLength64
class BetaManagedAgentsAgentAutoEvaluatedPermissionDeny { Type = "deny"; ReasonCode; }

The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.

JsonElement Type = "deny"
required string ReasonCode

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.

maxLength64
class BetaManagedAgentsAgentAutoEvaluatedPermissionAllow { Type = "allow"; }

The server judged the invocation safe to execute without client approval.

JsonElement Type = "allow"
class BetaManagedAgentsAgentAutoEvaluatedPermissionAsk { Type = "ask"; ReasonCode; }

The server reached no judgement; the invocation is held for client approval.

JsonElement Type = "ask"
required string ReasonCode

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.

maxLength64
class BetaManagedAgentsAgentAutoEvaluatedPermissionDeny { Type = "deny"; ReasonCode; }

The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.

JsonElement Type = "deny"
required string ReasonCode

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.

maxLength64
class BetaManagedAgentsAgentCustomToolUseEvent { Type = "agent.custom_tool_use"; ID; Input; /* 3 more */ }

Event emitted when the agent calls a custom tool. The session goes idle until the client sends a user.custom_tool_result event with the result. The client can send it as soon as this event arrives, without waiting for session.status_idle.

JsonElement Type = "agent.custom_tool_use"
required string ID

Unique identifier for this event.

required IReadOnlyDictionary<string, JsonElement> Input

Input parameters for the tool call.

required string Name

Name of the custom tool being called.

required DateTimeOffset ProcessedAt

Timestamp when this tool use was processed.

formatdate-time
string? SessionThreadID

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.

enum BetaManagedAgentsAgentEvaluatedPermission
Allow("allow")
Ask("ask")
Deny("deny")
class BetaManagedAgentsAgentMcpToolResultEvent { Type = "agent.mcp_tool_result"; ID; McpToolUseID; /* 3 more */ }

Event representing the result of an MCP tool execution.

class BetaManagedAgentsAgentMcpToolUseEvent { Type = "agent.mcp_tool_use"; ID; Input; /* 6 more */ }

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

class BetaManagedAgentsAgentMessageEvent { Type = "agent.message"; ID; Content; ProcessedAt; }

An agent response event in the session conversation.

JsonElement Type = "agent.message"
required string ID

Unique identifier for this event.

required IReadOnlyList<Content> Content

Array of text blocks comprising the agent response.

One of the following:
class BetaManagedAgentsTextBlock { Type = "text"; Text; }

Regular text content.

JsonElement Type = "text"
required string Text

The text content.

minLength1
class BetaManagedAgentsRedactedBlock { Type = "redacted"; }

Placeholder for content withheld by Anthropic model policy.

JsonElement Type = "redacted"
required DateTimeOffset ProcessedAt

Timestamp when this response was generated.

formatdate-time
class BetaManagedAgentsAgentThinkingEvent { Type = "agent.thinking"; ID; ProcessedAt; }

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

JsonElement Type = "agent.thinking"
required string ID

Unique identifier for this event.

required DateTimeOffset ProcessedAt

Timestamp when this thinking was produced.

formatdate-time
class BetaManagedAgentsAgentThreadContextCompactedEvent { Type = "agent.thread_context_compacted"; ID; ProcessedAt; }

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

JsonElement Type = "agent.thread_context_compacted"
required string ID

Unique identifier for this event.

required DateTimeOffset ProcessedAt

Timestamp when compaction was processed.

formatdate-time
class BetaManagedAgentsAgentThreadMessageReceivedEvent { Type = "agent.thread_message_received"; ID; Content; /* 3 more */ }

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

class BetaManagedAgentsAgentThreadMessageSentEvent { Type = "agent.thread_message_sent"; ID; Content; /* 3 more */ }

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

class BetaManagedAgentsAgentToolEvaluation: union

Names the resolved permission_policy that produced evaluated_permission, and under auto carries the judgement. Open union: clients must tolerate unknown variants.

class BetaManagedAgentsAgentToolEvaluationAlwaysAllow { Type = "always_allow"; }

The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".

JsonElement Type = "always_allow"
class BetaManagedAgentsAgentToolEvaluationAlwaysAsk { Type = "always_ask"; }

The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".

JsonElement Type = "always_ask"
class BetaManagedAgentsAgentToolEvaluationAuto { Type = "auto"; EvaluatedPermission; }

The resolved permission_policy was auto: the server judged this invocation individually.

class BetaManagedAgentsAgentToolEvaluationAlwaysAllow { Type = "always_allow"; }

The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".

JsonElement Type = "always_allow"
class BetaManagedAgentsAgentToolEvaluationAlwaysAsk { Type = "always_ask"; }

The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".

JsonElement Type = "always_ask"
class BetaManagedAgentsAgentToolEvaluationAuto { Type = "auto"; EvaluatedPermission; }

The resolved permission_policy was auto: the server judged this invocation individually.

class BetaManagedAgentsAgentToolResultEvent { Type = "agent.tool_result"; ID; ProcessedAt; /* 3 more */ }

Event representing the result of an agent tool execution.

class BetaManagedAgentsAgentToolUseEvent { Type = "agent.tool_use"; ID; Input; /* 5 more */ }

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

class BetaManagedAgentsBase64DocumentSource { Type = "base64"; Data; MediaType; }

Base64-encoded document data.

JsonElement Type = "base64"
required string Data

Base64-encoded document data.

minLength1
required string MediaType

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

minLength1
class BetaManagedAgentsBase64ImageSource { Type = "base64"; Data; MediaType; }

Base64-encoded image data.

JsonElement Type = "base64"
required string Data

Base64-encoded image data.

minLength1
required string MediaType

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

minLength1
class BetaManagedAgentsBillingError { Type = "billing_error"; Message; RetryStatus; }

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.

class BetaManagedAgentsCredentialHostUnreachableError { Type = "credential_host_unreachable_error"; CredentialID; Message; /* 2 more */ }

An environment_variable credential's auth.networking.allowed_hosts includes a host the environment's network policy does not permit.

class BetaManagedAgentsDocumentBlock { Type = "document"; Source; Context; Title; }

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

class BetaManagedAgentsEventParams: union

Union type for event parameters that can be sent to a session.

class BetaManagedAgentsFileDocumentSource { Type = "file"; FileID; }

Document referenced by file ID.

JsonElement Type = "file"
required string FileID

ID of a previously uploaded file.

minLength1
class BetaManagedAgentsFileImageSource { Type = "file"; FileID; }

Image referenced by file ID.

JsonElement Type = "file"
required string FileID

ID of a previously uploaded file.

minLength1
class BetaManagedAgentsFileRubric { Type = "file"; FileID; }

Rubric referenced by a file uploaded via the Files API.

JsonElement Type = "file"
required string FileID

ID of the rubric file.

class BetaManagedAgentsFileRubricParams { Type = "file"; FileID; }

Rubric referenced by a file uploaded via the Files API.

JsonElement Type = "file"
required string FileID

ID of the rubric file.

class BetaManagedAgentsImageBlock { Type = "image"; Source; }

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

class BetaManagedAgentsMaxWorkflowRunsWorkflowRunError { Type = "max_workflow_runs_error"; Message; }

No run was created, because the session was at its limit of open workflow runs, which are runs that have not ended. Only workflow_run.error carries this type.

JsonElement Type = "max_workflow_runs_error"
required string Message

Short explanation written by the server. It never contains content from the run or its agents.

class BetaManagedAgentsMcpAuthenticationFailedError { Type = "mcp_authentication_failed_error"; McpServerName; Message; RetryStatus; }

Authentication to an MCP server failed.

class BetaManagedAgentsMcpConnectionFailedError { Type = "mcp_connection_failed_error"; McpServerName; Message; RetryStatus; }

Failed to connect to an MCP server.

class BetaManagedAgentsModelOverloadedError { Type = "model_overloaded_error"; Message; RetryStatus; }

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

class BetaManagedAgentsModelRateLimitedError { Type = "model_rate_limited_error"; Message; RetryStatus; }

The model request was rate-limited.

class BetaManagedAgentsModelRequestFailedError { Type = "model_request_failed_error"; Message; RetryStatus; }

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

class BetaManagedAgentsPlainTextDocumentSource { Type = "text"; Data; MediaType; }

Plain text document content.

JsonElement Type = "text"
required string Data

The plain text content.

minLength1
JsonElement MediaType = "text/plain"

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

class BetaManagedAgentsProgramWorkflowRunError { Type = "program_error"; Message; }

The plan, a program that the agent wrote, failed, or the server refused it.

JsonElement Type = "program_error"
required string Message

Short explanation written by the server. It never contains content from the run or its agents.

class BetaManagedAgentsRedactedBlock { Type = "redacted"; }

Placeholder for content withheld by Anthropic model policy.

JsonElement Type = "redacted"
class BetaManagedAgentsRepositoryAuthenticationError { Type = "repository_authentication_error"; Message; RepositoryUrl; RetryStatus; }

The repository host rejected the credentials, or required credentials and received none.

class BetaManagedAgentsRepositoryCheckoutError { Type = "repository_checkout_error"; Message; RepositoryUrl; RetryStatus; }

The requested branch or commit does not exist in the repository.

class BetaManagedAgentsRepositoryCloneError { Type = "repository_clone_error"; Message; RepositoryUrl; RetryStatus; }

The repository could not be cloned.

class BetaManagedAgentsRepositoryForbiddenError { Type = "repository_forbidden_error"; Message; RepositoryUrl; RetryStatus; }

The repository host refused access to the repository.

class BetaManagedAgentsRepositoryNotFoundError { Type = "repository_not_found_error"; Message; RepositoryUrl; RetryStatus; }

The repository host reported the repository as not found.

class BetaManagedAgentsRetryStatusExhausted { Type = "exhausted"; }

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

JsonElement Type = "exhausted"
class BetaManagedAgentsRetryStatusRetrying { Type = "retrying"; }

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.

JsonElement Type = "retrying"
class BetaManagedAgentsRetryStatusTerminal { Type = "terminal"; }

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

JsonElement Type = "terminal"
class BetaManagedAgentsSearchResultBlock { Type = "search_result"; Citations; Content; /* 2 more */ }

A block containing a web search result.

JsonElement Type = "search_result"

Citation settings for this search result.

required bool Enabled

Whether citations are enabled for this search result.

required IReadOnlyList<BetaManagedAgentsSearchResultContent> Content

Array of text content blocks from the search result.

JsonElement Type = "text"
required string Text

The text content.

minLength1
required string Source

The URL source of the search result.

minLength1
required string Title

The title of the search result.

minLength1
class BetaManagedAgentsSearchResultCitations { Enabled; }

Citation settings for a search result.

required bool Enabled

Whether citations are enabled for this search result.

class BetaManagedAgentsSearchResultContent { Type = "text"; Text; }

Text content within a search result.

JsonElement Type = "text"
required string Text

The text content.

minLength1
class BetaManagedAgentsSendSessionEvents { Data; }

Events that were successfully sent to the session.

class BetaManagedAgentsSessionBudgetReached { Type = "budget_reached"; }

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.

JsonElement Type = "budget_reached"
class BetaManagedAgentsSessionDeletedEvent { Type = "session.deleted"; ID; ProcessedAt; }

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

JsonElement Type = "session.deleted"
required string ID

Unique identifier for this event.

required DateTimeOffset ProcessedAt

Timestamp when the session was deleted.

formatdate-time
class BetaManagedAgentsSessionEndTurn { Type = "end_turn"; }

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

JsonElement Type = "end_turn"
class BetaManagedAgentsSessionErrorEvent { Type = "session.error"; ID; Error; ProcessedAt; }

An error event indicating a problem occurred during session execution.

class BetaManagedAgentsSessionEvent: union

Union type for all event types in a session.

enum BetaManagedAgentsSessionEventType

The type of a session event.

class BetaManagedAgentsSessionRefusal { Type = "refusal"; }

The turn ended because the model's response was refused, for example by a safety classifier.

JsonElement Type = "refusal"
class BetaManagedAgentsSessionRefusalStopDetails { Type = "refusal"; Category; Explanation; }

Structured information about a refusal.

JsonElement Type = "refusal"
required Category? Category

The policy category that triggered the refusal, or null when there is no named category. New values can be added over time.

One of the following:
Cyber("cyber")
Bio("bio")
FrontierLlm("frontier_llm")
ReasoningExtraction("reasoning_extraction")
GeneralHarms("general_harms")
required string? Explanation

Human-readable explanation of the refusal, or null when none is available. The wording can change, so do not parse it.

class BetaManagedAgentsSessionRequiresAction { Type = "requires_action"; EventIds; }

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.

JsonElement Type = "requires_action"
required IReadOnlyList<string> EventIds

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

class BetaManagedAgentsSessionRetriesExhausted { Type = "retries_exhausted"; }

The turn ended because repeated errors exhausted the retry budget or an error escalated to retry_status: 'exhausted'.

JsonElement Type = "retries_exhausted"
class BetaManagedAgentsSessionStatusIdleEvent { Type = "session.status_idle"; ID; ProcessedAt; /* 2 more */ }

Indicates the agent has paused and is awaiting user input.

class BetaManagedAgentsSessionStatusRescheduledEvent { Type = "session.status_rescheduled"; ID; ProcessedAt; }

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

JsonElement Type = "session.status_rescheduled"
required string ID

Unique identifier for this event.

required DateTimeOffset ProcessedAt

Timestamp of status change.

formatdate-time
class BetaManagedAgentsSessionStatusRunningEvent { Type = "session.status_running"; ID; ProcessedAt; }

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

JsonElement Type = "session.status_running"
required string ID

Unique identifier for this event.

required DateTimeOffset ProcessedAt

Timestamp of status change.

formatdate-time
class BetaManagedAgentsSessionStatusTerminatedEvent { Type = "session.status_terminated"; ID; ProcessedAt; }

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

JsonElement Type = "session.status_terminated"
required string ID

Unique identifier for this event.

required DateTimeOffset ProcessedAt

Timestamp of status change.

formatdate-time
class BetaManagedAgentsSessionThreadCreatedEvent { Type = "session.thread_created"; ID; AgentName; /* 3 more */ }

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

JsonElement Type = "session.thread_created"
required string ID

Unique identifier for this event.

required string AgentName

Name of the callable agent the thread runs.

required DateTimeOffset ProcessedAt

Timestamp when the thread was created.

formatdate-time
required string SessionThreadID

Public sthr_ ID of the newly created thread.

required string? WorkflowRunID

Identifier of the workflow run that created the thread, or null for any other thread.

class BetaManagedAgentsSessionThreadStatusIdleEvent { Type = "session.thread_status_idle"; ID; AgentName; /* 4 more */ }

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

class BetaManagedAgentsSessionThreadStatusRescheduledEvent { Type = "session.thread_status_rescheduled"; ID; AgentName; /* 2 more */ }

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

JsonElement Type = "session.thread_status_rescheduled"
required string ID

Unique identifier for this event.

required string AgentName

Name of the agent the thread runs.

required DateTimeOffset ProcessedAt

Timestamp of the status transition.

formatdate-time
required string SessionThreadID

Public sthr_ ID of the thread that is retrying.

class BetaManagedAgentsSessionThreadStatusRunningEvent { Type = "session.thread_status_running"; ID; AgentName; /* 2 more */ }

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

JsonElement Type = "session.thread_status_running"
required string ID

Unique identifier for this event.

required string AgentName

Name of the agent the thread runs.

required DateTimeOffset ProcessedAt

Timestamp of the status transition.

formatdate-time
required string SessionThreadID

Public sthr_ ID of the thread that started running.

class BetaManagedAgentsSessionThreadStatusTerminatedEvent { Type = "session.thread_status_terminated"; ID; AgentName; /* 2 more */ }

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

JsonElement Type = "session.thread_status_terminated"
required string ID

Unique identifier for this event.

required string AgentName

Name of the agent the thread runs.

required DateTimeOffset ProcessedAt

Timestamp of the status transition.

formatdate-time
required string SessionThreadID

Public sthr_ ID of the thread that terminated.

class BetaManagedAgentsSessionUsageSnapshot { ActiveSeconds; CacheCreation; CacheReadInputTokens; /* 4 more */ }

Point-in-time snapshot of a session's cumulative usage.

class BetaManagedAgentsSpanModelRequestEndEvent { Type = "span.model_request_end"; ID; IsError; /* 3 more */ }

Emitted when a model request completes.

class BetaManagedAgentsSpanModelRequestStartEvent { Type = "span.model_request_start"; ID; ProcessedAt; }

Emitted when a model request is initiated by the agent.

JsonElement Type = "span.model_request_start"
required string ID

Unique identifier for this event.

required DateTimeOffset ProcessedAt

Timestamp when the model request started.

formatdate-time
class BetaManagedAgentsSpanModelUsage { CacheCreationInputTokens; CacheReadInputTokens; InputTokens; /* 2 more */ }

Token usage for a single model request.

required int CacheCreationInputTokens

Tokens used to create prompt cache in this request.

formatint32
required int CacheReadInputTokens

Tokens read from prompt cache in this request.

formatint32
required int InputTokens

Input tokens consumed by this request.

formatint32
required int OutputTokens

Output tokens generated by this request.

formatint32
Speed? Speed

Inference speed tier this request actually ran at. Mirrors usage.speed on /v1/messages. Only present when the fast-mode beta is active.

One of the following:
Standard("standard")
Fast("fast")
class BetaManagedAgentsSpanOutcomeEvaluationEndEvent { Type = "span.outcome_evaluation_end"; ID; Explanation; /* 6 more */ }

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

class BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent { Type = "span.outcome_evaluation_ongoing"; ID; Iteration; /* 2 more */ }

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

JsonElement Type = "span.outcome_evaluation_ongoing"
required string ID

Unique identifier for this event.

required int Iteration

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

formatint32
required string OutcomeID

The outc_ ID of the outcome being evaluated.

required DateTimeOffset ProcessedAt

Timestamp when this heartbeat was emitted.

formatdate-time
class BetaManagedAgentsSpanOutcomeEvaluationStartEvent { Type = "span.outcome_evaluation_start"; ID; Iteration; /* 2 more */ }

Emitted when an outcome evaluation cycle begins.

JsonElement Type = "span.outcome_evaluation_start"
required string ID

Unique identifier for this event.

required int Iteration

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

formatint32
required string OutcomeID

The outc_ ID of the outcome being evaluated.

required DateTimeOffset ProcessedAt

Timestamp when outcome evaluation started.

formatdate-time
class BetaManagedAgentsStreamSessionEvents: union

Server-sent event in the session stream.

class BetaManagedAgentsSystemMessageEventParams { Type = "system.message"; Content; }

Privileged context for the accompanying turn and all subsequent turns, appended to the session's system context as a role: "system" turn rather than replacing the top-level system prompt. At most one per request: it must be the final event and immediately follow the user.message, user.tool_result, or user.custom_tool_result it accompanies. Only supported on models that accept mid-conversation system messages.

JsonElement Type = "system.message"
required IReadOnlyList<BetaManagedAgentsSystemContentBlock> Content

System content blocks to append. Text-only.

JsonElement Type = "text"
required string Text

The text content.

minLength1
class BetaManagedAgentsTextBlock { Type = "text"; Text; }

Regular text content.

JsonElement Type = "text"
required string Text

The text content.

minLength1
class BetaManagedAgentsTextRubric { Type = "text"; Content; }

Rubric content provided inline as text.

JsonElement Type = "text"
required string Content

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

class BetaManagedAgentsTextRubricParams { Type = "text"; Content; }

Rubric content provided inline as text.

JsonElement Type = "text"
required string Content

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

maxLength262144
class BetaManagedAgentsThreadLimitWorkflowRunError { Type = "thread_limit_error"; Message; }

The run exceeded the limit on the number of threads that a run can create.

JsonElement Type = "thread_limit_error"
required string Message

Short explanation written by the server. It never contains content from the run or its agents.

class BetaManagedAgentsTimeoutWorkflowRunError { Type = "timeout_error"; Message; }

The run reached its time limit.

JsonElement Type = "timeout_error"
required string Message

Short explanation written by the server. It never contains content from the run or its agents.

class BetaManagedAgentsUnknownError { Type = "unknown_error"; Message; RetryStatus; }

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.

class BetaManagedAgentsUnknownWorkflowRunError { Type = "unknown_error"; Message; }

A failure that has no type of its own.

JsonElement Type = "unknown_error"
required string Message

Short explanation written by the server. It never contains content from the run or its agents.

class BetaManagedAgentsUrlDocumentSource { Type = "url"; Url; }

Document referenced by URL.

JsonElement Type = "url"
required string Url

URL of the document to fetch.

minLength1
class BetaManagedAgentsUrlImageSource { Type = "url"; Url; }

Image referenced by URL.

JsonElement Type = "url"
required string Url

URL of the image to fetch.

minLength1
class BetaManagedAgentsUserCustomToolResultEvent { Type = "user.custom_tool_result"; ID; CustomToolUseID; /* 4 more */ }

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

class BetaManagedAgentsUserCustomToolResultEventParams { Type = "user.custom_tool_result"; CustomToolUseID; Content; IsError; }

Parameters for providing the result of a custom tool execution.

class BetaManagedAgentsUserDefineOutcomeEvent { Type = "user.define_outcome"; ID; Description; /* 4 more */ }

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

class BetaManagedAgentsUserDefineOutcomeEventParams { Type = "user.define_outcome"; Description; Rubric; MaxIterations; }

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

class BetaManagedAgentsUserInterruptEvent { Type = "user.interrupt"; ID; ProcessedAt; SessionThreadID; }

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

JsonElement Type = "user.interrupt"
required string ID

Unique identifier for this event.

DateTimeOffset? ProcessedAt

Timestamp when the interrupt was processed.

formatdate-time
string? SessionThreadID

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.

class BetaManagedAgentsUserInterruptEventParams { Type = "user.interrupt"; SessionThreadID; }

Parameters for sending an interrupt to pause the agent.

JsonElement Type = "user.interrupt"
string? SessionThreadID

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.

class BetaManagedAgentsUserMessageEvent { Type = "user.message"; ID; Content; ProcessedAt; }

A user message event in the session conversation.

class BetaManagedAgentsUserMessageEventParams { Type = "user.message"; Content; }

Parameters for sending a user message to the session.

class BetaManagedAgentsUserToolConfirmationEvent { Type = "user.tool_confirmation"; ID; Result; /* 4 more */ }

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

JsonElement Type = "user.tool_confirmation"
required string ID

Unique identifier for this event.

required Result Result

The confirmation result: 'allow' or 'deny'.

One of the following:
Allow("allow")
Deny("deny")
required string ToolUseID

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

string? DenyMessage

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

maxLength10000
DateTimeOffset? ProcessedAt

Timestamp when the confirmation was processed.

formatdate-time
string? SessionThreadID

Set by the server to the subagent thread this confirmation was routed to. Omitted when it was routed to the primary thread.

class BetaManagedAgentsUserToolConfirmationEventParams { Type = "user.tool_confirmation"; Result; ToolUseID; DenyMessage; }

Parameters for confirming or denying a tool execution request.

JsonElement Type = "user.tool_confirmation"
required Result Result

The confirmation result: 'allow' or 'deny'.

One of the following:
Allow("allow")
Deny("deny")
required string ToolUseID

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

minLength1
maxLength128
string? DenyMessage

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

maxLength10000
class BetaManagedAgentsUserToolResultEventParams { Type = "user.tool_result"; ToolUseID; Content; IsError; }

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

class BetaManagedAgentsWorkflowRunCreatedEvent { Type = "workflow_run.created"; ID; Description; /* 4 more */ }

A workflow run was created. A workflow run is background work that the session's agent starts. Emitted once per run, before the run's other workflow_run.* events.

JsonElement Type = "workflow_run.created"
required string ID

Unique identifier for this event.

required string? Description

Description that the agent gave the run, passed on as written, or null if it gave none.

required string Name

Name that the agent gave the run, passed on as written, or a name that the server assigned.

required IReadOnlyList<BetaManagedAgentsWorkflowRunPhase> Phases

The phases that the run's plan declares, in the plan's order. Can be empty.

required string ID

Unique identifier for the phase.

required string? Description

Description that the agent gave the phase, passed on as written, or null if it gave none.

required string Name

Name that the agent gave the phase, passed on as written.

required DateTimeOffset ProcessedAt

Timestamp when this event was processed.

formatdate-time
required string WorkflowRunID

Identifier of the run. The same value is on all of the run's workflow_run.* events.

class BetaManagedAgentsWorkflowRunError: union

Why a workflow run did not finish, or was not created. More types may be added. On workflow_run.status_ended, for a type you do not recognize, rely on the event's result.type.

class BetaManagedAgentsWorkflowRunErrorEvent { Type = "workflow_run.error"; ID; Error; /* 2 more */ }

A workflow run met an error, or an error kept a run from being created. A run that ends with a result.type of error emits this event before its workflow_run.status_ended, with the same error.

JsonElement Type = "workflow_run.error"
required string ID

Unique identifier for this event.

Why the run did not finish, or was not created.

One of the following:
required DateTimeOffset ProcessedAt

Timestamp when this event was processed.

formatdate-time
required string? WorkflowRunID

Identifier of the run that met the error, or null when the error kept a run from being created.

class BetaManagedAgentsWorkflowRunPhase { ID; Description; Name; }

A phase that a workflow run's plan declares.

required string ID

Unique identifier for the phase.

required string? Description

Description that the agent gave the phase, passed on as written, or null if it gave none.

required string Name

Name that the agent gave the phase, passed on as written.

class BetaManagedAgentsWorkflowRunPhaseEndedEvent { Type = "workflow_run.phase_ended"; ID; PhaseStartedID; /* 3 more */ }

A workflow run's plan left a phase, or the run's end closed it. Emitted once for every workflow_run.phase_started event, before the run's workflow_run.status_ended event. The event does not say whether the plan finished the phase's work, or why it left.

JsonElement Type = "workflow_run.phase_ended"
required string ID

Unique identifier for this event.

required string PhaseStartedID

Identifier of the workflow_run.phase_started event that opened the phase.

required DateTimeOffset ProcessedAt

Timestamp when this event was processed.

formatdate-time
required string WorkflowRunID

Identifier of the run. The same value is on all of the run's workflow_run.* events.

required string WorkflowRunPhaseID

Identifier of the phase, as in phases on the run's workflow_run.created event.

class BetaManagedAgentsWorkflowRunPhaseStartedEvent { Type = "workflow_run.phase_started"; ID; ProcessedAt; /* 2 more */ }

A workflow run's plan entered a phase.

JsonElement Type = "workflow_run.phase_started"
required string ID

Unique identifier for this event.

required DateTimeOffset ProcessedAt

Timestamp when this event was processed.

formatdate-time
required string WorkflowRunID

Identifier of the run. The same value is on all of the run's workflow_run.* events.

required string WorkflowRunPhaseID

Identifier of the phase, as in phases on the run's workflow_run.created event.

class BetaManagedAgentsWorkflowRunResult: union

How a workflow run ended.

class BetaManagedAgentsWorkflowRunResultCompleted { Type = "completed"; }

The run's plan, a program that the agent wrote, finished. This does not say whether the work succeeded.

JsonElement Type = "completed"
class BetaManagedAgentsWorkflowRunResultError { Type = "error"; Error; }

The run failed or reached its time limit.

JsonElement Type = "error"

Why the run did not finish.

One of the following:
class BetaManagedAgentsWorkflowRunResultStopped { Type = "stopped"; }

The agent stopped the run.

JsonElement Type = "stopped"
class BetaManagedAgentsWorkflowRunResultCompleted { Type = "completed"; }

The run's plan, a program that the agent wrote, finished. This does not say whether the work succeeded.

JsonElement Type = "completed"
class BetaManagedAgentsWorkflowRunResultError { Type = "error"; Error; }

The run failed or reached its time limit.

JsonElement Type = "error"

Why the run did not finish.

One of the following:
class BetaManagedAgentsWorkflowRunResultStopped { Type = "stopped"; }

The agent stopped the run.

JsonElement Type = "stopped"
class BetaManagedAgentsWorkflowRunStatusEndedEvent { Type = "workflow_run.status_ended"; ID; ProcessedAt; /* 2 more */ }

A workflow run ended. Emitted once per run, as the last of the run's workflow_run.* events.

class BetaManagedAgentsWorkflowRunStatusIdleEvent { Type = "workflow_run.status_idle"; ID; ProcessedAt; WorkflowRunID; }

A workflow run is idle. Emitted each time the run goes idle, whatever the cause. If the run ends while idle, no workflow_run.status_running comes between this event and its workflow_run.status_ended.

JsonElement Type = "workflow_run.status_idle"
required string ID

Unique identifier for this event.

required DateTimeOffset ProcessedAt

Timestamp when this event was processed.

formatdate-time
required string WorkflowRunID

Identifier of the run. The same value is on all of the run's workflow_run.* events.

class BetaManagedAgentsWorkflowRunStatusRunningEvent { Type = "workflow_run.status_running"; ID; ProcessedAt; WorkflowRunID; }

A workflow run is running. Emitted when the run starts to execute, and each time it resumes after being idle. A run that starts idle emits workflow_run.status_idle first.

JsonElement Type = "workflow_run.status_running"
required string ID

Unique identifier for this event.

required DateTimeOffset ProcessedAt

Timestamp when this event was processed.

formatdate-time
required string WorkflowRunID

Identifier of the run. The same value is on all of the run's workflow_run.* events.