Events
List Events
client.Beta.Sessions.Events.List(ctx, sessionID, params) (*PageCursor[BetaManagedAgentsSessionEventUnion], error)Send Events
client.Beta.Sessions.Events.Send(ctx, sessionID, params) (*BetaManagedAgentsSendSessionEvents, error)Stream Events
client.Beta.Sessions.Events.StreamEvents(ctx, sessionID, params) *ssestream.Stream[BetaManagedAgentsStreamSessionEventsUnion]Models
type BetaManagedAgentsAgentAutoEvaluatedPermissionUnion interface{…}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.
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.
type BetaManagedAgentsAgentAutoEvaluatedPermissionAllow struct { Type: "allow" }The server judged the invocation safe to execute without client approval.
The server judged the invocation safe to execute without client approval.
type BetaManagedAgentsAgentAutoEvaluatedPermissionAsk struct { Type: "ask"; ReasonCode }The server reached no judgement; the invocation is held for client approval.
The server reached no judgement; the invocation is held for client approval.
ReasonCode stringThe 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.
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.
type BetaManagedAgentsAgentAutoEvaluatedPermissionDeny struct { Type: "deny"; ReasonCode }The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.
The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.
ReasonCode stringThe 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.
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.
type BetaManagedAgentsAgentAutoEvaluatedPermissionAllow struct { Type: "allow" }The server judged the invocation safe to execute without client approval.
The server judged the invocation safe to execute without client approval.
type BetaManagedAgentsAgentAutoEvaluatedPermissionAsk struct { Type: "ask"; ReasonCode }The server reached no judgement; the invocation is held for client approval.
The server reached no judgement; the invocation is held for client approval.
ReasonCode stringThe 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.
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.
type BetaManagedAgentsAgentAutoEvaluatedPermissionDeny struct { Type: "deny"; ReasonCode }The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.
The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.
ReasonCode stringThe 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.
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.
type BetaManagedAgentsAgentCustomToolUseEvent struct { 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.
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.
Unique identifier for this event.
Input parameters for the tool call.
Name of the custom tool being called.
ProcessedAt TimeTimestamp when this tool use was processed.
Timestamp when this tool use was processed.
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.
type BetaManagedAgentsAgentEvaluatedPermission string
type BetaManagedAgentsAgentMCPToolResultEvent struct { Type: "agent.mcp_tool_result"; ID; MCPToolUseID; /* 3 more */ }Event representing the result of an MCP tool execution.
Event representing the result of an MCP tool execution.
type BetaManagedAgentsAgentMCPToolUseEvent struct { Type: "agent.mcp_tool_use"; ID; Input; /* 6 more */ }Event emitted when the agent invokes a tool provided by an MCP server.
Event emitted when the agent invokes a tool provided by an MCP server.
type BetaManagedAgentsAgentMessageEvent struct { Type: "agent.message"; ID; Content; ProcessedAt }An agent response event in the session conversation.
An agent response event in the session conversation.
Unique identifier for this event.
Content []BetaManagedAgentsAgentMessageEventContentUnionArray of text blocks comprising the agent response.
Array of text blocks comprising the agent response.
type BetaManagedAgentsTextBlock struct { Type: "text"; Text }Regular text content.
Regular text content.
Text stringThe text content.
The text content.
type BetaManagedAgentsRedactedBlock struct { Type: "redacted" }Placeholder for content withheld by Anthropic model policy.
Placeholder for content withheld by Anthropic model policy.
ProcessedAt TimeTimestamp when this response was generated.
Timestamp when this response was generated.
type BetaManagedAgentsAgentThinkingEvent struct { Type: "agent.thinking"; ID; ProcessedAt }Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.
Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.
Unique identifier for this event.
ProcessedAt TimeTimestamp when this thinking was produced.
Timestamp when this thinking was produced.
type BetaManagedAgentsAgentThreadContextCompactedEvent struct { Type: "agent.thread_context_compacted"; ID; ProcessedAt }Indicates that context compaction (summarization) occurred during the session.
Indicates that context compaction (summarization) occurred during the session.
Unique identifier for this event.
ProcessedAt TimeTimestamp when compaction was processed.
Timestamp when compaction was processed.
type BetaManagedAgentsAgentThreadMessageReceivedEvent struct { 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.
Delivery event written to the target thread's input stream when an agent-to-agent message arrives.
type BetaManagedAgentsAgentThreadMessageSentEvent struct { 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.
Observability event emitted to the sender's output stream when an agent-to-agent message is sent.
type BetaManagedAgentsAgentToolEvaluationUnion interface{…}Names the resolved permission_policy that produced evaluated_permission, and under auto carries the judgement. Open union: clients must tolerate unknown variants.
Names the resolved permission_policy that produced evaluated_permission, and under auto carries the judgement. Open union: clients must tolerate unknown variants.
type BetaManagedAgentsAgentToolEvaluationAlwaysAllow struct { Type: "always_allow" }The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".
The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".
type BetaManagedAgentsAgentToolEvaluationAlwaysAsk struct { Type: "always_ask" }The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".
The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".
type BetaManagedAgentsAgentToolEvaluationAuto struct { Type: "auto"; EvaluatedPermission }The resolved permission_policy was auto: the server judged this invocation individually.
The resolved permission_policy was auto: the server judged this invocation individually.
type BetaManagedAgentsAgentToolEvaluationAlwaysAllow struct { Type: "always_allow" }The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".
The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".
type BetaManagedAgentsAgentToolEvaluationAlwaysAsk struct { Type: "always_ask" }The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".
The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".
type BetaManagedAgentsAgentToolEvaluationAuto struct { Type: "auto"; EvaluatedPermission }The resolved permission_policy was auto: the server judged this invocation individually.
The resolved permission_policy was auto: the server judged this invocation individually.
type BetaManagedAgentsAgentToolResultEvent struct { Type: "agent.tool_result"; ID; ProcessedAt; /* 3 more */ }Event representing the result of an agent tool execution.
Event representing the result of an agent tool execution.
type BetaManagedAgentsAgentToolUseEvent struct { Type: "agent.tool_use"; ID; Input; /* 5 more */ }Event emitted when the agent invokes a built-in agent tool.
Event emitted when the agent invokes a built-in agent tool.
type BetaManagedAgentsBase64DocumentSource struct { Type: "base64"; Data; MediaType }Base64-encoded document data.
Base64-encoded document data.
Data stringBase64-encoded document data.
Base64-encoded document data.
MediaType stringMIME type of the document (e.g., "application/pdf").
MIME type of the document (e.g., "application/pdf").
type BetaManagedAgentsBase64ImageSource struct { Type: "base64"; Data; MediaType }Base64-encoded image data.
Base64-encoded image data.
Data stringBase64-encoded image data.
Base64-encoded image data.
MediaType stringMIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").
MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").
type BetaManagedAgentsBillingError struct { 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.
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.
Human-readable error description.
RetryStatus BetaManagedAgentsBillingErrorRetryStatusUnionWhat the client should do next.
What the client should do next.
type BetaManagedAgentsRetryStatusRetrying struct { 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.
The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.
type BetaManagedAgentsRetryStatusExhausted struct { Type: "exhausted" }This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
type BetaManagedAgentsRetryStatusTerminal struct { Type: "terminal" }The session encountered a terminal error and will transition to terminated state.
The session encountered a terminal error and will transition to terminated state.
type BetaManagedAgentsCredentialHostUnreachableError struct { 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.
An environment_variable credential's auth.networking.allowed_hosts includes a host the environment's network policy does not permit.
type BetaManagedAgentsDocumentBlock struct { Type: "document"; Source; Context; Title }Document content, either specified directly as base64 data, as text, or as a reference via a URL.
Document content, either specified directly as base64 data, as text, or as a reference via a URL.
type BetaManagedAgentsEventParamsUnion interface{…}Union type for event parameters that can be sent to a session.
Union type for event parameters that can be sent to a session.
type BetaManagedAgentsFileDocumentSource struct { Type: "file"; FileID }Document referenced by file ID.
Document referenced by file ID.
FileID stringID of a previously uploaded file.
ID of a previously uploaded file.
type BetaManagedAgentsFileImageSource struct { Type: "file"; FileID }Image referenced by file ID.
Image referenced by file ID.
FileID stringID of a previously uploaded file.
ID of a previously uploaded file.
type BetaManagedAgentsFileRubric struct { Type: "file"; FileID }Rubric referenced by a file uploaded via the Files API.
Rubric referenced by a file uploaded via the Files API.
ID of the rubric file.
type BetaManagedAgentsFileRubricParams struct { Type: "file"; FileID }Rubric referenced by a file uploaded via the Files API.
Rubric referenced by a file uploaded via the Files API.
ID of the rubric file.
type BetaManagedAgentsImageBlock struct { Type: "image"; Source }Image content specified directly as base64 data or as a reference via a URL.
Image content specified directly as base64 data or as a reference via a URL.
type BetaManagedAgentsMaxWorkflowRunsWorkflowRunError struct { 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.
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.
Short explanation written by the server. It never contains content from the run or its agents.
type BetaManagedAgentsMCPAuthenticationFailedError struct { Type: "mcp_authentication_failed_error"; MCPServerName; Message; RetryStatus }Authentication to an MCP server failed.
Authentication to an MCP server failed.
type BetaManagedAgentsMCPConnectionFailedError struct { Type: "mcp_connection_failed_error"; MCPServerName; Message; RetryStatus }Failed to connect to an MCP server.
Failed to connect to an MCP server.
type BetaManagedAgentsModelOverloadedError struct { Type: "model_overloaded_error"; Message; RetryStatus }The model is currently overloaded. Emitted after automatic retries are exhausted.
The model is currently overloaded. Emitted after automatic retries are exhausted.
Human-readable error description.
RetryStatus BetaManagedAgentsModelOverloadedErrorRetryStatusUnionWhat the client should do next.
What the client should do next.
type BetaManagedAgentsRetryStatusRetrying struct { 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.
The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.
type BetaManagedAgentsRetryStatusExhausted struct { Type: "exhausted" }This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
type BetaManagedAgentsRetryStatusTerminal struct { Type: "terminal" }The session encountered a terminal error and will transition to terminated state.
The session encountered a terminal error and will transition to terminated state.
type BetaManagedAgentsModelRateLimitedError struct { Type: "model_rate_limited_error"; Message; RetryStatus }The model request was rate-limited.
The model request was rate-limited.
Human-readable error description.
RetryStatus BetaManagedAgentsModelRateLimitedErrorRetryStatusUnionWhat the client should do next.
What the client should do next.
type BetaManagedAgentsRetryStatusRetrying struct { 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.
The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.
type BetaManagedAgentsRetryStatusExhausted struct { Type: "exhausted" }This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
type BetaManagedAgentsRetryStatusTerminal struct { Type: "terminal" }The session encountered a terminal error and will transition to terminated state.
The session encountered a terminal error and will transition to terminated state.
type BetaManagedAgentsModelRequestFailedError struct { Type: "model_request_failed_error"; Message; RetryStatus }A model request failed for a reason other than overload or rate-limiting.
A model request failed for a reason other than overload or rate-limiting.
Human-readable error description.
RetryStatus BetaManagedAgentsModelRequestFailedErrorRetryStatusUnionWhat the client should do next.
What the client should do next.
type BetaManagedAgentsRetryStatusRetrying struct { 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.
The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.
type BetaManagedAgentsRetryStatusExhausted struct { Type: "exhausted" }This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
type BetaManagedAgentsRetryStatusTerminal struct { Type: "terminal" }The session encountered a terminal error and will transition to terminated state.
The session encountered a terminal error and will transition to terminated state.
type BetaManagedAgentsPlainTextDocumentSource struct { Type: "text"; Data; MediaType }Plain text document content.
Plain text document content.
Data stringThe plain text content.
The plain text content.
MIME type of the text content. Must be "text/plain".
type BetaManagedAgentsProgramWorkflowRunError struct { Type: "program_error"; Message }The plan, a program that the agent wrote, failed, or the server refused it.
The plan, a program that the agent wrote, failed, or the server refused it.
Short explanation written by the server. It never contains content from the run or its agents.
type BetaManagedAgentsRedactedBlock struct { Type: "redacted" }Placeholder for content withheld by Anthropic model policy.
Placeholder for content withheld by Anthropic model policy.
type BetaManagedAgentsRepositoryAuthenticationError struct { Type: "repository_authentication_error"; Message; RepositoryURL; RetryStatus }The repository host rejected the credentials, or required credentials and received none.
The repository host rejected the credentials, or required credentials and received none.
type BetaManagedAgentsRepositoryCheckoutError struct { Type: "repository_checkout_error"; Message; RepositoryURL; RetryStatus }The requested branch or commit does not exist in the repository.
The requested branch or commit does not exist in the repository.
type BetaManagedAgentsRepositoryCloneError struct { Type: "repository_clone_error"; Message; RepositoryURL; RetryStatus }The repository could not be cloned.
The repository could not be cloned.
type BetaManagedAgentsRepositoryForbiddenError struct { Type: "repository_forbidden_error"; Message; RepositoryURL; RetryStatus }The repository host refused access to the repository.
The repository host refused access to the repository.
type BetaManagedAgentsRepositoryNotFoundError struct { Type: "repository_not_found_error"; Message; RepositoryURL; RetryStatus }The repository host reported the repository as not found.
The repository host reported the repository as not found.
type BetaManagedAgentsRetryStatusExhausted struct { Type: "exhausted" }This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
type BetaManagedAgentsRetryStatusRetrying struct { 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.
The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.
type BetaManagedAgentsRetryStatusTerminal struct { Type: "terminal" }The session encountered a terminal error and will transition to terminated state.
The session encountered a terminal error and will transition to terminated state.
type BetaManagedAgentsSearchResultBlock struct { Type: "search_result"; Citations; Content; /* 2 more */ }A block containing a web search result.
A block containing a web search result.
Citations BetaManagedAgentsSearchResultCitationsCitation settings for this search result.
Citation settings for this search result.
Whether citations are enabled for this search result.
Content []BetaManagedAgentsSearchResultContentArray of text content blocks from the search result.
Array of text content blocks from the search result.
Text stringThe text content.
The text content.
Source stringThe URL source of the search result.
The URL source of the search result.
Title stringThe title of the search result.
The title of the search result.
type BetaManagedAgentsSearchResultCitations struct { Enabled }Citation settings for a search result.
Citation settings for a search result.
Whether citations are enabled for this search result.
type BetaManagedAgentsSearchResultContent struct { Type: "text"; Text }Text content within a search result.
Text content within a search result.
Text stringThe text content.
The text content.
type BetaManagedAgentsSendSessionEvents struct { Data }Events that were successfully sent to the session.
Events that were successfully sent to the session.
type BetaManagedAgentsSessionBudgetReached struct { 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.
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.
type BetaManagedAgentsSessionDeletedEvent struct { 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.
Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.
Unique identifier for this event.
ProcessedAt TimeTimestamp when the session was deleted.
Timestamp when the session was deleted.
type BetaManagedAgentsSessionEndTurn struct { Type: "end_turn" }The agent completed its turn naturally and is ready for the next user message.
The agent completed its turn naturally and is ready for the next user message.
type BetaManagedAgentsSessionErrorEvent struct { Type: "session.error"; ID; Error; ProcessedAt }An error event indicating a problem occurred during session execution.
An error event indicating a problem occurred during session execution.
type BetaManagedAgentsSessionEventUnion interface{…}Union type for all event types in a session.
Union type for all event types in a session.
type BetaManagedAgentsSessionEventType stringThe type of a session event.
The type of a session event.
type BetaManagedAgentsSessionRefusal struct { Type: "refusal" }The turn ended because the model's response was refused, for example by a safety classifier.
The turn ended because the model's response was refused, for example by a safety classifier.
type BetaManagedAgentsSessionRefusalStopDetails struct { Type: "refusal"; Category; Explanation }Structured information about a refusal.
Structured information about a refusal.
Category BetaManagedAgentsSessionRefusalStopDetailsCategoryThe policy category that triggered the refusal, or null when there is no named category. New values can be added over time.
The policy category that triggered the refusal, or null when there is no named category. New values can be added over time.
Human-readable explanation of the refusal, or null when none is available. The wording can change, so do not parse it.
type BetaManagedAgentsSessionRequiresAction struct { 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.
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.
The ids of events the agent is blocked on. Resolving fewer than all re-emits session.status_idle with the remainder.
type BetaManagedAgentsSessionRetriesExhausted struct { Type: "retries_exhausted" }The turn ended because repeated errors exhausted the retry budget or an error escalated to retry_status: 'exhausted'.
The turn ended because repeated errors exhausted the retry budget or an error escalated to retry_status: 'exhausted'.
type BetaManagedAgentsSessionStatusIdleEvent struct { Type: "session.status_idle"; ID; ProcessedAt; /* 2 more */ }Indicates the agent has paused and is awaiting user input.
Indicates the agent has paused and is awaiting user input.
type BetaManagedAgentsSessionStatusRescheduledEvent struct { Type: "session.status_rescheduled"; ID; ProcessedAt }Indicates the session is recovering from an error state and is rescheduled for execution.
Indicates the session is recovering from an error state and is rescheduled for execution.
Unique identifier for this event.
ProcessedAt TimeTimestamp of status change.
Timestamp of status change.
type BetaManagedAgentsSessionStatusRunningEvent struct { Type: "session.status_running"; ID; ProcessedAt }Indicates the session is actively running and the agent is working.
Indicates the session is actively running and the agent is working.
Unique identifier for this event.
ProcessedAt TimeTimestamp of status change.
Timestamp of status change.
type BetaManagedAgentsSessionStatusTerminatedEvent struct { Type: "session.status_terminated"; ID; ProcessedAt }Indicates the session has terminated, either due to an error or completion.
Indicates the session has terminated, either due to an error or completion.
Unique identifier for this event.
ProcessedAt TimeTimestamp of status change.
Timestamp of status change.
type BetaManagedAgentsSessionThreadCreatedEvent struct { 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.
Emitted when a child thread is created. Written to the parent thread's output stream so clients observing the session see child creation.
Unique identifier for this event.
Name of the callable agent the thread runs.
ProcessedAt TimeTimestamp when the thread was created.
Timestamp when the thread was created.
Public sthr_ ID of the newly created thread.
Identifier of the workflow run that created the thread, or null for any other thread.
type BetaManagedAgentsSessionThreadStatusIdleEvent struct { 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.
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.
type BetaManagedAgentsSessionThreadStatusRescheduledEvent struct { 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.
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.
Unique identifier for this event.
Name of the agent the thread runs.
ProcessedAt TimeTimestamp of the status transition.
Timestamp of the status transition.
Public sthr_ ID of the thread that is retrying.
type BetaManagedAgentsSessionThreadStatusRunningEvent struct { 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.
A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.
Unique identifier for this event.
Name of the agent the thread runs.
ProcessedAt TimeTimestamp of the status transition.
Timestamp of the status transition.
Public sthr_ ID of the thread that started running.
type BetaManagedAgentsSessionThreadStatusTerminatedEvent struct { 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.
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.
Unique identifier for this event.
Name of the agent the thread runs.
ProcessedAt TimeTimestamp of the status transition.
Timestamp of the status transition.
Public sthr_ ID of the thread that terminated.
type BetaManagedAgentsSessionUsageSnapshot struct { ActiveSeconds; CacheCreation; CacheReadInputTokens; /* 4 more */ }Point-in-time snapshot of a session's cumulative usage.
Point-in-time snapshot of a session's cumulative usage.
type BetaManagedAgentsSpanModelRequestEndEvent struct { Type: "span.model_request_end"; ID; IsError; /* 3 more */ }Emitted when a model request completes.
Emitted when a model request completes.
type BetaManagedAgentsSpanModelRequestStartEvent struct { Type: "span.model_request_start"; ID; ProcessedAt }Emitted when a model request is initiated by the agent.
Emitted when a model request is initiated by the agent.
Unique identifier for this event.
ProcessedAt TimeTimestamp when the model request started.
Timestamp when the model request started.
type BetaManagedAgentsSpanModelUsage struct { CacheCreationInputTokens; CacheReadInputTokens; InputTokens; /* 2 more */ }Token usage for a single model request.
Token usage for a single model request.
CacheCreationInputTokens int64Tokens used to create prompt cache in this request.
Tokens used to create prompt cache in this request.
CacheReadInputTokens int64Tokens read from prompt cache in this request.
Tokens read from prompt cache in this request.
InputTokens int64Input tokens consumed by this request.
Input tokens consumed by this request.
OutputTokens int64Output tokens generated by this request.
Output tokens generated by this request.
Speed BetaManagedAgentsSpanModelUsageSpeed OptionalInference speed tier this request actually ran at. Mirrors usage.speed on /v1/messages. Only present when the fast-mode beta is active.
Inference speed tier this request actually ran at. Mirrors usage.speed on /v1/messages. Only present when the fast-mode beta is active.
type BetaManagedAgentsSpanOutcomeEvaluationEndEvent struct { 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.
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.
type BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent struct { 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.
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.
Unique identifier for this event.
Iteration int640-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.
0-indexed revision cycle, matching the corresponding span.outcome_evaluation_start.
The outc_ ID of the outcome being evaluated.
ProcessedAt TimeTimestamp when this heartbeat was emitted.
Timestamp when this heartbeat was emitted.
type BetaManagedAgentsSpanOutcomeEvaluationStartEvent struct { Type: "span.outcome_evaluation_start"; ID; Iteration; /* 2 more */ }Emitted when an outcome evaluation cycle begins.
Emitted when an outcome evaluation cycle begins.
Unique identifier for this event.
Iteration int640-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.
0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.
The outc_ ID of the outcome being evaluated.
ProcessedAt TimeTimestamp when outcome evaluation started.
Timestamp when outcome evaluation started.
type BetaManagedAgentsStreamSessionEventsUnion interface{…}Server-sent event in the session stream.
Server-sent event in the session stream.
type BetaManagedAgentsSystemMessageEventParams struct { 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.
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.
Content []BetaManagedAgentsSystemContentBlockParamSystem content blocks to append. Text-only.
System content blocks to append. Text-only.
Text stringThe text content.
The text content.
type BetaManagedAgentsTextBlock struct { Type: "text"; Text }Regular text content.
Regular text content.
Text stringThe text content.
The text content.
type BetaManagedAgentsTextRubric struct { Type: "text"; Content }Rubric content provided inline as text.
Rubric content provided inline as text.
Rubric content. Plain text or markdown — the grader treats it as freeform text.
type BetaManagedAgentsTextRubricParams struct { Type: "text"; Content }Rubric content provided inline as text.
Rubric content provided inline as text.
Content stringRubric content. Plain text or markdown — the grader treats it as freeform text. Maximum 262144 characters.
Rubric content. Plain text or markdown — the grader treats it as freeform text. Maximum 262144 characters.
type BetaManagedAgentsThreadLimitWorkflowRunError struct { Type: "thread_limit_error"; Message }The run exceeded the limit on the number of threads that a run can create.
The run exceeded the limit on the number of threads that a run can create.
Short explanation written by the server. It never contains content from the run or its agents.
type BetaManagedAgentsTimeoutWorkflowRunError struct { Type: "timeout_error"; Message }The run reached its time limit.
The run reached its time limit.
Short explanation written by the server. It never contains content from the run or its agents.
type BetaManagedAgentsUnknownError struct { 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.
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.
Human-readable error description.
RetryStatus BetaManagedAgentsUnknownErrorRetryStatusUnionWhat the client should do next.
What the client should do next.
type BetaManagedAgentsRetryStatusRetrying struct { 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.
The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.
type BetaManagedAgentsRetryStatusExhausted struct { Type: "exhausted" }This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.
type BetaManagedAgentsRetryStatusTerminal struct { Type: "terminal" }The session encountered a terminal error and will transition to terminated state.
The session encountered a terminal error and will transition to terminated state.
type BetaManagedAgentsUnknownWorkflowRunError struct { Type: "unknown_error"; Message }A failure that has no type of its own.
A failure that has no type of its own.
Short explanation written by the server. It never contains content from the run or its agents.
type BetaManagedAgentsURLDocumentSource struct { Type: "url"; URL }Document referenced by URL.
Document referenced by URL.
URL stringURL of the document to fetch.
URL of the document to fetch.
type BetaManagedAgentsURLImageSource struct { Type: "url"; URL }Image referenced by URL.
Image referenced by URL.
URL stringURL of the image to fetch.
URL of the image to fetch.
type BetaManagedAgentsUserCustomToolResultEvent struct { Type: "user.custom_tool_result"; ID; CustomToolUseID; /* 4 more */ }Event sent by the client providing the result of a custom tool execution.
Event sent by the client providing the result of a custom tool execution.
type BetaManagedAgentsUserCustomToolResultEventParams struct { Type: "user.custom_tool_result"; CustomToolUseID; Content; IsError }Parameters for providing the result of a custom tool execution.
Parameters for providing the result of a custom tool execution.
type BetaManagedAgentsUserDefineOutcomeEvent struct { 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.
Echo of a user.define_outcome input event. Carries the server-generated outcome_id that subsequent span.outcome_evaluation_* events reference.
type BetaManagedAgentsUserDefineOutcomeEventParams struct { Type: "user.define_outcome"; Description; Rubric; MaxIterations }Parameters for defining an outcome the agent should work toward. The agent begins work on receipt.
Parameters for defining an outcome the agent should work toward. The agent begins work on receipt.
type BetaManagedAgentsUserInterruptEvent struct { Type: "user.interrupt"; ID; ProcessedAt; SessionThreadID }An interrupt event that pauses agent execution and returns control to the user.
An interrupt event that pauses agent execution and returns control to the user.
Unique identifier for this event.
ProcessedAt Time OptionalTimestamp when the interrupt was processed.
Timestamp when the interrupt was processed.
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.
type BetaManagedAgentsUserInterruptEventParams struct { Type: "user.interrupt"; SessionThreadID }Parameters for sending an interrupt to pause the agent.
Parameters for sending an interrupt to pause the agent.
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.
type BetaManagedAgentsUserMessageEvent struct { Type: "user.message"; ID; Content; ProcessedAt }A user message event in the session conversation.
A user message event in the session conversation.
type BetaManagedAgentsUserMessageEventParams struct { Type: "user.message"; Content }Parameters for sending a user message to the session.
Parameters for sending a user message to the session.
type BetaManagedAgentsUserToolConfirmationEvent struct { Type: "user.tool_confirmation"; ID; Result; /* 4 more */ }A tool confirmation event that approves or denies a pending tool execution.
A tool confirmation event that approves or denies a pending tool execution.
Unique identifier for this event.
Result BetaManagedAgentsUserToolConfirmationEventResultThe confirmation result: 'allow' or 'deny'.
The confirmation result: 'allow' or 'deny'.
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.
DenyMessage string OptionalOptional message providing context for a 'deny' decision. Only allowed when result is 'deny'.
Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.
ProcessedAt Time OptionalTimestamp when the confirmation was processed.
Timestamp when the confirmation was processed.
Set by the server to the subagent thread this confirmation was routed to. Omitted when it was routed to the primary thread.
type BetaManagedAgentsUserToolConfirmationEventParams struct { Type: "user.tool_confirmation"; Result; ToolUseID; DenyMessage }Parameters for confirming or denying a tool execution request.
Parameters for confirming or denying a tool execution request.
Result BetaManagedAgentsUserToolConfirmationEventParamsResultThe confirmation result: 'allow' or 'deny'.
The confirmation result: 'allow' or 'deny'.
ToolUseID stringThe 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.
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.
DenyMessage string OptionalOptional message providing context for a 'deny' decision. Only allowed when result is 'deny'.
Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.
type BetaManagedAgentsUserToolResultEventParams struct { 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.
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.
type BetaManagedAgentsWorkflowRunCreatedEvent struct { 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.
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.
Unique identifier for this event.
Description that the agent gave the run, passed on as written, or null if it gave none.
Name that the agent gave the run, passed on as written, or a name that the server assigned.
Phases []BetaManagedAgentsWorkflowRunPhaseThe phases that the run's plan declares, in the plan's order. Can be empty.
The phases that the run's plan declares, in the plan's order. Can be empty.
Unique identifier for the phase.
Description that the agent gave the phase, passed on as written, or null if it gave none.
Name that the agent gave the phase, passed on as written.
ProcessedAt TimeTimestamp when this event was processed.
Timestamp when this event was processed.
Identifier of the run. The same value is on all of the run's workflow_run.* events.
type BetaManagedAgentsWorkflowRunErrorUnion interface{…}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.
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.
type BetaManagedAgentsWorkflowRunErrorEvent struct { 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.
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.
Unique identifier for this event.
Why the run did not finish, or was not created.
Why the run did not finish, or was not created.
ProcessedAt TimeTimestamp when this event was processed.
Timestamp when this event was processed.
Identifier of the run that met the error, or null when the error kept a run from being created.
type BetaManagedAgentsWorkflowRunPhase struct { ID; Description; Name }A phase that a workflow run's plan declares.
A phase that a workflow run's plan declares.
Unique identifier for the phase.
Description that the agent gave the phase, passed on as written, or null if it gave none.
Name that the agent gave the phase, passed on as written.
type BetaManagedAgentsWorkflowRunPhaseEndedEvent struct { 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.
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.
Unique identifier for this event.
Identifier of the workflow_run.phase_started event that opened the phase.
ProcessedAt TimeTimestamp when this event was processed.
Timestamp when this event was processed.
Identifier of the run. The same value is on all of the run's workflow_run.* events.
Identifier of the phase, as in phases on the run's workflow_run.created event.
type BetaManagedAgentsWorkflowRunPhaseStartedEvent struct { Type: "workflow_run.phase_started"; ID; ProcessedAt; /* 2 more */ }A workflow run's plan entered a phase.
A workflow run's plan entered a phase.
Unique identifier for this event.
ProcessedAt TimeTimestamp when this event was processed.
Timestamp when this event was processed.
Identifier of the run. The same value is on all of the run's workflow_run.* events.
Identifier of the phase, as in phases on the run's workflow_run.created event.
type BetaManagedAgentsWorkflowRunResultUnion interface{…}How a workflow run ended.
How a workflow run ended.
type BetaManagedAgentsWorkflowRunResultCompleted struct { Type: "completed" }The run's plan, a program that the agent wrote, finished. This does not say whether the work succeeded.
The run's plan, a program that the agent wrote, finished. This does not say whether the work succeeded.
type BetaManagedAgentsWorkflowRunResultError struct { Type: "error"; Error }The run failed or reached its time limit.
The run failed or reached its time limit.
Why the run did not finish.
Why the run did not finish.
type BetaManagedAgentsWorkflowRunResultStopped struct { Type: "stopped" }The agent stopped the run.
The agent stopped the run.
type BetaManagedAgentsWorkflowRunResultCompleted struct { Type: "completed" }The run's plan, a program that the agent wrote, finished. This does not say whether the work succeeded.
The run's plan, a program that the agent wrote, finished. This does not say whether the work succeeded.
type BetaManagedAgentsWorkflowRunResultError struct { Type: "error"; Error }The run failed or reached its time limit.
The run failed or reached its time limit.
Why the run did not finish.
Why the run did not finish.
type BetaManagedAgentsWorkflowRunResultStopped struct { Type: "stopped" }The agent stopped the run.
The agent stopped the run.
type BetaManagedAgentsWorkflowRunStatusEndedEvent struct { 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.
A workflow run ended. Emitted once per run, as the last of the run's workflow_run.* events.
type BetaManagedAgentsWorkflowRunStatusIdleEvent struct { 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.
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.
Unique identifier for this event.
ProcessedAt TimeTimestamp when this event was processed.
Timestamp when this event was processed.
Identifier of the run. The same value is on all of the run's workflow_run.* events.
type BetaManagedAgentsWorkflowRunStatusRunningEvent struct { 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.
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.
Unique identifier for this event.
ProcessedAt TimeTimestamp when this event was processed.
Timestamp when this event was processed.
Identifier of the run. The same value is on all of the run's workflow_run.* events.