Anthropic · Schema
BetaManagedAgentsUpdateSessionParams
Request parameters for updating a `session`. Omit a field to preserve its current value.
LLMAnthropicArtificial IntelligenceClaudeFoundation ModelsMachine LearningMCPAgents
Properties
| Name | Type | Description |
|---|---|---|
| title | object | Human-readable session title. |
| metadata | object | Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omit the field to preserve. |
| vault_ids | array | Vault IDs (`vlt_*`) to attach to the session. Not yet supported; requests setting this field are rejected. Reserved for future use. |
| agent | object | Agent configuration update. Only `tools` and `mcp_servers` are updatable mid-session. Only valid for sessions created from an agent or deployment reference. The session must not be running. |
| budget | object | Enforced spend ceiling for the session. Set an object to replace the budget of a session that was created with one, or `null` to remove it; omit to preserve. A budget cannot be added to a session crea |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/anthropic/main/json-schema/anthropic-beta-managed-agents-update-session-params-schema.json",
"title": "BetaManagedAgentsUpdateSessionParams",
"description": "Request parameters for updating a `session`. Omit a field to preserve its current value.",
"x-generated": "2026-09-23",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/anthropic-sessions-api-openapi.yml#/components/schemas/BetaManagedAgentsUpdateSessionParams",
"type": "object",
"additionalProperties": false,
"properties": {
"title": {
"description": "Human-readable session title.",
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 500
},
{
"type": "null"
}
]
},
"metadata": {
"description": "Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omit the field to preserve.",
"anyOf": [
{
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
{
"type": "null"
}
]
},
"vault_ids": {
"description": "Vault IDs (`vlt_*`) to attach to the session. Not yet supported; requests setting this field are rejected. Reserved for future use.",
"type": "array",
"items": {
"type": "string"
}
},
"agent": {
"description": "Agent configuration update. Only `tools` and `mcp_servers` are updatable mid-session. Only valid for sessions created from an agent or deployment reference. The session must not be running.",
"allOf": [
{
"$ref": "#/$defs/BetaManagedAgentsSessionAgentUpdate"
}
],
"x-anthropic-beta-required": [
"managed-agents-2026-04-01"
]
},
"budget": {
"description": "Enforced spend ceiling for the session. Set an object to replace the budget of a session that was created with one, or `null` to remove it; omit to preserve. A budget cannot be added to a session created without one (rejected with reason `budget_create_only`), and a removed budget cannot be re-added. Allowed in any non-terminated status. Lowering `max_list_cost` to at or below the session's consumed list cost is rejected with reason `budget_not_raised`, and every model the session can run must have a public list price or the request is rejected with reason `model_not_budgetable`.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsBudget"
},
{
"type": "null"
}
],
"x-anthropic-beta-required": [
"managed-agents-2026-04-01"
]
}
},
"$defs": {
"BetaCurrency": {
"type": "string",
"enum": [
"USD"
]
},
"BetaManagedAgentsAgentToolConfigUnionParams": {
"description": "Configuration override for a specific tool within a toolset.",
"type": "object",
"oneOf": [
{
"$ref": "#/$defs/BetaManagedAgentsBashToolConfigParams"
},
{
"$ref": "#/$defs/BetaManagedAgentsEditToolConfigParams"
},
{
"$ref": "#/$defs/BetaManagedAgentsReadToolConfigParams"
},
{
"$ref": "#/$defs/BetaManagedAgentsWriteToolConfigParams"
},
{
"$ref": "#/$defs/BetaManagedAgentsGlobToolConfigParams"
},
{
"$ref": "#/$defs/BetaManagedAgentsGrepToolConfigParams"
},
{
"$ref": "#/$defs/BetaManagedAgentsWebFetchToolConfigParams"
},
{
"$ref": "#/$defs/BetaManagedAgentsWebSearchToolConfigParams"
}
]
},
"BetaManagedAgentsAgentToolParams": {
"description": "Union type for tool configurations in the tools array.",
"type": "object",
"oneOf": [
{
"$ref": "#/$defs/BetaManagedAgentsAgentToolset20260401Params"
},
{
"$ref": "#/$defs/BetaManagedAgentsMCPToolsetParams"
},
{
"$ref": "#/$defs/BetaManagedAgentsCustomToolParams"
}
]
},
"BetaManagedAgentsAgentToolset20260401Params": {
"description": "Configuration for built-in agent tools. Use this to enable or disable groups of tools available to the agent.",
"type": "object",
"additionalProperties": false,
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"agent_toolset_20260401"
]
},
"default_config": {
"description": "Default configuration applied to all tools in this set.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsAgentToolsetDefaultConfigParams"
},
{
"type": "null"
}
]
},
"configs": {
"description": "Per-tool configuration overrides.",
"type": "array",
"items": {
"$ref": "#/$defs/BetaManagedAgentsAgentToolConfigUnionParams"
}
}
}
},
"BetaManagedAgentsAgentToolsetDefaultConfigParams": {
"description": "Default configuration for all tools in a toolset.",
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"description": "Whether tools are enabled and available to Claude by default. Defaults to true if not specified.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"permission_policy": {
"description": "Default permission policy for tools. Controls whether tool calls are auto-approved or require confirmation.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
},
{
"type": "null"
}
]
}
}
},
"BetaManagedAgentsAlwaysAllowPolicy": {
"description": "Tool calls are automatically approved without user confirmation.",
"type": "object",
"additionalProperties": false,
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"always_allow"
]
}
}
},
"BetaManagedAgentsAlwaysAskPolicy": {
"description": "Tool calls require user confirmation before execution.",
"type": "object",
"additionalProperties": false,
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"always_ask"
]
}
}
},
"BetaManagedAgentsBashToolConfigParams": {
"description": "Configuration override for the bash tool.",
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"type": {
"type": "string",
"const": "bash"
},
"name": {
"description": "Must be \"bash\".",
"type": "string",
"const": "bash"
},
"enabled": {
"description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"permission_policy": {
"description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
},
{
"type": "null"
}
]
}
}
},
"BetaManagedAgentsBudget": {
"description": "An enforced spend ceiling on a session. Discriminated on `type`; `limit` is the only kind currently supported.",
"type": "object",
"oneOf": [
{
"$ref": "#/$defs/BetaManagedAgentsBudgetLimit"
}
]
},
"BetaManagedAgentsBudgetLimit": {
"description": "A hard spend ceiling. The session stops issuing new model requests once the tracked list cost reaches `max_list_cost`.",
"type": "object",
"additionalProperties": false,
"required": [
"type",
"max_list_cost"
],
"properties": {
"type": {
"type": "string",
"enum": [
"limit"
]
},
"max_list_cost": {
"description": "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.",
"allOf": [
{
"$ref": "#/$defs/BetaMonetaryAmount"
}
]
}
}
},
"BetaManagedAgentsCustomToolInputSchema": {
"additionalProperties": true,
"description": "JSON Schema for custom tool input parameters.",
"properties": {
"properties": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Properties",
"x-stainless-skip": [
"terraform"
]
},
"required": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Required"
},
"type": {
"const": "object",
"title": "Type",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"BetaManagedAgentsCustomToolParams": {
"description": "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": "object",
"additionalProperties": false,
"required": [
"type",
"name",
"description",
"input_schema"
],
"properties": {
"type": {
"type": "string",
"enum": [
"custom"
]
},
"name": {
"description": "Unique name for the tool. 1-128 characters; letters, digits, underscores, and hyphens.",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"description": {
"description": "Description of what the tool does, shown to the agent to help it decide when to use the tool.",
"type": "string",
"minLength": 1
},
"input_schema": {
"description": "JSON Schema defining the expected input parameters for the tool.",
"allOf": [
{
"$ref": "#/$defs/BetaManagedAgentsCustomToolInputSchema"
}
]
}
}
},
"BetaManagedAgentsEditToolConfigParams": {
"description": "Configuration override for the edit tool.",
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"type": {
"type": "string",
"const": "edit"
},
"name": {
"description": "Must be \"edit\".",
"type": "string",
"const": "edit"
},
"enabled": {
"description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"permission_policy": {
"description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
},
{
"type": "null"
}
]
}
}
},
"BetaManagedAgentsGlobToolConfigParams": {
"description": "Configuration override for the glob tool.",
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"type": {
"type": "string",
"const": "glob"
},
"name": {
"description": "Must be \"glob\".",
"type": "string",
"const": "glob"
},
"enabled": {
"description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"permission_policy": {
"description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
},
{
"type": "null"
}
]
}
}
},
"BetaManagedAgentsGrepToolConfigParams": {
"description": "Configuration override for the grep tool.",
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"type": {
"type": "string",
"const": "grep"
},
"name": {
"description": "Must be \"grep\".",
"type": "string",
"const": "grep"
},
"enabled": {
"description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"permission_policy": {
"description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
},
{
"type": "null"
}
]
}
}
},
"BetaManagedAgentsMCPServerParams": {
"description": "Union type for MCP server connection definitions.",
"type": "object",
"oneOf": [
{
"$ref": "#/$defs/BetaManagedAgentsURLMCPServerParams"
}
]
},
"BetaManagedAgentsMCPToolConfigParams": {
"description": "Configuration override for a specific MCP tool.",
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"name": {
"description": "Name of the MCP tool to configure. 1-128 characters.",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"enabled": {
"description": "Whether this tool is enabled. Overrides the `default_config` setting.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"permission_policy": {
"description": "Permission policy for this tool. Overrides the `default_config` setting.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
},
{
"type": "null"
}
]
}
}
},
"BetaManagedAgentsMCPToolsetDefaultConfigParams": {
"description": "Default configuration for all tools from an MCP server.",
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"description": "Whether tools are enabled by default. Defaults to true if not specified.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"permission_policy": {
"description": "Default permission policy for tools from this server.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
},
{
"type": "null"
}
]
}
}
},
"BetaManagedAgentsMCPToolsetParams": {
"description": "Configuration for tools from an MCP server defined in `mcp_servers`.",
"type": "object",
"additionalProperties": false,
"required": [
"type",
"mcp_server_name"
],
"properties": {
"type": {
"type": "string",
"enum": [
"mcp_toolset"
]
},
"mcp_server_name": {
"description": "Name of the MCP server. Must match a server name from the mcp_servers array. 1-255 characters.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"default_config": {
"description": "Default configuration for all tools from this server.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsMCPToolsetDefaultConfigParams"
},
{
"type": "null"
}
]
},
"configs": {
"description": "Per-tool configuration overrides.",
"type": "array",
"items": {
"$ref": "#/$defs/BetaManagedAgentsMCPToolConfigParams"
}
}
}
},
"BetaManagedAgentsPermissionPolicy": {
"description": "Permission policy for tool execution.",
"type": "object",
"oneOf": [
{
"$ref": "#/$defs/BetaManagedAgentsAlwaysAllowPolicy"
},
{
"$ref": "#/$defs/BetaManagedAgentsAlwaysAskPolicy"
}
]
},
"BetaManagedAgentsReadToolConfigParams": {
"description": "Configuration override for the read tool.",
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"type": {
"type": "string",
"const": "read"
},
"name": {
"description": "Must be \"read\".",
"type": "string",
"const": "read"
},
"enabled": {
"description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"permission_policy": {
"description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
},
{
"type": "null"
}
]
}
}
},
"BetaManagedAgentsSessionAgentUpdate": {
"description": "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.",
"type": "object",
"additionalProperties": false,
"properties": {
"tools": {
"description": "Replacement tool list. Full replacement: the provided array becomes the new value. Send an empty array to clear; omit to preserve.",
"type": "array",
"items": {
"$ref": "#/$defs/BetaManagedAgentsAgentToolParams"
}
},
"mcp_servers": {
"description": "Replacement MCP server list. Full replacement: the provided array becomes the new value. Send an empty array to clear; omit to preserve.",
"type": "array",
"items": {
"$ref": "#/$defs/BetaManagedAgentsMCPServerParams"
}
}
}
},
"BetaManagedAgentsURLMCPServerParams": {
"description": "URL-based MCP server connection.",
"type": "object",
"additionalProperties": false,
"required": [
"type",
"name",
"url"
],
"properties": {
"type": {
"type": "string",
"enum": [
"url"
]
},
"name": {
"description": "Unique name for this server, referenced by mcp_toolset configurations. 1-255 characters.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"url": {
"description": "Endpoint URL for the MCP server.",
"type": "string",
"maxLength": 2048
}
}
},
"BetaManagedAgentsUserLocation": {
"description": "Approximate user location for search result localization.",
"type": "object",
"additionalProperties": false,
"required": [
"type"
],
"properties": {
"type": {
"description": "Location precision. Only \"approximate\" is supported.",
"type": "string",
"const": "approximate"
},
"city": {
"description": "City name.",
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
]
},
"region": {
"description": "Region or state name.",
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
]
},
"country": {
"description": "Two-letter ISO 3166-1 country code, uppercase.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"timezone": {
"description": "IANA timezone identifier, e.g. \"America/Los_Angeles\".",
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
]
}
}
},
"BetaManagedAgentsWebFetchToolConfigParams": {
"description": "Configuration override for the web_fetch tool.",
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"type": {
"type": "string",
"const": "web_fetch"
},
"name": {
"description": "Must be \"web_fetch\".",
"type": "string",
"const": "web_fetch"
},
"enabled": {
"description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"permission_policy": {
"description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
},
{
"type": "null"
}
]
},
"allowed_domains": {
"description": "Only fetch URLs whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like \"docs.example.com\" (no scheme, port, or path). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with blocked_domains.",
"type": "array",
"items": {
"type": "string"
}
},
"blocked_domains": {
"description": "Never fetch URLs whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like \"ads.example.com\" (no scheme, port, or path). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with allowed_domains.",
"type": "array",
"items": {
"type": "string"
}
},
"max_content_tokens": {
"description": "Maximum number of tokens of fetched text content to include in context per call. Does not apply to binary content such as PDFs.",
"anyOf": [
{
"type": "integer",
"format": "int32"
},
{
"type": "null"
}
]
}
}
},
"BetaManagedAgentsWebSearchToolConfigParams": {
"description": "Configuration override for the web_search tool.",
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"type": {
"type": "string",
"const": "web_search"
},
"name": {
"description": "Must be \"web_search\".",
"type": "string",
"const": "web_search"
},
"enabled": {
"description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"permission_policy": {
"description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
},
{
"type": "null"
}
]
},
"allowed_domains": {
"description": "Only return search results whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like \"docs.example.com\" (no scheme or port; an optional path suffix is accepted). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with blocked_domains.",
"type": "array",
"items": {
"type": "string"
}
},
"blocked_domains": {
"description": "Never return search results whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like \"ads.example.com\" (no scheme or port; an optional path suffix is accepted). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with allowed_domains.",
"type": "array",
"items": {
"type": "string"
}
},
"user_location": {
"description": "Approximate user location for search result localization.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsUserLocation"
},
{
"type": "null"
}
]
}
}
},
"BetaManagedAgentsWriteToolConfigParams": {
"description": "Configuration override for the write tool.",
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"type": {
"type": "string",
"const": "write"
},
"name": {
"description": "Must be \"write\".",
"type": "string",
"const": "write"
},
"enabled": {
"description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"permission_policy": {
"description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
"anyOf": [
{
"$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
},
{
"type": "null"
}
]
}
}
},
"BetaMonetaryAmount": {
"description": "A monetary amount in a specific currency.",
"type": "object",
"additionalProperties": false,
"required": [
"currency",
"amount"
],
"properties": {
"currency": {
"description": "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.",
"allOf": [
{
"$ref": "#/$defs/BetaCurrency"
}
]
},
"amount": {
"description": "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.",
"type": "string"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/anthropic-beta-managed-agents-update-session-params"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.