diff --git a/bindings/typescript/src/generated/anthropic/CacheControlEphemeral.ts b/bindings/typescript/src/generated/anthropic/CacheControlEphemeral.ts index 0fd1bab4..aac93d56 100644 --- a/bindings/typescript/src/generated/anthropic/CacheControlEphemeral.ts +++ b/bindings/typescript/src/generated/anthropic/CacheControlEphemeral.ts @@ -11,6 +11,7 @@ export type CacheControlEphemeral = { * - `1h`: 1 hour * * Defaults to `5m`. See [prompt caching - * pricing](https://docs.claude.com/en/docs/build-with-claude/prompt-caching) for details. + * pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) for + * details. */ ttl: Ttl | null, type: CacheControlEphemeralType, }; diff --git a/bindings/typescript/src/generated/anthropic/Ttl.ts b/bindings/typescript/src/generated/anthropic/Ttl.ts index 38757b2f..d168f882 100644 --- a/bindings/typescript/src/generated/anthropic/Ttl.ts +++ b/bindings/typescript/src/generated/anthropic/Ttl.ts @@ -8,6 +8,7 @@ * - `1h`: 1 hour * * Defaults to `5m`. See [prompt caching - * pricing](https://docs.claude.com/en/docs/build-with-claude/prompt-caching) for details. + * pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) for + * details. */ export type Ttl = "1h" | "5m"; diff --git a/crates/generate-types/src/main.rs b/crates/generate-types/src/main.rs index cc28089d..e7c0a678 100644 --- a/crates/generate-types/src/main.rs +++ b/crates/generate-types/src/main.rs @@ -147,6 +147,17 @@ fn generate_openai_specific_types(openai_spec: &str) { } } +fn strip_quicktype_noise(output: &str) -> String { + output + .lines() + .filter(|line| { + let trimmed = line.trim(); + !(trimmed.starts_with("===") && trimmed.ends_with("===")) + }) + .collect::>() + .join("\n") +} + fn generate_openai_types_with_quicktype( openapi_spec: &str, ) -> Result<(), Box> { @@ -196,6 +207,7 @@ fn generate_openai_types_with_quicktype( } Err(e) => return Err(format!("Failed to run quicktype: {}", e).into()), }; + let quicktype_output = strip_quicktype_noise(&quicktype_output); // Clean up temp file let _ = std::fs::remove_file(&temp_schema_path); @@ -492,6 +504,7 @@ fn generate_anthropic_types_with_quicktype( } Err(e) => return Err(format!("Failed to run quicktype: {}", e).into()), }; + let quicktype_output = strip_quicktype_noise(&quicktype_output); // Clean up temp file let _ = std::fs::remove_file(&temp_schema_path); @@ -1382,6 +1395,7 @@ fn generate_google_types_with_quicktype(spec: &serde_json::Value) { return; } }; + let quicktype_output = strip_quicktype_noise(&quicktype_output); let _ = std::fs::remove_file(&temp_schema_path); diff --git a/crates/lingua/build.rs b/crates/lingua/build.rs index 9089ce1f..918876a4 100644 --- a/crates/lingua/build.rs +++ b/crates/lingua/build.rs @@ -225,6 +225,10 @@ fn {test_fn_name}() {{ fs::write(&dest_path, generated_tests).unwrap(); } +// Snapshots whose request.json can no longer deserialize as CreateMessageParams +// after the Tool enum update (tool_search_tool_* variants removed). +const ANTHROPIC_ROUNDTRIP_SKIP_CASES: &[&str] = &["responsesToolSearchInputParam"]; + fn generate_anthropic_test_cases(workspace: &Path, generate_snapshot_tests: bool) { let snapshots_dir = workspace.join("payloads/snapshots"); @@ -271,6 +275,10 @@ fn generate_anthropic_test_cases(workspace: &Path, generate_snapshot_tests: bool continue; } + if ANTHROPIC_ROUNDTRIP_SKIP_CASES.contains(&test_case_name) { + continue; + } + // Check if this test case has anthropic directory let anthropic_dir = path.join("anthropic"); if !anthropic_dir.exists() { diff --git a/crates/lingua/src/providers/anthropic/detect.rs b/crates/lingua/src/providers/anthropic/detect.rs index 55031193..93d904a5 100644 --- a/crates/lingua/src/providers/anthropic/detect.rs +++ b/crates/lingua/src/providers/anthropic/detect.rs @@ -560,7 +560,10 @@ mod tests { } #[test] - fn test_try_parse_anthropic_with_tool_search_tool() { + fn test_try_parse_anthropic_with_tool_search_tool_no_longer_in_tool_union() { + // tool_search_tool_* variants were removed from the generated Tool enum. + // Bare tool_search entries (no input_schema) no longer deserialize as + // CreateMessageParams because the CustomTool fallback requires input_schema. let payload = json!({ "model": "claude-3-5-sonnet-20241022", "max_tokens": 1024, @@ -575,6 +578,44 @@ mod tests { ] }); + assert!(try_parse_anthropic(&payload).is_err()); + } + + #[test] + fn test_try_parse_anthropic_with_web_search_tool() { + let payload = json!({ + "model": "claude-3-5-sonnet-20241022", + "max_tokens": 1024, + "messages": [ + {"role": "user", "content": "Hello"} + ], + "tools": [ + { + "name": "web_search", + "type": "web_search_20260318" + } + ] + }); + + assert!(try_parse_anthropic(&payload).is_ok()); + } + + #[test] + fn test_try_parse_anthropic_with_web_fetch_tool() { + let payload = json!({ + "model": "claude-3-5-sonnet-20241022", + "max_tokens": 1024, + "messages": [ + {"role": "user", "content": "Hello"} + ], + "tools": [ + { + "name": "web_fetch", + "type": "web_fetch_20260318" + } + ] + }); + assert!(try_parse_anthropic(&payload).is_ok()); } } diff --git a/crates/lingua/src/providers/anthropic/generated.rs b/crates/lingua/src/providers/anthropic/generated.rs index 266c618f..bc57673b 100644 --- a/crates/lingua/src/providers/anthropic/generated.rs +++ b/crates/lingua/src/providers/anthropic/generated.rs @@ -50,11 +50,11 @@ pub struct CreateMessageParams { /// specifies the absolute maximum number of tokens to generate. /// /// Set to `0` to populate the [prompt - /// cache](https://docs.claude.com/en/docs/build-with-claude/prompt-caching#pre-warming-the-cache) + /// cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pre-warming-the-cache) /// without generating a response. /// /// Different models have different maximum values for this parameter. See - /// [models](https://docs.claude.com/en/docs/models-overview) for details. + /// [models](https://platform.claude.com/docs/en/about-claude/models/overview) for details. pub max_tokens: i64, /// Input messages. /// @@ -110,11 +110,13 @@ pub struct CreateMessageParams { /// {"role": "user", "content": [{"type": "text", "text": "Hello, Claude"}]} /// ``` /// - /// See [input examples](https://docs.claude.com/en/api/messages-examples). + /// See [input + /// examples](https://platform.claude.com/docs/en/build-with-claude/working-with-messages). /// /// Note that if you want to include a [system - /// prompt](https://docs.claude.com/en/docs/system-prompts), you can use the top-level - /// `system` parameter — there is no `"system"` role for input messages in the Messages API. + /// prompt](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role), + /// you can use the top-level `system` parameter — there is no `"system"` role for input + /// messages in the Messages API. /// /// There is a limit of 100,000 messages in a single request. pub messages: Vec, @@ -129,7 +131,7 @@ pub struct CreateMessageParams { /// request. /// /// Anthropic offers different levels of service for your API requests. See - /// [service-tiers](https://docs.claude.com/en/api/service-tiers) for details. + /// [service-tiers](https://platform.claude.com/docs/en/api/service-tiers) for details. #[serde(skip_serializing_if = "Option::is_none")] pub service_tier: Option, /// Custom text sequences that will cause the model to stop generating. @@ -145,14 +147,15 @@ pub struct CreateMessageParams { pub stop_sequences: Option>, /// Whether to incrementally stream the response using server-sent events. /// - /// See [streaming](https://docs.claude.com/en/api/messages-streaming) for details. + /// See [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming) for + /// details. #[serde(skip_serializing_if = "Option::is_none")] pub stream: Option, /// System prompt. /// /// A system prompt is a way of providing context and instructions to Claude, such as /// specifying a particular goal or role. See our [guide to system - /// prompts](https://docs.claude.com/en/docs/system-prompts). + /// prompts](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role). #[serde(skip_serializing_if = "Option::is_none")] pub system: Option, /// Amount of randomness injected into the response. @@ -176,9 +179,9 @@ pub struct CreateMessageParams { /// /// There are two types of tools: **client tools** and **server tools**. The behavior /// described below applies to client tools. For [server - /// tools](https://docs.claude.com/en/docs/agents-and-tools/tool-use/overview#server-tools), - /// see their individual documentation as each has its own behavior (e.g., the [web search - /// tool](https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-search-tool)). + /// tools](https://platform.claude.com/docs/en/agents-and-tools/tool-use/server-tools), see + /// their individual documentation as each has its own behavior (e.g., the [web search + /// tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)). /// /// Each tool definition includes: /// @@ -239,7 +242,8 @@ pub struct CreateMessageParams { /// more generally whenever you want the model to produce a particular JSON structure of /// output. /// - /// See our [guide](https://docs.claude.com/en/docs/tool-use) for more details. + /// See our [guide](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) + /// for more details. #[serde(skip_serializing_if = "Option::is_none")] pub tools: Option>, /// Only sample from the top K options for each subsequent token. @@ -271,7 +275,8 @@ pub struct CacheControlEphemeral { /// - `1h`: 1 hour /// /// Defaults to `5m`. See [prompt caching - /// pricing](https://docs.claude.com/en/docs/build-with-claude/prompt-caching) for details. + /// pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) for + /// details. #[serde(skip_serializing_if = "Option::is_none")] pub ttl: Option, #[serde(rename = "type")] @@ -292,7 +297,8 @@ pub enum CacheControlEphemeralType { /// - `1h`: 1 hour /// /// Defaults to `5m`. See [prompt caching -/// pricing](https://docs.claude.com/en/docs/build-with-claude/prompt-caching) for details. +/// pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) for +/// details. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)] #[ts(export_to = "anthropic/")] pub enum Ttl { @@ -1024,7 +1030,7 @@ pub enum JsonOutputFormatType { /// request. /// /// Anthropic offers different levels of service for your API requests. See -/// [service-tiers](https://docs.claude.com/en/api/service-tiers) for details. +/// [service-tiers](https://platform.claude.com/docs/en/api/service-tiers) for details. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)] #[serde(rename_all = "snake_case")] #[ts(export_to = "anthropic/")] @@ -1038,7 +1044,7 @@ pub enum ServiceTierEnum { /// /// A system prompt is a way of providing context and instructions to Claude, such as /// specifying a particular goal or role. See our [guide to system -/// prompts](https://docs.claude.com/en/docs/system-prompts). +/// prompts](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role). #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)] #[serde(untagged)] #[ts(export_to = "anthropic/")] @@ -1054,7 +1060,7 @@ pub enum System { /// towards your `max_tokens` limit. /// /// See [extended -/// thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) for +/// thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for /// details. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)] #[ts(export_to = "anthropic/")] @@ -1066,7 +1072,7 @@ pub struct Thinking { /// Must be ≥1024 and less than `max_tokens`. /// /// See [extended - /// thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) for + /// thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for /// details. #[serde(skip_serializing_if = "Option::is_none")] pub budget_tokens: Option, @@ -1501,6 +1507,49 @@ pub struct WebFetchTool20260309 { pub use_cache: Option, } +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)] +#[ts(export_to = "anthropic/")] +pub struct WebFetchTool20260318 { + #[serde(skip_serializing_if = "Option::is_none")] + pub allowed_callers: Option>, + /// List of domains to allow fetching from + #[serde(skip_serializing_if = "Option::is_none")] + pub allowed_domains: Option>, + /// List of domains to block fetching from + #[serde(skip_serializing_if = "Option::is_none")] + pub blocked_domains: Option>, + /// Create a cache control breakpoint at this content block. + #[serde(skip_serializing_if = "Option::is_none")] + #[ts(type = "unknown")] + pub cache_control: Option, + /// Citations configuration for fetched documents. Citations are disabled by default. + #[serde(skip_serializing_if = "Option::is_none")] + #[ts(type = "unknown")] + pub citations: Option, + /// If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search. + #[serde(skip_serializing_if = "Option::is_none")] + pub defer_loading: Option, + /// Maximum number of tokens used by including web page text content in the context. The limit is approximate and does not apply to binary content such as PDFs. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_content_tokens: Option, + /// Maximum number of times the tool can be used in the API request. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_uses: Option, + /// Name of the tool. + /// + /// This is how the tool will be called by the model and in `tool_use` blocks. + pub name: String, + /// How this tool's result blocks appear in the API response when the result was consumed by a completed code_execution call in the same turn. 'full' returns the complete content (default). 'excluded' drops the nested server_tool_use and result block pair entirely. Results from direct calls, or from code_execution calls that paused before completing, are always returned in full so they can be sent back on the next turn. + #[serde(skip_serializing_if = "Option::is_none")] + pub response_inclusion: Option, + /// When true, guarantees schema validation on tool names and inputs + #[serde(skip_serializing_if = "Option::is_none")] + pub strict: Option, + /// Whether to use cached content. Set to false to bypass the cache and fetch fresh content. Only set to false when the user explicitly requests fresh content or when fetching rapidly-changing sources. + #[serde(skip_serializing_if = "Option::is_none")] + pub use_cache: Option, +} + #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)] #[ts(export_to = "anthropic/")] pub struct WebSearchTool20250305 { @@ -1569,6 +1618,43 @@ pub struct WebSearchTool20260209 { pub user_location: Option, } +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)] +#[ts(export_to = "anthropic/")] +pub struct WebSearchTool20260318 { + #[serde(skip_serializing_if = "Option::is_none")] + pub allowed_callers: Option>, + /// If provided, only these domains will be included in results. Cannot be used alongside `blocked_domains`. + #[serde(skip_serializing_if = "Option::is_none")] + pub allowed_domains: Option>, + /// If provided, these domains will never appear in results. Cannot be used alongside `allowed_domains`. + #[serde(skip_serializing_if = "Option::is_none")] + pub blocked_domains: Option>, + /// Create a cache control breakpoint at this content block. + #[serde(skip_serializing_if = "Option::is_none")] + #[ts(type = "unknown")] + pub cache_control: Option, + /// If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search. + #[serde(skip_serializing_if = "Option::is_none")] + pub defer_loading: Option, + /// Maximum number of times the tool can be used in the API request. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_uses: Option, + /// Name of the tool. + /// + /// This is how the tool will be called by the model and in `tool_use` blocks. + pub name: String, + /// How this tool's result blocks appear in the API response when the result was consumed by a completed code_execution call in the same turn. 'full' returns the complete content (default). 'excluded' drops the nested server_tool_use and result block pair entirely. Results from direct calls, or from code_execution calls that paused before completing, are always returned in full so they can be sent back on the next turn. + #[serde(skip_serializing_if = "Option::is_none")] + pub response_inclusion: Option, + /// When true, guarantees schema validation on tool names and inputs + #[serde(skip_serializing_if = "Option::is_none")] + pub strict: Option, + /// Parameters for the user's location. Used to provide more relevant search results. + #[serde(skip_serializing_if = "Option::is_none")] + #[ts(type = "unknown")] + pub user_location: Option, +} + #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)] #[ts(export_to = "anthropic/")] pub struct ToolSearchTool { @@ -1618,23 +1704,17 @@ pub enum Tool { #[serde(rename = "web_fetch_20260309")] WebFetch20260309(WebFetchTool20260309), + #[serde(rename = "web_fetch_20260318")] + WebFetch20260318(WebFetchTool20260318), + #[serde(rename = "web_search_20250305")] WebSearch20250305(WebSearchTool20250305), #[serde(rename = "web_search_20260209")] WebSearch20260209(WebSearchTool20260209), - #[serde(rename = "tool_search_tool_bm25")] - ToolSearchToolBm25(ToolSearchTool), - - #[serde(rename = "tool_search_tool_bm25_20251119")] - ToolSearchToolBm2520251119(ToolSearchTool), - - #[serde(rename = "tool_search_tool_regex")] - ToolSearchToolRegex(ToolSearchTool), - - #[serde(rename = "tool_search_tool_regex_20251119")] - ToolSearchToolRegex20251119(ToolSearchTool), + #[serde(rename = "web_search_20260318")] + WebSearch20260318(WebSearchTool20260318), #[serde(untagged)] Custom(CustomTool), @@ -1686,6 +1766,19 @@ pub enum InputSchemaType { Object, } +/// How this tool's result blocks appear in the API response when the result was consumed by +/// a completed code_execution call in the same turn. 'full' returns the complete content +/// (default). 'excluded' drops the nested server_tool_use and result block pair entirely. +/// Results from direct calls, or from code_execution calls that paused before completing, +/// are always returned in full so they can be sent back on the next turn. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)] +#[serde(rename_all = "snake_case")] +#[ts(export_to = "anthropic/")] +pub enum ResponseInclusion { + Excluded, + Full, +} + #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)] #[serde(rename_all = "snake_case")] #[ts(export_to = "anthropic/")] @@ -1723,10 +1816,14 @@ pub enum ToolType { WebFetch20260209, #[serde(rename = "web_fetch_20260309")] WebFetch20260309, + #[serde(rename = "web_fetch_20260318")] + WebFetch20260318, #[serde(rename = "web_search_20250305")] WebSearch20250305, #[serde(rename = "web_search_20260209")] WebSearch20260209, + #[serde(rename = "web_search_20260318")] + WebSearch20260318, } #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)] @@ -2162,8 +2259,6 @@ pub enum RefusalCategory { Cyber, #[serde(rename = "frontier_llm")] FrontierLlm, - #[serde(rename = "military_weapons")] - MilitaryWeapons, #[serde(rename = "reasoning_extraction")] ReasoningExtraction, } diff --git a/crates/lingua/src/validation/anthropic.rs b/crates/lingua/src/validation/anthropic.rs index 9386be47..5e416a08 100644 --- a/crates/lingua/src/validation/anthropic.rs +++ b/crates/lingua/src/validation/anthropic.rs @@ -167,7 +167,9 @@ mod tests { } #[test] - fn test_validate_anthropic_request_accepts_tool_search_tool() { + fn test_validate_anthropic_request_rejects_bare_tool_search_tool() { + // tool_search_tool_* variants were removed from the generated Tool enum. + // Bare tool_search entries (no input_schema) fail CustomTool fallback. let json = r#"{ "model": "claude-3-5-sonnet-20241022", "messages": [ @@ -185,6 +187,52 @@ mod tests { ] }"#; + let result = validate_anthropic_request(json); + assert!(result.is_err()); + } + + #[test] + fn test_validate_anthropic_request_accepts_web_search_tool() { + let json = r#"{ + "model": "claude-3-5-sonnet-20241022", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "max_tokens": 1024, + "tools": [ + { + "name": "web_search", + "type": "web_search_20260318" + } + ] + }"#; + + let result = validate_anthropic_request(json); + assert!(result.is_ok()); + } + + #[test] + fn test_validate_anthropic_request_accepts_web_fetch_tool() { + let json = r#"{ + "model": "claude-3-5-sonnet-20241022", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "max_tokens": 1024, + "tools": [ + { + "name": "web_fetch", + "type": "web_fetch_20260318" + } + ] + }"#; + let result = validate_anthropic_request(json); assert!(result.is_ok()); } diff --git a/provider-type-update-notes.md b/provider-type-update-notes.md new file mode 100644 index 00000000..89a28719 --- /dev/null +++ b/provider-type-update-notes.md @@ -0,0 +1,65 @@ +# Anthropic Provider Type Update Notes + +## Tool enum: `ToolSearchTool*` variants removed + +The generated `Tool` enum (internally tagged on `"type"`) removed four variants: +- `ToolSearchToolBm25(ToolSearchTool)` +- `ToolSearchToolBm2520251119(ToolSearchTool)` +- `ToolSearchToolRegex(ToolSearchTool)` +- `ToolSearchToolRegex20251119(ToolSearchTool)` + +The `ToolSearchTool` struct still exists in `generated.rs` but is now orphaned (no `Tool` variant references it). + +The `ToolType` enum still contains the corresponding string variants (`ToolSearchToolBm25`, etc.), which may also be stale. + +### Impact on deserialization + +A JSON payload with `"type": "tool_search_tool_regex_20251119"` in the `tools` array can no longer deserialize as `CreateMessageParams`. The `Tool` enum's `#[serde(untagged)] Custom(CustomTool)` fallback requires `input_schema` (which tool_search tools lack), so deserialization fails entirely. + +**Affected inbound paths:** +- `try_parse_anthropic()` in `detect.rs` -- full `CreateMessageParams` parse fails +- `validate_anthropic_request()` in `validation/anthropic.rs` -- same root cause +- `request_to_universal()` in `adapter.rs` (line ~233) -- same root cause + +**Unaffected outbound paths:** +- `anthropic_tool_value()` in `adapter.rs` (line 54-68) emits raw JSON for tool_search builtins, bypassing the `Tool` enum entirely. Outbound tool_search still works. + +### Test changes made + +- `test_try_parse_anthropic_with_tool_search_tool` (detect.rs) -- renamed, now asserts `is_err()` +- `test_validate_anthropic_request_accepts_tool_search_tool` (validation/anthropic.rs) -- renamed, now asserts `is_err()` +- `responsesToolSearchInputParam` snapshot -- added to `ANTHROPIC_ROUNDTRIP_SKIP_CASES` in `build.rs` since its `request.json` can no longer deserialize +- Added new tests for `web_search_20260318` and `web_fetch_20260318` tool deserialization in both `detect.rs` and `validation/anthropic.rs` + +### Needs human clarification + +How should tool_search tools be represented in the Anthropic `tools` array going forward? Options: +1. The API has truly removed tool_search from the `tools` union (enabled some other way) -- remove the outbound raw-JSON emission path in `anthropic_tool_value()` +2. The spec generator missed these variants -- re-add them in the generation pipeline +3. Tool_search is now specified via a different mechanism (e.g., a top-level field) -- adapter needs restructuring + +The `ToolSearchTool` struct and `ToolType::ToolSearchTool*` variants in `generated.rs` appear orphaned and may need cleanup in the generation pipeline. + +## Tool enum: `WebFetch20260318` and `WebSearch20260318` variants added + +New `Tool` enum variants: +- `WebFetch20260318(WebFetchTool20260318)` +- `WebSearch20260318(WebSearchTool20260318)` + +New structs `WebFetchTool20260318` and `WebSearchTool20260318` with fields for domain filtering, caching, content limits, citations, etc. + +New enum `ResponseInclusion` (`Excluded`, `Full`) used by `WebSearchTool20260318`. + +### Integration status + +These are handled automatically by the existing catchall in `From<&Tool> for UniversalTool` (convert.rs ~line 2368), which serializes unknown `Tool` variants to JSON and creates `UniversalTool::builtin`. No hand-written adapter changes needed. + +New tests added in `detect.rs` and `validation/anthropic.rs` confirm these variants deserialize correctly in `CreateMessageParams`. + +## RefusalCategory::MilitaryWeapons removed + +No hand-written code references `RefusalCategory` variants directly. No impact. + +## Documentation URL changes + +`docs.claude.com` changed to `platform.claude.com` in generated doc comments. No code impact. diff --git a/specs/anthropic/.stats.yml b/specs/anthropic/.stats.yml index e7f771c7..e8ebb7b4 100644 --- a/specs/anthropic/.stats.yml +++ b/specs/anthropic/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 116 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/anthropic/anthropic-a548d120cebb4d68d46c828028d51d04b4d4abb868a7bad21dad960cb72cbd18.yml -openapi_spec_hash: 2b3214760a4e23a9704779ac99bce417 -config_hash: ce2cd5d2f03228adacf04ebcceb14465 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/anthropic/anthropic-506a5ad71d522b4ae56ac3429380486647af1f92eddde80603480fb592d62b54.yml +openapi_spec_hash: d272f069e15d096063103c857fb8e2a7 +config_hash: 7671314e6e5005559d15540f255a2efb diff --git a/specs/anthropic/openapi.yml b/specs/anthropic/openapi.yml index 63627f9d..6f729fda 100644 --- a/specs/anthropic/openapi.yml +++ b/specs/anthropic/openapi.yml @@ -5,7 +5,7 @@ "/v1/messages": { "post": { "summary": "Create a Message", - "description": "Send a structured list of input messages with text and/or image content, and the model will generate the next message in the conversation.\n\nThe Messages API can be used for either single queries or stateless multi-turn conversations.\n\nLearn more about the Messages API in our [user guide](https://docs.claude.com/en/docs/initial-setup)", + "description": "Send a structured list of input messages with text and/or image content, and the model will generate the next message in the conversation.\n\nThe Messages API can be used for either single queries or stateless multi-turn conversations.\n\nLearn more about the Messages API in our [user guide](https://platform.claude.com/docs/en/get-started)", "operationId": "messages_post", "parameters": [ { @@ -14,10 +14,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "anthropic-user-profile-id", @@ -38,7 +38,7 @@ "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, @@ -53,7 +53,7 @@ "/v1/complete": { "post": { "summary": "Create a Text Completion", - "description": "[Legacy] Create a Text Completion.\n\nThe Text Completions API is a legacy API. We recommend using the [Messages API](https://docs.claude.com/en/api/messages) going forward.\n\nFuture models and features will not be compatible with Text Completions. See our [migration guide](https://docs.claude.com/en/api/migrating-from-text-completions-to-messages) for guidance in migrating from Text Completions to Messages.", + "description": "[Legacy] Create a Text Completion.\n\nThe Text Completions API is a legacy API. We recommend using the [Messages API](https://platform.claude.com/docs/en/api/messages) going forward.\n\nFuture models and features will not be compatible with Text Completions. See our [migration guide](https://platform.claude.com/docs/en/build-with-claude/working-with-messages) for guidance in migrating from Text Completions to Messages.", "operationId": "complete_post", "parameters": [ { @@ -62,10 +62,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "anthropic-beta", @@ -95,7 +95,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, @@ -155,10 +155,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "anthropic-beta", @@ -199,7 +199,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } @@ -224,10 +224,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "anthropic-beta", @@ -266,7 +266,7 @@ "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelInfo" } } } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } @@ -275,7 +275,7 @@ "/v1/messages/batches": { "post": { "summary": "Create a Message Batch", - "description": "Send a batch of Message creation requests.\n\nThe Message Batches API can be used to process multiple Messages API requests at once. Once a Message Batch is created, it begins processing immediately. Batches can take up to 24 hours to complete.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "Send a batch of Message creation requests.\n\nThe Message Batches API can be used to process multiple Messages API requests at once. Once a Message Batch is created, it begins processing immediately. Batches can take up to 24 hours to complete.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "message_batches_post", "parameters": [ { @@ -284,10 +284,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "anthropic-user-profile-id", @@ -308,7 +308,7 @@ "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageBatch" } } } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, @@ -321,7 +321,7 @@ }, "get": { "summary": "List Message Batches", - "description": "List all Message Batches within a Workspace. Most recently created batches are returned first.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "List all Message Batches within a Workspace. Most recently created batches are returned first.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "message_batches_list", "parameters": [ { @@ -366,10 +366,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -391,7 +391,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } @@ -400,7 +400,7 @@ "/v1/messages/batches/{message_batch_id}": { "get": { "summary": "Retrieve a Message Batch", - "description": "This endpoint is idempotent and can be used to poll for Message Batch completion. To access the results of a Message Batch, make a request to the `results_url` field in the response.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "This endpoint is idempotent and can be used to poll for Message Batch completion. To access the results of a Message Batch, make a request to the `results_url` field in the response.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "message_batches_retrieve", "parameters": [ { @@ -420,10 +420,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -443,14 +443,14 @@ "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageBatch" } } } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "delete": { "summary": "Delete a Message Batch", - "description": "Delete a Message Batch.\n\nMessage Batches can only be deleted once they've finished processing. If you'd like to delete an in-progress batch, you must first cancel it.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "Delete a Message Batch.\n\nMessage Batches can only be deleted once they've finished processing. If you'd like to delete an in-progress batch, you must first cancel it.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "message_batches_delete", "parameters": [ { @@ -470,10 +470,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -495,7 +495,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } @@ -504,7 +504,7 @@ "/v1/messages/batches/{message_batch_id}/cancel": { "post": { "summary": "Cancel a Message Batch", - "description": "Batches may be canceled any time before processing ends. Once cancellation is initiated, the batch enters a `canceling` state, at which time the system may complete any in-progress, non-interruptible requests before finalizing cancellation.\n\nThe number of canceled requests is specified in `request_counts`. To determine which requests were canceled, check the individual results within the batch. Note that cancellation may not result in any canceled requests if they were non-interruptible.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "Batches may be canceled any time before processing ends. Once cancellation is initiated, the batch enters a `canceling` state, at which time the system may complete any in-progress, non-interruptible requests before finalizing cancellation.\n\nThe number of canceled requests is specified in `request_counts`. To determine which requests were canceled, check the individual results within the batch. Note that cancellation may not result in any canceled requests if they were non-interruptible.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "message_batches_cancel", "parameters": [ { @@ -524,10 +524,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." } ], "responses": { @@ -536,7 +536,7 @@ "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageBatch" } } } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } @@ -545,7 +545,7 @@ "/v1/messages/batches/{message_batch_id}/results": { "get": { "summary": "Retrieve Message Batch results", - "description": "Streams the results of a Message Batch as a `.jsonl` file.\n\nEach line in the file is a JSON object containing the result of a single request in the Message Batch. Results are not guaranteed to be in the same order as requests. Use the `custom_id` field to match results to requests.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "Streams the results of a Message Batch as a `.jsonl` file.\n\nEach line in the file is a JSON object containing the result of a single request in the Message Batch. Results are not guaranteed to be in the same order as requests. Use the `custom_id` field to match results to requests.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "message_batches_results", "parameters": [ { @@ -565,10 +565,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -592,7 +592,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } @@ -601,7 +601,7 @@ "/v1/messages/count_tokens": { "post": { "summary": "Count tokens in a Message", - "description": "Count the number of tokens in a Message.\n\nThe Token Count API can be used to count the number of tokens in a Message, including tools, images, and documents, without creating it.\n\nLearn more about token counting in our [user guide](https://docs.claude.com/en/docs/build-with-claude/token-counting)", + "description": "Count the number of tokens in a Message.\n\nThe Token Count API can be used to count the number of tokens in a Message, including tools, images, and documents, without creating it.\n\nLearn more about token counting in our [user guide](https://platform.claude.com/docs/en/build-with-claude/token-counting)", "operationId": "messages_count_tokens_post", "parameters": [ { @@ -610,10 +610,22 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." + }, + { + "name": "anthropic-user-profile-id", + "in": "header", + "required": false, + "schema": { + "type": "string", + "description": "The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. Requires the `user-profiles` beta header.", + "title": "Anthropic-User-Profile-Id", + "x-stainless-param": "user_profile_id" + }, + "description": "The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. Requires the `user-profiles` beta header." } ], "responses": { @@ -624,7 +636,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, @@ -639,7 +651,7 @@ "/v1/messages?beta=true": { "post": { "summary": "Create a Message", - "description": "Send a structured list of input messages with text and/or image content, and the model will generate the next message in the conversation.\n\nThe Messages API can be used for either single queries or stateless multi-turn conversations.\n\nLearn more about the Messages API in our [user guide](https://docs.claude.com/en/docs/initial-setup)", + "description": "Send a structured list of input messages with text and/or image content, and the model will generate the next message in the conversation.\n\nThe Messages API can be used for either single queries or stateless multi-turn conversations.\n\nLearn more about the Messages API in our [user guide](https://platform.claude.com/docs/en/get-started)", "operationId": "beta_messages_post", "parameters": [ { @@ -667,10 +679,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "anthropic-user-profile-id", @@ -691,7 +703,7 @@ "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaMessage" } } } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -753,10 +765,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "anthropic-beta", @@ -797,7 +809,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -824,10 +836,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "anthropic-beta", @@ -866,7 +878,7 @@ "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaModelInfo" } } } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -877,7 +889,7 @@ "/v1/messages/batches?beta=true": { "post": { "summary": "Create a Message Batch", - "description": "Send a batch of Message creation requests.\n\nThe Message Batches API can be used to process multiple Messages API requests at once. Once a Message Batch is created, it begins processing immediately. Batches can take up to 24 hours to complete.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "Send a batch of Message creation requests.\n\nThe Message Batches API can be used to process multiple Messages API requests at once. Once a Message Batch is created, it begins processing immediately. Batches can take up to 24 hours to complete.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "beta_message_batches_post", "parameters": [ { @@ -905,10 +917,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "anthropic-user-profile-id", @@ -931,7 +943,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -946,7 +958,7 @@ }, "get": { "summary": "List Message Batches", - "description": "List all Message Batches within a Workspace. Most recently created batches are returned first.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "List all Message Batches within a Workspace. Most recently created batches are returned first.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "beta_message_batches_list", "parameters": [ { @@ -1010,10 +1022,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -1037,7 +1049,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1048,7 +1060,7 @@ "/v1/messages/batches/{message_batch_id}?beta=true": { "get": { "summary": "Retrieve a Message Batch", - "description": "This endpoint is idempotent and can be used to poll for Message Batch completion. To access the results of a Message Batch, make a request to the `results_url` field in the response.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "This endpoint is idempotent and can be used to poll for Message Batch completion. To access the results of a Message Batch, make a request to the `results_url` field in the response.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "beta_message_batches_retrieve", "parameters": [ { @@ -1087,10 +1099,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -1112,7 +1124,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1121,7 +1133,7 @@ }, "delete": { "summary": "Delete a Message Batch", - "description": "Delete a Message Batch.\n\nMessage Batches can only be deleted once they've finished processing. If you'd like to delete an in-progress batch, you must first cancel it.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "Delete a Message Batch.\n\nMessage Batches can only be deleted once they've finished processing. If you'd like to delete an in-progress batch, you must first cancel it.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "beta_message_batches_delete", "parameters": [ { @@ -1160,10 +1172,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -1187,7 +1199,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1198,7 +1210,7 @@ "/v1/messages/batches/{message_batch_id}/cancel?beta=true": { "post": { "summary": "Cancel a Message Batch", - "description": "Batches may be canceled any time before processing ends. Once cancellation is initiated, the batch enters a `canceling` state, at which time the system may complete any in-progress, non-interruptible requests before finalizing cancellation.\n\nThe number of canceled requests is specified in `request_counts`. To determine which requests were canceled, check the individual results within the batch. Note that cancellation may not result in any canceled requests if they were non-interruptible.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "Batches may be canceled any time before processing ends. Once cancellation is initiated, the batch enters a `canceling` state, at which time the system may complete any in-progress, non-interruptible requests before finalizing cancellation.\n\nThe number of canceled requests is specified in `request_counts`. To determine which requests were canceled, check the individual results within the batch. Note that cancellation may not result in any canceled requests if they were non-interruptible.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "beta_message_batches_cancel", "parameters": [ { @@ -1237,10 +1249,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." } ], "responses": { @@ -1251,7 +1263,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1262,7 +1274,7 @@ "/v1/messages/batches/{message_batch_id}/results?beta=true": { "get": { "summary": "Retrieve Message Batch results", - "description": "Streams the results of a Message Batch as a `.jsonl` file.\n\nEach line in the file is a JSON object containing the result of a single request in the Message Batch. Results are not guaranteed to be in the same order as requests. Use the `custom_id` field to match results to requests.\n\nLearn more about the Message Batches API in our [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)", + "description": "Streams the results of a Message Batch as a `.jsonl` file.\n\nEach line in the file is a JSON object containing the result of a single request in the Message Batch. Results are not guaranteed to be in the same order as requests. Use the `custom_id` field to match results to requests.\n\nLearn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)", "operationId": "beta_message_batches_results", "parameters": [ { @@ -1301,10 +1313,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -1328,7 +1340,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1339,7 +1351,7 @@ "/v1/messages/count_tokens?beta=true": { "post": { "summary": "Count tokens in a Message", - "description": "Count the number of tokens in a Message.\n\nThe Token Count API can be used to count the number of tokens in a Message, including tools, images, and documents, without creating it.\n\nLearn more about token counting in our [user guide](https://docs.claude.com/en/docs/build-with-claude/token-counting)", + "description": "Count the number of tokens in a Message.\n\nThe Token Count API can be used to count the number of tokens in a Message, including tools, images, and documents, without creating it.\n\nLearn more about token counting in our [user guide](https://platform.claude.com/docs/en/build-with-claude/token-counting)", "operationId": "beta_messages_count_tokens_post", "parameters": [ { @@ -1367,10 +1379,22 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." + }, + { + "name": "anthropic-user-profile-id", + "in": "header", + "required": false, + "schema": { + "type": "string", + "description": "The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. Requires the `user-profiles` beta header.", + "title": "Anthropic-User-Profile-Id", + "x-stainless-param": "user_profile_id" + }, + "description": "The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. Requires the `user-profiles` beta header." } ], "responses": { @@ -1383,7 +1407,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1427,10 +1451,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." } ], "responses": { @@ -1441,7 +1465,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1538,10 +1562,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -1563,7 +1587,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1608,10 +1632,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -1633,7 +1657,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1676,10 +1700,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -1701,7 +1725,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1746,10 +1770,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -1769,7 +1793,7 @@ "content": { "application/octet-stream": { "schema": { "type": "string" } } } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1807,13 +1831,14 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." } ], "requestBody": { + "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/BetaBody_create_skill_v1_skills_post" } @@ -1828,7 +1853,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1899,10 +1924,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -1924,7 +1949,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -1973,10 +1998,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -1998,7 +2023,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2045,10 +2070,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -2070,7 +2095,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2119,13 +2144,14 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." } ], "requestBody": { + "required": true, "content": { "multipart/form-data": { "schema": { @@ -2144,7 +2170,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2214,10 +2240,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -2241,7 +2267,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2301,10 +2327,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -2326,7 +2352,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2384,10 +2410,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -2411,7 +2437,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2472,10 +2498,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -2495,7 +2521,7 @@ "content": { "application/zip": { "schema": { "type": "string" } } } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/zip": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2534,10 +2560,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." } ], "requestBody": { @@ -2556,7 +2582,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2631,10 +2657,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -2651,7 +2677,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2697,10 +2723,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -2717,7 +2743,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2761,10 +2787,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." } ], "requestBody": { @@ -2783,7 +2809,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2827,10 +2853,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -2849,7 +2875,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2895,10 +2921,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." } ], "responses": { @@ -2909,7 +2935,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -2955,10 +2981,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -2983,7 +3009,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -3051,10 +3077,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "Anthropic-Worker-ID", @@ -3087,7 +3113,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -3139,10 +3165,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "authorization", @@ -3159,7 +3185,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -3243,10 +3269,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "authorization", @@ -3265,7 +3291,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -3317,10 +3343,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "authorization", @@ -3343,7 +3369,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -3395,10 +3421,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "x-api-key", @@ -3415,7 +3441,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -3465,10 +3491,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." } ], "requestBody": { @@ -3487,7 +3513,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -3559,10 +3585,10 @@ "required": false, "schema": { "type": "string", - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning).", + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).", "title": "Anthropic-Version" }, - "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://docs.claude.com/en/api/versioning)." + "description": "The version of the Claude API you want to use.\n\nRead more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning)." }, { "name": "authorization", @@ -3581,7 +3607,7 @@ } }, "4XX": { - "description": "Error response.\n\nSee our [errors documentation](https://docs.claude.com/en/api/errors) for more details.", + "description": "Error response.\n\nSee our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } @@ -4702,285 +4728,18 @@ "schema": { "type": "string" }, "description": "Path parameter session_id", "example": "sesn_011CZkZAtmR3yMPDzynEDxu7" - } - ], - "responses": { - "200": { - "description": "Successful response (OK)", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsStreamSessionEvents" } - } - } - }, - "400": { - "description": "Invalid argument - The client specified an invalid argument", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "401": { - "description": "Unauthenticated - The request does not have valid authentication credentials", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "403": { - "description": "Permission denied - The caller does not have permission to execute the specified operation", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "404": { - "description": "Not found - Some requested entity was not found", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "408": { - "description": "Deadline exceeded - The deadline expired before the operation could complete", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "409": { - "description": "Aborted - The operation was aborted due to concurrency issue", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "412": { - "description": "Failed precondition - Operation was rejected because the system is not in required state", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "413": { - "description": "Out of range - Operation was attempted past the valid range", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "429": { - "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "431": { - "description": "Request header fields too large - Request metadata was too large", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "499": { - "description": "Cancelled - The operation was cancelled by the client", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "500": { - "description": "Internal - Internal server error", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "501": { - "description": "Unimplemented - The operation is not implemented or supported", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "503": { - "description": "Unavailable - The service is currently unavailable", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "504": { - "description": "Deadline exceeded - Upstream service did not respond in time", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - } - } - } - }, - "/v1/sessions/{session_id}/archive?beta=true": { - "post": { - "operationId": "BetaArchiveSession", - "summary": "Archive Session", - "parameters": [ - { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, - { - "name": "anthropic-beta", - "in": "header", - "required": false, - "schema": { - "type": "string", - "items": { "type": "string" }, - "x-stainless-override-schema": { - "x-stainless-param": "betas", - "x-stainless-extend-default": true, - "type": "array", - "description": "Optional header to specify the beta version(s) you want to use.", - "items": { "$ref": "#/components/schemas/AnthropicBeta" } - } - } - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "description": "Path parameter session_id", - "example": "sesn_011CZkZAtmR3yMPDzynEDxu7" - } - ], - "responses": { - "200": { - "description": "Successful response (OK)", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsSession" } } - } - }, - "400": { - "description": "Invalid argument - The client specified an invalid argument", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "401": { - "description": "Unauthenticated - The request does not have valid authentication credentials", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "403": { - "description": "Permission denied - The caller does not have permission to execute the specified operation", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "404": { - "description": "Not found - Some requested entity was not found", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "408": { - "description": "Deadline exceeded - The deadline expired before the operation could complete", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "409": { - "description": "Aborted - The operation was aborted due to concurrency issue", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "412": { - "description": "Failed precondition - Operation was rejected because the system is not in required state", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "413": { - "description": "Out of range - Operation was attempted past the valid range", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "429": { - "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "431": { - "description": "Request header fields too large - Request metadata was too large", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "499": { - "description": "Cancelled - The operation was cancelled by the client", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "500": { - "description": "Internal - Internal server error", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "501": { - "description": "Unimplemented - The operation is not implemented or supported", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "503": { - "description": "Unavailable - The service is currently unavailable", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "504": { - "description": "Deadline exceeded - Upstream service did not respond in time", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - } - } - } - }, - "/v1/sessions/{session_id}/threads?beta=true": { - "get": { - "operationId": "BetaListSessionThreads", - "summary": "List Session Threads", - "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, - { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, - { - "name": "anthropic-beta", - "in": "header", - "required": false, - "schema": { - "type": "string", - "items": { "type": "string" }, - "x-stainless-override-schema": { - "x-stainless-param": "betas", - "x-stainless-extend-default": true, - "type": "array", - "description": "Optional header to specify the beta version(s) you want to use.", - "items": { "$ref": "#/components/schemas/AnthropicBeta" } - } - } - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "description": "Path parameter session_id", - "example": "sesn_011CZkZAtmR3yMPDzynEDxu7" - }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { "type": "integer", "format": "int32" }, - "description": "Maximum results per page. Defaults to 1000." }, { - "name": "page", + "name": "event_deltas[]", "in": "query", "required": false, - "schema": { "type": "string" }, - "description": "Opaque pagination cursor from a previous response's next_page. Forward-only." + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/BetaManagedAgentsEventDeltaType" } + }, + "description": "When set, this connection also receives streaming deltas (`event_start`, `event_delta`) while an event is being produced, before the event itself arrives. Deltas are best-effort; when the final event is produced it carries the complete content. A model request that ends early (an error or interrupt) produces no final event — its terminal `span.model_request_end` closes the preview. Accepts one or more event types to preview and may be repeated: `agent.message` streams `content_delta` fragments; `agent.thinking` is start-only — a signal that the agent has begun extended thinking, concluded by the `agent.thinking` event itself. Only previews of the requested event types are sent." } ], "responses": { @@ -4988,7 +4747,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListSessionThreads" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsStreamSessionEvents" } } } }, @@ -5085,12 +4844,11 @@ } } }, - "/v1/sessions/{session_id}/threads/{thread_id}?beta=true": { - "get": { - "operationId": "BetaGetSessionThread", - "summary": "Get Session Thread", + "/v1/sessions/{session_id}/archive?beta=true": { + "post": { + "operationId": "BetaArchiveSession", + "summary": "Archive Session", "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -5115,23 +4873,13 @@ "schema": { "type": "string" }, "description": "Path parameter session_id", "example": "sesn_011CZkZAtmR3yMPDzynEDxu7" - }, - { - "name": "thread_id", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "description": "Path parameter thread_id", - "example": "sthr_011CZkZVWa6oIjw0rgXZpnBt" } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsSessionThread" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsSession" } } } }, "400": { @@ -5227,10 +4975,10 @@ } } }, - "/v1/sessions/{session_id}/threads/{thread_id}/events?beta=true": { + "/v1/sessions/{session_id}/threads?beta=true": { "get": { - "operationId": "BetaListSessionThreadEvents", - "summary": "List Session Thread Events", + "operationId": "BetaListSessionThreads", + "summary": "List Session Threads", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -5258,27 +5006,19 @@ "description": "Path parameter session_id", "example": "sesn_011CZkZAtmR3yMPDzynEDxu7" }, - { - "name": "thread_id", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "description": "Path parameter thread_id", - "example": "sthr_011CZkZVWa6oIjw0rgXZpnBt" - }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" }, - "description": "Query parameter for limit" + "description": "Maximum results per page. Defaults to 1000." }, { "name": "page", "in": "query", "required": false, "schema": { "type": "string" }, - "description": "Query parameter for page" + "description": "Opaque pagination cursor from a previous response's next_page. Forward-only." } ], "responses": { @@ -5286,7 +5026,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListSessionThreadEvents" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListSessionThreads" } } } }, @@ -5383,10 +5123,10 @@ } } }, - "/v1/sessions/{session_id}/threads/{thread_id}/stream?beta=true": { + "/v1/sessions/{session_id}/threads/{thread_id}?beta=true": { "get": { - "operationId": "BetaStreamSessionThreadEvents", - "summary": "Stream Session Thread Events", + "operationId": "BetaGetSessionThread", + "summary": "Get Session Thread", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -5428,7 +5168,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsStreamSessionThreadEvents" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsSessionThread" } } } }, @@ -5525,11 +5265,12 @@ } } }, - "/v1/sessions/{session_id}/threads/{thread_id}/archive?beta=true": { - "post": { - "operationId": "BetaArchiveSessionThread", - "summary": "Archive Session Thread", + "/v1/sessions/{session_id}/threads/{thread_id}/events?beta=true": { + "get": { + "operationId": "BetaListSessionThreadEvents", + "summary": "List Session Thread Events", "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -5562,6 +5303,20 @@ "schema": { "type": "string" }, "description": "Path parameter thread_id", "example": "sthr_011CZkZVWa6oIjw0rgXZpnBt" + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Query parameter for limit" + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { "type": "string" }, + "description": "Query parameter for page" } ], "responses": { @@ -5569,7 +5324,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsSessionThread" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListSessionThreadEvents" } } } }, @@ -5666,10 +5421,10 @@ } } }, - "/v1/sessions/{session_id}/resources?beta=true": { + "/v1/sessions/{session_id}/threads/{thread_id}/stream?beta=true": { "get": { - "operationId": "BetaListResources", - "summary": "List Session Resources", + "operationId": "BetaStreamSessionThreadEvents", + "summary": "Stream Session Thread Events", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -5698,18 +5453,12 @@ "example": "sesn_011CZkZAtmR3yMPDzynEDxu7" }, { - "name": "limit", - "in": "query", - "required": false, - "schema": { "type": "integer", "format": "int32" }, - "description": "Maximum number of resources to return per page (max 1000). If omitted, returns all resources." - }, - { - "name": "page", - "in": "query", - "required": false, + "name": "thread_id", + "in": "path", + "required": true, "schema": { "type": "string" }, - "description": "Opaque cursor from a previous response's next_page field." + "description": "Path parameter thread_id", + "example": "sthr_011CZkZVWa6oIjw0rgXZpnBt" } ], "responses": { @@ -5717,7 +5466,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListSessionResources" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsStreamSessionThreadEvents" } } } }, @@ -5812,10 +5561,12 @@ } } } - }, + } + }, + "/v1/sessions/{session_id}/threads/{thread_id}/archive?beta=true": { "post": { - "operationId": "BetaAddResource", - "summary": "Add Session Resource", + "operationId": "BetaArchiveSessionThread", + "summary": "Archive Session Thread", "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -5841,22 +5592,170 @@ "schema": { "type": "string" }, "description": "Path parameter session_id", "example": "sesn_011CZkZAtmR3yMPDzynEDxu7" + }, + { + "name": "thread_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter thread_id", + "example": "sthr_011CZkZVWa6oIjw0rgXZpnBt" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsAddSessionResourceParams" } + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsSessionThread" } + } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } } - }, + } + } + }, + "/v1/sessions/{session_id}/resources?beta=true": { + "get": { + "operationId": "BetaListResources", + "summary": "List Session Resources", + "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter session_id", + "example": "sesn_011CZkZAtmR3yMPDzynEDxu7" + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Maximum number of resources to return per page (max 1000). If omitted, returns all resources." + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { "type": "string" }, + "description": "Opaque cursor from a previous response's next_page field." + } + ], "responses": { "200": { "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsAddSessionResource" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListSessionResources" } } } }, @@ -5951,14 +5850,11 @@ } } } - } - }, - "/v1/sessions/{session_id}/resources/{resource_id}?beta=true": { - "get": { - "operationId": "BetaGetResource", - "summary": "Get Session Resource", + }, + "post": { + "operationId": "BetaAddResource", + "summary": "Add Session Resource", "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -5983,22 +5879,22 @@ "schema": { "type": "string" }, "description": "Path parameter session_id", "example": "sesn_011CZkZAtmR3yMPDzynEDxu7" - }, - { - "name": "resource_id", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "description": "Path parameter resource_id", - "example": "sesrsc_011CZkZBJq5dWxk9fVLNcPht" } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsAddSessionResourceParams" } + } + } + }, "responses": { "200": { "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsGetSessionResource" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsAddSessionResource" } } } }, @@ -6093,10 +5989,12 @@ } } } - }, - "delete": { - "operationId": "BetaDeleteResource", - "summary": "Delete Session Resource", + } + }, + "/v1/sessions/{session_id}/resources/{resource_id}?beta=true": { + "get": { + "operationId": "BetaGetResource", + "summary": "Get Session Resource", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -6138,7 +6036,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeleteSessionResource" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsGetSessionResource" } } } }, @@ -6234,10 +6132,11 @@ } } }, - "post": { - "operationId": "BetaUpdateResource", - "summary": "Update Session Resource", + "delete": { + "operationId": "BetaDeleteResource", + "summary": "Delete Session Resource", "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -6267,25 +6166,17 @@ "name": "resource_id", "in": "path", "required": true, - "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, + "schema": { "type": "string" }, "description": "Path parameter resource_id", "example": "sesrsc_011CZkZBJq5dWxk9fVLNcPht" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateSessionResourceParams" } - } - } - }, "responses": { "200": { "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateSessionResource" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeleteSessionResource" } } } }, @@ -6380,17 +6271,50 @@ } } } - } - }, - "/v1/agents?beta=true": { + }, "post": { - "operationId": "BetaCreateAgent", - "summary": "Create Agent", + "operationId": "BetaUpdateResource", + "summary": "Update Session Resource", + "parameters": [ + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter session_id", + "example": "sesn_011CZkZAtmR3yMPDzynEDxu7" + }, + { + "name": "resource_id", + "in": "path", + "required": true, + "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, + "description": "Path parameter resource_id", + "example": "sesrsc_011CZkZBJq5dWxk9fVLNcPht" + } + ], "requestBody": { "required": true, "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCreateAgentParams" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateSessionResourceParams" } } } }, @@ -6398,7 +6322,9 @@ "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsAgent" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateSessionResource" } + } } }, "400": { @@ -6491,93 +6417,26 @@ "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } } - }, - "parameters": [ - { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, - { - "name": "anthropic-beta", - "in": "header", - "required": false, - "schema": { - "type": "string", - "items": { "type": "string" }, - "x-stainless-override-schema": { - "x-stainless-param": "betas", - "x-stainless-extend-default": true, - "type": "array", - "description": "Optional header to specify the beta version(s) you want to use.", - "items": { "$ref": "#/components/schemas/AnthropicBeta" } - } - } - } - ] - }, - "get": { - "operationId": "BetaListAgents", - "summary": "List Agents", - "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, - { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, - { - "name": "anthropic-beta", - "in": "header", - "required": false, - "schema": { - "type": "string", - "items": { "type": "string" }, - "x-stainless-override-schema": { - "x-stainless-param": "betas", - "x-stainless-extend-default": true, - "type": "array", - "description": "Optional header to specify the beta version(s) you want to use.", - "items": { "$ref": "#/components/schemas/AnthropicBeta" } - } + } + } + }, + "/v1/agents?beta=true": { + "post": { + "operationId": "BetaCreateAgent", + "summary": "Create Agent", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCreateAgentParams" } } - }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { "type": "integer", "format": "int32" }, - "description": "Maximum results per page. Default 20, maximum 100." - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "string", - "x-stainless-pagination-property": { "purpose": "next_cursor_param" } - }, - "description": "Opaque pagination cursor from a previous response." - }, - { - "name": "created_at[gte]", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return agents created at or after this time (inclusive)." - }, - { - "name": "created_at[lte]", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return agents created at or before this time (inclusive)." - }, - { - "name": "include_archived", - "in": "query", - "required": false, - "schema": { "type": "boolean" }, - "description": "Include archived agents in results. Defaults to false." } - ], + }, "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListAgents" } } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsAgent" } } } }, "400": { @@ -6670,13 +6529,30 @@ "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } } - } - } - }, - "/v1/agents/{agent_id}?beta=true": { + }, + "parameters": [ + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + } + ] + }, "get": { - "operationId": "BetaGetAgent", - "summary": "Get Agent", + "operationId": "BetaListAgents", + "summary": "List Agents", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -6697,26 +6573,49 @@ } }, { - "name": "agent_id", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "description": "Path parameter agent_id", - "example": "agent_011CZkYpogX7uDKUyvBTophP" + "name": "limit", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Maximum results per page. Default 20, maximum 100." }, { - "name": "version", + "name": "page", "in": "query", "required": false, - "schema": { "type": "integer", "format": "int32" }, - "description": "Agent version. Omit for the most recent version. Must be at least 1 if specified." + "schema": { + "type": "string", + "x-stainless-pagination-property": { "purpose": "next_cursor_param" } + }, + "description": "Opaque pagination cursor from a previous response." + }, + { + "name": "created_at[gte]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return agents created at or after this time (inclusive)." + }, + { + "name": "created_at[lte]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return agents created at or before this time (inclusive)." + }, + { + "name": "include_archived", + "in": "query", + "required": false, + "schema": { "type": "boolean" }, + "description": "Include archived agents in results. Defaults to false." } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsAgent" } } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListAgents" } } } }, "400": { @@ -6810,11 +6709,14 @@ } } } - }, - "post": { - "operationId": "BetaUpdateAgent", - "summary": "Update Agent", + } + }, + "/v1/agents/{agent_id}?beta=true": { + "get": { + "operationId": "BetaGetAgent", + "summary": "Get Agent", "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -6836,19 +6738,18 @@ "name": "agent_id", "in": "path", "required": true, - "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, + "schema": { "type": "string" }, "description": "Path parameter agent_id", "example": "agent_011CZkYpogX7uDKUyvBTophP" + }, + { + "name": "version", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Agent version. Omit for the most recent version. Must be at least 1 if specified." } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateAgentParams" } - } - } - }, "responses": { "200": { "description": "Successful response (OK)", @@ -6947,12 +6848,10 @@ } } } - } - }, - "/v1/agents/{agent_id}/archive?beta=true": { + }, "post": { - "operationId": "BetaArchiveAgent", - "summary": "Archive Agent", + "operationId": "BetaUpdateAgent", + "summary": "Update Agent", "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -6975,11 +6874,19 @@ "name": "agent_id", "in": "path", "required": true, - "schema": { "type": "string" }, + "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, "description": "Path parameter agent_id", "example": "agent_011CZkYpogX7uDKUyvBTophP" } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateAgentParams" } + } + } + }, "responses": { "200": { "description": "Successful response (OK)", @@ -7080,12 +6987,11 @@ } } }, - "/v1/agents/{agent_id}/versions?beta=true": { - "get": { - "operationId": "BetaListAgentVersions", - "summary": "List Agent Versions", + "/v1/agents/{agent_id}/archive?beta=true": { + "post": { + "operationId": "BetaArchiveAgent", + "summary": "Archive Agent", "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -7110,32 +7016,13 @@ "schema": { "type": "string" }, "description": "Path parameter agent_id", "example": "agent_011CZkYpogX7uDKUyvBTophP" - }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { "type": "integer", "format": "int32" }, - "description": "Maximum results per page. Default 20, maximum 100." - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "string", - "x-stainless-pagination-property": { "purpose": "next_cursor_param" } - }, - "description": "Opaque pagination cursor." } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListAgentVersions" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsAgent" } } } }, "400": { @@ -7231,139 +7118,10 @@ } } }, - "/v1/deployments?beta=true": { - "post": { - "operationId": "BetaCreateDeployment", - "summary": "Create Deployment", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCreateDeploymentParams" } - } - } - }, - "responses": { - "200": { - "description": "Successful response (OK)", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeployment" } } - } - }, - "400": { - "description": "Invalid argument - The client specified an invalid argument", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "401": { - "description": "Unauthenticated - The request does not have valid authentication credentials", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "403": { - "description": "Permission denied - The caller does not have permission to execute the specified operation", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "404": { - "description": "Not found - Some requested entity was not found", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "408": { - "description": "Deadline exceeded - The deadline expired before the operation could complete", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "409": { - "description": "Aborted - The operation was aborted due to concurrency issue", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "412": { - "description": "Failed precondition - Operation was rejected because the system is not in required state", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "413": { - "description": "Out of range - Operation was attempted past the valid range", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "429": { - "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "431": { - "description": "Request header fields too large - Request metadata was too large", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "499": { - "description": "Cancelled - The operation was cancelled by the client", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "500": { - "description": "Internal - Internal server error", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "501": { - "description": "Unimplemented - The operation is not implemented or supported", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "503": { - "description": "Unavailable - The service is currently unavailable", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "504": { - "description": "Deadline exceeded - Upstream service did not respond in time", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - } - }, - "parameters": [ - { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, - { - "name": "anthropic-beta", - "in": "header", - "required": false, - "schema": { - "type": "string", - "items": { "type": "string" }, - "x-stainless-override-schema": { - "x-stainless-param": "betas", - "x-stainless-extend-default": true, - "type": "array", - "description": "Optional header to specify the beta version(s) you want to use.", - "items": { "$ref": "#/components/schemas/AnthropicBeta" } - } - } - } - ] - }, + "/v1/agents/{agent_id}/versions?beta=true": { "get": { - "operationId": "BetaListDeployments", - "summary": "List Deployments", + "operationId": "BetaListAgentVersions", + "summary": "List Agent Versions", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -7383,6 +7141,14 @@ } } }, + { + "name": "agent_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter agent_id", + "example": "agent_011CZkYpogX7uDKUyvBTophP" + }, { "name": "limit", "in": "query", @@ -7399,41 +7165,6 @@ "x-stainless-pagination-property": { "purpose": "next_cursor_param" } }, "description": "Opaque pagination cursor." - }, - { - "name": "agent_id", - "in": "query", - "required": false, - "schema": { "type": "string" }, - "description": "Filter by agent ID." - }, - { - "name": "status", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeploymentStatus" }, - "description": "Filter by status: active or paused. Omit for both. To include archived deployments, use include_archived instead; the two cannot be combined." - }, - { - "name": "created_at[gte]", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return deployments created at or after this time (inclusive)." - }, - { - "name": "created_at[lte]", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return deployments created at or before this time (inclusive)." - }, - { - "name": "include_archived", - "in": "query", - "required": false, - "schema": { "type": "boolean" }, - "description": "When true, includes archived deployments. Default: false (exclude archived)." } ], "responses": { @@ -7441,7 +7172,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListDeploymentsData" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListAgentVersions" } } } }, @@ -7538,37 +7269,18 @@ } } }, - "/v1/deployments/{deployment_id}?beta=true": { - "get": { - "operationId": "BetaGetDeployment", - "summary": "Get Deployment", - "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, - { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, - { - "name": "anthropic-beta", - "in": "header", - "required": false, - "schema": { - "type": "string", - "items": { "type": "string" }, - "x-stainless-override-schema": { - "x-stainless-param": "betas", - "x-stainless-extend-default": true, - "type": "array", - "description": "Optional header to specify the beta version(s) you want to use.", - "items": { "$ref": "#/components/schemas/AnthropicBeta" } - } + "/v1/deployments?beta=true": { + "post": { + "operationId": "BetaCreateDeployment", + "summary": "Create Deployment", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCreateDeploymentParams" } } - }, - { - "name": "deployment_id", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "description": "Path parameter deployment_id" } - ], + }, "responses": { "200": { "description": "Successful response (OK)", @@ -7666,11 +7378,7 @@ "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } } - } - }, - "post": { - "operationId": "BetaUpdateDeployment", - "summary": "Update Deployment", + }, "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -7688,128 +7396,14 @@ "items": { "$ref": "#/components/schemas/AnthropicBeta" } } } - }, - { - "name": "deployment_id", - "in": "path", - "required": true, - "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, - "description": "Path parameter deployment_id" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateDeploymentParams" } - } } - }, - "responses": { - "200": { - "description": "Successful response (OK)", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeployment" } } - } - }, - "400": { - "description": "Invalid argument - The client specified an invalid argument", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "401": { - "description": "Unauthenticated - The request does not have valid authentication credentials", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "403": { - "description": "Permission denied - The caller does not have permission to execute the specified operation", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "404": { - "description": "Not found - Some requested entity was not found", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "408": { - "description": "Deadline exceeded - The deadline expired before the operation could complete", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "409": { - "description": "Aborted - The operation was aborted due to concurrency issue", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "412": { - "description": "Failed precondition - Operation was rejected because the system is not in required state", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "413": { - "description": "Out of range - Operation was attempted past the valid range", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "429": { - "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "431": { - "description": "Request header fields too large - Request metadata was too large", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "499": { - "description": "Cancelled - The operation was cancelled by the client", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "500": { - "description": "Internal - Internal server error", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "501": { - "description": "Unimplemented - The operation is not implemented or supported", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "503": { - "description": "Unavailable - The service is currently unavailable", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "504": { - "description": "Deadline exceeded - Upstream service did not respond in time", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - } - } - } - }, - "/v1/deployments/{deployment_id}/archive?beta=true": { - "post": { - "operationId": "BetaArchiveDeployment", - "summary": "Archive Deployment", + ] + }, + "get": { + "operationId": "BetaListDeployments", + "summary": "List Deployments", "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -7828,18 +7422,65 @@ } }, { - "name": "deployment_id", - "in": "path", - "required": true, + "name": "limit", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Maximum results per page. Default 20, maximum 100." + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "type": "string", + "x-stainless-pagination-property": { "purpose": "next_cursor_param" } + }, + "description": "Opaque pagination cursor." + }, + { + "name": "agent_id", + "in": "query", + "required": false, "schema": { "type": "string" }, - "description": "Path parameter deployment_id" + "description": "Filter by agent ID." + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeploymentStatus" }, + "description": "Filter by status: active or paused. Omit for both. To include archived deployments, use include_archived instead; the two cannot be combined." + }, + { + "name": "created_at[gte]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return deployments created at or after this time (inclusive)." + }, + { + "name": "created_at[lte]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return deployments created at or before this time (inclusive)." + }, + { + "name": "include_archived", + "in": "query", + "required": false, + "schema": { "type": "boolean" }, + "description": "When true, includes archived deployments. Default: false (exclude archived)." } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeployment" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListDeploymentsData" } + } } }, "400": { @@ -7935,11 +7576,12 @@ } } }, - "/v1/deployments/{deployment_id}/pause?beta=true": { - "post": { - "operationId": "BetaPauseDeployment", - "summary": "Pause Deployment", + "/v1/deployments/{deployment_id}?beta=true": { + "get": { + "operationId": "BetaGetDeployment", + "summary": "Get Deployment", "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -7962,7 +7604,8 @@ "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter deployment_id" + "description": "Path parameter deployment_id", + "example": "depl_011CZkZcDH3vPqd7xnEfwTai" } ], "responses": { @@ -8063,12 +7706,10 @@ } } } - } - }, - "/v1/deployments/{deployment_id}/unpause?beta=true": { + }, "post": { - "operationId": "BetaUnpauseDeployment", - "summary": "Unpause Deployment", + "operationId": "BetaUpdateDeployment", + "summary": "Update Deployment", "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -8091,10 +7732,19 @@ "name": "deployment_id", "in": "path", "required": true, - "schema": { "type": "string" }, - "description": "Path parameter deployment_id" + "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, + "description": "Path parameter deployment_id", + "example": "depl_011CZkZcDH3vPqd7xnEfwTai" } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateDeploymentParams" } + } + } + }, "responses": { "200": { "description": "Successful response (OK)", @@ -8195,10 +7845,10 @@ } } }, - "/v1/deployments/{deployment_id}/run?beta=true": { + "/v1/deployments/{deployment_id}/archive?beta=true": { "post": { - "operationId": "BetaRunDeploymentNow", - "summary": "Run Deployment Now", + "operationId": "BetaArchiveDeployment", + "summary": "Archive Deployment", "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -8222,16 +7872,15 @@ "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter deployment_id" + "description": "Path parameter deployment_id", + "example": "depl_011CZkZcDH3vPqd7xnEfwTai" } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeploymentRun" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeployment" } } } }, "400": { @@ -8327,12 +7976,11 @@ } } }, - "/v1/deployment_runs?beta=true": { - "get": { - "operationId": "BetaListDeploymentRuns", - "summary": "List Deployment Runs", + "/v1/deployments/{deployment_id}/pause?beta=true": { + "post": { + "operationId": "BetaPauseDeployment", + "summary": "Pause Deployment", "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -8350,80 +7998,20 @@ } } }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { "type": "integer", "format": "int32" }, - "description": "Maximum results per page. Default 20, maximum 1000." - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "string", - "x-stainless-pagination-property": { "purpose": "next_cursor_param" } - }, - "description": "Opaque pagination cursor. Pass next_page from the previous response. Invalid or expired cursors return 400." - }, { "name": "deployment_id", - "in": "query", - "required": false, + "in": "path", + "required": true, "schema": { "type": "string" }, - "description": "Filter to a specific deployment. Omit to list across all deployments in the workspace. Filtering by a non-existent deployment_id returns 200 with empty data." - }, - { - "name": "trigger_type", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsTriggerType" }, - "description": "Filter runs by what triggered them. Omit to return all runs." - }, - { - "name": "has_error", - "in": "query", - "required": false, - "schema": { "type": "boolean" }, - "description": "Filter: true for runs with non-null error, false for runs with non-null session_id. Omit for all." - }, - { - "name": "created_at[gte]", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return runs created at or after this time (inclusive)." - }, - { - "name": "created_at[lte]", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return runs created at or before this time (inclusive)." - }, - { - "name": "created_at[gt]", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return runs created strictly after this time (exclusive)." - }, - { - "name": "created_at[lt]", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return runs created strictly before this time (exclusive)." + "description": "Path parameter deployment_id", + "example": "depl_011CZkZcDH3vPqd7xnEfwTai" } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListDeploymentRunsData" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeployment" } } } }, "400": { @@ -8519,12 +8107,11 @@ } } }, - "/v1/deployment_runs/{deployment_run_id}?beta=true": { - "get": { - "operationId": "BetaGetDeploymentRun", - "summary": "Get Deployment Run", + "/v1/deployments/{deployment_id}/unpause?beta=true": { + "post": { + "operationId": "BetaUnpauseDeployment", + "summary": "Unpause Deployment", "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -8543,20 +8130,19 @@ } }, { - "name": "deployment_run_id", + "name": "deployment_id", "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter deployment_run_id" + "description": "Path parameter deployment_id", + "example": "depl_011CZkZcDH3vPqd7xnEfwTai" } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeploymentRun" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeployment" } } } }, "400": { @@ -8652,23 +8238,44 @@ } } }, - "/v1/vaults?beta=true": { + "/v1/deployments/{deployment_id}/run?beta=true": { "post": { - "operationId": "BetaCreateVault", - "summary": "Create Vault", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCreateVaultRequest" } + "operationId": "BetaRunDeploymentNow", + "summary": "Run Deployment Now", + "parameters": [ + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } } + }, + { + "name": "deployment_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter deployment_id", + "example": "depl_011CZkZcDH3vPqd7xnEfwTai" } - }, + ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsVault" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeploymentRun" } + } } }, "400": { @@ -8761,30 +8368,13 @@ "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } } - }, - "parameters": [ - { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, - { - "name": "anthropic-beta", - "in": "header", - "required": false, - "schema": { - "type": "string", - "items": { "type": "string" }, - "x-stainless-override-schema": { - "x-stainless-param": "betas", - "x-stainless-extend-default": true, - "type": "array", - "description": "Optional header to specify the beta version(s) you want to use.", - "items": { "$ref": "#/components/schemas/AnthropicBeta" } - } - } - } - ] - }, + } + } + }, + "/v1/deployment_runs?beta=true": { "get": { - "operationId": "BetaListVaults", - "summary": "List Vaults", + "operationId": "BetaListDeploymentRuns", + "summary": "List Deployment Runs", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -8809,21 +8399,66 @@ "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" }, - "description": "Maximum number of vaults to return per page. Defaults to 20, maximum 100." + "description": "Maximum results per page. Default 20, maximum 1000." }, { "name": "page", "in": "query", "required": false, + "schema": { + "type": "string", + "x-stainless-pagination-property": { "purpose": "next_cursor_param" } + }, + "description": "Opaque pagination cursor. Pass next_page from the previous response. Invalid or expired cursors return 400." + }, + { + "name": "deployment_id", + "in": "query", + "required": false, "schema": { "type": "string" }, - "description": "Opaque pagination token from a previous `list_vaults` response." + "description": "Filter to a specific deployment. Omit to list across all deployments in the workspace. Filtering by a non-existent deployment_id returns 200 with empty data." }, { - "name": "include_archived", + "name": "trigger_type", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsTriggerType" }, + "description": "Filter runs by what triggered them. Omit to return all runs." + }, + { + "name": "has_error", "in": "query", "required": false, "schema": { "type": "boolean" }, - "description": "Whether to include archived vaults in the results." + "description": "Filter: true for runs with non-null error, false for runs with non-null session_id. Omit for all." + }, + { + "name": "created_at[gte]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return runs created at or after this time (inclusive)." + }, + { + "name": "created_at[lte]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return runs created at or before this time (inclusive)." + }, + { + "name": "created_at[gt]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return runs created strictly after this time (exclusive)." + }, + { + "name": "created_at[lt]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return runs created strictly before this time (exclusive)." } ], "responses": { @@ -8831,7 +8466,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListVaultsResponse" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListDeploymentRunsData" } } } }, @@ -8928,10 +8563,10 @@ } } }, - "/v1/vaults/{vault_id}?beta=true": { + "/v1/deployment_runs/{deployment_run_id}?beta=true": { "get": { - "operationId": "BetaGetVault", - "summary": "Get Vault", + "operationId": "BetaGetDeploymentRun", + "summary": "Get Deployment Run", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -8952,19 +8587,20 @@ } }, { - "name": "vault_id", + "name": "deployment_run_id", "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter vault_id", - "example": "vlt_011CZkZDLs7fYzm1hXNPeRjv" + "description": "Path parameter deployment_run_id" } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsVault" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeploymentRun" } + } } }, "400": { @@ -9058,42 +8694,17 @@ } } } - }, + } + }, + "/v1/vaults?beta=true": { "post": { - "operationId": "BetaUpdateVault", - "summary": "Update Vault", - "parameters": [ - { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, - { - "name": "anthropic-beta", - "in": "header", - "required": false, - "schema": { - "type": "string", - "items": { "type": "string" }, - "x-stainless-override-schema": { - "x-stainless-param": "betas", - "x-stainless-extend-default": true, - "type": "array", - "description": "Optional header to specify the beta version(s) you want to use.", - "items": { "$ref": "#/components/schemas/AnthropicBeta" } - } - } - }, - { - "name": "vault_id", - "in": "path", - "required": true, - "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, - "description": "Path parameter vault_id", - "example": "vlt_011CZkZDLs7fYzm1hXNPeRjv" - } - ], + "operationId": "BetaCreateVault", + "summary": "Create Vault", "requestBody": { "required": true, "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateVaultRequestBody" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCreateVaultRequest" } } } }, @@ -9194,11 +8805,30 @@ "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } } - } + }, + "parameters": [ + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + } + ] }, - "delete": { - "operationId": "BetaDeleteVault", - "summary": "Delete Vault", + "get": { + "operationId": "BetaListVaults", + "summary": "List Vaults", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -9219,12 +8849,25 @@ } }, { - "name": "vault_id", - "in": "path", - "required": true, + "name": "limit", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Maximum number of vaults to return per page. Defaults to 20, maximum 100." + }, + { + "name": "page", + "in": "query", + "required": false, "schema": { "type": "string" }, - "description": "Path parameter vault_id", - "example": "vlt_011CZkZDLs7fYzm1hXNPeRjv" + "description": "Opaque pagination token from a previous `list_vaults` response." + }, + { + "name": "include_archived", + "in": "query", + "required": false, + "schema": { "type": "boolean" }, + "description": "Whether to include archived vaults in the results." } ], "responses": { @@ -9232,7 +8875,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeletedVault" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListVaultsResponse" } } } }, @@ -9329,11 +8972,12 @@ } } }, - "/v1/vaults/{vault_id}/archive?beta=true": { - "post": { - "operationId": "BetaArchiveVault", - "summary": "Archive Vault", + "/v1/vaults/{vault_id}?beta=true": { + "get": { + "operationId": "BetaGetVault", + "summary": "Get Vault", "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -9458,12 +9102,10 @@ } } } - } - }, - "/v1/vaults/{vault_id}/credentials?beta=true": { + }, "post": { - "operationId": "BetaCreateCredential", - "summary": "Create Credential", + "operationId": "BetaUpdateVault", + "summary": "Update Vault", "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -9486,7 +9128,7 @@ "name": "vault_id", "in": "path", "required": true, - "schema": { "type": "string" }, + "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, "description": "Path parameter vault_id", "example": "vlt_011CZkZDLs7fYzm1hXNPeRjv" } @@ -9495,7 +9137,7 @@ "required": true, "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCreateCredentialRequestBody" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateVaultRequestBody" } } } }, @@ -9503,7 +9145,7 @@ "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCredential" } } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsVault" } } } }, "400": { @@ -9598,9 +9240,9 @@ } } }, - "get": { - "operationId": "BetaListCredentials", - "summary": "List Credentials", + "delete": { + "operationId": "BetaDeleteVault", + "summary": "Delete Vault", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -9627,27 +9269,6 @@ "schema": { "type": "string" }, "description": "Path parameter vault_id", "example": "vlt_011CZkZDLs7fYzm1hXNPeRjv" - }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { "type": "integer", "format": "int32" }, - "description": "Maximum number of credentials to return per page. Defaults to 20, maximum 100." - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { "type": "string" }, - "description": "Opaque pagination token from a previous `list_credentials` response." - }, - { - "name": "include_archived", - "in": "query", - "required": false, - "schema": { "type": "boolean" }, - "description": "Whether to include archived credentials in the results." } ], "responses": { @@ -9655,7 +9276,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListCredentialsResponse" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeletedVault" } } } }, @@ -9752,12 +9373,11 @@ } } }, - "/v1/vaults/{vault_id}/credentials/{credential_id}?beta=true": { - "get": { - "operationId": "BetaGetCredential", - "summary": "Get Credential", + "/v1/vaults/{vault_id}/archive?beta=true": { + "post": { + "operationId": "BetaArchiveVault", + "summary": "Archive Vault", "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -9782,21 +9402,13 @@ "schema": { "type": "string" }, "description": "Path parameter vault_id", "example": "vlt_011CZkZDLs7fYzm1hXNPeRjv" - }, - { - "name": "credential_id", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "description": "Path parameter credential_id", - "example": "vcrd_011CZkZEMt8gZan2iYOQfSkw" } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCredential" } } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsVault" } } } }, "400": { @@ -9890,10 +9502,12 @@ } } } - }, + } + }, + "/v1/vaults/{vault_id}/credentials?beta=true": { "post": { - "operationId": "BetaUpdateCredential", - "summary": "Update Credential", + "operationId": "BetaCreateCredential", + "summary": "Create Credential", "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -9919,21 +9533,13 @@ "schema": { "type": "string" }, "description": "Path parameter vault_id", "example": "vlt_011CZkZDLs7fYzm1hXNPeRjv" - }, - { - "name": "credential_id", - "in": "path", - "required": true, - "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, - "description": "Path parameter credential_id", - "example": "vcrd_011CZkZEMt8gZan2iYOQfSkw" } ], "requestBody": { "required": true, "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateCredentialRequestBody" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCreateCredentialRequestBody" } } } }, @@ -10036,9 +9642,9 @@ } } }, - "delete": { - "operationId": "BetaDeleteCredential", - "summary": "Delete Credential", + "get": { + "operationId": "BetaListCredentials", + "summary": "List Credentials", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -10067,12 +9673,25 @@ "example": "vlt_011CZkZDLs7fYzm1hXNPeRjv" }, { - "name": "credential_id", - "in": "path", - "required": true, + "name": "limit", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Maximum number of credentials to return per page. Defaults to 20, maximum 100." + }, + { + "name": "page", + "in": "query", + "required": false, "schema": { "type": "string" }, - "description": "Path parameter credential_id", - "example": "vcrd_011CZkZEMt8gZan2iYOQfSkw" + "description": "Opaque pagination token from a previous `list_credentials` response." + }, + { + "name": "include_archived", + "in": "query", + "required": false, + "schema": { "type": "boolean" }, + "description": "Whether to include archived credentials in the results." } ], "responses": { @@ -10080,7 +9699,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeletedCredential" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListCredentialsResponse" } } } }, @@ -10177,11 +9796,12 @@ } } }, - "/v1/vaults/{vault_id}/credentials/{credential_id}/archive?beta=true": { - "post": { - "operationId": "BetaArchiveCredential", - "summary": "Archive Credential", + "/v1/vaults/{vault_id}/credentials/{credential_id}?beta=true": { + "get": { + "operationId": "BetaGetCredential", + "summary": "Get Credential", "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -10314,13 +9934,157 @@ } } } - } - }, - "/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate?beta=true": { + }, "post": { - "operationId": "BetaValidateCredential", - "summary": "Validate Credential", + "operationId": "BetaUpdateCredential", + "summary": "Update Credential", + "parameters": [ + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "vault_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter vault_id", + "example": "vlt_011CZkZDLs7fYzm1hXNPeRjv" + }, + { + "name": "credential_id", + "in": "path", + "required": true, + "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, + "description": "Path parameter credential_id", + "example": "vcrd_011CZkZEMt8gZan2iYOQfSkw" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateCredentialRequestBody" } + } + } + }, + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCredential" } } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + } + }, + "delete": { + "operationId": "BetaDeleteCredential", + "summary": "Delete Credential", "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -10360,7 +10124,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCredentialValidation" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeletedCredential" } } } }, @@ -10457,10 +10221,10 @@ } } }, - "/v1/memory_stores/{memory_store_id}/memories?beta=true": { + "/v1/vaults/{vault_id}/credentials/{credential_id}/archive?beta=true": { "post": { - "operationId": "BetaCreateMemory", - "summary": "Create a memory", + "operationId": "BetaArchiveCredential", + "summary": "Archive Credential", "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -10480,162 +10244,127 @@ } }, { - "name": "memory_store_id", + "name": "vault_id", "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter memory_store_id" + "description": "Path parameter vault_id", + "example": "vlt_011CZkZDLs7fYzm1hXNPeRjv" }, { - "name": "view", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryView" }, - "description": "Query parameter for view" + "name": "credential_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter credential_id", + "example": "vcrd_011CZkZEMt8gZan2iYOQfSkw" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCreateMemoryParams" } - } - } - }, "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemory" } } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCredential" } } } }, "400": { "description": "Invalid argument - The client specified an invalid argument", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "401": { "description": "Unauthenticated - The request does not have valid authentication credentials", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "403": { "description": "Permission denied - The caller does not have permission to execute the specified operation", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "404": { "description": "Not found - Some requested entity was not found", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "408": { "description": "Deadline exceeded - The deadline expired before the operation could complete", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "409": { - "description": "Custom error status", + "description": "Aborted - The operation was aborted due to concurrency issue", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "412": { "description": "Failed precondition - Operation was rejected because the system is not in required state", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "413": { "description": "Out of range - Operation was attempted past the valid range", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "429": { "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "431": { "description": "Request header fields too large - Request metadata was too large", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "499": { "description": "Cancelled - The operation was cancelled by the client", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "500": { "description": "Internal - Internal server error", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "501": { "description": "Unimplemented - The operation is not implemented or supported", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "503": { "description": "Unavailable - The service is currently unavailable", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "504": { "description": "Deadline exceeded - Upstream service did not respond in time", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } } } - }, - "get": { - "operationId": "BetaListMemories", - "summary": "List memories", + } + }, + "/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate?beta=true": { + "post": { + "operationId": "BetaValidateCredential", + "summary": "Validate Credential", "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -10654,60 +10383,20 @@ } }, { - "name": "memory_store_id", + "name": "vault_id", "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter memory_store_id" - }, - { - "name": "path_prefix", - "in": "query", - "required": false, - "schema": { "type": "string" }, - "description": "Optional path prefix filter (raw string-prefix match; include a trailing slash for directory-scoped lists). This value appears in request URLs. Do not include secrets or personally identifiable information." - }, - { - "name": "depth", - "in": "query", - "required": false, - "schema": { "type": "integer", "format": "int32" }, - "description": "Query parameter for depth" - }, - { - "name": "order_by", - "in": "query", - "required": false, - "schema": { "type": "string" }, - "description": "Query parameter for order_by" - }, - { - "name": "order", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListOrder" }, - "description": "Query parameter for order" - }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { "type": "integer", "format": "int32" }, - "description": "Query parameter for limit" + "description": "Path parameter vault_id", + "example": "vlt_011CZkZDLs7fYzm1hXNPeRjv" }, { - "name": "page", - "in": "query", - "required": false, + "name": "credential_id", + "in": "path", + "required": true, "schema": { "type": "string" }, - "description": "Query parameter for page" - }, - { - "name": "view", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryView" }, - "description": "Query parameter for view" + "description": "Path parameter credential_id", + "example": "vcrd_011CZkZEMt8gZan2iYOQfSkw" } ], "responses": { @@ -10715,139 +10404,108 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListMemoriesResult" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCredentialValidation" } } } }, "400": { "description": "Invalid argument - The client specified an invalid argument", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "401": { "description": "Unauthenticated - The request does not have valid authentication credentials", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "403": { "description": "Permission denied - The caller does not have permission to execute the specified operation", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "404": { "description": "Not found - Some requested entity was not found", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "408": { "description": "Deadline exceeded - The deadline expired before the operation could complete", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "409": { - "description": "Custom error status", + "description": "Aborted - The operation was aborted due to concurrency issue", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "412": { "description": "Failed precondition - Operation was rejected because the system is not in required state", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "413": { "description": "Out of range - Operation was attempted past the valid range", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "429": { "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "431": { "description": "Request header fields too large - Request metadata was too large", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "499": { "description": "Cancelled - The operation was cancelled by the client", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "500": { "description": "Internal - Internal server error", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "501": { "description": "Unimplemented - The operation is not implemented or supported", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "503": { "description": "Unavailable - The service is currently unavailable", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } }, "504": { "description": "Deadline exceeded - Upstream service did not respond in time", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } } } } }, - "/v1/memory_stores/{memory_store_id}/memories/{memory_id}?beta=true": { - "get": { - "operationId": "BetaGetMemory", - "summary": "Retrieve a memory", + "/v1/memory_stores/{memory_store_id}/memories?beta=true": { + "post": { + "operationId": "BetaCreateMemory", + "summary": "Create a memory", "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -10872,13 +10530,6 @@ "schema": { "type": "string" }, "description": "Path parameter memory_store_id" }, - { - "name": "memory_id", - "in": "path", - "required": true, - "schema": { "type": "string" }, - "description": "Path parameter memory_id" - }, { "name": "view", "in": "query", @@ -10887,6 +10538,14 @@ "description": "Query parameter for view" } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsCreateMemoryParams" } + } + } + }, "responses": { "200": { "description": "Successful response (OK)", @@ -11016,10 +10675,11 @@ } } }, - "post": { - "operationId": "BetaUpdateMemory", - "summary": "Update a memory", + "get": { + "operationId": "BetaListMemories", + "summary": "List memories", "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -11045,33 +10705,48 @@ "description": "Path parameter memory_store_id" }, { - "name": "memory_id", - "in": "path", - "required": true, - "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, - "description": "Path parameter memory_id" + "name": "path_prefix", + "in": "query", + "required": false, + "schema": { "type": "string" }, + "description": "Optional path prefix filter. Must end with `/` (segment-aligned), e.g., `/notes/`. This value appears in request URLs. Do not include secrets or personally identifiable information." + }, + { + "name": "depth", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "`0` (or omitted) returns all descendants below `path_prefix` (recursive). `1` returns immediate children only; deeper entries roll up as `memory_prefix` items. `depth=1` behaves like `ls`; omitting `depth` behaves like `find`." + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Maximum number of items to return per page. Must be between 1 and 100. Defaults to 20 when omitted. Capped at 20 when `view=full`. Both `memory` and `memory_prefix` items count toward the limit." + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { "type": "string" }, + "description": "Opaque pagination cursor (a `page_...` value). Pass the `next_page` value from a previous response to fetch the next page; omit for the first page." }, { "name": "view", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryView" }, - "description": "Query parameter for view" + "description": "Which projection of each `memory` to return. Defaults to `basic` (content omitted). `full` populates `content` on each item and caps `limit` at 20; use this as the bulk-read path for export and sync." } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateMemoryParams" } - } - } - }, "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemory" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListMemoriesResult" } + } } }, "400": { @@ -11195,10 +10870,12 @@ } } } - }, - "delete": { - "operationId": "BetaDeleteMemory", - "summary": "Delete a memory", + } + }, + "/v1/memory_stores/{memory_store_id}/memories/{memory_id}?beta=true": { + "get": { + "operationId": "BetaGetMemory", + "summary": "Retrieve a memory", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -11233,20 +10910,18 @@ "description": "Path parameter memory_id" }, { - "name": "expected_content_sha256", + "name": "view", "in": "query", "required": false, - "schema": { "type": "string" }, - "description": "Query parameter for expected_content_sha256" + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryView" }, + "description": "Query parameter for view" } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeletedMemory" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemory" } } } }, "400": { @@ -11370,14 +11045,11 @@ } } } - } - }, - "/v1/memory_stores/{memory_store_id}/memory_versions?beta=true": { - "get": { - "operationId": "BetaListMemoryVersions", - "summary": "List memory versions", + }, + "post": { + "operationId": "BetaUpdateMemory", + "summary": "Update a memory", "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -11404,66 +11076,198 @@ }, { "name": "memory_id", - "in": "query", - "required": false, - "schema": { "type": "string" }, - "description": "Query parameter for memory_id" + "in": "path", + "required": true, + "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, + "description": "Path parameter memory_id" }, { - "name": "session_id", + "name": "view", "in": "query", "required": false, - "schema": { "type": "string" }, - "description": "Query parameter for session_id" + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryView" }, + "description": "Query parameter for view" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateMemoryParams" } + } + } + }, + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemory" } } + } }, - { - "name": "api_key_id", - "in": "query", - "required": false, - "schema": { "type": "string" }, - "description": "Query parameter for api_key_id" + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } }, - { - "name": "operation", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryVersionOperation" }, - "description": "Query parameter for operation" + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } }, - { - "name": "created_at[gte]", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return versions created at or after this time (inclusive)." + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "409": { + "description": "Custom error status", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + } + } + }, + "delete": { + "operationId": "BetaDeleteMemory", + "summary": "Delete a memory", + "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { - "name": "created_at[lte]", - "in": "query", + "name": "anthropic-beta", + "in": "header", "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return versions created at or before this time (inclusive)." + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } }, { - "name": "limit", - "in": "query", - "required": false, - "schema": { "type": "integer", "format": "int32" }, - "description": "Query parameter for limit" + "name": "memory_store_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter memory_store_id" }, { - "name": "page", - "in": "query", - "required": false, + "name": "memory_id", + "in": "path", + "required": true, "schema": { "type": "string" }, - "description": "Query parameter for page" + "description": "Path parameter memory_id" }, { - "name": "view", + "name": "expected_content_sha256", "in": "query", "required": false, - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryView" }, - "description": "Query parameter for view" + "schema": { "type": "string" }, + "description": "Query parameter for expected_content_sha256" } ], "responses": { @@ -11471,7 +11275,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListMemoryVersionsResult" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeletedMemory" } } } }, @@ -11598,10 +11402,10 @@ } } }, - "/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}?beta=true": { + "/v1/memory_stores/{memory_store_id}/memory_versions?beta=true": { "get": { - "operationId": "BetaGetMemoryVersion", - "summary": "Retrieve a memory version", + "operationId": "BetaListMemoryVersions", + "summary": "List memory versions", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -11629,11 +11433,60 @@ "description": "Path parameter memory_store_id" }, { - "name": "memory_version_id", - "in": "path", - "required": true, + "name": "memory_id", + "in": "query", + "required": false, "schema": { "type": "string" }, - "description": "Path parameter memory_version_id" + "description": "Query parameter for memory_id" + }, + { + "name": "session_id", + "in": "query", + "required": false, + "schema": { "type": "string" }, + "description": "Query parameter for session_id" + }, + { + "name": "api_key_id", + "in": "query", + "required": false, + "schema": { "type": "string" }, + "description": "Query parameter for api_key_id" + }, + { + "name": "operation", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryVersionOperation" }, + "description": "Query parameter for operation" + }, + { + "name": "created_at[gte]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return versions created at or after this time (inclusive)." + }, + { + "name": "created_at[lte]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return versions created at or before this time (inclusive)." + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Query parameter for limit" + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { "type": "string" }, + "description": "Query parameter for page" }, { "name": "view", @@ -11648,7 +11501,7 @@ "description": "Successful response (OK)", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryVersion" } + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListMemoryVersionsResult" } } } }, @@ -11775,10 +11628,187 @@ } } }, - "/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}/redact?beta=true": { - "post": { - "operationId": "BetaRedactMemoryVersion", - "summary": "Redact a memory version", + "/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}?beta=true": { + "get": { + "operationId": "BetaGetMemoryVersion", + "summary": "Retrieve a memory version", + "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "memory_store_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter memory_store_id" + }, + { + "name": "memory_version_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter memory_version_id" + }, + { + "name": "view", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryView" }, + "description": "Query parameter for view" + } + ], + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryVersion" } + } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "409": { + "description": "Custom error status", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsErrorResponse" } + } + } + } + } + } + }, + "/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}/redact?beta=true": { + "post": { + "operationId": "BetaRedactMemoryVersion", + "summary": "Redact a memory version", "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -12103,44 +12133,1524 @@ "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" }, - "description": "Maximum number of stores to return per page. Must be between 1 and 100. Defaults to 20 when omitted." + "description": "Maximum number of stores to return per page. Must be between 1 and 100. Defaults to 20 when omitted." + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { "type": "string" }, + "description": "Opaque pagination cursor (a `page_...` value). Pass the `next_page` value from a previous response to fetch the next page; omit for the first page." + }, + { + "name": "include_archived", + "in": "query", + "required": false, + "schema": { "type": "boolean" }, + "description": "When `true`, archived stores are included in the results. Defaults to `false` (archived stores are excluded)." + }, + { + "name": "created_at[gte]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return only stores whose `created_at` is at or after this time (inclusive). Sent on the wire as `created_at[gte]`." + }, + { + "name": "created_at[lte]", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, + "description": "Return only stores whose `created_at` is at or before this time (inclusive). Sent on the wire as `created_at[lte]`." + } + ], + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListMemoryStoresResponse" } + } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + } + } + }, + "/v1/memory_stores/{memory_store_id}?beta=true": { + "get": { + "operationId": "BetaGetMemoryStore", + "summary": "Retrieve a memory store", + "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "memory_store_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter memory_store_id" + } + ], + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsGetMemoryStoreResponse" } + } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + } + }, + "post": { + "operationId": "BetaUpdateMemoryStore", + "summary": "Update a memory store", + "parameters": [ + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "memory_store_id", + "in": "path", + "required": true, + "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, + "description": "Path parameter memory_store_id" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateMemoryStoreRequestBody" } + } + } + }, + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateMemoryStoreResponse" } + } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + } + }, + "delete": { + "operationId": "BetaDeleteMemoryStore", + "summary": "Delete a memory store", + "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "memory_store_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter memory_store_id" + } + ], + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeleteMemoryStoreResponse" } + } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + } + } + }, + "/v1/memory_stores/{memory_store_id}/archive?beta=true": { + "post": { + "operationId": "BetaArchiveMemoryStore", + "summary": "Archive a memory store", + "parameters": [ + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "memory_store_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter memory_store_id" + } + ], + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaManagedAgentsArchiveMemoryStoreResponse" } + } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + } + } + }, + "/v1/user_profiles?beta=true": { + "post": { + "operationId": "BetaCreateUserProfile", + "summary": "Create User Profile", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaCreateUserProfileRequest" } } + } + }, + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaUserProfile" } } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + }, + "parameters": [ + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + } + ] + }, + "get": { + "operationId": "BetaListUserProfiles", + "summary": "List User Profiles", + "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Query parameter for limit" + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { "type": "string" }, + "description": "Query parameter for page" + }, + { + "name": "order", + "in": "query", + "required": false, + "schema": { "$ref": "#/components/schemas/BetaUserProfileListOrder" }, + "description": "Query parameter for order" + } + ], + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaListUserProfilesResponse" } + } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + } + } + }, + "/v1/user_profiles/{user_profile_id}?beta=true": { + "get": { + "operationId": "BetaGetUserProfile", + "summary": "Get User Profile", + "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "user_profile_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter user_profile_id", + "example": "uprof_011CZkZCu8hGbp5mYRQgUmz9" + } + ], + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaUserProfile" } } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + } + }, + "post": { + "operationId": "BetaUpdateUserProfile", + "summary": "Update User Profile", + "parameters": [ + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "user_profile_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter user_profile_id", + "example": "uprof_011CZkZCu8hGbp5mYRQgUmz9" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaUpdateUserProfileRequestBody" } + } + } + }, + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaUserProfile" } } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + } + } + }, + "/v1/user_profiles/{user_profile_id}/enrollment_url?beta=true": { + "post": { + "operationId": "BetaCreateEnrollmentUrl", + "summary": "Create Enrollment URL", + "parameters": [ + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "user_profile_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter user_profile_id", + "example": "uprof_011CZkZCu8hGbp5mYRQgUmz9" + } + ], + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaEnrollmentUrl" } } + } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + } + } + }, + "/v1/tunnels?beta=true": { + "post": { + "operationId": "BetaCreateTunnel", + "summary": "Create Tunnel", + "description": "The Tunnels API is in research preview. It requires the `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a deprecation period. It supersedes the Admin API endpoints at `/v1/organizations/tunnels`, which remain available during a migration window.\n\nCreates a tunnel. Creation allocates a fresh hostname and provisions the tunnel; it is not idempotent. The new tunnel rejects MCP traffic until at least one CA certificate is added.", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaCreateTunnelRequest" } } + } + }, + "responses": { + "200": { + "description": "Successful response (OK)", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaTunnel" } } } + }, + "400": { + "description": "Invalid argument - The client specified an invalid argument", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "401": { + "description": "Unauthenticated - The request does not have valid authentication credentials", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "403": { + "description": "Permission denied - The caller does not have permission to execute the specified operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "404": { + "description": "Not found - Some requested entity was not found", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "408": { + "description": "Deadline exceeded - The deadline expired before the operation could complete", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "409": { + "description": "Aborted - The operation was aborted due to concurrency issue", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "412": { + "description": "Failed precondition - Operation was rejected because the system is not in required state", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "413": { + "description": "Out of range - Operation was attempted past the valid range", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "429": { + "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "431": { + "description": "Request header fields too large - Request metadata was too large", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "499": { + "description": "Cancelled - The operation was cancelled by the client", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "500": { + "description": "Internal - Internal server error", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "501": { + "description": "Unimplemented - The operation is not implemented or supported", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "503": { + "description": "Unavailable - The service is currently unavailable", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + }, + "504": { + "description": "Deadline exceeded - Upstream service did not respond in time", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } + } + } + }, + "parameters": [ + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + } + ] + }, + "get": { + "operationId": "BetaListTunnels", + "summary": "List Tunnels", + "description": "The Tunnels API is in research preview. It requires the `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a deprecation period. It supersedes the Admin API endpoints at `/v1/organizations/tunnels`, which remain available during a migration window.\n\nLists tunnels. Results are ordered by creation time, newest first; archived tunnels are excluded unless include_archived is set.", + "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, + { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, + { + "name": "anthropic-beta", + "in": "header", + "required": false, + "schema": { + "type": "string", + "items": { "type": "string" }, + "x-stainless-override-schema": { + "x-stainless-param": "betas", + "x-stainless-extend-default": true, + "type": "array", + "description": "Optional header to specify the beta version(s) you want to use.", + "items": { "$ref": "#/components/schemas/AnthropicBeta" } + } + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Maximum number of tunnels to return per page. Defaults to 20, maximum 1000." }, { "name": "page", "in": "query", "required": false, "schema": { "type": "string" }, - "description": "Opaque pagination cursor (a `page_...` value). Pass the `next_page` value from a previous response to fetch the next page; omit for the first page." + "description": "Opaque pagination cursor from a previous `list_tunnels` response." }, { "name": "include_archived", "in": "query", "required": false, "schema": { "type": "boolean" }, - "description": "When `true`, archived stores are included in the results. Defaults to `false` (archived stores are excluded)." - }, - { - "name": "created_at[gte]", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return only stores whose `created_at` is at or after this time (inclusive). Sent on the wire as `created_at[gte]`." - }, - { - "name": "created_at[lte]", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaTimestamp" }, - "description": "Return only stores whose `created_at` is at or before this time (inclusive). Sent on the wire as `created_at[lte]`." + "description": "Whether to include archived tunnels in the results. Defaults to false." } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsListMemoryStoresResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaListTunnelsResponse" } } } }, "400": { @@ -12236,10 +13746,11 @@ } } }, - "/v1/memory_stores/{memory_store_id}?beta=true": { + "/v1/tunnels/{tunnel_id}?beta=true": { "get": { - "operationId": "BetaGetMemoryStore", - "summary": "Retrieve a memory store", + "operationId": "BetaGetTunnel", + "summary": "Get Tunnel", + "description": "The Tunnels API is in research preview. It requires the `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a deprecation period. It supersedes the Admin API endpoints at `/v1/organizations/tunnels`, which remain available during a migration window.\n\nFetches a tunnel by ID.", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -12260,21 +13771,17 @@ } }, { - "name": "memory_store_id", + "name": "tunnel_id", "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter memory_store_id" + "description": "Path parameter tunnel_id" } ], "responses": { "200": { "description": "Successful response (OK)", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsGetMemoryStoreResponse" } - } - } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaTunnel" } } } }, "400": { "description": "Invalid argument - The client specified an invalid argument", @@ -12367,10 +13874,13 @@ } } } - }, + } + }, + "/v1/tunnels/{tunnel_id}/archive?beta=true": { "post": { - "operationId": "BetaUpdateMemoryStore", - "summary": "Update a memory store", + "operationId": "BetaArchiveTunnel", + "summary": "Archive Tunnel", + "description": "The Tunnels API is in research preview. It requires the `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a deprecation period. It supersedes the Admin API endpoints at `/v1/organizations/tunnels`, which remain available during a migration window.\n\nArchives a tunnel. Archival is irreversible: every non-archived certificate on the tunnel is archived in the same operation, the hostname is retired and never re-allocated, and the tunnel token is invalidated. Retrying against an already-archived tunnel returns the existing record unchanged.", "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -12390,29 +13900,17 @@ } }, { - "name": "memory_store_id", + "name": "tunnel_id", "in": "path", "required": true, - "schema": { "type": "string", "x-stainless-cli-data-alias": "id" }, - "description": "Path parameter memory_store_id" + "schema": { "type": "string" }, + "description": "Path parameter tunnel_id" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateMemoryStoreRequestBody" } - } - } - }, "responses": { "200": { "description": "Successful response (OK)", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsUpdateMemoryStoreResponse" } - } - } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaTunnel" } } } }, "400": { "description": "Invalid argument - The client specified an invalid argument", @@ -12505,12 +14003,14 @@ } } } - }, - "delete": { - "operationId": "BetaDeleteMemoryStore", - "summary": "Delete a memory store", + } + }, + "/v1/tunnels/{tunnel_id}/reveal_token?beta=true": { + "post": { + "operationId": "BetaRevealTunnelToken", + "summary": "Reveal Tunnel Token", + "description": "The Tunnels API is in research preview. It requires the `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a deprecation period. It supersedes the Admin API endpoints at `/v1/organizations/tunnels`, which remain available during a migration window.\n\nReveals a tunnel's connector token. The value is fetched live on each call; Anthropic does not store it. Repeated calls return the same value until the token is rotated. Exposed as POST so the token does not appear in intermediary access logs.", "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -12529,20 +14029,18 @@ } }, { - "name": "memory_store_id", + "name": "tunnel_id", "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter memory_store_id" + "description": "Path parameter tunnel_id" } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsDeleteMemoryStoreResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaTunnelToken" } } } }, "400": { @@ -12638,10 +14136,11 @@ } } }, - "/v1/memory_stores/{memory_store_id}/archive?beta=true": { + "/v1/tunnels/{tunnel_id}/rotate_token?beta=true": { "post": { - "operationId": "BetaArchiveMemoryStore", - "summary": "Archive a memory store", + "operationId": "BetaRotateTunnelToken", + "summary": "Rotate Tunnel Token", + "description": "The Tunnels API is in research preview. It requires the `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a deprecation period. It supersedes the Admin API endpoints at `/v1/organizations/tunnels`, which remain available during a migration window.\n\nRotates a tunnel's connector token. Rotation invalidates the current token for new connections and returns a fresh value; established connections are not severed. A connector restarted after rotation must use the new value.", "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -12661,130 +14160,26 @@ } }, { - "name": "memory_store_id", + "name": "tunnel_id", "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter memory_store_id" + "description": "Path parameter tunnel_id" } ], - "responses": { - "200": { - "description": "Successful response (OK)", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaManagedAgentsArchiveMemoryStoreResponse" } - } - } - }, - "400": { - "description": "Invalid argument - The client specified an invalid argument", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "401": { - "description": "Unauthenticated - The request does not have valid authentication credentials", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "403": { - "description": "Permission denied - The caller does not have permission to execute the specified operation", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "404": { - "description": "Not found - Some requested entity was not found", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "408": { - "description": "Deadline exceeded - The deadline expired before the operation could complete", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "409": { - "description": "Aborted - The operation was aborted due to concurrency issue", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "412": { - "description": "Failed precondition - Operation was rejected because the system is not in required state", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "413": { - "description": "Out of range - Operation was attempted past the valid range", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "429": { - "description": "Resource exhausted - Some resource has been exhausted (rate limiting)", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "431": { - "description": "Request header fields too large - Request metadata was too large", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "499": { - "description": "Cancelled - The operation was cancelled by the client", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "500": { - "description": "Internal - Internal server error", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "501": { - "description": "Unimplemented - The operation is not implemented or supported", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "503": { - "description": "Unavailable - The service is currently unavailable", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - }, - "504": { - "description": "Deadline exceeded - Upstream service did not respond in time", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } - } - } - } - } - }, - "/v1/user_profiles?beta=true": { - "post": { - "operationId": "BetaCreateUserProfile", - "summary": "Create User Profile", "requestBody": { "required": true, "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaCreateUserProfileRequest" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaRotateTunnelTokenRequestBody" } + } } }, "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaUserProfile" } } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaTunnelToken" } } } }, "400": { @@ -12877,32 +14272,15 @@ "application/json": { "schema": { "$ref": "#/components/schemas/BetaErrorResponse" } } } } - }, - "parameters": [ - { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, - { - "name": "anthropic-beta", - "in": "header", - "required": false, - "schema": { - "type": "string", - "items": { "type": "string" }, - "x-stainless-override-schema": { - "x-stainless-param": "betas", - "x-stainless-extend-default": true, - "type": "array", - "description": "Optional header to specify the beta version(s) you want to use.", - "items": { "$ref": "#/components/schemas/AnthropicBeta" } - } - } - } - ] - }, - "get": { - "operationId": "BetaListUserProfiles", - "summary": "List User Profiles", + } + } + }, + "/v1/tunnels/{tunnel_id}/certificates?beta=true": { + "post": { + "operationId": "BetaCreateTunnelCertificate", + "summary": "Create Tunnel Certificate", + "description": "The Tunnels API is in research preview. It requires the `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a deprecation period. It supersedes the Admin API endpoints at `/v1/organizations/tunnels`, which remain available during a migration window.\n\nRegisters a public CA certificate on a tunnel. Anthropic verifies the gateway's server certificate against this CA when it terminates the inner TLS session. A tunnel holds at most two non-archived certificates.", "parameters": [ - { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -12921,34 +14299,26 @@ } }, { - "name": "limit", - "in": "query", - "required": false, - "schema": { "type": "integer", "format": "int32" }, - "description": "Query parameter for limit" - }, - { - "name": "page", - "in": "query", - "required": false, + "name": "tunnel_id", + "in": "path", + "required": true, "schema": { "type": "string" }, - "description": "Query parameter for page" - }, - { - "name": "order", - "in": "query", - "required": false, - "schema": { "$ref": "#/components/schemas/BetaUserProfileListOrder" }, - "description": "Query parameter for order" + "description": "Path parameter tunnel_id" } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaCreateTunnelCertificateRequestBody" } + } + } + }, "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaListUserProfilesResponse" } - } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaTunnelCertificate" } } } }, "400": { @@ -13042,12 +14412,11 @@ } } } - } - }, - "/v1/user_profiles/{user_profile_id}?beta=true": { + }, "get": { - "operationId": "BetaGetUserProfile", - "summary": "Get User Profile", + "operationId": "BetaListTunnelCertificates", + "summary": "List Tunnel Certificates", + "description": "The Tunnels API is in research preview. It requires the `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a deprecation period. It supersedes the Admin API endpoints at `/v1/organizations/tunnels`, which remain available during a migration window.\n\nLists the certificates registered on a tunnel. Archived certificates are excluded unless include_archived is set.", "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, @@ -13068,19 +14437,41 @@ } }, { - "name": "user_profile_id", + "name": "tunnel_id", "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter user_profile_id", - "example": "uprof_011CZkZCu8hGbp5mYRQgUmz9" + "description": "Path parameter tunnel_id" + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { "type": "integer", "format": "int32" }, + "description": "Maximum number of certificates to return per page. Defaults to 20, maximum 1000." + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { "type": "string" }, + "description": "Opaque pagination cursor from a previous `list_tunnel_certificates` response." + }, + { + "name": "include_archived", + "in": "query", + "required": false, + "schema": { "type": "boolean" }, + "description": "Whether to include archived certificates in the results. Defaults to false." } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaUserProfile" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/BetaListTunnelCertificatesResponse" } + } } }, "400": { @@ -13174,11 +14565,15 @@ } } } - }, - "post": { - "operationId": "BetaUpdateUserProfile", - "summary": "Update User Profile", + } + }, + "/v1/tunnels/{tunnel_id}/certificates/{certificate_id}?beta=true": { + "get": { + "operationId": "BetaGetTunnelCertificate", + "summary": "Get Tunnel Certificate", + "description": "The Tunnels API is in research preview. It requires the `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a deprecation period. It supersedes the Admin API endpoints at `/v1/organizations/tunnels`, which remain available during a migration window.\n\nFetches a tunnel certificate by ID.", "parameters": [ + { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "anthropic-beta", @@ -13197,27 +14592,25 @@ } }, { - "name": "user_profile_id", + "name": "tunnel_id", "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter user_profile_id", - "example": "uprof_011CZkZCu8hGbp5mYRQgUmz9" + "description": "Path parameter tunnel_id" + }, + { + "name": "certificate_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter certificate_id" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BetaUpdateUserProfileRequestBody" } - } - } - }, "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaUserProfile" } } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaTunnelCertificate" } } } }, "400": { @@ -13313,10 +14706,11 @@ } } }, - "/v1/user_profiles/{user_profile_id}/enrollment_url?beta=true": { + "/v1/tunnels/{tunnel_id}/certificates/{certificate_id}/archive?beta=true": { "post": { - "operationId": "BetaCreateEnrollmentUrl", - "summary": "Create Enrollment URL", + "operationId": "BetaArchiveTunnelCertificate", + "summary": "Archive Tunnel Certificate", + "description": "The Tunnels API is in research preview. It requires the `anthropic-beta: mcp-tunnels-2026-06-22` header and may change without a deprecation period. It supersedes the Admin API endpoints at `/v1/organizations/tunnels`, which remain available during a migration window.\n\nArchives a tunnel certificate, removing it from the set Anthropic trusts for the tunnel. The certificate record is retained. Archiving the last non-archived certificate is permitted; the tunnel rejects MCP traffic until a new certificate is added.", "parameters": [ { "name": "anthropic-version", "in": "header", "required": false, "schema": { "type": "string" } }, { @@ -13336,19 +14730,25 @@ } }, { - "name": "user_profile_id", + "name": "tunnel_id", "in": "path", "required": true, "schema": { "type": "string" }, - "description": "Path parameter user_profile_id", - "example": "uprof_011CZkZCu8hGbp5mYRQgUmz9" + "description": "Path parameter tunnel_id" + }, + { + "name": "certificate_id", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "description": "Path parameter certificate_id" } ], "responses": { "200": { "description": "Successful response (OK)", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/BetaEnrollmentUrl" } } + "application/json": { "schema": { "$ref": "#/components/schemas/BetaTunnelCertificate" } } } }, "400": { @@ -13890,42 +15290,40 @@ }, "BetaBody_create_skill_v1_skills_post": { "properties": { + "files": { + "items": { "type": "string", "format": "binary" }, + "type": "array", + "title": "Files", + "description": "Files to upload for the skill.\n\nAll files must be in the same top-level directory and must include a SKILL.md file at the root of that directory." + }, "display_title": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Display Title", "description": "Display title for the skill.\n\nThis is a human-readable label that is not included in the prompt sent to the model." - }, - "files": { - "anyOf": [ - { "items": { "type": "string", "format": "binary" }, "type": "array" }, - { "type": "null", "x-stainless-skip": ["cli"] } - ], - "title": "Files", - "description": "Files to upload for the skill.\n\nAll files must be in the same top-level directory and must include a SKILL.md file at the root of that directory." } }, "type": "object", + "required": ["files"], "title": "Body_create_skill_v1_skills_post" }, "BetaBody_create_skill_version_v1_skills__skill_id__versions_post": { "properties": { "files": { - "anyOf": [ - { "items": { "type": "string", "format": "binary" }, "type": "array" }, - { "type": "null", "x-stainless-skip": ["cli"] } - ], + "items": { "type": "string", "format": "binary" }, + "type": "array", "title": "Files", "description": "Files to upload for the skill.\n\nAll files must be in the same top-level directory and must include a SKILL.md file at the root of that directory." } }, "type": "object", + "required": ["files"], "title": "Body_create_skill_version_v1_skills__skill_id__versions_post" }, "BetaCacheControlEphemeral": { "additionalProperties": false, "properties": { "ttl": { - "description": "The time-to-live for the cache control breakpoint.\n\nThis may be one the following values:\n- `5m`: 5 minutes\n- `1h`: 1 hour\n\nDefaults to `5m`. See [prompt caching pricing](https://docs.claude.com/en/docs/build-with-claude/prompt-caching) for details.", + "description": "The time-to-live for the cache control breakpoint.\n\nThis may be one the following values:\n- `5m`: 5 minutes\n- `1h`: 1 hour\n\nDefaults to `5m`. See [prompt caching pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) for details.", "enum": ["5m", "1h"], "title": "Ttl", "type": "string", @@ -15079,7 +16477,7 @@ "type": "array" }, "messages": { - "description": "Input messages.\n\nOur models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello, Claude\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"Hello there.\"},\n {\"role\": \"assistant\", \"content\": \"Hi, I'm Claude. How can I help you?\"},\n {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from Claude:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello, Claude\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello, Claude\"}]}\n```\n\nSee [input examples](https://docs.claude.com/en/api/messages-examples).\n\nNote that if you want to include a [system prompt](https://docs.claude.com/en/docs/system-prompts), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request.", + "description": "Input messages.\n\nOur models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello, Claude\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"Hello there.\"},\n {\"role\": \"assistant\", \"content\": \"Hi, I'm Claude. How can I help you?\"},\n {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from Claude:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello, Claude\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello, Claude\"}]}\n```\n\nSee [input examples](https://platform.claude.com/docs/en/build-with-claude/working-with-messages).\n\nNote that if you want to include a [system prompt](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request.", "items": { "$ref": "#/components/schemas/BetaInputMessage" }, "title": "Messages", "type": "array" @@ -15103,7 +16501,7 @@ { "type": "string" }, { "items": { "$ref": "#/components/schemas/BetaRequestTextBlock" }, "type": "array" } ], - "description": "System prompt.\n\nA system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://docs.claude.com/en/docs/system-prompts).", + "description": "System prompt.\n\nA system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role).", "examples": [ [{ "text": "Today's date is 2024-06-01.", "type": "text" }], "Today's date is 2023-01-01." @@ -15113,7 +16511,7 @@ "thinking": { "$ref": "#/components/schemas/BetaThinkingConfigParam" }, "tool_choice": { "$ref": "#/components/schemas/BetaToolChoice" }, "tools": { - "description": "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nThere are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://docs.claude.com/en/docs/agents-and-tools/tool-use/overview#server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-search-tool)).\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n {\n \"name\": \"get_stock_price\",\n \"description\": \"Get the current stock price for a given ticker symbol.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticker\": {\n \"type\": \"string\",\n \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n }\n },\n \"required\": [\"ticker\"]\n }\n }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n {\n \"type\": \"tool_use\",\n \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"name\": \"get_stock_price\",\n \"input\": { \"ticker\": \"^GSPC\" }\n }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"content\": \"259.75 USD\"\n }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee our [guide](https://docs.claude.com/en/docs/tool-use) for more details.", + "description": "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nThere are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://platform.claude.com/docs/en/agents-and-tools/tool-use/server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)).\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n {\n \"name\": \"get_stock_price\",\n \"description\": \"Get the current stock price for a given ticker symbol.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticker\": {\n \"type\": \"string\",\n \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n }\n },\n \"required\": [\"ticker\"]\n }\n }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n {\n \"type\": \"tool_use\",\n \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"name\": \"get_stock_price\",\n \"input\": { \"ticker\": \"^GSPC\" }\n }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"content\": \"259.75 USD\"\n }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee our [guide](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) for more details.", "examples": [ { "description": "Get the current weather in a given location", @@ -15156,6 +16554,8 @@ { "$ref": "#/components/schemas/BetaWebSearchTool_20260209" }, { "$ref": "#/components/schemas/BetaWebFetchTool_20260209" }, { "$ref": "#/components/schemas/BetaWebFetchTool_20260309" }, + { "$ref": "#/components/schemas/BetaWebSearchTool_20260318" }, + { "$ref": "#/components/schemas/BetaWebFetchTool_20260318" }, { "$ref": "#/components/schemas/BetaAdvisorTool_20260301" }, { "$ref": "#/components/schemas/BetaToolSearchToolBM25_20251119" }, { "$ref": "#/components/schemas/BetaToolSearchToolRegex_20251119" }, @@ -15214,7 +16614,7 @@ "properties": { "model": { "$ref": "#/components/schemas/Model" }, "messages": { - "description": "Input messages.\n\nOur models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello, Claude\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"Hello there.\"},\n {\"role\": \"assistant\", \"content\": \"Hi, I'm Claude. How can I help you?\"},\n {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from Claude:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello, Claude\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello, Claude\"}]}\n```\n\nSee [input examples](https://docs.claude.com/en/api/messages-examples).\n\nNote that if you want to include a [system prompt](https://docs.claude.com/en/docs/system-prompts), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request.", + "description": "Input messages.\n\nOur models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello, Claude\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"Hello there.\"},\n {\"role\": \"assistant\", \"content\": \"Hi, I'm Claude. How can I help you?\"},\n {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from Claude:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello, Claude\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello, Claude\"}]}\n```\n\nSee [input examples](https://platform.claude.com/docs/en/build-with-claude/working-with-messages).\n\nNote that if you want to include a [system prompt](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request.", "items": { "$ref": "#/components/schemas/BetaInputMessage" }, "title": "Messages", "type": "array" @@ -15274,7 +16674,7 @@ "title": "Inference Geo" }, "max_tokens": { - "description": "The maximum number of tokens to generate before stopping.\n\nNote that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.\n\nSet to `0` to populate the [prompt cache](https://docs.claude.com/en/docs/build-with-claude/prompt-caching#pre-warming-the-cache) without generating a response.\n\nDifferent models have different maximum values for this parameter. See [models](https://docs.claude.com/en/docs/models-overview) for details.", + "description": "The maximum number of tokens to generate before stopping.\n\nNote that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.\n\nSet to `0` to populate the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pre-warming-the-cache) without generating a response.\n\nDifferent models have different maximum values for this parameter. See [models](https://platform.claude.com/docs/en/about-claude/models/overview) for details.", "examples": [1024], "minimum": 0, "title": "Max Tokens", @@ -15301,7 +16701,7 @@ "description": "Deprecated: Use `output_config.format` instead. See [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs)\n\nA schema to specify Claude's output format in responses. This parameter will be removed in a future release." }, "service_tier": { - "description": "Determines whether to use priority capacity (if available) or standard capacity for this request.\n\nAnthropic offers different levels of service for your API requests. See [service-tiers](https://docs.claude.com/en/api/service-tiers) for details.", + "description": "Determines whether to use priority capacity (if available) or standard capacity for this request.\n\nAnthropic offers different levels of service for your API requests. See [service-tiers](https://platform.claude.com/docs/en/api/service-tiers) for details.", "enum": ["auto", "standard_only"], "title": "Service Tier", "type": "string" @@ -15317,7 +16717,7 @@ "type": "array" }, "stream": { - "description": "Whether to incrementally stream the response using server-sent events.\n\nSee [streaming](https://docs.claude.com/en/api/messages-streaming) for details.", + "description": "Whether to incrementally stream the response using server-sent events.\n\nSee [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming) for details.", "title": "Stream", "type": "boolean", "example": false @@ -15327,7 +16727,7 @@ { "type": "string", "x-stainless-skip": ["go"] }, { "items": { "$ref": "#/components/schemas/BetaRequestTextBlock" }, "type": "array" } ], - "description": "System prompt.\n\nA system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://docs.claude.com/en/docs/system-prompts).", + "description": "System prompt.\n\nA system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role).", "examples": [ [{ "text": "Today's date is 2024-06-01.", "type": "text" }], "Today's date is 2023-01-01." @@ -15347,7 +16747,7 @@ "thinking": { "$ref": "#/components/schemas/BetaThinkingConfigParam" }, "tool_choice": { "$ref": "#/components/schemas/BetaToolChoice" }, "tools": { - "description": "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nThere are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://docs.claude.com/en/docs/agents-and-tools/tool-use/overview#server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-search-tool)).\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n {\n \"name\": \"get_stock_price\",\n \"description\": \"Get the current stock price for a given ticker symbol.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticker\": {\n \"type\": \"string\",\n \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n }\n },\n \"required\": [\"ticker\"]\n }\n }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n {\n \"type\": \"tool_use\",\n \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"name\": \"get_stock_price\",\n \"input\": { \"ticker\": \"^GSPC\" }\n }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"content\": \"259.75 USD\"\n }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee our [guide](https://docs.claude.com/en/docs/tool-use) for more details.", + "description": "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nThere are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://platform.claude.com/docs/en/agents-and-tools/tool-use/server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)).\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n {\n \"name\": \"get_stock_price\",\n \"description\": \"Get the current stock price for a given ticker symbol.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticker\": {\n \"type\": \"string\",\n \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n }\n },\n \"required\": [\"ticker\"]\n }\n }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n {\n \"type\": \"tool_use\",\n \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"name\": \"get_stock_price\",\n \"input\": { \"ticker\": \"^GSPC\" }\n }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"content\": \"259.75 USD\"\n }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee our [guide](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) for more details.", "examples": [ { "description": "Get the current weather in a given location", @@ -15390,6 +16790,8 @@ { "$ref": "#/components/schemas/BetaWebSearchTool_20260209" }, { "$ref": "#/components/schemas/BetaWebFetchTool_20260209" }, { "$ref": "#/components/schemas/BetaWebFetchTool_20260309" }, + { "$ref": "#/components/schemas/BetaWebSearchTool_20260318" }, + { "$ref": "#/components/schemas/BetaWebFetchTool_20260318" }, { "$ref": "#/components/schemas/BetaAdvisorTool_20260301" }, { "$ref": "#/components/schemas/BetaToolSearchToolBM25_20251119" }, { "$ref": "#/components/schemas/BetaToolSearchToolRegex_20251119" }, @@ -15527,6 +16929,32 @@ "required": ["created_at", "description", "directory", "id", "name", "skill_id", "type", "version"], "title": "CreateSkillVersionResponse" }, + "BetaCreateTunnelCertificateRequestBody": { + "type": "object", + "additionalProperties": false, + "required": ["ca_certificate_pem"], + "properties": { + "ca_certificate_pem": { + "description": "PEM-encoded X.509 CA certificate. Must contain exactly one certificate and no private-key material. Maximum 8KB.", + "type": "string", + "maxLength": 8192 + } + } + }, + "BetaCreateTunnelRequest": { + "description": "Request parameters for creating a tunnel.", + "type": "object", + "additionalProperties": false, + "properties": { + "display_name": { + "description": "Optional human-readable name for the tunnel (1-255 characters).", + "type": "string", + "minLength": 1, + "maxLength": 255, + "nullable": true + } + } + }, "BetaCreateUserProfileRequest": { "type": "object", "additionalProperties": false, @@ -16634,6 +18062,42 @@ "required": ["data", "has_more", "next_page"], "title": "ListSkillsResponse" }, + "BetaListTunnelCertificatesResponse": { + "description": "The tunnel's certificates.", + "type": "object", + "additionalProperties": false, + "required": ["data", "next_page"], + "properties": { + "data": { + "description": "List of certificates, ordered by created_at descending.", + "type": "array", + "items": { "$ref": "#/components/schemas/BetaTunnelCertificate" } + }, + "next_page": { + "description": "Pagination cursor for the next page, or null if no more results.", + "type": "string", + "nullable": true + } + } + }, + "BetaListTunnelsResponse": { + "description": "A paginated list of tunnels.", + "type": "object", + "additionalProperties": false, + "required": ["data", "next_page"], + "properties": { + "data": { + "description": "List of tunnels, ordered by created_at descending.", + "type": "array", + "items": { "$ref": "#/components/schemas/BetaTunnel" } + }, + "next_page": { + "description": "Pagination cursor for the next page, or null if no more results.", + "type": "string", + "nullable": true + } + } + }, "BetaListUserProfilesResponse": { "type": "object", "additionalProperties": false, @@ -17375,6 +18839,46 @@ } ] }, + "BetaManagedAgentsAgentWithOverridesParams": { + "description": "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.", + "type": "object", + "additionalProperties": false, + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "enum": ["agent_with_overrides"] }, + "id": { "description": "The `agent` ID.", "type": "string", "minLength": 1, "maxLength": 128 }, + "version": { + "description": "The specific `agent` version to use. Omit to use the latest version.", + "type": "integer", + "format": "int32" + }, + "model": { + "description": "Replacement model. Accepts the model string, e.g. `claude-opus-4-6`, or a `model_config` object. Omit to use the agent's model.", + "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsModelParams" }] + }, + "system": { + "description": "Replacement system prompt. Up to 100,000 characters. Set to null to clear the agent's system prompt; omit to preserve it.", + "type": "string", + "maxLength": 100000, + "nullable": true + }, + "tools": { + "description": "Replacement tool list. Full replacement: the provided array becomes the tool configuration. Send an empty array to clear; omit to preserve the agent's tools.", + "type": "array", + "items": { "$ref": "#/components/schemas/BetaManagedAgentsAgentToolParams" } + }, + "mcp_servers": { + "description": "Replacement MCP server list. Full replacement: the provided array becomes the MCP servers. Send an empty array to clear; omit to preserve the agent's servers.", + "type": "array", + "items": { "$ref": "#/components/schemas/BetaManagedAgentsMCPServerParams" } + }, + "skills": { + "description": "Replacement skill list. Full replacement: the provided array becomes the skills. Send an empty array to clear; omit to preserve the agent's skills.", + "type": "array", + "items": { "$ref": "#/components/schemas/BetaManagedAgentsSkillParams" } + } + } + }, "BetaManagedAgentsAlwaysAllowPolicy": { "description": "Tool calls are automatically approved without user confirmation.", "type": "object", @@ -17771,6 +19275,24 @@ }, "oneOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsMemoryStore" }] }, + "BetaManagedAgentsCreateSessionAgentUnionParams": { + "oneOf": [ + { "type": "string" }, + { + "oneOf": [ + { "$ref": "#/components/schemas/BetaManagedAgentsAgentParams" }, + { "$ref": "#/components/schemas/BetaManagedAgentsAgentWithOverridesParams" } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "agent": "#/components/schemas/BetaManagedAgentsAgentParams", + "agent_with_overrides": "#/components/schemas/BetaManagedAgentsAgentWithOverridesParams" + } + } + } + ] + }, "BetaManagedAgentsCreateSessionParams": { "description": "Request parameters for creating a `session`.", "type": "object", @@ -17779,7 +19301,7 @@ "properties": { "agent": { "description": "Agent identifier. Accepts the `agent` ID string, which pins the latest version for the session, or an `agent` object with both id and version specified.", - "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsAgentUnionParams" }], + "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsCreateSessionAgentUnionParams" }], "examples": ["agent_011CZkYpogX7uDKUyvBTophP"] }, "environment_id": { @@ -18101,28 +19623,39 @@ "additionalProperties": false, "required": ["type", "expression", "timezone"], "properties": { - "type": { "type": "string", "enum": ["cron"] }, + "type": { "type": "string", "enum": ["cron"], "examples": ["cron"] }, "expression": { "description": "5-field POSIX cron expression: minute hour day-of-month month day-of-week (e.g., \"0 9 * * 1-5\" for weekdays at 9am). Day-of-week is 0-7 where 0 and 7 both mean Sunday. Extended cron syntax - seconds or year fields, and the special characters L, W, #, and ? - is not supported, nor are predefined shortcuts (@daily).", "type": "string", "minLength": 1, - "maxLength": 256 + "maxLength": 256, + "examples": ["0 9 * * 1-5"] }, "timezone": { "description": "IANA timezone identifier (e.g., \"America/Los_Angeles\", \"UTC\").", "type": "string", - "minLength": 1 + "minLength": 1, + "examples": ["America/Los_Angeles"] }, "last_run_at": { "description": "Time the most recent scheduled run actually started. Null until one completes; preserved after the deployment is archived. Manual runs do not update this.", "allOf": [{ "$ref": "#/components/schemas/BetaTimestamp" }], - "nullable": true + "nullable": true, + "examples": ["2026-03-16T16:00:09Z"] }, "upcoming_runs_at": { "description": "Up to 5 timestamps of upcoming cron occurrences. Non-empty for active and paused deployments (reflects what the schedule would do if unpaused); empty once the deployment is archived (`archived_at` set). Each fire is offset by a small per-schedule jitter, so a run will actually start at or shortly after its listed time.", "type": "array", - "items": { "$ref": "#/components/schemas/BetaTimestamp" } + "items": { "$ref": "#/components/schemas/BetaTimestamp" }, + "examples": [["2026-03-17T16:00:00Z", "2026-03-18T16:00:00Z"]] } + }, + "example": { + "type": "cron", + "expression": "0 9 * * 1-5", + "timezone": "America/Los_Angeles", + "last_run_at": "2026-03-16T16:00:09Z", + "upcoming_runs_at": ["2026-03-17T16:00:00Z", "2026-03-18T16:00:00Z"] } }, "BetaManagedAgentsCronScheduleParams": { @@ -18131,19 +19664,22 @@ "additionalProperties": false, "required": ["type", "expression", "timezone"], "properties": { - "type": { "type": "string", "enum": ["cron"] }, + "type": { "type": "string", "enum": ["cron"], "examples": ["cron"] }, "expression": { "description": "5-field POSIX cron expression: minute hour day-of-month month day-of-week (e.g., \"0 9 * * 1-5\" for weekdays at 9am). Day-of-week is 0-7 where 0 and 7 both mean Sunday. Extended cron syntax - seconds or year fields, and the special characters L, W, #, and ? - is not supported, nor are predefined shortcuts (@daily).", "type": "string", "minLength": 1, - "maxLength": 256 + "maxLength": 256, + "examples": ["0 9 * * 1-5"] }, "timezone": { "description": "Required. IANA timezone identifier (e.g., \"America/Los_Angeles\", \"UTC\"). Validated against the IANA timezone database.", "type": "string", - "minLength": 1 + "minLength": 1, + "examples": ["America/Los_Angeles"] } - } + }, + "example": { "type": "cron", "expression": "0 9 * * 1-5", "timezone": "America/Los_Angeles" } }, "BetaManagedAgentsCustomSkill": { "description": "A resolved user-created custom skill.", @@ -18352,69 +19888,134 @@ "archived_at" ], "properties": { - "type": { "type": "string", "enum": ["deployment"] }, - "id": { "description": "Unique identifier for this deployment.", "type": "string" }, - "name": { "description": "Human-readable name.", "type": "string" }, + "type": { "type": "string", "enum": ["deployment"], "examples": ["deployment"] }, + "id": { + "description": "Unique identifier for this deployment.", + "type": "string", + "examples": ["depl_011CZkZcDH3vPqd7xnEfwTai"] + }, + "name": { + "description": "Human-readable name.", + "type": "string", + "examples": ["Daily order report"] + }, "description": { "description": "Description of what the deployment does.", "type": "string", - "nullable": true + "nullable": true, + "examples": ["Compiles yesterday's orders into a report every weekday morning."] }, "agent": { "description": "Reference to the agent this deployment runs, resolved to a concrete version.", - "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsAgentReference" }] + "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsAgentReference" }], + "examples": [{ "type": "agent", "id": "agent_011CZkYpogX7uDKUyvBTophP", "version": 1 }] }, "environment_id": { "description": "ID of the `environment` where sessions run.", - "type": "string" + "type": "string", + "examples": ["env_011CZkZ9X2dpNyB7HsEFoRfW"] }, "vault_ids": { "description": "Vault IDs supplying stored credentials for sessions created from this deployment.", "type": "array", - "items": { "type": "string" } + "items": { "type": "string" }, + "examples": [["vlt_011CZkZDLs7fYzm1hXNPeRjv"]] }, "initial_events": { "description": "Events sent to each session immediately after creation.", "type": "array", - "items": { "$ref": "#/components/schemas/BetaManagedAgentsDeploymentInitialEvent" } + "items": { "$ref": "#/components/schemas/BetaManagedAgentsDeploymentInitialEvent" }, + "examples": [ + [ + { + "type": "user.message", + "content": [{ "type": "text", "text": "Compile yesterday's orders into report.md." }] + } + ] + ] }, "resources": { "description": "Resources attached to sessions created from this deployment. Echoes the input minus write-only credentials.", "type": "array", - "items": { "$ref": "#/components/schemas/BetaManagedAgentsSessionResourceConfig" } + "items": { "$ref": "#/components/schemas/BetaManagedAgentsSessionResourceConfig" }, + "examples": [[]] }, "metadata": { "description": "Arbitrary key-value metadata. Maximum 16 pairs.", "type": "object", - "additionalProperties": { "type": "string" } + "additionalProperties": { "type": "string" }, + "examples": [{}] }, "schedule": { "description": "Recurring cron schedule. Presence enables scheduled execution; null means manual-only. Includes computed timestamps (next fire times, last run) on the cron variant.", "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsSchedule" }], - "nullable": true + "nullable": true, + "examples": [ + { + "type": "cron", + "expression": "0 9 * * 1-5", + "timezone": "America/Los_Angeles", + "last_run_at": "2026-03-16T16:00:09Z", + "upcoming_runs_at": ["2026-03-17T16:00:00Z", "2026-03-18T16:00:00Z"] + } + ] }, "status": { "description": "Computed status of the deployment: `active` or `paused`. Archived deployments report `active` with `archived_at` set.", - "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsDeploymentStatus" }] + "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsDeploymentStatus" }], + "examples": ["active"] }, "paused_reason": { "description": "Why the deployment is paused. Non-null exactly when status is paused; null otherwise.", "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsDeploymentPausedReason" }], - "nullable": true + "nullable": true, + "examples": [null] }, "created_at": { "description": "Time the deployment was created.", - "allOf": [{ "$ref": "#/components/schemas/BetaTimestamp" }] + "allOf": [{ "$ref": "#/components/schemas/BetaTimestamp" }], + "examples": ["2026-03-15T10:00:00Z"] }, "updated_at": { "description": "Time the deployment was last updated.", - "allOf": [{ "$ref": "#/components/schemas/BetaTimestamp" }] + "allOf": [{ "$ref": "#/components/schemas/BetaTimestamp" }], + "examples": ["2026-03-15T10:00:00Z"] }, "archived_at": { "description": "Time the deployment was archived. Null if not archived.", "allOf": [{ "$ref": "#/components/schemas/BetaTimestamp" }], - "nullable": true + "nullable": true, + "examples": [null] } + }, + "example": { + "type": "deployment", + "id": "depl_011CZkZcDH3vPqd7xnEfwTai", + "name": "Daily order report", + "description": "Compiles yesterday's orders into a report every weekday morning.", + "agent": { "type": "agent", "id": "agent_011CZkYpogX7uDKUyvBTophP", "version": 1 }, + "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW", + "vault_ids": ["vlt_011CZkZDLs7fYzm1hXNPeRjv"], + "initial_events": [ + { + "type": "user.message", + "content": [{ "type": "text", "text": "Compile yesterday's orders into report.md." }] + } + ], + "resources": [], + "metadata": {}, + "schedule": { + "type": "cron", + "expression": "0 9 * * 1-5", + "timezone": "America/Los_Angeles", + "last_run_at": "2026-03-16T16:00:09Z", + "upcoming_runs_at": ["2026-03-17T16:00:00Z", "2026-03-18T16:00:00Z"] + }, + "status": "active", + "paused_reason": null, + "created_at": "2026-03-15T10:00:00Z", + "updated_at": "2026-03-15T10:00:00Z", + "archived_at": null } }, "BetaManagedAgentsDeploymentInitialEvent": { @@ -18686,13 +20287,17 @@ "description": "Environment variable credential details. The secret value is never returned.", "type": "object", "additionalProperties": false, - "required": ["type", "secret_name", "networking"], + "required": ["type", "secret_name", "networking", "injection_location"], "properties": { "type": { "type": "string", "enum": ["environment_variable"] }, "secret_name": { "description": "Name of the environment variable.", "type": "string" }, "networking": { "description": "Outbound hosts the secret value is substituted on.", "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsCredentialNetworkingResponse" }] + }, + "injection_location": { + "description": "Where in the outbound request the secret value is substituted.", + "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsInjectionLocationResponse" }] } } }, @@ -18718,6 +20323,10 @@ "networking": { "description": "Outbound hosts the secret value is substituted on.", "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsCredentialNetworkingParams" }] + }, + "injection_location": { + "description": "Where in the outbound request the secret value may be substituted.", + "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsInjectionLocationParams" }] } } }, @@ -18739,6 +20348,10 @@ "description": "Updated networking scope. Full replacement.", "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsCredentialNetworkingParams" }], "nullable": true + }, + "injection_location": { + "description": "Updated injection location.", + "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsInjectionLocationUpdateParams" }] } } }, @@ -18767,6 +20380,53 @@ "error": { "$ref": "#/components/schemas/BetaManagedAgentsError" } } }, + "BetaManagedAgentsEventDeltaEvent": { + "description": "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": "object", + "additionalProperties": false, + "required": ["type", "event_id", "delta"], + "properties": { + "type": { "type": "string", "enum": ["event_delta"] }, + "event_id": { + "description": "The id of the event being previewed. Matches event.id on the corresponding event_start and the buffered event that reconciles the preview.", + "type": "string" + }, + "delta": { + "description": "One fragment of the previewed event. The delta type is named for the previewed event's field it streams into: agent.message events stream content_delta fragments, each a partial element of the content array.", + "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsEventDeltaEvent_Delta" }] + } + } + }, + "BetaManagedAgentsEventDeltaEvent_ContentDelta": { + "type": "object", + "additionalProperties": false, + "required": ["type", "content"], + "properties": { + "type": { "type": "string", "enum": ["content_delta"] }, + "index": { + "description": "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.", + "type": "integer", + "format": "uint32" + }, + "content": { + "description": "A partial element of the content array at index, typed like the element itself — the same shape the buffered agent.message carries in content.", + "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsTextBlock" }] + } + } + }, + "BetaManagedAgentsEventDeltaEvent_Delta": { + "type": "object", + "discriminator": { + "propertyName": "type", + "mapping": { "content_delta": "#/components/schemas/BetaManagedAgentsEventDeltaEvent_ContentDelta" } + }, + "oneOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsEventDeltaEvent_ContentDelta" }] + }, + "BetaManagedAgentsEventDeltaType": { + "type": "string", + "description": "EventDeltaType enum", + "enum": ["agent.message", "agent.thinking"] + }, "BetaManagedAgentsEventParams": { "description": "Union type for event parameters that can be sent to a session.", "type": "object", @@ -18792,6 +20452,57 @@ { "$ref": "#/components/schemas/BetaManagedAgentsSystemMessageEventParams" } ] }, + "BetaManagedAgentsEventStartEvent": { + "description": "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.", + "type": "object", + "additionalProperties": false, + "required": ["type", "event"], + "properties": { + "type": { "type": "string", "enum": ["event_start"] }, + "event": { + "description": "The previewed event's type and id. The event type determines which delta types the preview's event_delta events carry: agent.message events stream content_delta fragments; agent.thinking previews are start-only — no deltas follow, and the buffered agent.thinking with the same id concludes them.", + "allOf": [{ "$ref": "#/components/schemas/BetaManagedAgentsEventStartEvent_Event" }] + } + } + }, + "BetaManagedAgentsEventStartEvent_AgentMessagePreview": { + "type": "object", + "additionalProperties": false, + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "enum": ["agent.message"] }, + "id": { + "description": "The id the buffered agent.message will carry if it is emitted. Matches the event_id on this preview's event_delta events.", + "type": "string" + } + } + }, + "BetaManagedAgentsEventStartEvent_AgentThinkingPreview": { + "type": "object", + "additionalProperties": false, + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "enum": ["agent.thinking"] }, + "id": { + "description": "The id the buffered agent.thinking will carry if it is emitted. Start-only — no event_delta events follow.", + "type": "string" + } + } + }, + "BetaManagedAgentsEventStartEvent_Event": { + "type": "object", + "discriminator": { + "propertyName": "type", + "mapping": { + "agent.message": "#/components/schemas/BetaManagedAgentsEventStartEvent_AgentMessagePreview", + "agent.thinking": "#/components/schemas/BetaManagedAgentsEventStartEvent_AgentThinkingPreview" + } + }, + "oneOf": [ + { "$ref": "#/components/schemas/BetaManagedAgentsEventStartEvent_AgentMessagePreview" }, + { "$ref": "#/components/schemas/BetaManagedAgentsEventStartEvent_AgentThinkingPreview" } + ] + }, "BetaManagedAgentsFileDocumentSource": { "description": "Document referenced by file ID.", "type": "object", @@ -19068,6 +20779,52 @@ { "$ref": "#/components/schemas/BetaManagedAgentsFileImageSource" } ] }, + "BetaManagedAgentsInjectionLocationParams": { + "description": "Where in the outbound request the secret value may be substituted.", + "type": "object", + "additionalProperties": false, + "properties": { + "header": { + "description": "Substitute when the placeholder appears in a request header value.", + "type": "boolean" + }, + "body": { + "description": "Substitute when the placeholder appears in the request body.", + "type": "boolean" + } + } + }, + "BetaManagedAgentsInjectionLocationResponse": { + "description": "Where in the outbound request the secret value is substituted.", + "type": "object", + "additionalProperties": false, + "required": ["header", "body"], + "properties": { + "header": { + "description": "Whether the placeholder is substituted in request header values.", + "type": "boolean" + }, + "body": { + "description": "Whether the placeholder is substituted in the request body.", + "type": "boolean" + } + } + }, + "BetaManagedAgentsInjectionLocationUpdateParams": { + "description": "Updated injection location.", + "type": "object", + "additionalProperties": false, + "properties": { + "header": { + "description": "Substitute when the placeholder appears in a request header value.", + "type": "boolean" + }, + "body": { + "description": "Substitute when the placeholder appears in the request body.", + "type": "boolean" + } + } + }, "BetaManagedAgentsInputEvent": { "description": "Union type for events that can be sent to a session.", "type": "object", @@ -19246,14 +21003,82 @@ "description": "List of deployments.", "x-stainless-pagination-property": { "purpose": "items" }, "type": "array", - "items": { "$ref": "#/components/schemas/BetaManagedAgentsDeployment" } + "items": { "$ref": "#/components/schemas/BetaManagedAgentsDeployment" }, + "examples": [ + [ + { + "type": "deployment", + "id": "depl_011CZkZcDH3vPqd7xnEfwTai", + "name": "Daily order report", + "description": "Compiles yesterday's orders into a report every weekday morning.", + "agent": { "type": "agent", "id": "agent_011CZkYpogX7uDKUyvBTophP", "version": 1 }, + "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW", + "vault_ids": ["vlt_011CZkZDLs7fYzm1hXNPeRjv"], + "initial_events": [ + { + "type": "user.message", + "content": [{ "type": "text", "text": "Compile yesterday's orders into report.md." }] + } + ], + "resources": [], + "metadata": {}, + "schedule": { + "type": "cron", + "expression": "0 9 * * 1-5", + "timezone": "America/Los_Angeles", + "last_run_at": "2026-03-16T16:00:09Z", + "upcoming_runs_at": ["2026-03-17T16:00:00Z", "2026-03-18T16:00:00Z"] + }, + "status": "active", + "paused_reason": null, + "created_at": "2026-03-15T10:00:00Z", + "updated_at": "2026-03-15T10:00:00Z", + "archived_at": null + } + ] + ] }, "next_page": { "description": "Opaque cursor for the next page. Null when no more results.", "x-stainless-pagination-property": { "purpose": "next_cursor_field" }, "type": "string", - "nullable": true + "nullable": true, + "examples": ["page_MjAyNS0wNS0xNFQwMDowMDowMFo="] } + }, + "example": { + "data": [ + { + "type": "deployment", + "id": "depl_011CZkZcDH3vPqd7xnEfwTai", + "name": "Daily order report", + "description": "Compiles yesterday's orders into a report every weekday morning.", + "agent": { "type": "agent", "id": "agent_011CZkYpogX7uDKUyvBTophP", "version": 1 }, + "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW", + "vault_ids": ["vlt_011CZkZDLs7fYzm1hXNPeRjv"], + "initial_events": [ + { + "type": "user.message", + "content": [{ "type": "text", "text": "Compile yesterday's orders into report.md." }] + } + ], + "resources": [], + "metadata": {}, + "schedule": { + "type": "cron", + "expression": "0 9 * * 1-5", + "timezone": "America/Los_Angeles", + "last_run_at": "2026-03-16T16:00:09Z", + "upcoming_runs_at": ["2026-03-17T16:00:00Z", "2026-03-18T16:00:00Z"] + }, + "status": "active", + "paused_reason": null, + "created_at": "2026-03-15T10:00:00Z", + "updated_at": "2026-03-15T10:00:00Z", + "archived_at": null + } + ], + "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo=" } }, "BetaManagedAgentsListMemoriesResult": { @@ -19262,7 +21087,7 @@ "additionalProperties": false, "properties": { "data": { - "description": "One page of results. Each item is either a `memory` object or, when `depth` was set, a `memory_prefix` rollup marker. Items appear in the requested `order_by`/`order`.", + "description": "One page of results. Each item is either a `memory` object or, when `depth` was set, a `memory_prefix` rollup marker. Items are returned in a stable, server-defined order.", "type": "array", "items": { "$ref": "#/components/schemas/BetaManagedAgentsMemoryListItem" } }, @@ -19565,9 +21390,19 @@ "type": "string", "nullable": true, "examples": ["page_MjAyNS0wNS0xNFQwMDowMDowMFo="] + }, + "prev_page": { + "description": "Opaque cursor for the previous page. Null when on the first page. Pass as the `page` parameter to navigate backward.", + "type": "string", + "nullable": true, + "examples": ["page_MjAyNS0wNS0xM1QwMDowMDowMFo="] } }, - "example": { "data": [], "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo=" } + "example": { + "data": [], + "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo=", + "prev_page": "page_MjAyNS0wNS0xM1QwMDowMDowMFo=" + } }, "BetaManagedAgentsListVaultsResponse": { "description": "Response containing a paginated list of vaults.", @@ -22508,6 +24343,8 @@ "user.tool_result": "#/components/schemas/BetaManagedAgentsUserToolResultEvent", "session.thread_status_rescheduled": "#/components/schemas/BetaManagedAgentsSessionThreadStatusRescheduledEvent", "session.updated": "#/components/schemas/BetaManagedAgentsSessionUpdatedEvent", + "event_start": "#/components/schemas/BetaManagedAgentsEventStartEvent", + "event_delta": "#/components/schemas/BetaManagedAgentsEventDeltaEvent", "system.message": "#/components/schemas/BetaManagedAgentsSystemMessageEvent" } }, @@ -22545,6 +24382,8 @@ { "$ref": "#/components/schemas/BetaManagedAgentsUserToolResultEvent" }, { "$ref": "#/components/schemas/BetaManagedAgentsSessionThreadStatusRescheduledEvent" }, { "$ref": "#/components/schemas/BetaManagedAgentsSessionUpdatedEvent" }, + { "$ref": "#/components/schemas/BetaManagedAgentsEventStartEvent" }, + { "$ref": "#/components/schemas/BetaManagedAgentsEventDeltaEvent" }, { "$ref": "#/components/schemas/BetaManagedAgentsSystemMessageEvent" } ] }, @@ -22587,6 +24426,8 @@ "user.tool_result": "#/components/schemas/BetaManagedAgentsUserToolResultEvent", "session.thread_status_rescheduled": "#/components/schemas/BetaManagedAgentsSessionThreadStatusRescheduledEvent", "session.updated": "#/components/schemas/BetaManagedAgentsSessionUpdatedEvent", + "event_start": "#/components/schemas/BetaManagedAgentsEventStartEvent", + "event_delta": "#/components/schemas/BetaManagedAgentsEventDeltaEvent", "system.message": "#/components/schemas/BetaManagedAgentsSystemMessageEvent" } }, @@ -22624,6 +24465,8 @@ { "$ref": "#/components/schemas/BetaManagedAgentsUserToolResultEvent" }, { "$ref": "#/components/schemas/BetaManagedAgentsSessionThreadStatusRescheduledEvent" }, { "$ref": "#/components/schemas/BetaManagedAgentsSessionUpdatedEvent" }, + { "$ref": "#/components/schemas/BetaManagedAgentsEventStartEvent" }, + { "$ref": "#/components/schemas/BetaManagedAgentsEventDeltaEvent" }, { "$ref": "#/components/schemas/BetaManagedAgentsSystemMessageEvent" } ] }, @@ -22941,7 +24784,6 @@ "description": "Request parameters for updating an `agent`. Omit a field to preserve its current value.", "type": "object", "additionalProperties": false, - "required": ["version"], "properties": { "version": { "description": "The agent's current version, used to prevent concurrent overwrites. Obtain this value from a create or retrieve response. The request fails if this does not match the server's current version.", @@ -23006,7 +24848,8 @@ "example": { "version": 1, "system": "You are a general-purpose agent that can research, write code, run commands, and use connected tools to complete the user's task end to end." - } + }, + "required": ["version"] }, "BetaManagedAgentsUpdateCredentialRequestBody": { "type": "object", @@ -23959,7 +25802,7 @@ }, "params": { "$ref": "#/components/schemas/BetaCreateMessageParams", - "description": "Messages API creation parameters for the individual request.\n\nSee the [Messages API reference](https://docs.claude.com/en/api/messages) for full documentation on available parameters." + "description": "Messages API creation parameters for the individual request.\n\nSee the [Messages API reference](https://platform.claude.com/docs/en/api/messages) for full documentation on available parameters." } }, "required": ["custom_id", "params"], @@ -24647,7 +26490,7 @@ }, "BetaRefusalCategory": { "description": "The policy category that triggered a refusal.", - "enum": ["cyber", "bio", "frontier_llm", "reasoning_extraction", "military_weapons"], + "enum": ["cyber", "bio", "frontier_llm", "reasoning_extraction"], "title": "RefusalCategory", "type": "string" }, @@ -27140,6 +28983,18 @@ "title": "ResponseWebSearchToolResultError", "type": "object" }, + "BetaRotateTunnelTokenRequestBody": { + "type": "object", + "additionalProperties": false, + "properties": { + "reason": { + "description": "Optional free-text reason for the rotation, recorded for audit.", + "type": "string", + "maxLength": 1024, + "nullable": true + } + } + }, "BetaSelfHostedConfig": { "properties": { "type": { @@ -27847,7 +29702,7 @@ "additionalProperties": false, "properties": { "budget_tokens": { - "description": "Determines how many tokens Claude can use for its internal reasoning process. Larger budgets can enable more thorough analysis for complex problems, improving response quality.\n\nMust be ≥1024 and less than `max_tokens`.\n\nSee [extended thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) for details.", + "description": "Determines how many tokens Claude can use for its internal reasoning process. Larger budgets can enable more thorough analysis for complex problems, improving response quality.\n\nMust be ≥1024 and less than `max_tokens`.\n\nSee [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for details.", "minimum": 1024, "title": "Budget Tokens", "type": "integer" @@ -28206,6 +30061,89 @@ "title": "ToolUsesTrigger", "type": "object" }, + "BetaTunnel": { + "description": "An MCP tunnel.", + "type": "object", + "additionalProperties": false, + "required": ["type", "id", "domain", "display_name", "created_at", "archived_at"], + "properties": { + "type": { "type": "string", "enum": ["tunnel"] }, + "id": { + "description": "Unique identifier for the tunnel, prefixed with `tnl_`.", + "type": "string" + }, + "domain": { + "description": "Anthropic-assigned hostname for the tunnel. MCP server URLs whose host is a subdomain of this value are routed through the tunnel. Globally unique and never reused, even after the tunnel is archived.", + "type": "string" + }, + "display_name": { + "description": "Human-readable name for the tunnel (1-255 characters). Null if unset.", + "type": "string", + "nullable": true + }, + "created_at": { + "description": "RFC 3339 datetime string indicating when the tunnel was created.", + "allOf": [{ "$ref": "#/components/schemas/BetaTimestamp" }] + }, + "archived_at": { + "description": "RFC 3339 datetime string indicating when the tunnel was archived. Null if it is not archived.", + "allOf": [{ "$ref": "#/components/schemas/BetaTimestamp" }], + "nullable": true + } + } + }, + "BetaTunnelCertificate": { + "description": "A CA certificate attached to a tunnel.", + "type": "object", + "additionalProperties": false, + "required": ["type", "id", "tunnel_id", "fingerprint", "expires_at", "created_at", "archived_at"], + "properties": { + "type": { "type": "string", "enum": ["tunnel_certificate"] }, + "id": { + "description": "Unique identifier for the certificate, prefixed with `tcrt_`.", + "type": "string" + }, + "tunnel_id": { + "description": "ID of the tunnel the certificate is registered against.", + "type": "string" + }, + "fingerprint": { + "description": "Lowercase hex SHA-256 fingerprint of the certificate's DER encoding.", + "type": "string" + }, + "expires_at": { + "description": "RFC 3339 datetime string indicating when the certificate expires, or `null` if it does not expire.", + "allOf": [{ "$ref": "#/components/schemas/BetaTimestamp" }], + "nullable": true + }, + "created_at": { + "description": "RFC 3339 datetime string indicating when the certificate was registered.", + "allOf": [{ "$ref": "#/components/schemas/BetaTimestamp" }] + }, + "archived_at": { + "description": "RFC 3339 datetime string indicating when the certificate was archived. Null if it is still in the trusted set.", + "allOf": [{ "$ref": "#/components/schemas/BetaTimestamp" }], + "nullable": true + } + } + }, + "BetaTunnelToken": { + "description": "A tunnel's connector token.", + "type": "object", + "additionalProperties": false, + "required": ["type", "id", "tunnel_token"], + "properties": { + "type": { "type": "string", "enum": ["tunnel_token"] }, + "id": { + "description": "Stable identifier for the current token value. Changes when the token is rotated.", + "type": "string" + }, + "tunnel_token": { + "description": "The connector token used to run the tunnel. Treat as a credential.", + "type": "string" + } + } + }, "BetaURLImageSource": { "additionalProperties": false, "properties": { @@ -28703,6 +30641,85 @@ "title": "WebFetchTool_20260309", "type": "object" }, + "BetaWebFetchTool_20260318": { + "additionalProperties": false, + "properties": { + "allowed_callers": { + "items": { "$ref": "#/components/schemas/BetaAllowedCaller" }, + "title": "Allowed Callers", + "type": "array" + }, + "allowed_domains": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "description": "List of domains to allow fetching from", + "title": "Allowed Domains" + }, + "blocked_domains": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "description": "List of domains to block fetching from", + "title": "Blocked Domains" + }, + "cache_control": { + "anyOf": [ + { + "discriminator": { + "mapping": { "ephemeral": "#/components/schemas/BetaCacheControlEphemeral" }, + "propertyName": "type" + }, + "oneOf": [{ "$ref": "#/components/schemas/BetaCacheControlEphemeral" }] + }, + { "type": "null" } + ], + "description": "Create a cache control breakpoint at this content block.", + "title": "Cache Control" + }, + "citations": { + "anyOf": [{ "$ref": "#/components/schemas/BetaRequestCitationsConfig" }, { "type": "null" }], + "description": "Citations configuration for fetched documents. Citations are disabled by default." + }, + "defer_loading": { + "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", + "title": "Defer Loading", + "type": "boolean" + }, + "max_content_tokens": { + "anyOf": [{ "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" }], + "description": "Maximum number of tokens used by including web page text content in the context. The limit is approximate and does not apply to binary content such as PDFs.", + "title": "Max Content Tokens" + }, + "max_uses": { + "anyOf": [{ "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" }], + "description": "Maximum number of times the tool can be used in the API request.", + "title": "Max Uses" + }, + "name": { + "const": "web_fetch", + "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", + "title": "Name", + "type": "string" + }, + "response_inclusion": { + "description": "How this tool's result blocks appear in the API response when the result was consumed by a completed code_execution call in the same turn. 'full' returns the complete content (default). 'excluded' drops the nested server_tool_use and result block pair entirely. Results from direct calls, or from code_execution calls that paused before completing, are always returned in full so they can be sent back on the next turn.", + "enum": ["full", "excluded"], + "title": "Response Inclusion", + "type": "string" + }, + "strict": { + "description": "When true, guarantees schema validation on tool names and inputs", + "title": "Strict", + "type": "boolean" + }, + "type": { "const": "web_fetch_20260318", "title": "Type", "type": "string" }, + "use_cache": { + "description": "Whether to use cached content. Set to false to bypass the cache and fetch fresh content. Only set to false when the user explicitly requests fresh content or when fetching rapidly-changing sources.", + "title": "Use Cache", + "type": "boolean" + } + }, + "required": ["name", "type"], + "title": "WebFetchTool_20260318", + "type": "object" + }, "BetaWebSearchToolResultErrorCode": { "enum": [ "invalid_tool_input", @@ -28831,16 +30848,228 @@ "title": "Strict", "type": "boolean" }, - "type": { "const": "web_search_20260209", "title": "Type", "type": "string" }, + "type": { "const": "web_search_20260209", "title": "Type", "type": "string" }, + "user_location": { + "anyOf": [{ "$ref": "#/components/schemas/BetaUserLocation" }, { "type": "null" }], + "description": "Parameters for the user's location. Used to provide more relevant search results." + } + }, + "required": ["name", "type"], + "title": "WebSearchTool_20260209", + "type": "object" + }, + "BetaWebSearchTool_20260318": { + "additionalProperties": false, + "properties": { + "allowed_callers": { + "items": { "$ref": "#/components/schemas/BetaAllowedCaller" }, + "title": "Allowed Callers", + "type": "array" + }, + "allowed_domains": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "description": "If provided, only these domains will be included in results. Cannot be used alongside `blocked_domains`.", + "title": "Allowed Domains" + }, + "blocked_domains": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "description": "If provided, these domains will never appear in results. Cannot be used alongside `allowed_domains`.", + "title": "Blocked Domains" + }, + "cache_control": { + "anyOf": [ + { + "discriminator": { + "mapping": { "ephemeral": "#/components/schemas/BetaCacheControlEphemeral" }, + "propertyName": "type" + }, + "oneOf": [{ "$ref": "#/components/schemas/BetaCacheControlEphemeral" }] + }, + { "type": "null" } + ], + "description": "Create a cache control breakpoint at this content block.", + "title": "Cache Control" + }, + "defer_loading": { + "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", + "title": "Defer Loading", + "type": "boolean" + }, + "max_uses": { + "anyOf": [{ "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" }], + "description": "Maximum number of times the tool can be used in the API request.", + "title": "Max Uses" + }, + "name": { + "const": "web_search", + "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", + "title": "Name", + "type": "string" + }, + "response_inclusion": { + "description": "How this tool's result blocks appear in the API response when the result was consumed by a completed code_execution call in the same turn. 'full' returns the complete content (default). 'excluded' drops the nested server_tool_use and result block pair entirely. Results from direct calls, or from code_execution calls that paused before completing, are always returned in full so they can be sent back on the next turn.", + "enum": ["full", "excluded"], + "title": "Response Inclusion", + "type": "string" + }, + "strict": { + "description": "When true, guarantees schema validation on tool names and inputs", + "title": "Strict", + "type": "boolean" + }, + "type": { "const": "web_search_20260318", "title": "Type", "type": "string" }, "user_location": { "anyOf": [{ "$ref": "#/components/schemas/BetaUserLocation" }, { "type": "null" }], "description": "Parameters for the user's location. Used to provide more relevant search results." } }, "required": ["name", "type"], - "title": "WebSearchTool_20260209", + "title": "WebSearchTool_20260318", "type": "object" }, + "BetaWebhookAgentArchivedEventData": { + "type": "object", + "title": "BetaWebhookAgentArchivedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "agent.archived" }, + "id": { "type": "string", "description": "ID of the agent that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookAgentCreatedEventData": { + "type": "object", + "title": "BetaWebhookAgentCreatedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "agent.created" }, + "id": { "type": "string", "description": "ID of the agent that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookAgentDeletedEventData": { + "type": "object", + "title": "BetaWebhookAgentDeletedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "agent.deleted" }, + "id": { "type": "string", "description": "ID of the agent that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookAgentUpdatedEventData": { + "type": "object", + "title": "BetaWebhookAgentUpdatedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "agent.updated" }, + "id": { "type": "string", "description": "ID of the agent that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookDeploymentArchivedEventData": { + "type": "object", + "title": "BetaWebhookDeploymentArchivedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "deployment.archived" }, + "id": { "type": "string", "description": "ID of the deployment that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookDeploymentCreatedEventData": { + "type": "object", + "title": "BetaWebhookDeploymentCreatedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "deployment.created" }, + "id": { "type": "string", "description": "ID of the deployment that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookDeploymentDeletedEventData": { + "type": "object", + "title": "BetaWebhookDeploymentDeletedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "deployment.deleted" }, + "id": { "type": "string", "description": "ID of the deployment that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookDeploymentPausedEventData": { + "type": "object", + "title": "BetaWebhookDeploymentPausedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "deployment.paused" }, + "id": { "type": "string", "description": "ID of the deployment that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookDeploymentRunFailedEventData": { + "type": "object", + "title": "BetaWebhookDeploymentRunFailedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "deployment_run.failed" }, + "id": { "type": "string", "description": "ID of the deployment run that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookDeploymentRunStartedEventData": { + "type": "object", + "title": "BetaWebhookDeploymentRunStartedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "deployment_run.started" }, + "id": { "type": "string", "description": "ID of the deployment run that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookDeploymentRunSucceededEventData": { + "type": "object", + "title": "BetaWebhookDeploymentRunSucceededEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "deployment_run.succeeded" }, + "id": { "type": "string", "description": "ID of the deployment run that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookDeploymentUnpausedEventData": { + "type": "object", + "title": "BetaWebhookDeploymentUnpausedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "deployment.unpaused" }, + "id": { "type": "string", "description": "ID of the deployment that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, + "BetaWebhookDeploymentUpdatedEventData": { + "type": "object", + "title": "BetaWebhookDeploymentUpdatedEventData", + "required": ["type", "id", "organization_id", "workspace_id"], + "properties": { + "type": { "type": "string", "const": "deployment.updated" }, + "id": { "type": "string", "description": "ID of the deployment that triggered the event." }, + "organization_id": { "type": "string" }, + "workspace_id": { "type": "string" } + } + }, "BetaWebhookEvent": { "type": "object", "title": "BetaWebhookEvent", @@ -28912,7 +31141,20 @@ { "$ref": "#/components/schemas/BetaWebhookVaultCredentialArchivedEventData" }, { "$ref": "#/components/schemas/BetaWebhookVaultCredentialDeletedEventData" }, { "$ref": "#/components/schemas/BetaWebhookVaultCredentialRefreshFailedEventData" }, - { "$ref": "#/components/schemas/BetaWebhookSessionUpdatedEventData" } + { "$ref": "#/components/schemas/BetaWebhookSessionUpdatedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookAgentCreatedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookAgentArchivedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookAgentDeletedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookDeploymentPausedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookDeploymentRunFailedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookDeploymentCreatedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookDeploymentUpdatedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookDeploymentUnpausedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookAgentUpdatedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookDeploymentArchivedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookDeploymentRunStartedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookDeploymentDeletedEventData" }, + { "$ref": "#/components/schemas/BetaWebhookDeploymentRunSucceededEventData" } ], "discriminator": { "propertyName": "type", @@ -28939,7 +31181,20 @@ "vault_credential.archived": "#/components/schemas/BetaWebhookVaultCredentialArchivedEventData", "vault_credential.deleted": "#/components/schemas/BetaWebhookVaultCredentialDeletedEventData", "vault_credential.refresh_failed": "#/components/schemas/BetaWebhookVaultCredentialRefreshFailedEventData", - "session.updated": "#/components/schemas/BetaWebhookSessionUpdatedEventData" + "session.updated": "#/components/schemas/BetaWebhookSessionUpdatedEventData", + "agent.created": "#/components/schemas/BetaWebhookAgentCreatedEventData", + "agent.archived": "#/components/schemas/BetaWebhookAgentArchivedEventData", + "agent.deleted": "#/components/schemas/BetaWebhookAgentDeletedEventData", + "deployment.paused": "#/components/schemas/BetaWebhookDeploymentPausedEventData", + "deployment_run.failed": "#/components/schemas/BetaWebhookDeploymentRunFailedEventData", + "deployment.created": "#/components/schemas/BetaWebhookDeploymentCreatedEventData", + "deployment.updated": "#/components/schemas/BetaWebhookDeploymentUpdatedEventData", + "deployment.unpaused": "#/components/schemas/BetaWebhookDeploymentUnpausedEventData", + "agent.updated": "#/components/schemas/BetaWebhookAgentUpdatedEventData", + "deployment.archived": "#/components/schemas/BetaWebhookDeploymentArchivedEventData", + "deployment_run.started": "#/components/schemas/BetaWebhookDeploymentRunStartedEventData", + "deployment.deleted": "#/components/schemas/BetaWebhookDeploymentDeletedEventData", + "deployment_run.succeeded": "#/components/schemas/BetaWebhookDeploymentRunSucceededEventData" } } }, @@ -29298,7 +31553,7 @@ "additionalProperties": false, "properties": { "ttl": { - "description": "The time-to-live for the cache control breakpoint.\n\nThis may be one the following values:\n- `5m`: 5 minutes\n- `1h`: 1 hour\n\nDefaults to `5m`. See [prompt caching pricing](https://docs.claude.com/en/docs/build-with-claude/prompt-caching) for details.", + "description": "The time-to-live for the cache control breakpoint.\n\nThis may be one the following values:\n- `5m`: 5 minutes\n- `1h`: 1 hour\n\nDefaults to `5m`. See [prompt caching pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) for details.", "enum": ["5m", "1h"], "title": "Ttl", "type": "string", @@ -29581,7 +31836,7 @@ "properties": { "model": { "$ref": "#/components/schemas/Model" }, "prompt": { - "description": "The prompt that you want Claude to complete.\n\nFor proper response generation you will need to format your prompt using alternating `\\n\\nHuman:` and `\\n\\nAssistant:` conversational turns. For example:\n\n```\n\"\\n\\nHuman: {userQuestion}\\n\\nAssistant:\"\n```\n\nSee [prompt validation](https://docs.claude.com/en/api/prompt-validation) and our guide to [prompt design](https://docs.claude.com/en/docs/intro-to-prompting) for more details.", + "description": "The prompt that you want Claude to complete.\n\nFor proper response generation you will need to format your prompt using alternating `\\n\\nHuman:` and `\\n\\nAssistant:` conversational turns. For example:\n\n```\n\"\\n\\nHuman: {userQuestion}\\n\\nAssistant:\"\n```\n\nSee [prompt validation](https://platform.claude.com/docs/en/build-with-claude/working-with-messages) and our guide to [prompt design](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview) for more details.", "examples": ["\n\nHuman: Hello, world!\n\nAssistant:"], "minLength": 1, "title": "Prompt", @@ -29634,7 +31889,7 @@ "description": "An object describing metadata about the request." }, "stream": { - "description": "Whether to incrementally stream the response using server-sent events.\n\nSee [streaming](https://docs.claude.com/en/api/streaming) for details.", + "description": "Whether to incrementally stream the response using server-sent events.\n\nSee [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming) for details.", "title": "Stream", "type": "boolean" } @@ -29880,7 +32135,7 @@ "title": "Cache Control" }, "messages": { - "description": "Input messages.\n\nOur models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello, Claude\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"Hello there.\"},\n {\"role\": \"assistant\", \"content\": \"Hi, I'm Claude. How can I help you?\"},\n {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from Claude:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello, Claude\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello, Claude\"}]}\n```\n\nSee [input examples](https://docs.claude.com/en/api/messages-examples).\n\nNote that if you want to include a [system prompt](https://docs.claude.com/en/docs/system-prompts), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request.", + "description": "Input messages.\n\nOur models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello, Claude\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"Hello there.\"},\n {\"role\": \"assistant\", \"content\": \"Hi, I'm Claude. How can I help you?\"},\n {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from Claude:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello, Claude\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello, Claude\"}]}\n```\n\nSee [input examples](https://platform.claude.com/docs/en/build-with-claude/working-with-messages).\n\nNote that if you want to include a [system prompt](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request.", "items": { "$ref": "#/components/schemas/InputMessage" }, "title": "Messages", "type": "array" @@ -29895,7 +32150,7 @@ { "type": "string" }, { "items": { "$ref": "#/components/schemas/RequestTextBlock" }, "type": "array" } ], - "description": "System prompt.\n\nA system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://docs.claude.com/en/docs/system-prompts).", + "description": "System prompt.\n\nA system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role).", "examples": [ [{ "text": "Today's date is 2024-06-01.", "type": "text" }], "Today's date is 2023-01-01." @@ -29905,7 +32160,7 @@ "thinking": { "$ref": "#/components/schemas/ThinkingConfigParam" }, "tool_choice": { "$ref": "#/components/schemas/ToolChoice" }, "tools": { - "description": "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nThere are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://docs.claude.com/en/docs/agents-and-tools/tool-use/overview#server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-search-tool)).\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n {\n \"name\": \"get_stock_price\",\n \"description\": \"Get the current stock price for a given ticker symbol.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticker\": {\n \"type\": \"string\",\n \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n }\n },\n \"required\": [\"ticker\"]\n }\n }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n {\n \"type\": \"tool_use\",\n \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"name\": \"get_stock_price\",\n \"input\": { \"ticker\": \"^GSPC\" }\n }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"content\": \"259.75 USD\"\n }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee our [guide](https://docs.claude.com/en/docs/tool-use) for more details.", + "description": "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nThere are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://platform.claude.com/docs/en/agents-and-tools/tool-use/server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)).\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n {\n \"name\": \"get_stock_price\",\n \"description\": \"Get the current stock price for a given ticker symbol.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticker\": {\n \"type\": \"string\",\n \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n }\n },\n \"required\": [\"ticker\"]\n }\n }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n {\n \"type\": \"tool_use\",\n \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"name\": \"get_stock_price\",\n \"input\": { \"ticker\": \"^GSPC\" }\n }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"content\": \"259.75 USD\"\n }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee our [guide](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) for more details.", "examples": [ { "description": "Get the current weather in a given location", @@ -29943,6 +32198,8 @@ { "$ref": "#/components/schemas/WebSearchTool_20260209" }, { "$ref": "#/components/schemas/WebFetchTool_20260209" }, { "$ref": "#/components/schemas/WebFetchTool_20260309" }, + { "$ref": "#/components/schemas/WebSearchTool_20260318" }, + { "$ref": "#/components/schemas/WebFetchTool_20260318" }, { "$ref": "#/components/schemas/ToolSearchToolBM25_20251119" }, { "$ref": "#/components/schemas/ToolSearchToolRegex_20251119" } ] @@ -29995,7 +32252,7 @@ "properties": { "model": { "$ref": "#/components/schemas/Model" }, "messages": { - "description": "Input messages.\n\nOur models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello, Claude\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"Hello there.\"},\n {\"role\": \"assistant\", \"content\": \"Hi, I'm Claude. How can I help you?\"},\n {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from Claude:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello, Claude\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello, Claude\"}]}\n```\n\nSee [input examples](https://docs.claude.com/en/api/messages-examples).\n\nNote that if you want to include a [system prompt](https://docs.claude.com/en/docs/system-prompts), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request.", + "description": "Input messages.\n\nOur models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello, Claude\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"Hello there.\"},\n {\"role\": \"assistant\", \"content\": \"Hi, I'm Claude. How can I help you?\"},\n {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from Claude:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello, Claude\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello, Claude\"}]}\n```\n\nSee [input examples](https://platform.claude.com/docs/en/build-with-claude/working-with-messages).\n\nNote that if you want to include a [system prompt](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request.", "items": { "$ref": "#/components/schemas/InputMessage" }, "title": "Messages", "type": "array" @@ -30025,7 +32282,7 @@ "title": "Inference Geo" }, "max_tokens": { - "description": "The maximum number of tokens to generate before stopping.\n\nNote that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.\n\nSet to `0` to populate the [prompt cache](https://docs.claude.com/en/docs/build-with-claude/prompt-caching#pre-warming-the-cache) without generating a response.\n\nDifferent models have different maximum values for this parameter. See [models](https://docs.claude.com/en/docs/models-overview) for details.", + "description": "The maximum number of tokens to generate before stopping.\n\nNote that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.\n\nSet to `0` to populate the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pre-warming-the-cache) without generating a response.\n\nDifferent models have different maximum values for this parameter. See [models](https://platform.claude.com/docs/en/about-claude/models/overview) for details.", "examples": [1024], "minimum": 0, "title": "Max Tokens", @@ -30040,7 +32297,7 @@ "description": "Configuration options for the model's output, such as the output format." }, "service_tier": { - "description": "Determines whether to use priority capacity (if available) or standard capacity for this request.\n\nAnthropic offers different levels of service for your API requests. See [service-tiers](https://docs.claude.com/en/api/service-tiers) for details.", + "description": "Determines whether to use priority capacity (if available) or standard capacity for this request.\n\nAnthropic offers different levels of service for your API requests. See [service-tiers](https://platform.claude.com/docs/en/api/service-tiers) for details.", "enum": ["auto", "standard_only"], "title": "Service Tier", "type": "string" @@ -30052,7 +32309,7 @@ "type": "array" }, "stream": { - "description": "Whether to incrementally stream the response using server-sent events.\n\nSee [streaming](https://docs.claude.com/en/api/messages-streaming) for details.", + "description": "Whether to incrementally stream the response using server-sent events.\n\nSee [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming) for details.", "title": "Stream", "type": "boolean", "example": false @@ -30062,7 +32319,7 @@ { "type": "string", "x-stainless-skip": ["go"] }, { "items": { "$ref": "#/components/schemas/RequestTextBlock" }, "type": "array" } ], - "description": "System prompt.\n\nA system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://docs.claude.com/en/docs/system-prompts).", + "description": "System prompt.\n\nA system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role).", "examples": [ [{ "text": "Today's date is 2024-06-01.", "type": "text" }], "Today's date is 2023-01-01." @@ -30082,7 +32339,7 @@ "thinking": { "$ref": "#/components/schemas/ThinkingConfigParam" }, "tool_choice": { "$ref": "#/components/schemas/ToolChoice" }, "tools": { - "description": "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nThere are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://docs.claude.com/en/docs/agents-and-tools/tool-use/overview#server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-search-tool)).\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n {\n \"name\": \"get_stock_price\",\n \"description\": \"Get the current stock price for a given ticker symbol.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticker\": {\n \"type\": \"string\",\n \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n }\n },\n \"required\": [\"ticker\"]\n }\n }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n {\n \"type\": \"tool_use\",\n \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"name\": \"get_stock_price\",\n \"input\": { \"ticker\": \"^GSPC\" }\n }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"content\": \"259.75 USD\"\n }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee our [guide](https://docs.claude.com/en/docs/tool-use) for more details.", + "description": "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nThere are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://platform.claude.com/docs/en/agents-and-tools/tool-use/server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)).\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n {\n \"name\": \"get_stock_price\",\n \"description\": \"Get the current stock price for a given ticker symbol.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticker\": {\n \"type\": \"string\",\n \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n }\n },\n \"required\": [\"ticker\"]\n }\n }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n {\n \"type\": \"tool_use\",\n \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"name\": \"get_stock_price\",\n \"input\": { \"ticker\": \"^GSPC\" }\n }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"content\": \"259.75 USD\"\n }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee our [guide](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) for more details.", "examples": [ { "description": "Get the current weather in a given location", @@ -30120,6 +32377,8 @@ { "$ref": "#/components/schemas/WebSearchTool_20260209" }, { "$ref": "#/components/schemas/WebFetchTool_20260209" }, { "$ref": "#/components/schemas/WebFetchTool_20260309" }, + { "$ref": "#/components/schemas/WebSearchTool_20260318" }, + { "$ref": "#/components/schemas/WebFetchTool_20260318" }, { "$ref": "#/components/schemas/ToolSearchToolBM25_20251119" }, { "$ref": "#/components/schemas/ToolSearchToolRegex_20251119" } ] @@ -30666,7 +32925,7 @@ }, "params": { "$ref": "#/components/schemas/CreateMessageParams", - "description": "Messages API creation parameters for the individual request.\n\nSee the [Messages API reference](https://docs.claude.com/en/api/messages) for full documentation on available parameters." + "description": "Messages API creation parameters for the individual request.\n\nSee the [Messages API reference](https://platform.claude.com/docs/en/api/messages) for full documentation on available parameters." } }, "required": ["custom_id", "params"], @@ -31061,7 +33320,7 @@ }, "RefusalCategory": { "description": "The policy category that triggered a refusal.", - "enum": ["cyber", "bio", "frontier_llm", "reasoning_extraction", "military_weapons"], + "enum": ["cyber", "bio", "frontier_llm", "reasoning_extraction"], "title": "RefusalCategory", "type": "string" }, @@ -33327,7 +35586,7 @@ "additionalProperties": false, "properties": { "budget_tokens": { - "description": "Determines how many tokens Claude can use for its internal reasoning process. Larger budgets can enable more thorough analysis for complex problems, improving response quality.\n\nMust be ≥1024 and less than `max_tokens`.\n\nSee [extended thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) for details.", + "description": "Determines how many tokens Claude can use for its internal reasoning process. Larger budgets can enable more thorough analysis for complex problems, improving response quality.\n\nMust be ≥1024 and less than `max_tokens`.\n\nSee [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for details.", "minimum": 1024, "title": "Budget Tokens", "type": "integer" @@ -33968,6 +36227,85 @@ "title": "WebFetchTool_20260309", "type": "object" }, + "WebFetchTool_20260318": { + "additionalProperties": false, + "properties": { + "allowed_callers": { + "items": { "$ref": "#/components/schemas/AllowedCaller" }, + "title": "Allowed Callers", + "type": "array" + }, + "allowed_domains": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "description": "List of domains to allow fetching from", + "title": "Allowed Domains" + }, + "blocked_domains": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "description": "List of domains to block fetching from", + "title": "Blocked Domains" + }, + "cache_control": { + "anyOf": [ + { + "discriminator": { + "mapping": { "ephemeral": "#/components/schemas/CacheControlEphemeral" }, + "propertyName": "type" + }, + "oneOf": [{ "$ref": "#/components/schemas/CacheControlEphemeral" }] + }, + { "type": "null" } + ], + "description": "Create a cache control breakpoint at this content block.", + "title": "Cache Control" + }, + "citations": { + "anyOf": [{ "$ref": "#/components/schemas/RequestCitationsConfig" }, { "type": "null" }], + "description": "Citations configuration for fetched documents. Citations are disabled by default." + }, + "defer_loading": { + "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", + "title": "Defer Loading", + "type": "boolean" + }, + "max_content_tokens": { + "anyOf": [{ "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" }], + "description": "Maximum number of tokens used by including web page text content in the context. The limit is approximate and does not apply to binary content such as PDFs.", + "title": "Max Content Tokens" + }, + "max_uses": { + "anyOf": [{ "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" }], + "description": "Maximum number of times the tool can be used in the API request.", + "title": "Max Uses" + }, + "name": { + "const": "web_fetch", + "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", + "title": "Name", + "type": "string" + }, + "response_inclusion": { + "description": "How this tool's result blocks appear in the API response when the result was consumed by a completed code_execution call in the same turn. 'full' returns the complete content (default). 'excluded' drops the nested server_tool_use and result block pair entirely. Results from direct calls, or from code_execution calls that paused before completing, are always returned in full so they can be sent back on the next turn.", + "enum": ["full", "excluded"], + "title": "Response Inclusion", + "type": "string" + }, + "strict": { + "description": "When true, guarantees schema validation on tool names and inputs", + "title": "Strict", + "type": "boolean" + }, + "type": { "const": "web_fetch_20260318", "title": "Type", "type": "string" }, + "use_cache": { + "description": "Whether to use cached content. Set to false to bypass the cache and fetch fresh content. Only set to false when the user explicitly requests fresh content or when fetching rapidly-changing sources.", + "title": "Use Cache", + "type": "boolean" + } + }, + "required": ["name", "type"], + "title": "WebFetchTool_20260318", + "type": "object" + }, "WebSearchToolResultErrorCode": { "enum": [ "invalid_tool_input", @@ -34106,6 +36444,75 @@ "title": "WebSearchTool_20260209", "type": "object" }, + "WebSearchTool_20260318": { + "additionalProperties": false, + "properties": { + "allowed_callers": { + "items": { "$ref": "#/components/schemas/AllowedCaller" }, + "title": "Allowed Callers", + "type": "array" + }, + "allowed_domains": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "description": "If provided, only these domains will be included in results. Cannot be used alongside `blocked_domains`.", + "title": "Allowed Domains" + }, + "blocked_domains": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "description": "If provided, these domains will never appear in results. Cannot be used alongside `allowed_domains`.", + "title": "Blocked Domains" + }, + "cache_control": { + "anyOf": [ + { + "discriminator": { + "mapping": { "ephemeral": "#/components/schemas/CacheControlEphemeral" }, + "propertyName": "type" + }, + "oneOf": [{ "$ref": "#/components/schemas/CacheControlEphemeral" }] + }, + { "type": "null" } + ], + "description": "Create a cache control breakpoint at this content block.", + "title": "Cache Control" + }, + "defer_loading": { + "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", + "title": "Defer Loading", + "type": "boolean" + }, + "max_uses": { + "anyOf": [{ "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" }], + "description": "Maximum number of times the tool can be used in the API request.", + "title": "Max Uses" + }, + "name": { + "const": "web_search", + "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", + "title": "Name", + "type": "string" + }, + "response_inclusion": { + "description": "How this tool's result blocks appear in the API response when the result was consumed by a completed code_execution call in the same turn. 'full' returns the complete content (default). 'excluded' drops the nested server_tool_use and result block pair entirely. Results from direct calls, or from code_execution calls that paused before completing, are always returned in full so they can be sent back on the next turn.", + "enum": ["full", "excluded"], + "title": "Response Inclusion", + "type": "string" + }, + "strict": { + "description": "When true, guarantees schema validation on tool names and inputs", + "title": "Strict", + "type": "boolean" + }, + "type": { "const": "web_search_20260318", "title": "Type", "type": "string" }, + "user_location": { + "anyOf": [{ "$ref": "#/components/schemas/UserLocation" }, { "type": "null" }], + "description": "Parameters for the user's location. Used to provide more relevant search results." + } + }, + "required": ["name", "type"], + "title": "WebSearchTool_20260318", + "type": "object" + }, "BetaManagedAgentsConflictError": { "type": "object", "additionalProperties": false, @@ -34158,7 +36565,7 @@ "properties": { "model": { "$ref": "#/components/schemas/Model" }, "messages": { - "description": "Input messages.\n\nOur models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello, Claude\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"Hello there.\"},\n {\"role\": \"assistant\", \"content\": \"Hi, I'm Claude. How can I help you?\"},\n {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from Claude:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello, Claude\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello, Claude\"}]}\n```\n\nSee [input examples](https://docs.claude.com/en/api/messages-examples).\n\nNote that if you want to include a [system prompt](https://docs.claude.com/en/docs/system-prompts), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request.", + "description": "Input messages.\n\nOur models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello, Claude\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"Hello there.\"},\n {\"role\": \"assistant\", \"content\": \"Hi, I'm Claude. How can I help you?\"},\n {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from Claude:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello, Claude\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello, Claude\"}]}\n```\n\nSee [input examples](https://platform.claude.com/docs/en/build-with-claude/working-with-messages).\n\nNote that if you want to include a [system prompt](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request.", "items": { "$ref": "#/components/schemas/InputMessage" }, "title": "Messages", "type": "array" @@ -34188,7 +36595,7 @@ "title": "Inference Geo" }, "max_tokens": { - "description": "The maximum number of tokens to generate before stopping.\n\nNote that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.\n\nSet to `0` to populate the [prompt cache](https://docs.claude.com/en/docs/build-with-claude/prompt-caching#pre-warming-the-cache) without generating a response.\n\nDifferent models have different maximum values for this parameter. See [models](https://docs.claude.com/en/docs/models-overview) for details.", + "description": "The maximum number of tokens to generate before stopping.\n\nNote that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.\n\nSet to `0` to populate the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pre-warming-the-cache) without generating a response.\n\nDifferent models have different maximum values for this parameter. See [models](https://platform.claude.com/docs/en/about-claude/models/overview) for details.", "examples": [1024], "minimum": 0, "title": "Max Tokens", @@ -34203,7 +36610,7 @@ "description": "Configuration options for the model's output, such as the output format." }, "service_tier": { - "description": "Determines whether to use priority capacity (if available) or standard capacity for this request.\n\nAnthropic offers different levels of service for your API requests. See [service-tiers](https://docs.claude.com/en/api/service-tiers) for details.", + "description": "Determines whether to use priority capacity (if available) or standard capacity for this request.\n\nAnthropic offers different levels of service for your API requests. See [service-tiers](https://platform.claude.com/docs/en/api/service-tiers) for details.", "enum": ["auto", "standard_only"], "title": "Service Tier", "type": "string" @@ -34219,7 +36626,7 @@ { "type": "string" }, { "items": { "$ref": "#/components/schemas/RequestTextBlock" }, "type": "array" } ], - "description": "System prompt.\n\nA system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://docs.claude.com/en/docs/system-prompts).", + "description": "System prompt.\n\nA system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role).", "examples": [ [{ "text": "Today's date is 2024-06-01.", "type": "text" }], "Today's date is 2023-01-01." @@ -34239,7 +36646,7 @@ "thinking": { "$ref": "#/components/schemas/ThinkingConfigParam" }, "tool_choice": { "$ref": "#/components/schemas/ToolChoice" }, "tools": { - "description": "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nThere are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://docs.claude.com/en/docs/agents-and-tools/tool-use/overview#server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-search-tool)).\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n {\n \"name\": \"get_stock_price\",\n \"description\": \"Get the current stock price for a given ticker symbol.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticker\": {\n \"type\": \"string\",\n \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n }\n },\n \"required\": [\"ticker\"]\n }\n }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n {\n \"type\": \"tool_use\",\n \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"name\": \"get_stock_price\",\n \"input\": { \"ticker\": \"^GSPC\" }\n }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"content\": \"259.75 USD\"\n }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee our [guide](https://docs.claude.com/en/docs/tool-use) for more details.", + "description": "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nThere are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://platform.claude.com/docs/en/agents-and-tools/tool-use/server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)).\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n {\n \"name\": \"get_stock_price\",\n \"description\": \"Get the current stock price for a given ticker symbol.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticker\": {\n \"type\": \"string\",\n \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n }\n },\n \"required\": [\"ticker\"]\n }\n }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n {\n \"type\": \"tool_use\",\n \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"name\": \"get_stock_price\",\n \"input\": { \"ticker\": \"^GSPC\" }\n }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"content\": \"259.75 USD\"\n }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee our [guide](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) for more details.", "examples": [ { "description": "Get the current weather in a given location", @@ -34277,6 +36684,8 @@ { "$ref": "#/components/schemas/WebSearchTool_20260209" }, { "$ref": "#/components/schemas/WebFetchTool_20260209" }, { "$ref": "#/components/schemas/WebFetchTool_20260309" }, + { "$ref": "#/components/schemas/WebSearchTool_20260318" }, + { "$ref": "#/components/schemas/WebFetchTool_20260318" }, { "$ref": "#/components/schemas/ToolSearchToolBM25_20251119" }, { "$ref": "#/components/schemas/ToolSearchToolRegex_20251119" } ] @@ -34341,14 +36750,15 @@ "cache-diagnosis-2026-04-07", "thinking-token-count-2026-05-13", "server-side-fallback-2026-06-01", - "fallback-credit-2026-06-01" + "fallback-credit-2026-06-01", + "agent-memory-2026-07-22" ], "x-stainless-nominal": false } ] }, "ThinkingConfigParam": { - "description": "Configuration for enabling Claude's extended thinking.\n\nWhen enabled, responses include `thinking` content blocks showing Claude's thinking process before the final answer. Requires a minimum budget of 1,024 tokens and counts towards your `max_tokens` limit.\n\nSee [extended thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) for details.", + "description": "Configuration for enabling Claude's extended thinking.\n\nWhen enabled, responses include `thinking` content blocks showing Claude's thinking process before the final answer. Requires a minimum budget of 1,024 tokens and counts towards your `max_tokens` limit.\n\nSee [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for details.", "discriminator": { "mapping": { "adaptive": "#/components/schemas/ThinkingConfigAdaptive", @@ -34366,7 +36776,7 @@ "title": "Thinking" }, "BetaThinkingConfigParam": { - "description": "Configuration for enabling Claude's extended thinking.\n\nWhen enabled, responses include `thinking` content blocks showing Claude's thinking process before the final answer. Requires a minimum budget of 1,024 tokens and counts towards your `max_tokens` limit.\n\nSee [extended thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) for details.", + "description": "Configuration for enabling Claude's extended thinking.\n\nWhen enabled, responses include `thinking` content blocks showing Claude's thinking process before the final answer. Requires a minimum budget of 1,024 tokens and counts towards your `max_tokens` limit.\n\nSee [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for details.", "discriminator": { "mapping": { "adaptive": "#/components/schemas/BetaThinkingConfigAdaptive", @@ -34661,6 +37071,11 @@ "description": "The model that will complete your prompt.\n\nSee [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.", "anyOf": [ { "type": "string" }, + { + "const": "claude-sonnet-5", + "description": "High-performance model for coding and agents", + "x-stainless-nominal": false + }, { "const": "claude-fable-5", "description": "Next generation of intelligence for the hardest knowledge work and coding problems", @@ -34749,6 +37164,11 @@ "description": "The model that will power your agent.\n\nSee [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.", "anyOf": [ { "type": "string" }, + { + "const": "claude-sonnet-5", + "description": "High-performance model for coding and agents", + "x-stainless-nominal": false + }, { "const": "claude-fable-5", "description": "Next generation of intelligence for the hardest knowledge work and coding problems", @@ -35352,6 +37772,149 @@ }, "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } } + }, + "agent.created": { + "post": { + "operationId": "BetaAgentCreatedWebhook", + "summary": "agent.created webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "agent.archived": { + "post": { + "operationId": "BetaAgentArchivedWebhook", + "summary": "agent.archived webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "agent.deleted": { + "post": { + "operationId": "BetaAgentDeletedWebhook", + "summary": "agent.deleted webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "deployment.paused": { + "post": { + "operationId": "BetaDeploymentPausedWebhook", + "summary": "deployment.paused webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "deployment_run.failed": { + "post": { + "operationId": "BetaDeploymentRunFailedWebhook", + "summary": "deployment_run.failed webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "deployment.created": { + "post": { + "operationId": "BetaDeploymentCreatedWebhook", + "summary": "deployment.created webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "deployment.updated": { + "post": { + "operationId": "BetaDeploymentUpdatedWebhook", + "summary": "deployment.updated webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "deployment.unpaused": { + "post": { + "operationId": "BetaDeploymentUnpausedWebhook", + "summary": "deployment.unpaused webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "agent.updated": { + "post": { + "operationId": "BetaAgentUpdatedWebhook", + "summary": "agent.updated webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "deployment.archived": { + "post": { + "operationId": "BetaDeploymentArchivedWebhook", + "summary": "deployment.archived webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "deployment_run.started": { + "post": { + "operationId": "BetaDeploymentRunStartedWebhook", + "summary": "deployment_run.started webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "deployment.deleted": { + "post": { + "operationId": "BetaDeploymentDeletedWebhook", + "summary": "deployment.deleted webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } + }, + "deployment_run.succeeded": { + "post": { + "operationId": "BetaDeploymentRunSucceededWebhook", + "summary": "deployment_run.succeeded webhook", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BetaWebhookEvent" } } } + }, + "responses": { "200": { "description": "Return any 2xx status to acknowledge receipt." } } + } } } }