Claude Platform Docs

Agents

Create Agent
$ ant beta:agents create
POST/v1/agents
List Agents
$ ant beta:agents list
GET/v1/agents
Get Agent
$ ant beta:agents retrieve
GET/v1/agents/{agent_id}
Update Agent
$ ant beta:agents update
POST/v1/agents/{agent_id}
Archive Agent
$ ant beta:agents archive
POST/v1/agents/{agent_id}/archive
Models
beta_managed_agents_advisor: object{ type: "advisor", model }

Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

type: "advisor"
model: string

The advisor model id.

beta_managed_agents_agent: object{ type: "agent", id, archived_at, 12 more }

A Managed Agents agent.

beta_managed_agents_agent_reference: object{ type: "agent", id, version }

A resolved agent reference with a concrete version.

type: "agent"
id: string
version: number
formatint32

Configuration for a specific agent tool.

Configuration override for a specific tool within a toolset.

beta_managed_agents_agent_toolset_default_config: object{ enabled, permission_policy }

Resolved default configuration for agent tools.

beta_managed_agents_agent_toolset_default_config_params: object{ enabled, permission_policy }

Default configuration for all tools in a toolset.

beta_managed_agents_agent_toolset20260401: object{ type: "agent_toolset_20260401", configs, default_config }
beta_managed_agents_agent_toolset20260401_bash_input: object{ command, restart, timeout_ms }

Input payload for the bash tool of the agent_toolset_20260401 toolset. All fields are optional; a normal invocation supplies command, while restart=true (with no command) reboots the runner-side bash session.

command: optional string

Shell command to execute. Omit only when restart is true.

restart: optional boolean

When true, restart the persistent bash session instead of running a command. Subsequent calls without restart will run against the fresh session.

timeout_ms: optional number

Per-call timeout in milliseconds. Defaults to the runner-wide tool timeout when omitted or zero.

minimum0
beta_managed_agents_agent_toolset20260401_edit_input: object{ file_path, new_string, old_string, replace_all }

Input payload for the edit tool. Performs a string replacement in the named file; by default old_string must occur exactly once.

file_path: string

Path of the file to edit.

new_string: string

Replacement text.

old_string: string

Substring to find and replace.

replace_all: optional boolean

When true, replace every occurrence of old_string instead of requiring a unique match.

beta_managed_agents_agent_toolset20260401_glob_input: object{ pattern, path }

Input payload for the glob tool. Returns paths matching a doublestar glob pattern, newest first.

pattern: string

Doublestar glob pattern (e.g. **/*.go). Absolute patterns are only permitted when the runner is configured to allow them.

path: optional string

Optional directory root to search under. Defaults to the runner's working directory.

beta_managed_agents_agent_toolset20260401_grep_input: object{ pattern, path }

Input payload for the grep tool. Searches file contents for a regular expression, returning matching lines.

pattern: string

Regular expression to search for.

path: optional string

Optional directory root to search under. Defaults to the runner's working directory.

beta_managed_agents_agent_toolset20260401_params: object{ type: "agent_toolset_20260401", configs, default_config }

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

beta_managed_agents_agent_toolset20260401_read_input: object{ file_path, view_range }

Input payload for the read tool. Reads file contents relative to the runner's working directory (or absolute when the runner permits).

file_path: string

Path of the file to read.

view_range: optional array of number

Optional [start_line, end_line] 1-indexed inclusive range. When omitted the entire file is returned. end_line of 0 or negative means "to end of file".

minItems2
maxItems2
beta_managed_agents_agent_toolset20260401_write_input: object{ content, file_path }

Input payload for the write tool. Writes (overwriting) the entire file contents.

content: string

Full file contents to write.

file_path: string

Path of the file to write.

beta_managed_agents_always_allow_policy: object{ type: "always_allow" }

Tool calls are automatically approved without user confirmation.

type: "always_allow"
beta_managed_agents_always_ask_policy: object{ type: "always_ask" }

Tool calls require user confirmation before execution.

type: "always_ask"
beta_managed_agents_anthropic_skill: object{ type: "anthropic", skill_id, version }

A resolved Anthropic-managed skill.

type: "anthropic"
skill_id: string
version: string
beta_managed_agents_anthropic_skill_params: object{ type: "anthropic", skill_id, version }

An Anthropic-managed skill.

type: "anthropic"
skill_id: string

Identifier of the Anthropic skill (e.g., "xlsx").

minLength1
maxLength64
version: optional string

Version to pin. Defaults to latest if omitted.

minLength1
maxLength64
beta_managed_agents_auto_policy: object{ type: "auto" }

The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

type: "auto"
beta_managed_agents_bash_tool_config: object{ type: "bash", enabled, name, permission_policy }

Configuration for the bash tool.

beta_managed_agents_bash_tool_config_params: object{ type: "bash", name, enabled, permission_policy }

Configuration override for the bash tool.

beta_managed_agents_custom_skill: object{ type: "custom", skill_id, version }

A resolved user-created custom skill.

type: "custom"
skill_id: string
version: string
beta_managed_agents_custom_skill_params: object{ type: "custom", skill_id, version }

A user-created custom skill.

type: "custom"
skill_id: string

Tagged ID of the custom skill (e.g., "skill_01XJ5...").

minLength1
maxLength64
version: optional string

Version to pin. Defaults to latest if omitted.

minLength1
maxLength64
beta_managed_agents_custom_tool: object{ type: "custom", description, input_schema, name }

A custom tool as returned in API responses.

type: "custom"
description: string
input_schema: object{ type: "object", properties, required }

JSON Schema for custom tool input parameters.

type: "object"
properties: optional map[unknown]
required: optional array of string
name: string
beta_managed_agents_custom_tool_input_schema: object{ type: "object", properties, required }

JSON Schema for custom tool input parameters.

type: "object"
properties: optional map[unknown]
required: optional array of string
beta_managed_agents_custom_tool_params: object{ type: "custom", description, input_schema, name }

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

type: "custom"
description: string

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

minLength1
input_schema: object{ type: "object", properties, required }

JSON Schema defining the expected input parameters for the tool.

type: "object"
properties: optional map[unknown]
required: optional array of string
name: string

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

minLength1
maxLength128
beta_managed_agents_edit_tool_config: object{ type: "edit", enabled, name, permission_policy }

Configuration for the edit tool.

beta_managed_agents_edit_tool_config_params: object{ type: "edit", name, enabled, permission_policy }

Configuration override for the edit tool.

beta_managed_agents_effort_high: object{ type: "high" }

High effort. Favors reasoning depth.

type: "high"
beta_managed_agents_effort_low: object{ type: "low" }

Low effort. Favors latency over reasoning depth.

type: "low"
beta_managed_agents_effort_max: object{ type: "max" }

Maximum effort. Favors reasoning depth over latency.

type: "max"
beta_managed_agents_effort_medium: object{ type: "medium" }

Medium effort. Balances latency and reasoning depth.

type: "medium"
beta_managed_agents_effort_xhigh: object{ type: "xhigh" }

Extra-high effort. Not all models accept this level.

type: "xhigh"
beta_managed_agents_glob_tool_config: object{ type: "glob", enabled, name, permission_policy }

Configuration for the glob tool.

beta_managed_agents_glob_tool_config_params: object{ type: "glob", name, enabled, permission_policy }

Configuration override for the glob tool.

beta_managed_agents_grep_tool_config: object{ type: "grep", enabled, name, permission_policy }

Configuration for the grep tool.

beta_managed_agents_grep_tool_config_params: object{ type: "grep", name, enabled, permission_policy }

Configuration override for the grep tool.

beta_managed_agents_mcp_server_url_definition: object{ type: "url", name, url }

URL-based MCP server connection as returned in API responses.

type: "url"
name: string
url: string
beta_managed_agents_mcp_tool_config: object{ enabled, name, permission_policy }

Resolved configuration for a specific MCP tool.

beta_managed_agents_mcp_tool_config_params: object{ name, enabled, permission_policy }

Configuration override for a specific MCP tool.

beta_managed_agents_mcp_toolset: object{ type: "mcp_toolset", configs, default_config, mcp_server_name }
beta_managed_agents_mcp_toolset_default_config: object{ enabled, permission_policy }

Resolved default configuration for all tools from an MCP server.

beta_managed_agents_mcp_toolset_default_config_params: object{ enabled, permission_policy }

Default configuration for all tools from an MCP server.

beta_managed_agents_mcp_toolset_params: object{ type: "mcp_toolset", mcp_server_name, configs, default_config }

Configuration for tools from an MCP server defined in mcp_servers.

beta_managed_agents_model_config: object{ id, effort, inference_geo, speed }

Model identifier and configuration.

beta_managed_agents_model_config_params: object{ id, effort, inference_geo, speed }

An object that defines additional configuration control over model use

Whether the session's primary thread can consult an advisor model.

beta_managed_agents_multiagent_advisor_enabled: object{ type: "enabled", model }

The session's primary thread can consult model mid-turn.

type: "enabled"
model: string

The advisor model id.

beta_managed_agents_multiagent_advisor_disabled: object{ type: "disabled" }

The agent has no advisor.

type: "disabled"
beta_managed_agents_multiagent_advisor_disabled: object{ type: "disabled" }

The agent has no advisor.

type: "disabled"
beta_managed_agents_multiagent_advisor_disabled_params: object{ type: "disabled" }

The agent has no advisor.

type: "disabled"
beta_managed_agents_multiagent_advisor_enabled: object{ type: "enabled", model }

The session's primary thread can consult model mid-turn.

type: "enabled"
model: string

The advisor model id.

beta_managed_agents_multiagent_advisor_enabled_params: object{ type: "enabled", model }

The session's primary thread can consult model mid-turn.

type: "enabled"
model: string

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

minLength1
maxLength256

Whether the session's primary thread can consult an advisor model.

beta_managed_agents_multiagent_advisor_enabled_params: object{ type: "enabled", model }

The session's primary thread can consult model mid-turn.

type: "enabled"
model: string

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

minLength1
maxLength256
beta_managed_agents_multiagent_advisor_disabled_params: object{ type: "disabled" }

The agent has no advisor.

type: "disabled"
beta_managed_agents_multiagent_coordinator: object{ type: "coordinator", agents }

Resolved coordinator topology with a concrete agent roster.

beta_managed_agents_multiagent_coordinator_params: object{ 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.

Whether the agent can define inline agents. The agent defines an inline agent itself, in a workflow run's plan or when it spawns a session thread, and the inline agent is not saved.

beta_managed_agents_multiagent_inline_agents_enabled: object{ type: "enabled" }

The agent can define inline agents.

type: "enabled"
beta_managed_agents_multiagent_inline_agents_disabled: object{ type: "disabled" }

The agent cannot define inline agents.

type: "disabled"
beta_managed_agents_multiagent_inline_agents_disabled: object{ type: "disabled" }

The agent cannot define inline agents.

type: "disabled"
beta_managed_agents_multiagent_inline_agents_disabled_params: object{ type: "disabled" }

The agent cannot define inline agents.

type: "disabled"
beta_managed_agents_multiagent_inline_agents_enabled: object{ type: "enabled" }

The agent can define inline agents.

type: "enabled"
beta_managed_agents_multiagent_inline_agents_enabled_params: object{ type: "enabled" }

The agent can define inline agents.

type: "enabled"

Whether the agent can define inline agents. The agent defines an inline agent itself, in a workflow run's plan or when it spawns a session thread, and the inline agent is not saved.

beta_managed_agents_multiagent_inline_agents_enabled_params: object{ type: "enabled" }

The agent can define inline agents.

type: "enabled"
beta_managed_agents_multiagent_inline_agents_disabled_params: object{ type: "disabled" }

The agent cannot define inline agents.

type: "disabled"
beta_managed_agents_multiagent_predefined_agent_params: string or BetaManagedAgentsAgentParams or BetaManagedAgentsMultiagentSelfParams

One agent in a predefined_agents list. It is an agent ID string, an agent reference with an optional version, or self for the agent that owns this configuration.

union_member_0: string
beta_managed_agents_agent_params: object{ 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: optional number

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

formatint32
beta_managed_agents_multiagent_self_params: object{ type: "self" }

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

type: "self"
beta_managed_agents_multiagent_self_params: object{ type: "self" }

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

type: "self"

Whether the agent can spawn session threads.

beta_managed_agents_multiagent_subagents_disabled: object{ type: "disabled" }

The agent cannot spawn session threads.

type: "disabled"
beta_managed_agents_multiagent_subagents_disabled_params: object{ type: "disabled" }

The agent cannot spawn session threads.

type: "disabled"
beta_managed_agents_multiagent_subagents_enabled: object{ type: "enabled", inline_agents, predefined_agents }

The agent can spawn session threads.

beta_managed_agents_multiagent_subagents_enabled_params: object{ type: "enabled", inline_agents, predefined_agents }

The agent can spawn session threads. Each thread runs a predefined agent, which is a saved agent in predefined_agents, or an inline agent, which the agent defines when it spawns the thread and which is not saved. If inline_agents is disabled, predefined_agents must name at least one agent.

Whether the agent can spawn session threads.

Whether the agent can start workflow runs.

beta_managed_agents_multiagent_workflows_disabled: object{ type: "disabled" }

The agent cannot start workflow runs.

type: "disabled"
beta_managed_agents_multiagent_workflows_disabled_params: object{ type: "disabled" }

The agent cannot start workflow runs.

type: "disabled"
beta_managed_agents_multiagent_workflows_enabled: object{ type: "enabled", inline_agents, predefined_agents }

The agent can start workflow runs.

beta_managed_agents_multiagent_workflows_enabled_params: object{ type: "enabled", inline_agents, predefined_agents }

The agent can start workflow runs. Each run follows a plan, a program that the agent writes. A plan can use predefined agents, which are the saved agents in predefined_agents, and inline agents, which it defines itself and which are not saved. If inline_agents is disabled, predefined_agents must name at least one agent.

Whether the agent can start workflow runs.

beta_managed_agents_multiagent20261001: object{ type: "multiagent_20261001", advisor, subagents, workflows }

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

beta_managed_agents_multiagent20261001_params: object{ 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.

beta_managed_agents_read_tool_config: object{ type: "read", enabled, name, permission_policy }

Configuration for the read tool.

beta_managed_agents_read_tool_config_params: object{ type: "read", name, enabled, permission_policy }

Configuration override for the read tool.

beta_managed_agents_session_thread_agent: object{ type: "agent", id, description, 7 more }

Resolved agent definition for a single session_thread. Snapshot of the agent at thread creation time. The multiagent roster is not repeated here; read it from Session.agent.

Skill to load in the session container.

beta_managed_agents_anthropic_skill_params: object{ type: "anthropic", skill_id, version }

An Anthropic-managed skill.

type: "anthropic"
skill_id: string

Identifier of the Anthropic skill (e.g., "xlsx").

minLength1
maxLength64
version: optional string

Version to pin. Defaults to latest if omitted.

minLength1
maxLength64
beta_managed_agents_custom_skill_params: object{ type: "custom", skill_id, version }

A user-created custom skill.

type: "custom"
skill_id: string

Tagged ID of the custom skill (e.g., "skill_01XJ5...").

minLength1
maxLength64
version: optional string

Version to pin. Defaults to latest if omitted.

minLength1
maxLength64
beta_managed_agents_url_mcp_server_params: object{ type: "url", name, url }

URL-based MCP server connection.

type: "url"
name: string

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

minLength1
maxLength255
url: string

Endpoint URL for the MCP server.

maxLength2048
beta_managed_agents_user_location: object{ type: "approximate", city, country, 2 more }

Approximate user location for search result localization.

type: "approximate"

Location precision. Only "approximate" is supported.

city: optional string

City name.

minLength1
maxLength255
country: optional string

Two-letter ISO 3166-1 country code, uppercase.

region: optional string

Region or state name.

minLength1
maxLength255
timezone: optional string

IANA timezone identifier, e.g. "America/Los_Angeles".

minLength1
maxLength255
beta_managed_agents_web_fetch_tool_config: object{ type: "web_fetch", enabled, name, 5 more }

Configuration for the web_fetch tool.

beta_managed_agents_web_fetch_tool_config_params: object{ type: "web_fetch", name, allowed_domains, 5 more }

Configuration override for the web_fetch tool.

beta_managed_agents_web_fetch_url_source_all: object{ type: "all" }

Every URL from this source may be fetched. This is the default.

type: "all"
beta_managed_agents_web_fetch_url_source_except: object{ type: "except", tools }

Every tool's results contribute URLs that may be fetched, except the named tools' results.

type: "except"
tools: array of BetaManagedAgentsWebFetchURLSourceToolReference { type: "tool_reference", name }

The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

type: "tool_reference"

Must be "tool_reference".

name: string

Name of the tool. Compared exactly, so upper and lower case letters are different.

minLength1
maxLength128
beta_managed_agents_web_fetch_url_source_none: object{ type: "none" }

This source contributes no URLs that may be fetched.

type: "none"
beta_managed_agents_web_fetch_url_source_only: object{ type: "only", tools }

Only the named tools' results contribute URLs that may be fetched.

type: "only"
tools: array of BetaManagedAgentsWebFetchURLSourceToolReference { type: "tool_reference", name }

The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

type: "tool_reference"

Must be "tool_reference".

name: string

Name of the tool. Compared exactly, so upper and lower case letters are different.

minLength1
maxLength128
beta_managed_agents_web_fetch_url_source_shorthand: "all" or "none"

String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}.

"all"
"none"

Which tools' results contribute URLs that may be fetched.

beta_managed_agents_web_fetch_url_source_tool_filter_params: BetaManagedAgentsWebFetchURLSourceShorthand or BetaManagedAgentsWebFetchURLSourceToolFilter

Which tools' results contribute URLs that may be fetched. Accepts the string "all" or "none", or an object whose type is "all", "none", "only" or "except". Responses use the object form.

beta_managed_agents_web_fetch_url_source_tool_reference: object{ type: "tool_reference", name }

Names one tool in an only or except list.

type: "tool_reference"

Must be "tool_reference".

name: string

Name of the tool. Compared exactly, so upper and lower case letters are different.

minLength1
maxLength128
beta_managed_agents_web_fetch_url_source_user_input: BetaManagedAgentsWebFetchURLSourceAll or BetaManagedAgentsWebFetchURLSourceNone

Whether URLs in the text of user messages may be fetched.

beta_managed_agents_web_fetch_url_source_all: object{ type: "all" }

Every URL from this source may be fetched. This is the default.

type: "all"
beta_managed_agents_web_fetch_url_source_none: object{ type: "none" }

This source contributes no URLs that may be fetched.

type: "none"
beta_managed_agents_web_fetch_url_source_user_input_params: BetaManagedAgentsWebFetchURLSourceShorthand or BetaManagedAgentsWebFetchURLSourceUserInput

Whether URLs in the text of user messages may be fetched. Accepts the string "all" or "none", or the object {"type": "all"} or {"type": "none"}. Responses use the object form.

beta_managed_agents_web_fetch_url_source_shorthand: "all" or "none"

String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}.

One of the following:
"all"
"none"
beta_managed_agents_web_fetch_url_source_user_input: BetaManagedAgentsWebFetchURLSourceAll or BetaManagedAgentsWebFetchURLSourceNone

Whether URLs in the text of user messages may be fetched.

One of the following:
beta_managed_agents_web_fetch_url_source_all: object{ type: "all" }

Every URL from this source may be fetched. This is the default.

type: "all"
beta_managed_agents_web_fetch_url_source_none: object{ type: "none" }

This source contributes no URLs that may be fetched.

type: "none"
beta_managed_agents_web_fetch_url_sources: object{ client_tool_results, server_tool_results, user_input }

Which sources contribute URLs the web_fetch tool may fetch. A key that is null was not set and allows every URL from that source.

beta_managed_agents_web_fetch_url_sources_params: object{ client_tool_results, server_tool_results, user_input }

Which sources contribute URLs the web_fetch tool may fetch. When web_fetch is limited to URLs the conversation has already shown the model (in a user message, a custom tool's result, or an earlier web_search or web_fetch result), each key narrows one of those sources and defaults to "all". Setting all three keys to "none" is rejected.

beta_managed_agents_web_search_tool_config: object{ type: "web_search", enabled, name, 4 more }

Configuration for the web_search tool.

beta_managed_agents_web_search_tool_config_params: object{ type: "web_search", name, allowed_domains, 4 more }

Configuration override for the web_search tool.

beta_managed_agents_write_tool_config: object{ type: "write", enabled, name, permission_policy }

Configuration for the write tool.

beta_managed_agents_write_tool_config_params: object{ type: "write", name, enabled, permission_policy }

Configuration override for the write tool.

AgentsVersions

List Agent Versions
$ ant beta:agents:versions list
GET/v1/agents/{agent_id}/versions