Claude Platform Docs

工作階段

建立工作階段
beta.sessions.create(**kwargs) -> BetaManagedAgentsSession
POST/v1/sessions
列出工作階段
beta.sessions.list(**kwargs) -> BidirectionalPageCursor<BetaManagedAgentsSession>
GET/v1/sessions
取得工作階段
beta.sessions.retrieve(session_id, **kwargs) -> BetaManagedAgentsSession
GET/v1/sessions/{session_id}
更新工作階段
beta.sessions.update(session_id, **kwargs) -> BetaManagedAgentsSession
POST/v1/sessions/{session_id}
刪除工作階段
beta.sessions.delete(session_id, **kwargs) -> BetaManagedAgentsDeletedSession
DELETE/v1/sessions/{session_id}
封存工作階段
beta.sessions.archive(session_id, **kwargs) -> BetaManagedAgentsSession
POST/v1/sessions/{session_id}/archive
Models
class BetaManagedAgentsAdvisorParams { type: :advisor, model }

Platform advisor roster entry: a model the session's primary thread may consult mid-turn. At most one per roster; the entry occupies the roster name anthropic.advisor.

type: :advisor
model: String

A Claude model id. The model must be permitted as an advisor for this agent's model.

minLength1
maxLength256
class BetaManagedAgentsAgentMessagePreview { type: :"agent.message", id }
type: :"agent.message"
id: String

The id the buffered agent.message will carry if it is emitted. Matches the event_id on this preview's event_delta events.

class BetaManagedAgentsAgentParams { type: :agent, id, version }

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

type: :agent
id: String

The agent ID.

minLength1
maxLength128
version: Integer

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

formatint32
class BetaManagedAgentsAgentThinkingPreview { type: :"agent.thinking", id }
type: :"agent.thinking"
id: String

The id the buffered agent.thinking will carry if it is emitted. Start-only — no event_delta events follow.

class BetaManagedAgentsAgentWithOverridesParams { type: :agent_with_overrides, id, mcp_servers, 5 more }

Reference to an agent plus optional configuration overrides. Each provided field replaces the agent's value for the caller's use; the agent resource is unchanged.

class BetaManagedAgentsBranchCheckout { type: :branch, name }
type: :branch
name: String

Branch name to check out.

minLength1
maxLength255
class BetaManagedAgentsBudgetLimit { type: :limit, max_list_cost }

A hard spend ceiling. The session stops issuing new model requests once the tracked list cost reaches max_list_cost.

type: :limit
max_list_cost: BetaMonetaryAmount { amount, currency }

Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

amount: String

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.

currency: BetaCurrency

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.

class BetaManagedAgentsCacheCreationUsage { ephemeral_1h_input_tokens, ephemeral_5m_input_tokens }

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

ephemeral_1h_input_tokens: Integer

Tokens used to create 1-hour ephemeral cache entries.

formatint32
ephemeral_5m_input_tokens: Integer

Tokens used to create 5-minute ephemeral cache entries.

formatint32
class BetaManagedAgentsCommitCheckout { type: :commit, sha }
type: :commit
sha: String

Full commit SHA to check out.

minLength7
maxLength64
class BetaManagedAgentsDeletedSession { type: :session_deleted, id }

Confirmation that a session has been permanently deleted.

type: :session_deleted
id: String
class BetaManagedAgentsDeltaContent { type: :content_delta, content, index }
type: :content_delta
content: BetaManagedAgentsTextBlock { type: :text, text }

A partial element of the content array at index, typed like the element itself — the same shape the buffered agent.message carries in content.

type: :text
text: String

The text content.

minLength1
index: Integer

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.

class BetaManagedAgentsDeltaEvent { type: :event_delta, delta, event_id }

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.

type BetaManagedAgentsDeltaType = :"agent.message" | :"agent.thinking"
One of the following:
:"agent.message"
:"agent.thinking"
class BetaManagedAgentsFileResourceParams { type: :file, file_id, mount_path }

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

type: :file
file_id: String

ID of a previously uploaded file.

minLength1
maxLength128
mount_path: String

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

minLength1
maxLength4096
class BetaManagedAgentsGitHubRepositoryResourceParams { type: :github_repository, url, authorization_token, 2 more }

Mount a GitHub repository into the session's container.

class BetaManagedAgentsMemoryStoreResourceParam { type: :memory_store, memory_store_id, access, instructions }

Parameters for attaching a memory store to an agent session.

type: :memory_store
memory_store_id: String

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

access: :read_write | :read_only

Access mode for the mounted store. Defaults to read_write. read_only mounts the store as a read-only filesystem.

One of the following:
:read_write
:read_only
instructions: String

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

maxLength4096

Resolved multiagent orchestration configuration as returned in API responses.

One of the following:
class BetaManagedAgentsMultiagentCoordinator { type: :coordinator, agents }

Resolved coordinator topology with a concrete agent roster.

class BetaManagedAgentsMultiagent20261001 { type: :multiagent_20261001, advisor, subagents, workflows }

Resolved multiagent configuration with three members, each enabled or disabled on its own.

Multiagent orchestration configuration.

One of the following:
class BetaManagedAgentsMultiagentCoordinatorParams { type: :coordinator, agents }

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

class BetaManagedAgentsMultiagent20261001Params { type: :multiagent_20261001, advisor, subagents, workflows }

Multiagent configuration with three members, each enabled or disabled on its own. On an update, if the agent's stored multiagent also has type multiagent_20261001, this configuration is merged into the stored one, level by level, instead of replacing it. A key that the update omits keeps its stored value. A key sent as null takes its default, on create as well, so "workflows": null enables workflows. An object sent with a type other than the stored one replaces the stored object, and the keys that it omits take their defaults. A predefined_agents list that is sent replaces the stored list. Every object that is sent needs its type, and an enabled advisor needs its model. Other validation applies to the merged result.

type BetaManagedAgentsMultiagentRosterEntryParams = String | BetaManagedAgentsAgentParams | BetaManagedAgentsMultiagentSelfParams | BetaManagedAgentsAdvisorParams

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

One of the following:
class BetaManagedAgentsOutcomeEvaluationResource { type: :outcome_evaluation, completed_at, description, 4 more }

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

type: :outcome_evaluation
completed_at: Time

When the outcome reached a terminal result. Null while pending/running/evaluating.

formatdate-time
description: String

What the agent should produce.

explanation: String

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

iteration: Integer

0-indexed revision cycle the outcome is currently on.

formatint32
outcome_id: String

Server-generated outc_ ID for this outcome.

result: String

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

class BetaManagedAgentsServerToolUsage { web_fetch_requests, web_search_requests }

Cumulative count of server-executed tool invocations, broken down by tool.

web_fetch_requests: Integer

Number of server-executed web fetch requests.

formatint32
web_search_requests: Integer

Number of server-executed web search requests.

formatint32
class BetaManagedAgentsSession { type: :session, id, agent, 14 more }

A Managed Agents session.

class BetaManagedAgentsSessionAgent { type: :agent, id, description, 9 more }

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

class BetaManagedAgentsSessionAgentUpdate { mcp_servers, tools }

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

Resolved multiagent orchestration configuration as returned on a session.

One of the following:
class BetaManagedAgentsSessionMultiagentCoordinator { type: :coordinator, agents }

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

class BetaManagedAgentsSessionMultiagent20261001 { type: :multiagent_20261001, advisor, subagents, workflows }

Resolved multiagent configuration with three members, as copied to the session at creation.

class BetaManagedAgentsSessionMultiagentCoordinator { type: :coordinator, agents }

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

Whether the agent can spawn session threads.

One of the following:
class BetaManagedAgentsSessionMultiagentSubagentsEnabled { type: :enabled, inline_agents, predefined_agents }

The agent can spawn session threads.

class BetaManagedAgentsMultiagentSubagentsDisabled { type: :disabled }

The agent cannot spawn session threads.

type: :disabled
class BetaManagedAgentsSessionMultiagentSubagentsEnabled { type: :enabled, inline_agents, predefined_agents }

The agent can spawn session threads.

Whether the agent can start workflow runs.

One of the following:
class BetaManagedAgentsSessionMultiagentWorkflowsEnabled { type: :enabled, inline_agents, predefined_agents }

The agent can start workflow runs.

class BetaManagedAgentsMultiagentWorkflowsDisabled { type: :disabled }

The agent cannot start workflow runs.

type: :disabled
class BetaManagedAgentsSessionMultiagentWorkflowsEnabled { type: :enabled, inline_agents, predefined_agents }

The agent can start workflow runs.

class BetaManagedAgentsSessionMultiagent20261001 { type: :multiagent_20261001, advisor, subagents, workflows }

Resolved multiagent configuration with three members, as copied to the session at creation.

class BetaManagedAgentsSessionStats { active_seconds, duration_seconds }

Timing statistics for a session.

active_seconds: Float

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

formatdouble
duration_seconds: Float

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

formatdouble
class BetaManagedAgentsSessionUpdatedEvent { type: :"session.updated", id, processed_at, 4 more }

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

class BetaManagedAgentsSessionUsage { active_seconds, cache_creation, cache_read_input_tokens, 4 more }

Cumulative token usage for a session across all turns.

class BetaManagedAgentsSessionUsageEvent { type: :"session.usage", id, processed_at, 2 more }

Periodic snapshot of the session's cumulative usage and tracked list cost.

class BetaManagedAgentsStartEvent { type: :event_start, event }

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.

One of the following:
class BetaManagedAgentsAgentMessagePreview { type: :"agent.message", id }
type: :"agent.message"
id: String

The id the buffered agent.message will carry if it is emitted. Matches the event_id on this preview's event_delta events.

class BetaManagedAgentsAgentThinkingPreview { type: :"agent.thinking", id }
type: :"agent.thinking"
id: String

The id the buffered agent.thinking will carry if it is emitted. Start-only — no event_delta events follow.

class BetaManagedAgentsSystemContentBlock { type: :text, text }

Content block in a mid-conversation system message. Text-only.

type: :text
text: String

The text content.

minLength1
class BetaManagedAgentsSystemMessageEvent { type: :"system.message", id, content, processed_at }

A mid-conversation system message event. Carries system-role content that is appended to the session as a role: "system" turn.

type: :"system.message"
id: String

Unique identifier for this event.

content: Array[BetaManagedAgentsSystemContentBlock { type: :text, text }]

System content blocks. Text-only.

type: :text
text: String

The text content.

minLength1
processed_at: Time

Timestamp when this system message was processed.

formatdate-time
class BetaManagedAgentsUserToolResultEvent { type: :"user.tool_result", id, tool_use_id, 4 more }

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

工作階段事件

列出事件
beta.sessions.events.list(session_id, **kwargs) -> PageCursor<BetaManagedAgentsSessionEvent>
GET/v1/sessions/{session_id}/events
傳送事件
beta.sessions.events.send_(session_id, **kwargs) -> BetaManagedAgentsSendSessionEvents
POST/v1/sessions/{session_id}/events
串流事件
beta.sessions.events.stream_events(session_id, **kwargs) -> Stream<BetaManagedAgentsStreamSessionEvents>
GET/v1/sessions/{session_id}/events/stream

工作階段資源

新增工作階段資源
beta.sessions.resources.add(session_id, **kwargs) -> BetaManagedAgentsFileResource
POST/v1/sessions/{session_id}/resources
列出工作階段資源
beta.sessions.resources.list(session_id, **kwargs) -> PageCursor<BetaManagedAgentsSessionResource>
GET/v1/sessions/{session_id}/resources
取得工作階段資源
beta.sessions.resources.retrieve(resource_id, **kwargs) -> ResourceRetrieveResponse
GET/v1/sessions/{session_id}/resources/{resource_id}
更新工作階段資源
beta.sessions.resources.update(resource_id, **kwargs) -> ResourceUpdateResponse
POST/v1/sessions/{session_id}/resources/{resource_id}
刪除工作階段資源
beta.sessions.resources.delete(resource_id, **kwargs) -> BetaManagedAgentsDeleteSessionResource
DELETE/v1/sessions/{session_id}/resources/{resource_id}

工作階段執行緒

列出工作階段執行緒
beta.sessions.threads.list(session_id, **kwargs) -> PageCursor<BetaManagedAgentsSessionThread>
GET/v1/sessions/{session_id}/threads
取得工作階段執行緒
beta.sessions.threads.retrieve(thread_id, **kwargs) -> BetaManagedAgentsSessionThread
GET/v1/sessions/{session_id}/threads/{thread_id}
封存工作階段執行緒
beta.sessions.threads.archive(thread_id, **kwargs) -> BetaManagedAgentsSessionThread
POST/v1/sessions/{session_id}/threads/{thread_id}/archive

工作階段執行緒事件

列出工作階段執行緒事件
beta.sessions.threads.events.list(thread_id, **kwargs) -> PageCursor<BetaManagedAgentsSessionEvent>
GET/v1/sessions/{session_id}/threads/{thread_id}/events
串流工作階段執行緒事件
beta.sessions.threads.events.stream_events(thread_id, **kwargs) -> Stream<BetaManagedAgentsStreamSessionThreadEvents>
GET/v1/sessions/{session_id}/threads/{thread_id}/stream