# SPDX-License-Identifier: CC-BY-NC-SA-4.0 openapi: 3.1.0 info: title: The Anthropic Messages Dialect — API Commons profile summary: The interoperable surface of the Anthropic API, as adopters actually implement it. description: 'A **profile**, not a copy. The Anthropic API became a de facto standard by being implemented by other people; this describes the part of it that the industry actually built, with every operation graded `x-tier` core or extended by measured adoption. Vendor-tier operations are documented in `profile.yml` and deliberately excluded here. Derived from https://github.com/anthropics/anthropic-sdk-python at commit `eb21a4352015686c30f5759e8c2f02d70f5371e2` (MIT). Not published by, affiliated with, or endorsed by Anthropic. See https://github.com/api-commons/models for the profile and the adopter registry.' version: 0.0.0+eb21a4352015 contact: name: API Commons url: https://apicommons.org license: name: CC-BY-NC-SA-4.0 url: https://creativecommons.org/licenses/by-nc-sa/4.0/ externalDocs: description: The profile on API Commons url: https://apicommons.org/standards/models/ servers: - url: https://api.anthropic.com paths: /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. The Messages API can be used for either single queries or stateless multi-turn conversations. Learn more about the Messages API in our [user guide](https://platform.claude.com/docs/en/get-started)' operationId: messages_post parameters: - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read 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. - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Message object. content: application/json: schema: $ref: '#/components/schemas/Message' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateMessageParams' required: true x-tier: core /v1/complete: post: summary: Create a Text Completion description: '[Legacy] Create a Text Completion. The Text Completions API is a legacy API. We recommend using the [Messages API](https://platform.claude.com/docs/en/api/messages) going forward. Future 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: - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: anthropic-beta in: header required: false schema: type: string items: type: string description: 'Optional header to specify the beta version(s) you want to use. To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.' title: Anthropic-Beta 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' description: 'Optional header to specify the beta version(s) you want to use. To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Text Completion object. content: application/json: schema: $ref: '#/components/schemas/CompletionResponse' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/CompletionRequest' required: true x-tier: extended /v1/models: get: summary: List Models description: 'List available models. The Models API response can be used to determine which models are available for use in the API. More recently released models are listed first.' operationId: models_list parameters: - name: before_id in: query required: false schema: type: string description: ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object. title: Before Id description: ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object. - name: after_id in: query required: false schema: type: string description: ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object. title: After Id description: ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object. - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 description: 'Number of items to return per page. Defaults to `20`. Ranges from `1` to `1000`.' default: 20 title: Limit description: 'Number of items to return per page. Defaults to `20`. Ranges from `1` to `1000`.' - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: anthropic-beta in: header required: false schema: type: string items: type: string description: 'Optional header to specify the beta version(s) you want to use. To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.' title: Anthropic-Beta 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' description: 'Optional header to specify the beta version(s) you want to use. To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.' - name: x-api-key in: header required: false schema: type: string description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' title: X-Api-Key description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ListResponse_ModelInfo_' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-tier: core /v1/models/{model_id}: get: summary: Get a Model description: 'Get a specific model. The Models API response can be used to determine information about a specific model or resolve a model alias to a model ID.' operationId: models_get parameters: - name: model_id in: path required: true schema: type: string description: Model identifier or alias. title: Model Id description: Model identifier or alias. - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: anthropic-beta in: header required: false schema: type: string items: type: string description: 'Optional header to specify the beta version(s) you want to use. To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.' title: Anthropic-Beta 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' description: 'Optional header to specify the beta version(s) you want to use. To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.' - name: x-api-key in: header required: false schema: type: string description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' title: X-Api-Key description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ModelInfo' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-tier: extended /v1/messages/count_tokens: post: summary: Count tokens in a Message description: 'Count the number of tokens in a Message. The Token Count API can be used to count the number of tokens in a Message, including tools, images, and documents, without creating it. Learn 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: - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read 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. - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CountMessageTokensResponse' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/CountMessageTokensParams' required: true x-tier: extended /v1/files: post: summary: Upload File operationId: upload_file_v1_files_post parameters: - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/FileMetadataSchema' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: The file to upload. Only the final path component of the part's `filename` is kept; an absent or empty `filename` is replaced with `unnamed` plus the extension for the file's stored `mime_type`, when known. expires_in_seconds: type: integer minimum: 3600 maximum: 7776000 description: Seconds from upload until the file expires and its bytes become permanently unavailable. Must be between 3600 (one hour) and 7776000 (ninety days). required: - file required: true x-tier: extended get: summary: List Files operationId: list_files_v1_files_get parameters: - name: page in: query required: false schema: anyOf: - type: string - type: 'null' description: Opaque page cursor returned in a prior list response's `next_page`. Prefixed `page_`. title: Page description: Opaque page cursor returned in a prior list response's `next_page`. Prefixed `page_`. - name: ids[] in: query required: false schema: anyOf: - type: array items: type: string - type: 'null' description: Restrict the result set to Files whose `id` is in this list. At most 100 entries (after de-duplication). Mutually exclusive with `page` and `limit`. When supplied, the response is always a single page (`next_page` is null). IDs that do not resolve to a visible File — including deleted Files — are silently omitted. title: Ids[] description: Restrict the result set to Files whose `id` is in this list. At most 100 entries (after de-duplication). Mutually exclusive with `page` and `limit`. When supplied, the response is always a single page (`next_page` is null). IDs that do not resolve to a visible File — including deleted Files — are silently omitted. - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 description: 'Number of items to return per page. Defaults to `20`. Ranges from `1` to `1000`.' default: 20 title: Limit description: 'Number of items to return per page. Defaults to `20`. Ranges from `1` to `1000`.' - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: x-api-key in: header required: false schema: type: string description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' title: X-Api-Key description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/FileListResponse' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-tier: extended /v1/files/{file_id}: get: summary: Get File Metadata operationId: get_file_metadata_v1_files__file_id__get parameters: - name: file_id in: path required: true schema: type: string description: ID of the File. title: File Id description: ID of the File. - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: x-api-key in: header required: false schema: type: string description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' title: X-Api-Key description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/FileMetadataSchema' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-tier: extended delete: summary: Delete File operationId: delete_file_v1_files__file_id__delete parameters: - name: file_id in: path required: true schema: type: string description: ID of the File. title: File Id description: ID of the File. - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: x-api-key in: header required: false schema: type: string description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' title: X-Api-Key description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/FileDeleteResponse' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-tier: extended /v1/files/{file_id}/content: get: summary: Download File operationId: download_file_v1_files__file_id__content_get parameters: - name: file_id in: path required: true schema: type: string description: ID of the File. title: File Id description: ID of the File. - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: x-api-key in: header required: false schema: type: string description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' title: X-Api-Key description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Successful Response content: application/octet-stream: schema: type: string '400': description: Invalid argument - The client specified an invalid argument content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' x-tier: extended /v1/skills: post: summary: Create Skill operationId: create_skill_v1_skills_post parameters: - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy requestBody: required: true content: multipart/form-data: schema: $ref: '#/components/schemas/Body_create_skill_v1_skills_post' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Skill' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-tier: extended get: summary: List Skills operationId: list_skills_v1_skills_get parameters: - name: page in: query required: false schema: anyOf: - type: string - type: 'null' description: 'Pagination token for fetching a specific page of results. Pass the value from a previous response''s `next_page` field to get the next page of results.' x-stainless-pagination-property: purpose: next_cursor_param title: Page description: 'Pagination token for fetching a specific page of results. Pass the value from a previous response''s `next_page` field to get the next page of results.' - name: limit in: query required: false schema: type: integer description: 'Number of results to return per page. Ranges from `1` to `1000`. Defaults to `20`.' default: 20 title: Limit minimum: 1 maximum: 1000 description: 'Number of results to return per page. Ranges from `1` to `1000`. Defaults to `20`.' - name: source in: query required: false schema: anyOf: - type: string - type: 'null' description: 'Filter skills by source. If provided, only skills from the specified source will be returned: * `"custom"`: only return user-created skills * `"anthropic"`: only return Anthropic-created skills' title: Source description: 'Filter skills by source. If provided, only skills from the specified source will be returned: * `"custom"`: only return user-created skills * `"anthropic"`: only return Anthropic-created skills' - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: x-api-key in: header required: false schema: type: string description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' title: X-Api-Key description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ListSkillsResponse' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-tier: extended /v1/skills/{skill_id}: get: summary: Get Skill operationId: get_skill_v1_skills__skill_id__get parameters: - name: skill_id in: path required: true schema: type: string description: 'Unique identifier for the skill. The format and length of IDs may change over time.' title: Skill Id description: 'Unique identifier for the skill. The format and length of IDs may change over time.' - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: x-api-key in: header required: false schema: type: string description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' title: X-Api-Key description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Skill' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-tier: vendor delete: summary: Delete Skill operationId: delete_skill_v1_skills__skill_id__delete parameters: - name: skill_id in: path required: true schema: type: string description: 'Unique identifier for the skill. The format and length of IDs may change over time.' title: Skill Id description: 'Unique identifier for the skill. The format and length of IDs may change over time.' - name: anthropic-version in: header required: false schema: type: string description: 'The version of the Claude API you want to use. Read 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. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).' - name: x-api-key in: header required: false schema: type: string description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' title: X-Api-Key description: 'Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic''s services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.' - name: anthropic-workspace-id in: header required: false schema: type: string x-stainless-param: workspace_id description: 'Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`). Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.' example: wrkspc_011CZkZaBF1tNoB5wlCeusgy responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DeletedSkill' '400': description: Invalid argument - The client specified an invalid argument content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthenticated - The request does not have valid authentication credentials content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Permission denied - The caller does not have permission to execute the specified operation content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found - Some requested entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '408': description: Deadline exceeded - The deadline expired before the operation could complete content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Aborted - The operation was aborted due to concurrency issue content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '412': description: Failed precondition - Operation was rejected because the system is not in required state content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '413': description: Out of range - Operation was attempted past the valid range content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Resource exhausted - Some resource has been exhausted (rate limiting) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '431': description: Request header fields too large - Request metadata was too large content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '499': description: Cancelled - The operation was cancelled by the client content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal - Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Unimplemented - The operation is not implemented or supported content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Unavailable - The service is currently unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '504': description: Deadline exceeded - Upstream service did not respond in time content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '529': description: Overloaded - The service is temporarily overloaded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-tier: extended components: schemas: CompletionResponse: properties: completion: type: string title: Completion description: The resulting completion up to and excluding the stop sequences. examples: - ' Hello! My name is Claude.' id: type: string title: Id description: 'Unique object identifier. The format and length of IDs may change over time.' model: $ref: '#/components/schemas/Model' stop_reason: anyOf: - type: string - type: 'null' title: Stop Reason description: 'The reason that we stopped. This may be one the following values: * `"stop_sequence"`: we reached a stop sequence — either provided by you via the `stop_sequences` parameter, or a stop sequence built into the model * `"max_tokens"`: we exceeded `max_tokens_to_sample` or the model''s maximum' examples: - stop_sequence type: type: string const: completion title: Type description: 'Object type. For Text Completions, this is always `"completion"`.' default: completion type: object required: - completion - id - model - stop_reason - type title: CompletionResponse example: completion: ' Hello! My name is Claude.' id: compl_018CKm6gsux7P8yMcwZbeCPw model: claude-2.1 stop_reason: stop_sequence type: completion BrowserSwitchTabConfig: additionalProperties: false description: '``switch_tab``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserSwitchTabConfig type: object PlainTextSource: additionalProperties: false properties: data: title: Data type: string media_type: const: text/plain title: Media Type type: string type: const: text title: Type type: string required: - data - media_type - type title: PlainTextSource type: object ErrorResponse: properties: error: discriminator: mapping: api_error: '#/components/schemas/APIError' authentication_error: '#/components/schemas/AuthenticationError' billing_error: '#/components/schemas/BillingError' invalid_request_error: '#/components/schemas/InvalidRequestError' not_found_error: '#/components/schemas/NotFoundError' overloaded_error: '#/components/schemas/OverloadedError' permission_error: '#/components/schemas/PermissionError' rate_limit_error: '#/components/schemas/RateLimitError' timeout_error: '#/components/schemas/GatewayTimeoutError' propertyName: type oneOf: - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/AuthenticationError' - $ref: '#/components/schemas/BillingError' - $ref: '#/components/schemas/PermissionError' - $ref: '#/components/schemas/NotFoundError' - $ref: '#/components/schemas/RateLimitError' - $ref: '#/components/schemas/GatewayTimeoutError' - $ref: '#/components/schemas/APIError' - $ref: '#/components/schemas/OverloadedError' title: Error request_id: anyOf: - type: string - type: 'null' default: null title: Request Id type: const: error default: error title: Type type: string required: - error - request_id - type title: ErrorResponse type: object ResponseTextBlock: properties: citations: anyOf: - items: discriminator: mapping: char_location: '#/components/schemas/ResponseCharLocationCitation' content_block_location: '#/components/schemas/ResponseContentBlockLocationCitation' page_location: '#/components/schemas/ResponsePageLocationCitation' search_result_location: '#/components/schemas/ResponseSearchResultLocationCitation' web_search_result_location: '#/components/schemas/ResponseWebSearchResultLocationCitation' propertyName: type oneOf: - $ref: '#/components/schemas/ResponseCharLocationCitation' - $ref: '#/components/schemas/ResponsePageLocationCitation' - $ref: '#/components/schemas/ResponseContentBlockLocationCitation' - $ref: '#/components/schemas/ResponseWebSearchResultLocationCitation' - $ref: '#/components/schemas/ResponseSearchResultLocationCitation' type: array - type: 'null' default: null description: 'Citations supporting the text block. The type of citation returned will depend on the type of document being cited. Citing a PDF results in `page_location`, plain text results in `char_location`, and content document results in `content_block_location`.' title: Citations text: minLength: 0 title: Text type: string type: const: text default: text title: Type type: string required: - citations - text - type title: ResponseTextBlock type: object JsonOutputFormat: additionalProperties: false properties: schema: additionalProperties: true description: The JSON schema of the format title: Schema type: object type: const: json_schema title: Type type: string required: - schema - type title: JsonOutputFormat type: object ResponseCitationsConfig: properties: enabled: default: false title: Enabled type: boolean required: - enabled title: ResponseCitationsConfig type: object BrowserLeftMouseDownConfig: additionalProperties: false description: '``left_mouse_down``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserLeftMouseDownConfig type: object WebFetchToolResultErrorCode: enum: - invalid_tool_input - url_too_long - url_not_allowed - url_not_in_prior_context - url_not_accessible - unsupported_content_type - too_many_requests - max_uses_exceeded - unavailable - content_too_large title: WebFetchToolResultErrorCode type: string WebFetchTool_20260309: additionalProperties: false description: Web fetch tool with use_cache parameter for bypassing cached content. 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. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: web_fetch_20260309 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_20260309 type: object BrowserFormInputConfig: additionalProperties: false description: '``form_input``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserFormInputConfig type: object ResponseTextEditorCodeExecutionStrReplaceResultBlock: properties: lines: anyOf: - items: type: string type: array - type: 'null' default: null title: Lines new_lines: anyOf: - type: integer - type: 'null' default: null title: New Lines new_start: anyOf: - type: integer - type: 'null' default: null title: New Start old_lines: anyOf: - type: integer - type: 'null' default: null title: Old Lines old_start: anyOf: - type: integer - type: 'null' default: null title: Old Start type: const: text_editor_code_execution_str_replace_result default: text_editor_code_execution_str_replace_result title: Type type: string required: - lines - new_lines - new_start - old_lines - old_start - type title: ResponseTextEditorCodeExecutionStrReplaceResultBlock type: object RefusalStopDetails: description: Structured information about a refusal. properties: category: anyOf: - $ref: '#/components/schemas/RefusalCategory' - type: 'null' default: null description: 'The policy category that triggered the refusal. `null` when the refusal doesn''t map to a named category.' explanation: anyOf: - type: string - type: 'null' default: null description: 'Human-readable explanation of the refusal. This text is not guaranteed to be stable. `null` when no explanation is available for the category.' examples: - This request was declined because it conflicts with Anthropic's Usage Policy. title: Explanation type: const: refusal default: refusal title: Type type: string required: - category - explanation - type title: RefusalStopDetails type: object ResponseBashCodeExecutionResultBlock: properties: content: items: $ref: '#/components/schemas/ResponseBashCodeExecutionOutputBlock' title: Content type: array return_code: title: Return Code type: integer stderr: title: Stderr type: string stdout: title: Stdout type: string type: const: bash_code_execution_result default: bash_code_execution_result title: Type type: string required: - content - return_code - stderr - stdout - type title: ResponseBashCodeExecutionResultBlock type: object BrowserRightClickConfig: additionalProperties: false description: '``right_click``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserRightClickConfig type: object RequestTextEditorCodeExecutionStrReplaceResultBlock: additionalProperties: false properties: lines: anyOf: - items: type: string type: array - type: 'null' title: Lines new_lines: anyOf: - type: integer - type: 'null' title: New Lines new_start: anyOf: - type: integer - type: 'null' title: New Start old_lines: anyOf: - type: integer - type: 'null' title: Old Lines old_start: anyOf: - type: integer - type: 'null' title: Old Start type: const: text_editor_code_execution_str_replace_result title: Type type: string required: - type title: RequestTextEditorCodeExecutionStrReplaceResultBlock type: object FileDocumentSource: additionalProperties: false properties: file_id: title: File Id type: string type: const: file title: Type type: string required: - file_id - type title: FileDocumentSource type: object WebFetchTool_20260209: 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. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: web_fetch_20260209 title: Type type: string required: - name - type title: WebFetchTool_20260209 type: object ResponseTextEditorCodeExecutionViewResultBlock: properties: content: title: Content type: string file_type: enum: - text - image - pdf title: File Type type: string num_lines: anyOf: - type: integer - type: 'null' default: null title: Num Lines start_line: anyOf: - type: integer - type: 'null' default: null title: Start Line total_lines: anyOf: - type: integer - type: 'null' default: null title: Total Lines type: const: text_editor_code_execution_view_result default: text_editor_code_execution_view_result title: Type type: string required: - content - file_type - num_lines - start_line - total_lines - type title: ResponseTextEditorCodeExecutionViewResultBlock type: object ComputerToolset_20260801: additionalProperties: false description: 'The computer toolset: a single ``tools[]`` entry (carrying no ``name``) that declares the computer tool family. The model is served the family''s tool with any members disabled via ``configs`` removed from its schema. Every member is enabled by default, zoom included. The single-tool options ``display_number`` and ``enable_zoom`` are not fields of a toolset entry — it carries only ``type``, ``configs``, and ``cache_control``; zoom is controlled via ``configs.zoom.enabled``.' properties: 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 configs: anyOf: - $ref: '#/components/schemas/ComputerToolsetConfigs' - type: 'null' description: Sparse per-member overrides, keyed by member name. Absent, null, and {} are equivalent; a member's defaults apply wherever its key is absent. type: const: computer_toolset_20260801 title: Type type: string required: - type title: ComputerToolset_20260801 type: object Skill: properties: created_at: type: string format: date-time title: Created At description: ISO 8601 timestamp of when the skill was created. examples: - '2024-10-30T23:58:27.427722Z' display_name: type: string title: Display Name description: 'Human-readable, single-line label for the Skill. Maximum 255 characters. Always set: derived from the SKILL.md frontmatter `name` when omitted at creation. Not unique.' id: type: string title: Id description: 'Unique identifier for the skill. The format and length of IDs may change over time.' examples: - skill_01JAbcdefghijklmnopqrstuvw latest_version_id: type: string title: Latest Version Id description: 'ID of the newest Skill Version — what `latest` references resolve to. Always set: a Skill holds at least one version.' source: $ref: '#/components/schemas/SkillSource' description: 'Where the Skill comes from. Possible values: * `"custom"`: authored by the platform user; private to their workspace * `"anthropic"`: published by Anthropic; shared and read-only * `"anthropic_example"`: Anthropic-published sample Skill * `"plugin"`: resolved from an installed plugin' type: type: string const: skill title: Type description: 'Object type. For Skills, this is always `"skill"`.' default: skill updated_at: type: string format: date-time title: Updated At description: ISO 8601 timestamp of when the skill was last updated. examples: - '2024-10-30T23:58:27.427722Z' type: object required: - created_at - display_name - id - latest_version_id - source - type - updated_at title: Skill InputMessage: additionalProperties: false properties: content: anyOf: - type: string x-stainless-skip: - go - cli - items: $ref: '#/components/schemas/InputContentBlock' type: array example: - type: text text: What is a quaternion? title: Content role: enum: - user - assistant - system title: Role type: string required: - content - role title: InputMessage type: object discriminator: propertyName: role InputSchema: additionalProperties: true properties: properties: anyOf: - additionalProperties: true type: object - type: 'null' title: Properties required: anyOf: - items: type: string type: array - type: 'null' title: Required type: const: object title: Type type: string required: - type title: InputSchema type: object RequestWebSearchToolResultBlock: additionalProperties: false properties: 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 caller: discriminator: mapping: code_execution_20250825: '#/components/schemas/ServerToolCaller' code_execution_20260120: '#/components/schemas/ServerToolCaller_20260120' direct: '#/components/schemas/DirectCaller' propertyName: type oneOf: - $ref: '#/components/schemas/DirectCaller' - $ref: '#/components/schemas/ServerToolCaller' - $ref: '#/components/schemas/ServerToolCaller_20260120' title: Caller content: anyOf: - items: $ref: '#/components/schemas/RequestWebSearchResultBlock' type: array title: web_search_tool_result_block_item - $ref: '#/components/schemas/RequestWebSearchToolResultError' x-stainless-naming: go: variant_constructor: NewWebSearchToolRequestError title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: web_search_tool_result title: Type type: string required: - content - tool_use_id - type title: RequestWebSearchToolResultBlock type: object ComputerDoubleClickConfig: additionalProperties: false description: '``double_click``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerDoubleClickConfig type: object SkillSource: properties: type: type: string enum: - custom - anthropic - anthropic_example - plugin title: Type description: 'Where the Skill comes from. Possible values: * `"custom"`: authored by the platform user; private to their workspace * `"anthropic"`: published by Anthropic; shared and read-only * `"anthropic_example"`: Anthropic-published sample Skill * `"plugin"`: resolved from an installed plugin' type: object required: - type title: SkillSource ResponseToolSearchToolResultError: properties: error_code: $ref: '#/components/schemas/ToolSearchToolResultErrorCode' error_message: anyOf: - type: string - type: 'null' default: null title: Error Message type: const: tool_search_tool_result_error default: tool_search_tool_result_error title: Type type: string required: - error_code - error_message - type title: ResponseToolSearchToolResultError type: object RequestWebSearchResultLocationCitation: additionalProperties: false properties: cited_text: examples: - The grass is green. The sky is blue. title: Cited Text type: string encrypted_index: title: Encrypted Index type: string title: anyOf: - maxLength: 512 minLength: 1 type: string - type: 'null' title: Title type: const: web_search_result_location title: Type type: string url: minLength: 1 title: Url type: string required: - cited_text - encrypted_index - title - type - url title: RequestWebSearchResultLocationCitation type: object ServerToolCaller: additionalProperties: false description: Tool invocation generated by a server-side tool. properties: tool_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Id type: string type: const: code_execution_20250825 title: Type type: string required: - tool_id - type title: ServerToolCaller type: object BrowserScreenshotConfig: additionalProperties: false description: '``screenshot``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserScreenshotConfig type: object OutputTokensDetails: properties: thinking_tokens: default: 0 description: 'Number of output tokens the model generated as internal reasoning, including the thinking-block delimiter tokens. Reflects the raw reasoning the model produced, not the (possibly shorter) summarized thinking text returned in the response body. Computed by re-tokenizing the raw reasoning text, so it may differ from the model''s exact generation count by a small number of tokens. Always ≤ `output_tokens`; `output_tokens - thinking_tokens` approximates the non-reasoning output.' minimum: 0 title: Thinking Tokens type: integer required: - thinking_tokens title: OutputTokensDetails type: object CountMessageTokensResponse: properties: input_tokens: type: integer title: Input Tokens description: The total number of tokens across the provided list of messages, system prompt, and tools. examples: - 2095 type: object required: - input_tokens title: CountMessageTokensResponse examples: - input_tokens: 2095 BrowserLeftClickConfig: additionalProperties: false description: '``left_click``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserLeftClickConfig type: object SkillParams: additionalProperties: false description: Specification for a skill to be loaded in a container (request model). properties: skill_id: description: Skill ID examples: - pdf maxLength: 64 minLength: 1 title: Skill Id type: string type: description: Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined) enum: - anthropic - custom examples: - anthropic title: Type type: string x-stainless-naming: csharp: type_name: SkillParamsType version: description: Skill version or 'latest' for most recent version examples: - latest maxLength: 64 minLength: 1 title: Version type: string required: - skill_id - type title: SkillParams type: object RequestTextEditorCodeExecutionToolResultBlock: additionalProperties: false properties: 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 content: anyOf: - $ref: '#/components/schemas/RequestTextEditorCodeExecutionToolResultError' - $ref: '#/components/schemas/RequestTextEditorCodeExecutionViewResultBlock' - $ref: '#/components/schemas/RequestTextEditorCodeExecutionCreateResultBlock' - $ref: '#/components/schemas/RequestTextEditorCodeExecutionStrReplaceResultBlock' title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: text_editor_code_execution_tool_result title: Type type: string required: - content - tool_use_id - type title: RequestTextEditorCodeExecutionToolResultBlock type: object BrowserStateChangeDownloadStarted: additionalProperties: false description: A file download that started during this call. properties: download_id: description: The caller-assigned identifier for this download, stable across the state changes reporting it. maxLength: 4096 minLength: 1 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Download Id type: string type: const: download_started title: Type type: string url: description: The final post-redirect URL the download was served from. maxLength: 4096 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Url type: string required: - download_id - type - url title: BrowserStateChangeDownloadStarted type: object ToolSearchToolBM25_20251119: additionalProperties: false properties: allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 name: const: tool_search_tool_bm25 description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: enum: - tool_search_tool_bm25_20251119 - tool_search_tool_bm25 title: Type type: string required: - name - type title: ToolSearchToolBM25_20251119 type: object ThinkingTypes: properties: adaptive: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model supports thinking with type 'adaptive' (auto). enabled: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model supports thinking with type 'enabled'. type: object required: - adaptive - enabled title: ThinkingTypes description: Supported thinking type configurations. ComputerZoomConfig: additionalProperties: false description: '``zoom``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerZoomConfig type: object OverloadedError: properties: message: default: Overloaded title: Message type: string type: const: overloaded_error default: overloaded_error title: Type type: string required: - message - type title: OverloadedError type: object AuthenticationError: properties: message: default: Authentication error title: Message type: string type: const: authentication_error default: authentication_error title: Type type: string required: - message - type title: AuthenticationError type: object ResponseTextEditorCodeExecutionCreateResultBlock: properties: is_file_update: title: Is File Update type: boolean type: const: text_editor_code_execution_create_result default: text_editor_code_execution_create_result title: Type type: string required: - is_file_update - type title: ResponseTextEditorCodeExecutionCreateResultBlock type: object ResponseSearchResultLocationCitation: properties: cited_text: description: 'The full text of the cited block range, concatenated. Always equals the contents of `content[start_block_index:end_block_index]` joined together. The text block is the minimal citable unit; this field is never a substring of a single block. Not counted toward output tokens, and not counted toward input tokens when sent back in subsequent turns.' examples: - The grass is green. The sky is blue. title: Cited Text type: string end_block_index: description: 'Exclusive 0-based end index of the cited block range in the source''s `content` array. Always greater than `start_block_index`; a single-block citation has `end_block_index = start_block_index + 1`.' title: End Block Index type: integer search_result_index: description: '0-based index of the cited search result among all `search_result` content blocks in the request, in the order they appear across messages and tool results. Counted separately from `document_index`; server-side web search results are not included in this count.' minimum: 0 title: Search Result Index type: integer source: title: Source type: string start_block_index: description: 0-based index of the first cited block in the source's `content` array. minimum: 0 title: Start Block Index type: integer title: anyOf: - type: string - type: 'null' title: Title type: const: search_result_location default: search_result_location title: Type type: string required: - cited_text - end_block_index - search_result_index - source - start_block_index - title - type title: ResponseSearchResultLocationCitation type: object BrowserToolset_20260801: additionalProperties: false description: 'The browser toolset: a single ``tools[]`` entry (carrying no ``name``) that declares the browser tool family. The model is served the family''s tool with any members disabled via ``configs`` removed from its schema.' properties: 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 configs: anyOf: - $ref: '#/components/schemas/BrowserToolsetConfigs' - type: 'null' description: Sparse per-member overrides, keyed by member name. Absent, null, and {} are equivalent; a member's defaults apply wherever its key is absent. type: const: browser_toolset_20260801 title: Type type: string required: - type title: BrowserToolset_20260801 type: object BrowserDoubleClickConfig: additionalProperties: false description: '``double_click``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserDoubleClickConfig type: object ThinkingDisplayMode: enum: - summarized - omitted title: ThinkingDisplayMode type: string ContentBlock: discriminator: mapping: bash_code_execution_tool_result: '#/components/schemas/ResponseBashCodeExecutionToolResultBlock' code_execution_tool_result: '#/components/schemas/ResponseCodeExecutionToolResultBlock' container_upload: '#/components/schemas/ResponseContainerUploadBlock' redacted_thinking: '#/components/schemas/ResponseRedactedThinkingBlock' server_tool_use: '#/components/schemas/ResponseServerToolUseBlock' text: '#/components/schemas/ResponseTextBlock' text_editor_code_execution_tool_result: '#/components/schemas/ResponseTextEditorCodeExecutionToolResultBlock' thinking: '#/components/schemas/ResponseThinkingBlock' tool_search_tool_result: '#/components/schemas/ResponseToolSearchToolResultBlock' tool_use: '#/components/schemas/ResponseToolUseBlock' web_fetch_tool_result: '#/components/schemas/ResponseWebFetchToolResultBlock' web_search_tool_result: '#/components/schemas/ResponseWebSearchToolResultBlock' propertyName: type oneOf: - $ref: '#/components/schemas/ResponseTextBlock' - $ref: '#/components/schemas/ResponseThinkingBlock' - $ref: '#/components/schemas/ResponseRedactedThinkingBlock' - $ref: '#/components/schemas/ResponseToolUseBlock' - $ref: '#/components/schemas/ResponseServerToolUseBlock' - $ref: '#/components/schemas/ResponseWebSearchToolResultBlock' - $ref: '#/components/schemas/ResponseWebFetchToolResultBlock' - $ref: '#/components/schemas/ResponseCodeExecutionToolResultBlock' - $ref: '#/components/schemas/ResponseBashCodeExecutionToolResultBlock' - $ref: '#/components/schemas/ResponseTextEditorCodeExecutionToolResultBlock' - $ref: '#/components/schemas/ResponseToolSearchToolResultBlock' - $ref: '#/components/schemas/ResponseContainerUploadBlock' CodeExecutionTool_20260120: additionalProperties: false description: Code execution tool with REPL state persistence (daemon mode + gVisor checkpoint). properties: allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 name: const: code_execution description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: code_execution_20260120 title: Type type: string required: - name - type title: CodeExecutionTool_20260120 type: object RequestPageLocationCitation: additionalProperties: false properties: cited_text: examples: - The grass is green. The sky is blue. title: Cited Text type: string document_index: minimum: 0 title: Document Index type: integer document_title: anyOf: - maxLength: 500 minLength: 1 type: string - type: 'null' title: Document Title end_page_number: title: End Page Number type: integer start_page_number: minimum: 1 title: Start Page Number type: integer type: const: page_location title: Type type: string required: - cited_text - document_index - document_title - end_page_number - start_page_number - type title: RequestPageLocationCitation type: object BrowserKeyConfig: additionalProperties: false description: '``key``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserKeyConfig type: object BrowserTypeConfig: additionalProperties: false description: '``type``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserTypeConfig type: object BrowserScrollToConfig: additionalProperties: false description: '``scroll_to``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserScrollToConfig type: object Base64ImageSource: additionalProperties: false properties: data: format: byte title: Data type: string media_type: enum: - image/jpeg - image/png - image/gif - image/webp title: Media Type type: string type: const: base64 title: Type type: string required: - data - media_type - type title: Base64ImageSource type: object InvalidRequestError: properties: message: default: Invalid request title: Message type: string type: const: invalid_request_error default: invalid_request_error title: Type type: string required: - message - type title: InvalidRequestError type: object ListResponse_ModelInfo_: properties: data: items: $ref: '#/components/schemas/ModelInfo' type: array title: Data first_id: anyOf: - type: string - type: 'null' title: First Id description: First ID in the `data` list. Can be used as the `before_id` for the previous page. has_more: type: boolean title: Has More description: Indicates if there are more results in the requested page direction. last_id: anyOf: - type: string - type: 'null' title: Last Id description: Last ID in the `data` list. Can be used as the `after_id` for the next page. type: object required: - data - first_id - has_more - last_id title: ListResponse[ModelInfo] ToolChoiceNone: additionalProperties: false description: The model will not be allowed to use tools. properties: type: const: none title: Type type: string required: - type title: ToolChoiceNone type: object x-stainless-go-constant-constructor: true RequestWebSearchToolResultError: additionalProperties: false properties: error_code: $ref: '#/components/schemas/WebSearchToolResultErrorCode' type: const: web_search_tool_result_error title: Type type: string required: - error_code - type title: RequestWebSearchToolResultError type: object ServerToolUsage: properties: web_fetch_requests: default: 0 description: The number of web fetch tool requests. examples: - 2 minimum: 0 title: Web Fetch Requests type: integer web_search_requests: default: 0 description: The number of web search tool requests. examples: - 0 minimum: 0 title: Web Search Requests type: integer required: - web_fetch_requests - web_search_requests title: ServerToolUsage type: object WebFetchTool_20250910: 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. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: web_fetch_20250910 title: Type type: string required: - name - type title: WebFetchTool_20250910 type: object ResponseServerToolUseBlock: properties: caller: default: type: direct discriminator: mapping: code_execution_20250825: '#/components/schemas/ServerToolCaller' code_execution_20260120: '#/components/schemas/ServerToolCaller_20260120' direct: '#/components/schemas/DirectCaller' propertyName: type oneOf: - $ref: '#/components/schemas/DirectCaller' - $ref: '#/components/schemas/ServerToolCaller' - $ref: '#/components/schemas/ServerToolCaller_20260120' title: Caller id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Id type: string input: additionalProperties: true title: Input type: object name: enum: - web_search - web_fetch - code_execution - bash_code_execution - text_editor_code_execution - tool_search_tool_regex - tool_search_tool_bm25 title: Name type: string type: const: server_tool_use default: server_tool_use title: Type type: string required: - caller - id - input - name - type title: ResponseServerToolUseBlock type: object RequestWebFetchToolResultError: additionalProperties: false properties: error_code: $ref: '#/components/schemas/WebFetchToolResultErrorCode' type: const: web_fetch_tool_result_error title: Type type: string required: - error_code - type title: RequestWebFetchToolResultError type: object ResponseWebFetchResultBlock: properties: content: $ref: '#/components/schemas/ResponseDocumentBlock' retrieved_at: anyOf: - type: string - type: 'null' default: null description: ISO 8601 timestamp when the content was retrieved title: Retrieved At type: const: web_fetch_result default: web_fetch_result title: Type type: string url: description: Fetched content URL title: Url type: string required: - content - retrieved_at - type - url title: ResponseWebFetchResultBlock type: object ListSkillsResponse: properties: data: items: $ref: '#/components/schemas/Skill' type: array title: Data description: List of skills. next_page: anyOf: - type: string - type: 'null' title: Next Page description: 'Token for fetching the next page of results. If `null`, there are no more results available. Pass this value to the `page` parameter in the next request to get the next page.' type: object required: - data - next_page title: ListSkillsResponse RateLimitError: properties: message: default: Rate limited title: Message type: string type: const: rate_limit_error default: rate_limit_error title: Type type: string required: - message - type title: RateLimitError type: object ResponseCodeExecutionResultBlock: properties: content: items: $ref: '#/components/schemas/ResponseCodeExecutionOutputBlock' title: Content type: array return_code: title: Return Code type: integer stderr: title: Stderr type: string stdout: title: Stdout type: string type: const: code_execution_result default: code_execution_result title: Type type: string required: - content - return_code - stderr - stdout - type title: ResponseCodeExecutionResultBlock type: object ResponseThinkingBlock: properties: signature: description: 'A value used to verify that this thinking block was generated by Claude when it is passed back to the API. This is an opaque field and should not be interpreted or parsed. When passing thinking blocks back to the API (required when using tools with extended thinking), pass them back exactly as received, with this field intact. See [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for details.' title: Signature type: string thinking: description: The text of Claude's thinking process for this block. title: Thinking type: string type: const: thinking default: thinking title: Type type: string required: - signature - thinking - type title: ResponseThinkingBlock type: object RefusalCategory: description: The policy category that triggered a refusal. enum: - cyber - bio - frontier_llm - reasoning_extraction - general_harms title: RefusalCategory type: string x-enum-descriptions: - The request could enable cyber harm, such as malware or exploit development. Benign cybersecurity work can also trigger this category. - The request could enable biological harm, such as dangerous lab methods. Beneficial life sciences work can also trigger this category. - The request could assist the development of competing AI models, which is restricted under [Anthropic's commercial terms](https://www.anthropic.com/legal/commercial-terms). Benign machine learning work can also trigger this category. - The request asks the model to reproduce its internal reasoning in the response text. To get reasoning in a structured form instead, use [adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking). - The request could be related to an area that was determined as harmful. Benign work might sometimes trigger this category. RequestToolUseBlock: additionalProperties: false properties: 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 caller: discriminator: mapping: code_execution_20250825: '#/components/schemas/ServerToolCaller' code_execution_20260120: '#/components/schemas/ServerToolCaller_20260120' direct: '#/components/schemas/DirectCaller' propertyName: type oneOf: - $ref: '#/components/schemas/DirectCaller' - $ref: '#/components/schemas/ServerToolCaller' - $ref: '#/components/schemas/ServerToolCaller_20260120' title: Caller id: pattern: ^[a-zA-Z0-9_-]+$ title: Id type: string input: additionalProperties: true title: Input type: object name: maxLength: 200 minLength: 1 title: Name type: string toolset_name: anyOf: - maxLength: 64 minLength: 1 pattern: ^[a-zA-Z0-9_-]+$ type: string - type: 'null' description: For a toolset member tool_use, the toolset family this member belongs to. title: Toolset Name type: const: tool_use title: Type type: string required: - id - input - name - type title: RequestToolUseBlock type: object ResponseCharLocationCitation: properties: cited_text: examples: - The grass is green. The sky is blue. title: Cited Text type: string document_index: minimum: 0 title: Document Index type: integer document_title: anyOf: - type: string - type: 'null' examples: - My Document title: Document Title end_char_index: title: End Char Index type: integer file_id: anyOf: - type: string - type: 'null' default: null examples: - file_011CNha8iCJcU1wXNR6q4V8w title: File Id start_char_index: minimum: 0 title: Start Char Index type: integer type: const: char_location default: char_location title: Type type: string required: - cited_text - document_index - document_title - end_char_index - file_id - start_char_index - type title: ResponseCharLocationCitation type: object FileMetadataSchema: properties: created_at: description: RFC 3339 datetime string representing when the file was created. examples: - '2025-04-15T18:37:24.100435Z' format: date-time title: Created At type: string downloadable: default: false description: Whether the file can be downloaded. examples: - false title: Downloadable type: boolean expires_at: anyOf: - format: date-time type: string - type: 'null' default: null description: RFC 3339 datetime string representing when the file will expire and become unavailable for download. Null if the file does not expire. For files uploaded with `expires_in_seconds`, this is the upload time plus that value. examples: - '2025-05-15T18:37:24.100435Z' title: Expires At filename: description: Original filename of the uploaded file. examples: - document.pdf maxLength: 500 minLength: 1 title: Filename type: string id: description: 'Unique object identifier. The format and length of IDs may change over time.' examples: - file_011CNha8iCJcU1wXNR6q4V8w title: Id type: string mime_type: description: MIME type of the file. examples: - application/pdf maxLength: 255 minLength: 1 title: Mime Type type: string size_bytes: description: Size of the file in bytes. examples: - 102400 minimum: 0 title: Size Bytes type: integer type: const: file description: 'Object type. For files, this is always `"file"`.' title: Type type: string required: - created_at - filename - id - mime_type - size_bytes - type title: FileMetadataSchema type: object RequestToolSearchToolResultBlock: additionalProperties: false properties: 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 content: anyOf: - $ref: '#/components/schemas/RequestToolSearchToolResultError' - $ref: '#/components/schemas/RequestToolSearchToolSearchResultBlock' title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: tool_search_tool_result title: Type type: string required: - content - tool_use_id - type title: RequestToolSearchToolResultBlock type: object StopReason: enum: - end_turn - max_tokens - stop_sequence - tool_use - pause_turn - refusal - model_context_window_exceeded type: string RequestCharLocationCitation: additionalProperties: false properties: cited_text: examples: - The grass is green. The sky is blue. title: Cited Text type: string document_index: minimum: 0 title: Document Index type: integer document_title: anyOf: - maxLength: 500 minLength: 1 type: string - type: 'null' title: Document Title end_char_index: title: End Char Index type: integer start_char_index: minimum: 0 title: Start Char Index type: integer type: const: char_location title: Type type: string required: - cited_text - document_index - document_title - end_char_index - start_char_index - type title: RequestCharLocationCitation type: object ModelCapabilities: properties: batch: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model supports the Batch API. citations: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model supports citation generation. code_execution: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model supports code execution tools. context_management: $ref: '#/components/schemas/ContextManagementCapability' description: Context management support and available strategies. effort: $ref: '#/components/schemas/EffortCapability' description: Effort (reasoning_effort) support and available levels. image_input: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model accepts image content blocks. pdf_input: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model accepts PDF content blocks. structured_outputs: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model supports structured output / JSON mode / strict tool schemas. thinking: $ref: '#/components/schemas/ThinkingCapability' description: Thinking capability and supported type configurations. type: object required: - batch - citations - code_execution - context_management - effort - image_input - pdf_input - structured_outputs - thinking title: ModelCapabilities description: Model capability information. ResponseBashCodeExecutionOutputBlock: properties: file_id: title: File Id type: string type: const: bash_code_execution_output default: bash_code_execution_output title: Type type: string required: - file_id - type title: ResponseBashCodeExecutionOutputBlock type: object ComputerTypeConfig: additionalProperties: false description: '``type``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerTypeConfig type: object CacheCreation: properties: ephemeral_1h_input_tokens: default: 0 description: The number of input tokens used to create the 1 hour cache entry. minimum: 0 title: Ephemeral 1H Input Tokens type: integer ephemeral_5m_input_tokens: default: 0 description: The number of input tokens used to create the 5 minute cache entry. minimum: 0 title: Ephemeral 5M Input Tokens type: integer required: - ephemeral_1h_input_tokens - ephemeral_5m_input_tokens title: CacheCreation type: object APIError: properties: message: default: Internal server error title: Message type: string type: const: api_error default: api_error title: Type type: string required: - message - type title: APIError type: object RequestBashCodeExecutionResultBlock: additionalProperties: false properties: content: items: $ref: '#/components/schemas/RequestBashCodeExecutionOutputBlock' title: Content type: array return_code: title: Return Code type: integer stderr: title: Stderr type: string stdout: title: Stdout type: string type: const: bash_code_execution_result title: Type type: string required: - content - return_code - stderr - stdout - type title: RequestBashCodeExecutionResultBlock type: object CreateMessageParams: additionalProperties: false example: max_tokens: 1024 messages: - content: Hello, world role: user model: claude-opus-5 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://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 cache_control: anyOf: - discriminator: mapping: ephemeral: '#/components/schemas/CacheControlEphemeral' propertyName: type oneOf: - $ref: '#/components/schemas/CacheControlEphemeral' - type: 'null' description: Top-level cache control automatically applies a cache_control marker to the last cacheable block in the request. title: Cache Control container: anyOf: - $ref: '#/components/schemas/ContainerParams' - type: string - type: 'null' description: Container identifier for reuse across requests. title: Container inference_geo: anyOf: - type: string - type: 'null' description: Specifies the geographic region for inference processing. If not specified, the workspace's `default_inference_geo` is used. title: Inference Geo max_tokens: description: 'The maximum number of tokens to generate before stopping. Note that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate. Set 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. Different 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 type: integer metadata: $ref: '#/components/schemas/Metadata' description: An object describing metadata about the request. output_config: $ref: '#/components/schemas/OutputConfig' 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. Anthropic 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 stop_sequences: description: 'Custom text sequences that will cause the model to stop generating. Our models will normally stop when they have naturally completed their turn, which will result in a response `stop_reason` of `"end_turn"`. If you want the model to stop generating when it encounters custom strings of text, you can use the `stop_sequences` parameter. If the model encounters one of the custom sequences, the response `stop_reason` value will be `"stop_sequence"` and the response `stop_sequence` value will contain the matched stop sequence.' items: type: string title: Stop Sequences type: array stream: description: 'Whether to incrementally stream the response using server-sent events. See [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming) for details.' title: Stream type: boolean example: false system: anyOf: - type: string x-stainless-skip: - go - items: $ref: '#/components/schemas/RequestTextBlock' type: array description: '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://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. title: System temperature: deprecated: true description: 'Amount of randomness injected into the response. Defaults to `1.0`. Ranges from `0.0` to `1.0`. Use `temperature` closer to `0.0` for analytical / multiple choice, and closer to `1.0` for creative and generative tasks. Note that even with `temperature` of `0.0`, the results will not be fully deterministic.' examples: - 1 maximum: 1 minimum: 0 title: Temperature type: number x-stainless-deprecation-message: Deprecated. Models released after Claude Opus 4.6 do not support setting temperature. A value of 1.0 of will be accepted for backwards compatibility, all other values will be rejected with a 400 error. x-stainless-skip: - python 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://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 input_schema: properties: location: description: The city and state, e.g. San Francisco, CA type: string unit: description: Unit for the output - one of (celsius, fahrenheit) type: string required: - location type: object name: get_weather items: oneOf: - $ref: '#/components/schemas/Tool' - $ref: '#/components/schemas/BashTool_20250124' - $ref: '#/components/schemas/CodeExecutionTool_20250522' - $ref: '#/components/schemas/CodeExecutionTool_20250825' - $ref: '#/components/schemas/CodeExecutionTool_20260120' - $ref: '#/components/schemas/CodeExecutionTool_20260521' - $ref: '#/components/schemas/BrowserToolset_20260801' - $ref: '#/components/schemas/MemoryTool_20250818' - $ref: '#/components/schemas/ComputerToolset_20260801' - $ref: '#/components/schemas/TextEditor_20250124' - $ref: '#/components/schemas/TextEditor_20250429' - $ref: '#/components/schemas/TextEditor_20250728' - $ref: '#/components/schemas/WebSearchTool_20250305' - $ref: '#/components/schemas/WebFetchTool_20250910' - $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' title: Tools type: array top_k: deprecated: true description: 'Only sample from the top K options for each subsequent token. Used to remove "long tail" low probability responses. [Learn more technical details here](https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277). Recommended for advanced use cases only.' examples: - 5 minimum: 0 title: Top K type: integer x-stainless-deprecation-message: Deprecated. Models released after Claude Opus 4.6 do not accept top_k; any value will be rejected with a 400 error. x-stainless-skip: - python top_p: deprecated: true description: 'Use nucleus sampling. In nucleus sampling, we compute the cumulative distribution over all the options for each subsequent token in decreasing probability order and cut it off once it reaches a particular probability specified by `top_p`. Recommended for advanced use cases only.' examples: - 0.7 maximum: 1 minimum: 0 title: Top P type: number x-stainless-deprecation-message: Deprecated. Models released after Claude Opus 4.6 do not support setting top_p. A value >= 0.99 will be accepted for backwards compatibility, all other values will be rejected with a 400 error. x-stainless-skip: - python required: - model - messages - max_tokens title: CreateMessageParams type: object ToolChoiceAny: additionalProperties: false description: The model will use any available tools. properties: disable_parallel_tool_use: description: 'Whether to disable parallel tool use. Defaults to `false`. If set to `true`, the model will output exactly one tool use.' title: Disable Parallel Tool Use type: boolean type: const: any title: Type type: string required: - type title: ToolChoiceAny type: object TextEditorCodeExecutionToolResultErrorCode: enum: - invalid_tool_input - unavailable - too_many_requests - execution_time_exceeded - file_not_found title: TextEditorCodeExecutionToolResultErrorCode type: string ResponseWebFetchToolResultError: properties: error_code: $ref: '#/components/schemas/WebFetchToolResultErrorCode' type: const: web_fetch_tool_result_error default: web_fetch_tool_result_error title: Type type: string required: - error_code - type title: ResponseWebFetchToolResultError type: object ContentBlockSource: additionalProperties: false properties: content: anyOf: - type: string - items: discriminator: mapping: image: '#/components/schemas/RequestImageBlock' text: '#/components/schemas/RequestTextBlock' propertyName: type oneOf: - $ref: '#/components/schemas/RequestTextBlock' - $ref: '#/components/schemas/RequestImageBlock' x-stainless-naming: go: type_name: ContentBlockSourceContentItem title: content_block_source_content_item type: array title: content_block_source_content title: Content type: const: content title: Type type: string required: - content - type title: ContentBlockSource type: object BrowserTripleClickConfig: additionalProperties: false description: '``triple_click``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserTripleClickConfig type: object Tool: additionalProperties: false properties: type: anyOf: - type: 'null' - const: custom type: string title: Type description: description: 'Description of what this tool does. Tool descriptions should be as detailed as possible. The more information that the model has about what the tool is and how to use it, the better it will perform. You can use natural language descriptions to reinforce important aspects of the tool input JSON schema.' examples: - Get the current weather in a given location title: Description type: string name: description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' maxLength: 128 minLength: 1 pattern: ^[a-zA-Z0-9_-]{1,128}$ title: Name type: string input_schema: $ref: '#/components/schemas/InputSchema' description: '[JSON schema](https://json-schema.org/draft/2020-12) for this tool''s input. This defines the shape of the `input` that your tool accepts and that the model will produce.' examples: - properties: location: description: The city and state, e.g. San Francisco, CA type: string unit: description: Unit for the output - one of (celsius, fahrenheit) type: string required: - location type: object 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 strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean eager_input_streaming: anyOf: - type: boolean - type: 'null' description: Enable eager input streaming for this tool. When true, tool input parameters will be streamed incrementally as they are generated, and types will be inferred on-the-fly rather than buffering the full JSON output. When false, streaming is disabled for this tool even if the fine-grained-tool-streaming beta is active. When null (default), uses the default behavior based on beta headers. title: Eager Input Streaming allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 input_examples: items: additionalProperties: $ref: '#/components/schemas/JsonValue' type: object title: Input Examples type: array required: - name - input_schema title: Tool type: object BrowserFindConfig: additionalProperties: false description: '``find``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserFindConfig type: object BrowserNavigateConfig: additionalProperties: false description: '``navigate``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserNavigateConfig type: object ResponseBashCodeExecutionToolResultError: properties: error_code: $ref: '#/components/schemas/BashCodeExecutionToolResultErrorCode' type: const: bash_code_execution_tool_result_error default: bash_code_execution_tool_result_error title: Type type: string required: - error_code - type title: ResponseBashCodeExecutionToolResultError type: object RequestImageBlock: additionalProperties: false properties: 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 source: discriminator: mapping: base64: '#/components/schemas/Base64ImageSource' file: '#/components/schemas/FileImageSource' url: '#/components/schemas/URLImageSource' propertyName: type oneOf: - $ref: '#/components/schemas/Base64ImageSource' - $ref: '#/components/schemas/URLImageSource' - $ref: '#/components/schemas/FileImageSource' title: Source transformations: anyOf: - $ref: '#/components/schemas/RequestImageTransformations' - type: 'null' description: Configures the transformations the server applies to this image before the model observes it. Each key names a condition the server transforms images for; its value selects the transformation applied. Omitted keys keep their default behavior, and an empty object is equivalent to omitting the field. type: const: image title: Type type: string required: - source - type title: RequestImageBlock type: object WebSearchTool_20250305: 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. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: web_search_20250305 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_20250305 type: object BrowserZoomConfig: additionalProperties: false description: '``zoom``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserZoomConfig type: object CodeExecutionTool_20250522: additionalProperties: false properties: allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 name: const: code_execution description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: code_execution_20250522 title: Type type: string required: - name - type title: CodeExecutionTool_20250522 type: object MemoryTool_20250818: additionalProperties: false properties: allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 input_examples: items: additionalProperties: $ref: '#/components/schemas/JsonValue' type: object title: Input Examples type: array name: const: memory description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: memory_20250818 title: Type type: string required: - name - type title: MemoryTool_20250818 type: object ResponseContentBlockLocationCitation: properties: cited_text: description: 'The full text of the cited block range, concatenated. Always equals the contents of `content[start_block_index:end_block_index]` joined together. The text block is the minimal citable unit; this field is never a substring of a single block. Not counted toward output tokens, and not counted toward input tokens when sent back in subsequent turns.' examples: - The grass is green. The sky is blue. title: Cited Text type: string document_index: minimum: 0 title: Document Index type: integer document_title: anyOf: - type: string - type: 'null' examples: - My Document title: Document Title end_block_index: description: 'Exclusive 0-based end index of the cited block range in the source''s `content` array. Always greater than `start_block_index`; a single-block citation has `end_block_index = start_block_index + 1`.' title: End Block Index type: integer file_id: anyOf: - type: string - type: 'null' default: null examples: - file_011CNha8iCJcU1wXNR6q4V8w title: File Id start_block_index: description: 0-based index of the first cited block in the source's `content` array. minimum: 0 title: Start Block Index type: integer type: const: content_block_location default: content_block_location title: Type type: string required: - cited_text - document_index - document_title - end_block_index - file_id - start_block_index - type title: ResponseContentBlockLocationCitation type: object FileImageSource: additionalProperties: false properties: file_id: title: File Id type: string type: const: file title: Type type: string required: - file_id - type title: FileImageSource type: object ComputerMiddleClickConfig: additionalProperties: false description: '``middle_click``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerMiddleClickConfig type: object RequestCodeExecutionOutputBlock: additionalProperties: false properties: file_id: title: File Id type: string type: const: code_execution_output title: Type type: string required: - file_id - type title: RequestCodeExecutionOutputBlock type: object RequestBrowserStateBlock: additionalProperties: false description: 'The caller''s browser state after a browser toolset member call — the full inventory of open tabs, which tab is active, and any side effects (tabs opened, download state changes) the call produced. At most one per `tool_result`, only on a non-error result answering a browser toolset member `tool_use`. The server renders the model-visible text from it; the model never sees the raw fields.' properties: 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 state_changes: anyOf: - items: discriminator: mapping: download_completed: '#/components/schemas/BrowserStateChangeDownloadCompleted' download_failed: '#/components/schemas/BrowserStateChangeDownloadFailed' download_started: '#/components/schemas/BrowserStateChangeDownloadStarted' tab_opened: '#/components/schemas/BrowserStateChangeTabOpened' propertyName: type oneOf: - $ref: '#/components/schemas/BrowserStateChangeTabOpened' - $ref: '#/components/schemas/BrowserStateChangeDownloadStarted' - $ref: '#/components/schemas/BrowserStateChangeDownloadCompleted' - $ref: '#/components/schemas/BrowserStateChangeDownloadFailed' maxItems: 200 minItems: 1 type: array - type: 'null' description: Tabs opened and download state changes during this call. "Nothing to report" is expressed by omitting the field, never by an empty list. title: State Changes tabs: description: 'All tabs open in the browser after this call — the full inventory, not a delta. May be empty. Whenever non-empty, exactly one entry carries `active: true`.' items: $ref: '#/components/schemas/BrowserStateTabEntry' maxItems: 100 title: Tabs type: array type: const: browser_state title: Type type: string required: - tabs - type title: RequestBrowserStateBlock type: object BrowserLeftMouseUpConfig: additionalProperties: false description: '``left_mouse_up``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserLeftMouseUpConfig type: object Metadata: additionalProperties: false properties: user_id: anyOf: - maxLength: 512 type: string - type: 'null' description: 'An external identifier for the user who is associated with the request. This should be a uuid, hash value, or other opaque identifier. Anthropic may use this id to help detect abuse. Do not include any identifying information such as name, email address, or phone number.' examples: - 13803d75-b4b5-4c3e-b2a2-6f21399b021b title: User Id title: Metadata type: object ComputerScrollConfig: additionalProperties: false description: '``scroll``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerScrollConfig type: object JsonValue: {} CompletionRequest: additionalProperties: false examples: - max_tokens_to_sample: 256 model: claude-2.1 prompt: ' Human: Hello, world! Assistant:' properties: model: $ref: '#/components/schemas/Model' prompt: description: 'The prompt that you want Claude to complete. For proper response generation you will need to format your prompt using alternating `\n\nHuman:` and `\n\nAssistant:` conversational turns. For example: ``` "\n\nHuman: {userQuestion}\n\nAssistant:" ``` See [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: - ' Human: Hello, world! Assistant:' minLength: 1 title: Prompt type: string max_tokens_to_sample: description: 'The maximum number of tokens to generate before stopping. Note that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.' examples: - 256 minimum: 1 title: Max Tokens To Sample type: integer stop_sequences: description: 'Sequences that will cause the model to stop generating. Our models stop on `"\n\nHuman:"`, and may include additional built-in stop sequences in the future. By providing the stop_sequences parameter, you may include additional strings that will cause the model to stop generating.' items: type: string title: Stop Sequences type: array temperature: deprecated: true description: 'Amount of randomness injected into the response. Defaults to `1.0`. Ranges from `0.0` to `1.0`. Use `temperature` closer to `0.0` for analytical / multiple choice, and closer to `1.0` for creative and generative tasks. Note that even with `temperature` of `0.0`, the results will not be fully deterministic.' examples: - 1 maximum: 1 minimum: 0 title: Temperature type: number x-stainless-deprecation-message: Deprecated. Models released after Claude Opus 4.6 do not support setting temperature. A value of 1.0 of will be accepted for backwards compatibility, all other values will be rejected with a 400 error. x-stainless-skip: - python top_p: deprecated: true description: 'Use nucleus sampling. In nucleus sampling, we compute the cumulative distribution over all the options for each subsequent token in decreasing probability order and cut it off once it reaches a particular probability specified by `top_p`. Recommended for advanced use cases only.' examples: - 0.7 maximum: 1 minimum: 0 title: Top P type: number x-stainless-deprecation-message: Deprecated. Models released after Claude Opus 4.6 do not support setting top_p. A value >= 0.99 will be accepted for backwards compatibility, all other values will be rejected with a 400 error. x-stainless-skip: - python top_k: deprecated: true description: 'Only sample from the top K options for each subsequent token. Used to remove "long tail" low probability responses. [Learn more technical details here](https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277). Recommended for advanced use cases only.' examples: - 5 minimum: 0 title: Top K type: integer x-stainless-deprecation-message: Deprecated. Models released after Claude Opus 4.6 do not accept top_k; any value will be rejected with a 400 error. x-stainless-skip: - python metadata: $ref: '#/components/schemas/Metadata' description: An object describing metadata about the request. stream: description: 'Whether to incrementally stream the response using server-sent events. See [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming) for details.' title: Stream type: boolean required: - max_tokens_to_sample - model - prompt title: CompletionRequest type: object DeletedSkill: properties: id: type: string title: Id description: 'Unique identifier for the skill. The format and length of IDs may change over time.' examples: - skill_01JAbcdefghijklmnopqrstuvw type: type: string const: skill_deleted title: Type description: 'Deleted object type. For Skills, this is always `"skill_deleted"`.' default: skill_deleted type: object required: - id - type title: DeletedSkill ResponseCodeExecutionToolResultError: properties: error_code: $ref: '#/components/schemas/CodeExecutionToolResultErrorCode' type: const: code_execution_tool_result_error default: code_execution_tool_result_error title: Type type: string required: - error_code - type title: ResponseCodeExecutionToolResultError type: object BillingError: properties: message: default: Billing error title: Message type: string type: const: billing_error default: billing_error title: Type type: string required: - message - type title: BillingError type: object RequestCitationsConfig: additionalProperties: false properties: enabled: title: Enabled type: boolean title: RequestCitationsConfig type: object BrowserReadConsoleConfig: additionalProperties: false description: '``read_console``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserReadConsoleConfig type: object RequestToolReferenceBlock: additionalProperties: false description: Tool reference block that can be included in tool_result content. properties: 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 tool_name: maxLength: 256 minLength: 1 pattern: ^[a-zA-Z0-9_-]{1,256}$ title: Tool Name type: string type: const: tool_reference title: Type type: string required: - tool_name - type title: RequestToolReferenceBlock type: object BrowserStateTabEntry: additionalProperties: false description: 'One open browser tab reported in a `browser_state` block''s `tabs` inventory. `tab_id` is the caller-assigned identifier for the tab; `title` and `url` describe the page the tab is currently showing and may be empty strings (a blank tab legitimately has both empty). `active` marks the tab that is active after this call; whenever `tabs` is non-empty, exactly one entry is marked.' properties: active: description: 'Whether this tab is the active tab after this call. Whenever `tabs` is non-empty, exactly one entry is marked `active: true`.' title: Active type: boolean tab_id: description: The caller-assigned identifier for this tab, unique within the inventory. maxLength: 4096 minLength: 1 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Tab Id type: string title: description: The title of the page the tab is showing. May be empty. maxLength: 4096 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Title type: string url: description: The URL of the page the tab is showing. May be empty. maxLength: 4096 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Url type: string required: - tab_id - title - url title: BrowserStateTabEntry type: object ResponseToolSearchToolResultBlock: properties: content: anyOf: - $ref: '#/components/schemas/ResponseToolSearchToolResultError' - $ref: '#/components/schemas/ResponseToolSearchToolSearchResultBlock' title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: tool_search_tool_result default: tool_search_tool_result title: Type type: string required: - content - tool_use_id - type title: ResponseToolSearchToolResultBlock type: object ComputerCursorPositionConfig: additionalProperties: false description: '``cursor_position``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerCursorPositionConfig type: object TextEditor_20250429: additionalProperties: false properties: allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 input_examples: items: additionalProperties: $ref: '#/components/schemas/JsonValue' type: object title: Input Examples type: array name: const: str_replace_based_edit_tool description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: text_editor_20250429 title: Type type: string required: - name - type title: TextEditor_20250429 type: object ThinkingCapability: properties: supported: type: boolean title: Supported description: Whether this capability is supported by the model. types: $ref: '#/components/schemas/ThinkingTypes' type: object required: - supported - types title: ThinkingCapability description: Thinking capability details. 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. This 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 ComputerTripleClickConfig: additionalProperties: false description: '``triple_click``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerTripleClickConfig type: object ToolSearchToolRegex_20251119: additionalProperties: false properties: allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 name: const: tool_search_tool_regex description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: enum: - tool_search_tool_regex_20251119 - tool_search_tool_regex title: Type type: string required: - name - type title: ToolSearchToolRegex_20251119 type: object ComputerToolsetConfigs: additionalProperties: false description: 'Per-member configuration for ``computer_toolset_20260801``: one optional field per member tool, keyed by the member name — the same name the member''s ``tool_use`` blocks carry. Every member is an accepted key, and a member''s defaults apply wherever its key is absent. Unknown keys are rejected: the field set is this toolset version''s complete member set.' properties: cursor_position: anyOf: - $ref: '#/components/schemas/ComputerCursorPositionConfig' - type: 'null' double_click: anyOf: - $ref: '#/components/schemas/ComputerDoubleClickConfig' - type: 'null' hold_key: anyOf: - $ref: '#/components/schemas/ComputerHoldKeyConfig' - type: 'null' key: anyOf: - $ref: '#/components/schemas/ComputerKeyConfig' - type: 'null' left_click: anyOf: - $ref: '#/components/schemas/ComputerLeftClickConfig' - type: 'null' left_click_drag: anyOf: - $ref: '#/components/schemas/ComputerLeftClickDragConfig' - type: 'null' left_mouse_down: anyOf: - $ref: '#/components/schemas/ComputerLeftMouseDownConfig' - type: 'null' left_mouse_up: anyOf: - $ref: '#/components/schemas/ComputerLeftMouseUpConfig' - type: 'null' middle_click: anyOf: - $ref: '#/components/schemas/ComputerMiddleClickConfig' - type: 'null' mouse_move: anyOf: - $ref: '#/components/schemas/ComputerMouseMoveConfig' - type: 'null' right_click: anyOf: - $ref: '#/components/schemas/ComputerRightClickConfig' - type: 'null' screenshot: anyOf: - $ref: '#/components/schemas/ComputerScreenshotConfig' - type: 'null' scroll: anyOf: - $ref: '#/components/schemas/ComputerScrollConfig' - type: 'null' triple_click: anyOf: - $ref: '#/components/schemas/ComputerTripleClickConfig' - type: 'null' type: anyOf: - $ref: '#/components/schemas/ComputerTypeConfig' - type: 'null' wait: anyOf: - $ref: '#/components/schemas/ComputerWaitConfig' - type: 'null' zoom: anyOf: - $ref: '#/components/schemas/ComputerZoomConfig' - type: 'null' title: ComputerToolsetConfigs type: object CodeExecutionTool_20250825: additionalProperties: false properties: allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 name: const: code_execution description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: code_execution_20250825 title: Type type: string required: - name - type title: CodeExecutionTool_20250825 type: object BrowserScrollConfig: additionalProperties: false description: '``scroll``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserScrollConfig type: object RequestThinkingBlock: additionalProperties: false properties: signature: description: 'The `signature` value of this thinking block, exactly as returned by the API in a previous response. Used to verify that the block was generated by Claude. Thinking blocks must be passed back unmodified and in their original order; a modified block results in a 400 `invalid_request_error`.' title: Signature type: string thinking: description: The `thinking` text of this block as returned by the API. title: Thinking type: string type: const: thinking title: Type type: string required: - signature - thinking - type title: RequestThinkingBlock type: object ComputerScreenshotConfig: additionalProperties: false description: '``screenshot``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerScreenshotConfig type: object ComputerLeftMouseUpConfig: additionalProperties: false description: '``left_mouse_up``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerLeftMouseUpConfig type: object ComputerLeftMouseDownConfig: additionalProperties: false description: '``left_mouse_down``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerLeftMouseDownConfig type: object DirectCaller: additionalProperties: false description: Tool invocation directly from the model. properties: type: const: direct title: Type type: string required: - type title: DirectCaller type: object ResponseWebSearchToolResultError: properties: error_code: $ref: '#/components/schemas/WebSearchToolResultErrorCode' type: const: web_search_tool_result_error default: web_search_tool_result_error title: Type type: string required: - error_code - type title: ResponseWebSearchToolResultError type: object AnthropicBeta: anyOf: - type: string - type: string enum: - message-batches-2024-09-24 - prompt-caching-2024-07-31 - computer-use-2024-10-22 - computer-use-2025-01-24 - pdfs-2024-09-25 - token-counting-2024-11-01 - token-efficient-tools-2025-02-19 - output-128k-2025-02-19 - files-api-2025-04-14 - mcp-client-2025-04-04 - mcp-client-2025-11-20 - dev-full-thinking-2025-05-14 - interleaved-thinking-2025-05-14 - code-execution-2025-05-22 - extended-cache-ttl-2025-04-11 - context-1m-2025-08-07 - context-management-2025-06-27 - model-context-window-exceeded-2025-08-26 - skills-2025-10-02 - fast-mode-2026-02-01 - output-300k-2026-03-24 - user-profiles-2026-03-24 - user-profiles-2026-08-18 - user-profiles-2026-09-04 - advisor-tool-2026-03-01 - managed-agents-2026-04-01 - cache-diagnosis-2026-04-07 - dreaming-2026-04-21 - thinking-token-count-2026-05-13 - server-side-fallback-2026-06-01 - server-side-fallback-2026-07-01 - fallback-credit-2026-06-01 - fallback-credit-2026-07-01 - agent-memory-2026-07-22 - mid-conversation-tool-changes-2026-07-01 - compact-2026-01-12 - computer-use-2025-11-24 - mcp-tunnels-2026-06-22 - structured-outputs-2025-11-13 - task-budgets-2026-03-13 - thinking-display-updates-2026-08-18 - ce-user-management-2026-07-13 - mid-conversation-output-config-2026-07-01 - thinking-binding-controls-2026-08-01 - mid-conversation-system-clear-at-2026-08-21 x-stainless-nominal: false BrowserCloseTabConfig: additionalProperties: false description: '``close_tab``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserCloseTabConfig type: object BrowserStateChangeDownloadFailed: additionalProperties: false description: A file download that failed — or was cancelled — during this call. properties: download_id: description: The caller-assigned identifier for this download, stable across the state changes reporting it. maxLength: 4096 minLength: 1 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Download Id type: string error: anyOf: - maxLength: 4096 type: string - type: 'null' description: The failure or cancellation detail, when known. pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Error type: const: download_failed title: Type type: string url: description: The final post-redirect URL the download was served from. maxLength: 4096 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Url type: string required: - download_id - type - url title: BrowserStateChangeDownloadFailed type: object BrowserToolsetConfigs: additionalProperties: false description: 'Per-member configuration for ``browser_toolset_20260801``: one optional field per member tool, keyed by the member name — the same name the member''s ``tool_use`` blocks carry. Every member is an accepted key, and a member''s defaults apply wherever its key is absent. Unknown keys are rejected: the field set is this toolset version''s complete member set.' properties: close_tab: anyOf: - $ref: '#/components/schemas/BrowserCloseTabConfig' - type: 'null' double_click: anyOf: - $ref: '#/components/schemas/BrowserDoubleClickConfig' - type: 'null' file_upload: anyOf: - $ref: '#/components/schemas/BrowserFileUploadConfig' - type: 'null' find: anyOf: - $ref: '#/components/schemas/BrowserFindConfig' - type: 'null' form_input: anyOf: - $ref: '#/components/schemas/BrowserFormInputConfig' - type: 'null' get_page_text: anyOf: - $ref: '#/components/schemas/BrowserGetPageTextConfig' - type: 'null' hold_key: anyOf: - $ref: '#/components/schemas/BrowserHoldKeyConfig' - type: 'null' hover: anyOf: - $ref: '#/components/schemas/BrowserHoverConfig' - type: 'null' javascript_exec: anyOf: - $ref: '#/components/schemas/BrowserJavascriptExecConfig' - type: 'null' key: anyOf: - $ref: '#/components/schemas/BrowserKeyConfig' - type: 'null' left_click: anyOf: - $ref: '#/components/schemas/BrowserLeftClickConfig' - type: 'null' left_click_drag: anyOf: - $ref: '#/components/schemas/BrowserLeftClickDragConfig' - type: 'null' left_mouse_down: anyOf: - $ref: '#/components/schemas/BrowserLeftMouseDownConfig' - type: 'null' left_mouse_up: anyOf: - $ref: '#/components/schemas/BrowserLeftMouseUpConfig' - type: 'null' list_tabs: anyOf: - $ref: '#/components/schemas/BrowserListTabsConfig' - type: 'null' middle_click: anyOf: - $ref: '#/components/schemas/BrowserMiddleClickConfig' - type: 'null' mouse_move: anyOf: - $ref: '#/components/schemas/BrowserMouseMoveConfig' - type: 'null' navigate: anyOf: - $ref: '#/components/schemas/BrowserNavigateConfig' - type: 'null' new_tab: anyOf: - $ref: '#/components/schemas/BrowserNewTabConfig' - type: 'null' read_console: anyOf: - $ref: '#/components/schemas/BrowserReadConsoleConfig' - type: 'null' read_network: anyOf: - $ref: '#/components/schemas/BrowserReadNetworkConfig' - type: 'null' read_page: anyOf: - $ref: '#/components/schemas/BrowserReadPageConfig' - type: 'null' right_click: anyOf: - $ref: '#/components/schemas/BrowserRightClickConfig' - type: 'null' screenshot: anyOf: - $ref: '#/components/schemas/BrowserScreenshotConfig' - type: 'null' scroll: anyOf: - $ref: '#/components/schemas/BrowserScrollConfig' - type: 'null' scroll_to: anyOf: - $ref: '#/components/schemas/BrowserScrollToConfig' - type: 'null' switch_tab: anyOf: - $ref: '#/components/schemas/BrowserSwitchTabConfig' - type: 'null' triple_click: anyOf: - $ref: '#/components/schemas/BrowserTripleClickConfig' - type: 'null' type: anyOf: - $ref: '#/components/schemas/BrowserTypeConfig' - type: 'null' wait: anyOf: - $ref: '#/components/schemas/BrowserWaitConfig' - type: 'null' zoom: anyOf: - $ref: '#/components/schemas/BrowserZoomConfig' - type: 'null' title: BrowserToolsetConfigs type: object CodeExecutionTool_20260521: additionalProperties: false description: Code execution tool with REPL state persistence. properties: allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 name: const: code_execution description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: code_execution_20260521 title: Type type: string required: - name - type title: CodeExecutionTool_20260521 type: object RequestEncryptedCodeExecutionResultBlock: additionalProperties: false description: Code execution result with encrypted stdout for PFC + web_search results. properties: content: items: $ref: '#/components/schemas/RequestCodeExecutionOutputBlock' title: Content type: array encrypted_stdout: title: Encrypted Stdout type: string return_code: title: Return Code type: integer stderr: title: Stderr type: string type: const: encrypted_code_execution_result title: Type type: string required: - content - encrypted_stdout - return_code - stderr - type title: RequestEncryptedCodeExecutionResultBlock type: object BrowserStateChangeDownloadCompleted: additionalProperties: false description: 'A file download that finished during this call, reported with the same `download_id` as its `download_started` — or without a prior `download_started`, when the download finished during the call that started it (at most one state change per `download_id` per result).' properties: download_id: description: The caller-assigned identifier for this download, stable across the state changes reporting it. maxLength: 4096 minLength: 1 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Download Id type: string path: anyOf: - maxLength: 4096 type: string - type: 'null' description: Where the executor saved the file, on the executor's filesystem. Only included when another tool in the same environment can read the file at that path. pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Path size_bytes: anyOf: - minimum: 0 type: integer - type: 'null' description: The completed download's size. title: Size Bytes type: const: download_completed title: Type type: string url: description: The final post-redirect URL the download was served from. maxLength: 4096 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Url type: string required: - download_id - type - url title: BrowserStateChangeDownloadCompleted type: object BashCodeExecutionToolResultErrorCode: enum: - invalid_tool_input - unavailable - too_many_requests - execution_time_exceeded - output_file_too_large title: BashCodeExecutionToolResultErrorCode type: string RequestImageTransformations: additionalProperties: false description: Configures the transformations the server applies to this image before the model observes it. Each key names a condition the server transforms images for; its value selects the transformation applied. Omitted keys keep their default behavior, and an empty object is equivalent to omitting the field. properties: oversized_image: description: What the server does when this image exceeds the model's maximum image size. `"downsize"` (the default) scales the image down to fit, which changes the dimensions the model observes without telling you. `"error"` instead rejects the request with a 400 error naming the image's dimensions and the largest dimensions that fit, so you can scale the image deliberately — your image is never silently scaled down. enum: - downsize - error title: Oversized Image type: string title: RequestImageTransformations type: object PermissionError: properties: message: default: Permission denied title: Message type: string type: const: permission_error default: permission_error title: Type type: string required: - message - type title: PermissionError type: object ResponseToolReferenceBlock: properties: tool_name: maxLength: 256 minLength: 1 pattern: ^[a-zA-Z0-9_-]{1,256}$ title: Tool Name type: string type: const: tool_reference default: tool_reference title: Type type: string required: - tool_name - type title: ResponseToolReferenceBlock type: object CodeExecutionToolResultErrorCode: enum: - invalid_tool_input - unavailable - too_many_requests - execution_time_exceeded title: CodeExecutionToolResultErrorCode type: string 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. This 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 ComputerRightClickConfig: additionalProperties: false description: '``right_click``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerRightClickConfig type: object RequestContentBlockLocationCitation: additionalProperties: false properties: cited_text: description: 'The full text of the cited block range, concatenated. Always equals the contents of `content[start_block_index:end_block_index]` joined together. The text block is the minimal citable unit; this field is never a substring of a single block. Not counted toward output tokens, and not counted toward input tokens when sent back in subsequent turns.' examples: - The grass is green. The sky is blue. title: Cited Text type: string document_index: minimum: 0 title: Document Index type: integer document_title: anyOf: - maxLength: 500 minLength: 1 type: string - type: 'null' title: Document Title end_block_index: description: 'Exclusive 0-based end index of the cited block range in the source''s `content` array. Always greater than `start_block_index`; a single-block citation has `end_block_index = start_block_index + 1`.' title: End Block Index type: integer start_block_index: description: 0-based index of the first cited block in the source's `content` array. minimum: 0 title: Start Block Index type: integer type: const: content_block_location title: Type type: string required: - cited_text - document_index - document_title - end_block_index - start_block_index - type title: RequestContentBlockLocationCitation type: object ResponseEncryptedCodeExecutionResultBlock: description: Code execution result with encrypted stdout for PFC + web_search results. properties: content: items: $ref: '#/components/schemas/ResponseCodeExecutionOutputBlock' title: Content type: array encrypted_stdout: title: Encrypted Stdout type: string return_code: title: Return Code type: integer stderr: title: Stderr type: string type: const: encrypted_code_execution_result default: encrypted_code_execution_result title: Type type: string required: - content - encrypted_stdout - return_code - stderr - type title: ResponseEncryptedCodeExecutionResultBlock type: object RequestCodeExecutionToolResultError: additionalProperties: false properties: error_code: $ref: '#/components/schemas/CodeExecutionToolResultErrorCode' type: const: code_execution_tool_result_error title: Type type: string required: - error_code - type title: RequestCodeExecutionToolResultError type: object RequestToolSearchToolResultError: additionalProperties: false properties: error_code: $ref: '#/components/schemas/ToolSearchToolResultErrorCode' error_message: anyOf: - type: string - type: 'null' title: Error Message type: const: tool_search_tool_result_error title: Type type: string required: - error_code - type title: RequestToolSearchToolResultError type: object BrowserStateChangeTabOpened: additionalProperties: false description: 'A tab this call''s execution opened that remains open at its end — the creation delta of the `tabs` inventory, not an event log. Carries only the `tab_id`; the tab''s `title` and `url` live on its `tabs` entry, which must include the same `tab_id`. A tab opened during a failed call gets no deferred `tab_opened`; it simply appears in the next result''s `tabs` inventory.' properties: tab_id: description: The `tab_id` of the opened tab, present in `tabs`. maxLength: 4096 minLength: 1 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$ title: Tab Id type: string type: const: tab_opened title: Type type: string required: - tab_id - type title: BrowserStateChangeTabOpened type: object CountMessageTokensParams: additionalProperties: false examples: - messages: - content: Hello, world role: user model: claude-opus-5 properties: cache_control: anyOf: - discriminator: mapping: ephemeral: '#/components/schemas/CacheControlEphemeral' propertyName: type oneOf: - $ref: '#/components/schemas/CacheControlEphemeral' - type: 'null' description: Top-level cache control automatically applies a cache_control marker to the last cacheable block in the request. 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://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 model: $ref: '#/components/schemas/Model' output_config: $ref: '#/components/schemas/OutputConfig' description: Configuration options for the model's output, such as the output format. system: anyOf: - type: string - items: $ref: '#/components/schemas/RequestTextBlock' type: array description: '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://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. title: System 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://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 input_schema: properties: location: description: The city and state, e.g. San Francisco, CA type: string unit: description: Unit for the output - one of (celsius, fahrenheit) type: string required: - location type: object name: get_weather items: oneOf: - $ref: '#/components/schemas/Tool' - $ref: '#/components/schemas/BashTool_20250124' - $ref: '#/components/schemas/CodeExecutionTool_20250522' - $ref: '#/components/schemas/CodeExecutionTool_20250825' - $ref: '#/components/schemas/CodeExecutionTool_20260120' - $ref: '#/components/schemas/CodeExecutionTool_20260521' - $ref: '#/components/schemas/BrowserToolset_20260801' - $ref: '#/components/schemas/MemoryTool_20250818' - $ref: '#/components/schemas/ComputerToolset_20260801' - $ref: '#/components/schemas/TextEditor_20250124' - $ref: '#/components/schemas/TextEditor_20250429' - $ref: '#/components/schemas/TextEditor_20250728' - $ref: '#/components/schemas/WebSearchTool_20250305' - $ref: '#/components/schemas/WebFetchTool_20250910' - $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' title: Tools type: array required: - messages - model title: CountMessageTokensParams type: object ResponseTextEditorCodeExecutionToolResultError: properties: error_code: $ref: '#/components/schemas/TextEditorCodeExecutionToolResultErrorCode' error_message: anyOf: - type: string - type: 'null' default: null title: Error Message type: const: text_editor_code_execution_tool_result_error default: text_editor_code_execution_tool_result_error title: Type type: string required: - error_code - error_message - type title: ResponseTextEditorCodeExecutionToolResultError type: object RequestRedactedThinkingBlock: additionalProperties: false properties: data: description: The `data` value of this redacted thinking block, exactly as returned by the API in a previous response. Opaque and encrypted; pass it back unchanged. title: Data type: string type: const: redacted_thinking title: Type type: string required: - data - type title: RequestRedactedThinkingBlock type: object ResponseCodeExecutionOutputBlock: properties: file_id: title: File Id type: string type: const: code_execution_output default: code_execution_output title: Type type: string required: - file_id - type title: ResponseCodeExecutionOutputBlock type: object ComputerLeftClickConfig: additionalProperties: false description: '``left_click``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerLeftClickConfig type: object RequestWebSearchResultBlock: additionalProperties: false properties: encrypted_content: title: Encrypted Content type: string page_age: anyOf: - type: string - type: 'null' title: Page Age title: title: Title type: string type: const: web_search_result title: Type type: string url: title: Url type: string required: - encrypted_content - title - type - url title: RequestWebSearchResultBlock type: object RequestTextBlock: additionalProperties: false properties: 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: - items: discriminator: mapping: char_location: '#/components/schemas/RequestCharLocationCitation' content_block_location: '#/components/schemas/RequestContentBlockLocationCitation' page_location: '#/components/schemas/RequestPageLocationCitation' search_result_location: '#/components/schemas/RequestSearchResultLocationCitation' web_search_result_location: '#/components/schemas/RequestWebSearchResultLocationCitation' propertyName: type oneOf: - $ref: '#/components/schemas/RequestCharLocationCitation' - $ref: '#/components/schemas/RequestPageLocationCitation' - $ref: '#/components/schemas/RequestContentBlockLocationCitation' - $ref: '#/components/schemas/RequestWebSearchResultLocationCitation' - $ref: '#/components/schemas/RequestSearchResultLocationCitation' type: array - type: 'null' title: Citations text: minLength: 1 title: Text type: string type: const: text title: Type type: string required: - text - type title: RequestTextBlock type: object FileListResponse: properties: data: items: $ref: '#/components/schemas/FileMetadataSchema' type: array title: Data description: List of file metadata objects. next_page: anyOf: - type: string - type: 'null' title: Next Page description: Opaque cursor for the next page. Supply as `?page=` to fetch the next page; null when there are no more results. type: object required: - data title: FileListResponse ThinkingConfigDisabled: additionalProperties: false properties: type: const: disabled title: Type type: string required: - type title: ThinkingConfigDisabled type: object x-stainless-go-constant-constructor: true RequestSearchResultBlock: additionalProperties: false properties: 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: $ref: '#/components/schemas/RequestCitationsConfig' content: items: $ref: '#/components/schemas/RequestTextBlock' title: Content type: array source: title: Source type: string title: title: Title type: string type: const: search_result title: Type type: string required: - content - source - title - type title: RequestSearchResultBlock type: object RequestBashCodeExecutionOutputBlock: additionalProperties: false properties: file_id: title: File Id type: string type: const: bash_code_execution_output title: Type type: string required: - file_id - type title: RequestBashCodeExecutionOutputBlock type: object ThinkingConfigParam: description: 'Configuration for enabling Claude''s extended thinking. When 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. See [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for details.' discriminator: mapping: adaptive: '#/components/schemas/ThinkingConfigAdaptive' disabled: '#/components/schemas/ThinkingConfigDisabled' enabled: '#/components/schemas/ThinkingConfigEnabled' propertyName: type examples: - type: adaptive oneOf: - $ref: '#/components/schemas/ThinkingConfigEnabled' - $ref: '#/components/schemas/ThinkingConfigDisabled' - $ref: '#/components/schemas/ThinkingConfigAdaptive' title: Thinking ThinkingConfigAdaptive: additionalProperties: false properties: display: anyOf: - $ref: '#/components/schemas/ThinkingDisplayMode' - type: 'null' description: Controls how thinking content appears in the response. When set to `summarized`, thinking is returned normally. When set to `omitted`, thinking content is redacted but a signature is returned for multi-turn continuity. Defaults to `summarized`. type: const: adaptive title: Type type: string required: - type title: ThinkingConfigAdaptive type: object RequestDocumentBlock: additionalProperties: false properties: 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' context: anyOf: - minLength: 1 type: string - type: 'null' title: Context source: discriminator: mapping: base64: '#/components/schemas/Base64PDFSource' content: '#/components/schemas/ContentBlockSource' file: '#/components/schemas/FileDocumentSource' text: '#/components/schemas/PlainTextSource' url: '#/components/schemas/URLPDFSource' propertyName: type oneOf: - $ref: '#/components/schemas/Base64PDFSource' - $ref: '#/components/schemas/PlainTextSource' - $ref: '#/components/schemas/ContentBlockSource' - $ref: '#/components/schemas/URLPDFSource' - $ref: '#/components/schemas/FileDocumentSource' title: Source title: anyOf: - maxLength: 500 minLength: 1 type: string - type: 'null' title: Title type: const: document title: Type type: string required: - source - type title: RequestDocumentBlock type: object ContainerParams: additionalProperties: false description: Container parameters with skills to be loaded. properties: id: anyOf: - type: string - type: 'null' description: Container id title: Id skills: anyOf: - items: $ref: '#/components/schemas/SkillParams' maxItems: 20 type: array - type: 'null' description: List of skills to load in the container title: Skills title: ContainerParams type: object TextEditor_20250728: additionalProperties: false properties: allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 input_examples: items: additionalProperties: $ref: '#/components/schemas/JsonValue' type: object title: Input Examples type: array max_characters: anyOf: - minimum: 1 type: integer - type: 'null' description: Maximum number of characters to display when viewing a file. If not specified, defaults to displaying the full file. title: Max Characters name: const: str_replace_based_edit_tool description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: text_editor_20250728 title: Type type: string required: - name - type title: TextEditor_20250728 type: object RequestCodeExecutionResultBlock: additionalProperties: false properties: content: items: $ref: '#/components/schemas/RequestCodeExecutionOutputBlock' title: Content type: array return_code: title: Return Code type: integer stderr: title: Stderr type: string stdout: title: Stdout type: string type: const: code_execution_result title: Type type: string required: - content - return_code - stderr - stdout - type title: RequestCodeExecutionResultBlock type: object Message: examples: - content: - citations: null text: Hi! My name is Claude. type: text id: msg_013Zva2CMHLNnXjNJJKqJ2EF model: claude-opus-5 role: assistant stop_details: null stop_reason: end_turn stop_sequence: null type: message usage: input_tokens: 2095 output_tokens: 503 properties: id: description: 'Unique object identifier. The format and length of IDs may change over time.' examples: - msg_013Zva2CMHLNnXjNJJKqJ2EF title: Id type: string type: const: message default: message description: 'Object type. For Messages, this is always `"message"`.' title: Type type: string role: const: assistant default: assistant description: 'Conversational role of the generated message. This will always be `"assistant"`.' title: Role type: string content: description: "Content generated by the model.\n\nThis is an array of content blocks, each of which has a `type` that determines its shape.\n\nExample:\n\n```json\n[{\"type\": \"text\", \"text\": \"Hi, I'm Claude.\"}]\n```\n\nIf the request input `messages` ended with an `assistant` turn, then the response `content` will continue directly from that last turn. You can use this to constrain the model's output.\n\nFor example, if the input `messages` were:\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\nThen the response `content` might be:\n\n```json\n[{\"type\": \"text\", \"text\": \"B)\"}]\n```" examples: - - citations: null text: Hi! My name is Claude. type: text items: $ref: '#/components/schemas/ContentBlock' title: Content type: array model: $ref: '#/components/schemas/Model' stop_reason: anyOf: - $ref: '#/components/schemas/StopReason' - type: 'null' description: 'The reason that we stopped. This may be one the following values: * `"end_turn"`: the model reached a natural stopping point * `"max_tokens"`: we exceeded the requested `max_tokens` or the model''s maximum * `"stop_sequence"`: one of your provided custom `stop_sequences` was generated * `"tool_use"`: the model invoked one or more tools * `"pause_turn"`: we paused a long-running turn. You may provide the response back as-is in a subsequent request to let the model continue. * `"refusal"`: when streaming classifiers intervene to handle potential policy violations * `"model_context_window_exceeded"`: we exceeded the model''s context window In non-streaming mode this value is always non-null. In streaming mode, it is null in the `message_start` event and non-null otherwise.' title: Stop Reason stop_sequence: anyOf: - type: string - type: 'null' default: null description: 'Which custom stop sequence was generated, if any. This value will be a non-null string if one of your custom stop sequences was generated.' title: Stop Sequence stop_details: anyOf: - $ref: '#/components/schemas/RefusalStopDetails' - type: 'null' default: null description: 'Structured information about why model output stopped. This is `null` when the `stop_reason` has no additional detail to report.' usage: $ref: '#/components/schemas/Usage' description: 'Billing and rate-limit usage. Anthropic''s API bills and rate-limits by token counts, as tokens represent the underlying cost to our systems. Under the hood, the API transforms requests into a format suitable for the model. The model''s output then goes through a parsing stage before becoming an API response. As a result, the token counts in `usage` will not match one-to-one with the exact visible content of an API request or response. For example, `output_tokens` will be non-zero, even for an empty string response from Claude. Total input tokens in a request is the summation of `input_tokens`, `cache_creation_input_tokens`, and `cache_read_input_tokens`.' examples: - input_tokens: 2095 output_tokens: 503 container: anyOf: - $ref: '#/components/schemas/Container' - type: 'null' default: null description: 'Information about the container used in this request. This will be non-null if a container tool (e.g. code execution) was used.' required: - id - type - role - content - model - stop_reason - stop_sequence - stop_details - usage - container title: Message type: object x-stainless-python-custom-imports: - from .content_block import ContentBlock as ContentBlock GatewayTimeoutError: properties: message: default: Request timeout title: Message type: string type: const: timeout_error default: timeout_error title: Type type: string required: - message - type title: GatewayTimeoutError type: object ModelInfo: properties: capabilities: anyOf: - $ref: '#/components/schemas/ModelCapabilities' - type: 'null' description: Object mapping capability names to their support details. Keys are always present for all known capabilities. created_at: type: string format: date-time title: Created At description: RFC 3339 datetime string representing the time at which the model was released. May be set to an epoch value if the release date is unknown. examples: - '2026-07-24T00:00:00Z' display_name: type: string title: Display Name description: A human-readable name for the model. examples: - Claude Opus 5 id: type: string title: Id description: Unique model identifier. examples: - claude-opus-5 max_input_tokens: anyOf: - type: integer - type: 'null' title: Max Input Tokens description: Maximum input context window size in tokens for this model. max_tokens: anyOf: - type: integer - type: 'null' title: Max Tokens description: Maximum value for the `max_tokens` parameter when using this model. type: type: string const: model title: Type description: 'Object type. For Models, this is always `"model"`.' default: model type: object required: - capabilities - created_at - display_name - id - max_input_tokens - max_tokens - type title: ModelInfo ServerToolCaller_20260120: additionalProperties: false properties: tool_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Id type: string type: const: code_execution_20260120 title: Type type: string required: - tool_id - type title: ServerToolCaller_20260120 type: object ResponseWebSearchResultLocationCitation: properties: cited_text: examples: - The grass is green. The sky is blue. title: Cited Text type: string encrypted_index: title: Encrypted Index type: string title: anyOf: - maxLength: 512 type: string - type: 'null' title: Title type: const: web_search_result_location default: web_search_result_location title: Type type: string url: title: Url type: string required: - cited_text - encrypted_index - title - type - url title: ResponseWebSearchResultLocationCitation type: object RequestBashCodeExecutionToolResultBlock: additionalProperties: false properties: 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 content: anyOf: - $ref: '#/components/schemas/RequestBashCodeExecutionToolResultError' - $ref: '#/components/schemas/RequestBashCodeExecutionResultBlock' title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: bash_code_execution_tool_result title: Type type: string required: - content - tool_use_id - type title: RequestBashCodeExecutionToolResultBlock type: object URLImageSource: additionalProperties: false properties: type: const: url title: Type type: string url: title: Url type: string required: - type - url title: URLImageSource type: object ResponseWebSearchResultBlock: properties: encrypted_content: title: Encrypted Content type: string page_age: anyOf: - type: string - type: 'null' default: null title: Page Age title: title: Title type: string type: const: web_search_result default: web_search_result title: Type type: string url: title: Url type: string required: - encrypted_content - page_age - title - type - url title: ResponseWebSearchResultBlock type: object ComputerKeyConfig: additionalProperties: false description: '``key``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerKeyConfig type: object ResponseWebSearchToolResultBlock: properties: caller: default: type: direct discriminator: mapping: code_execution_20250825: '#/components/schemas/ServerToolCaller' code_execution_20260120: '#/components/schemas/ServerToolCaller_20260120' direct: '#/components/schemas/DirectCaller' propertyName: type oneOf: - $ref: '#/components/schemas/DirectCaller' - $ref: '#/components/schemas/ServerToolCaller' - $ref: '#/components/schemas/ServerToolCaller_20260120' title: Caller content: anyOf: - $ref: '#/components/schemas/ResponseWebSearchToolResultError' - items: $ref: '#/components/schemas/ResponseWebSearchResultBlock' type: array title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: web_search_tool_result default: web_search_tool_result title: Type type: string required: - caller - content - tool_use_id - type title: ResponseWebSearchToolResultBlock type: object CacheControlEphemeral: additionalProperties: false properties: ttl: description: 'The time-to-live for the cache control breakpoint. This may be one the following values: - `5m`: 5 minutes - `1h`: 1 hour Defaults 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 x-stainless-renameMap: ttl_5m: 5m ttl_1h: 1h type: const: ephemeral title: Type type: string required: - type title: CacheControlEphemeral type: object x-stainless-go-constant-constructor: true WebSearchTool_20260209: 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. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: web_search_20260209 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_20260209 type: object ComputerWaitConfig: additionalProperties: false description: '``wait``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerWaitConfig type: object CapabilitySupport: properties: supported: type: boolean title: Supported description: Whether this capability is supported by the model. type: object required: - supported title: CapabilitySupport description: Indicates whether a capability is supported. RequestTextEditorCodeExecutionToolResultError: additionalProperties: false properties: error_code: $ref: '#/components/schemas/TextEditorCodeExecutionToolResultErrorCode' error_message: anyOf: - type: string - type: 'null' title: Error Message type: const: text_editor_code_execution_tool_result_error title: Type type: string required: - error_code - type title: RequestTextEditorCodeExecutionToolResultError type: object BrowserHoverConfig: additionalProperties: false description: '``hover``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserHoverConfig type: object Body_create_skill_v1_skills_post: properties: files: items: type: string format: binary type: array title: Files description: 'Files to upload for the skill. All files must be in the same top-level directory and must include a SKILL.md file at the root of that directory.' display_name: anyOf: - type: string - type: 'null' title: Display Name description: 'Human-readable, single-line label for the Skill. Maximum 255 characters. Always set: derived from the SKILL.md frontmatter `name` when omitted at creation. Not unique.' type: object required: - files title: Body_create_skill_v1_skills_post RequestCodeExecutionToolResultBlock: additionalProperties: false properties: 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 content: anyOf: - $ref: '#/components/schemas/RequestCodeExecutionToolResultError' - $ref: '#/components/schemas/RequestCodeExecutionResultBlock' - $ref: '#/components/schemas/RequestEncryptedCodeExecutionResultBlock' title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: code_execution_tool_result title: Type type: string required: - content - tool_use_id - type title: RequestCodeExecutionToolResultBlock type: object RequestWebFetchResultBlock: additionalProperties: false properties: content: $ref: '#/components/schemas/RequestDocumentBlock' retrieved_at: anyOf: - type: string - type: 'null' description: ISO 8601 timestamp when the content was retrieved title: Retrieved At type: const: web_fetch_result title: Type type: string url: description: Fetched content URL title: Url type: string required: - content - type - url title: RequestWebFetchResultBlock type: object RequestTextEditorCodeExecutionViewResultBlock: additionalProperties: false properties: content: title: Content type: string file_type: enum: - text - image - pdf title: File Type type: string num_lines: anyOf: - type: integer - type: 'null' title: Num Lines start_line: anyOf: - type: integer - type: 'null' title: Start Line total_lines: anyOf: - type: integer - type: 'null' title: Total Lines type: const: text_editor_code_execution_view_result title: Type type: string required: - content - file_type - type title: RequestTextEditorCodeExecutionViewResultBlock type: object InputContentBlock: discriminator: mapping: bash_code_execution_tool_result: '#/components/schemas/RequestBashCodeExecutionToolResultBlock' code_execution_tool_result: '#/components/schemas/RequestCodeExecutionToolResultBlock' container_upload: '#/components/schemas/RequestContainerUploadBlock' document: '#/components/schemas/RequestDocumentBlock' image: '#/components/schemas/RequestImageBlock' redacted_thinking: '#/components/schemas/RequestRedactedThinkingBlock' search_result: '#/components/schemas/RequestSearchResultBlock' server_tool_use: '#/components/schemas/RequestServerToolUseBlock' text: '#/components/schemas/RequestTextBlock' text_editor_code_execution_tool_result: '#/components/schemas/RequestTextEditorCodeExecutionToolResultBlock' thinking: '#/components/schemas/RequestThinkingBlock' tool_result: '#/components/schemas/RequestToolResultBlock' tool_search_tool_result: '#/components/schemas/RequestToolSearchToolResultBlock' tool_use: '#/components/schemas/RequestToolUseBlock' web_fetch_tool_result: '#/components/schemas/RequestWebFetchToolResultBlock' web_search_tool_result: '#/components/schemas/RequestWebSearchToolResultBlock' propertyName: type oneOf: - $ref: '#/components/schemas/RequestTextBlock' description: Regular text content. - $ref: '#/components/schemas/RequestImageBlock' description: Image content specified directly as base64 data or as a reference via a URL. - $ref: '#/components/schemas/RequestDocumentBlock' description: Document content, either specified directly as base64 data, as text, or as a reference via a URL. - $ref: '#/components/schemas/RequestSearchResultBlock' description: A search result block containing source, title, and content from search operations. - $ref: '#/components/schemas/RequestThinkingBlock' description: A block specifying internal thinking by the model. - $ref: '#/components/schemas/RequestRedactedThinkingBlock' description: A block specifying internal, redacted thinking by the model. - $ref: '#/components/schemas/RequestToolUseBlock' description: A block indicating a tool use by the model. - $ref: '#/components/schemas/RequestToolResultBlock' description: A block specifying the results of a tool use by the model. - $ref: '#/components/schemas/RequestServerToolUseBlock' - $ref: '#/components/schemas/RequestWebSearchToolResultBlock' - $ref: '#/components/schemas/RequestWebFetchToolResultBlock' - $ref: '#/components/schemas/RequestCodeExecutionToolResultBlock' - $ref: '#/components/schemas/RequestBashCodeExecutionToolResultBlock' - $ref: '#/components/schemas/RequestTextEditorCodeExecutionToolResultBlock' - $ref: '#/components/schemas/RequestToolSearchToolResultBlock' - $ref: '#/components/schemas/RequestContainerUploadBlock' x-stainless-python-extend-union: - ContentBlock x-stainless-python-extend-union-imports: - from .content_block import ContentBlock x-stainless-go-variant-constructor: naming: new_{variant}_block OutputConfig: additionalProperties: false properties: effort: anyOf: - $ref: '#/components/schemas/EffortLevel' - type: 'null' description: 'How much effort the model should put into its response. Higher effort levels may result in more thorough analysis but take longer. Valid values are `low`, `medium`, `high`, `xhigh`, or `max`.' title: Effort format: anyOf: - $ref: '#/components/schemas/JsonOutputFormat' - type: 'null' description: A schema to specify Claude's output format in responses. See [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) title: OutputConfig type: object URLPDFSource: additionalProperties: false properties: type: const: url title: Type type: string url: title: Url type: string required: - type - url title: URLPDFSource type: object BrowserMiddleClickConfig: additionalProperties: false description: '``middle_click``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserMiddleClickConfig type: object ToolChoiceAuto: additionalProperties: false description: The model will automatically decide whether to use tools. properties: disable_parallel_tool_use: description: 'Whether to disable parallel tool use. Defaults to `false`. If set to `true`, the model will output at most one tool use.' title: Disable Parallel Tool Use type: boolean type: const: auto title: Type type: string required: - type title: ToolChoiceAuto type: object ResponseContainerUploadBlock: description: Response model for a file uploaded to the container. properties: file_id: title: File Id type: string type: const: container_upload default: container_upload title: Type type: string required: - file_id - type title: ResponseContainerUploadBlock type: object ThinkingConfigEnabled: 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. Must be ≥1024 and less than `max_tokens`. See [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for details.' minimum: 1024 title: Budget Tokens type: integer display: anyOf: - $ref: '#/components/schemas/ThinkingDisplayMode' - type: 'null' description: Controls how thinking content appears in the response. When set to `summarized`, thinking is returned normally. When set to `omitted`, thinking content is redacted but a signature is returned for multi-turn continuity. Defaults to `summarized`. type: const: enabled title: Type type: string required: - budget_tokens - type title: ThinkingConfigEnabled type: object Model: title: Model description: 'The model that will complete your prompt. See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.' anyOf: - type: string - const: claude-fable-5-1 description: Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows x-stainless-nominal: false - const: claude-mythos-5-1 description: Our most capable model for cybersecurity and biology research, available through trusted access programs x-stainless-nominal: false - 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 x-stainless-nominal: false - const: claude-mythos-5 description: Most capable model for cybersecurity and biology research x-stainless-nominal: false - const: claude-opus-5 description: Powerful intelligence for long-running agents and coding x-stainless-nominal: false - const: claude-opus-4-8 description: Powerful intelligence for long-running agents and coding x-stainless-nominal: false - const: claude-opus-4-7 description: Powerful intelligence for long-running agents and coding x-stainless-nominal: false - const: claude-mythos-preview description: New class of intelligence, strongest in coding and cybersecurity x-stainless-nominal: false deprecated: true x-stainless-deprecation-message: Will reach end-of-life on June 30, 2026. Please migrate to claude-mythos-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - const: claude-opus-4-6 description: Powerful intelligence for long-running agents and coding x-stainless-nominal: false - const: claude-sonnet-4-6 description: Best combination of speed and intelligence x-stainless-nominal: false - const: claude-haiku-4-5 description: Fastest model with near-frontier intelligence x-stainless-nominal: false - const: claude-haiku-4-5-20251001 description: Fastest model with near-frontier intelligence x-stainless-nominal: false - const: claude-opus-4-5 description: Powerful intelligence for long-running agents and coding x-stainless-nominal: false - const: claude-opus-4-5-20251101 description: Powerful intelligence for long-running agents and coding x-stainless-nominal: false - const: claude-sonnet-4-5 description: High-performance model for agents and coding x-stainless-nominal: false - const: claude-sonnet-4-5-20250929 description: High-performance model for agents and coding x-stainless-nominal: false ResponseTextEditorCodeExecutionToolResultBlock: properties: content: anyOf: - $ref: '#/components/schemas/ResponseTextEditorCodeExecutionToolResultError' - $ref: '#/components/schemas/ResponseTextEditorCodeExecutionViewResultBlock' - $ref: '#/components/schemas/ResponseTextEditorCodeExecutionCreateResultBlock' - $ref: '#/components/schemas/ResponseTextEditorCodeExecutionStrReplaceResultBlock' title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: text_editor_code_execution_tool_result default: text_editor_code_execution_tool_result title: Type type: string required: - content - tool_use_id - type title: ResponseTextEditorCodeExecutionToolResultBlock type: object ResponsePageLocationCitation: properties: cited_text: examples: - The grass is green. The sky is blue. title: Cited Text type: string document_index: minimum: 0 title: Document Index type: integer document_title: anyOf: - type: string - type: 'null' examples: - My Document title: Document Title end_page_number: title: End Page Number type: integer file_id: anyOf: - type: string - type: 'null' default: null examples: - file_011CNha8iCJcU1wXNR6q4V8w title: File Id start_page_number: minimum: 1 title: Start Page Number type: integer type: const: page_location default: page_location title: Type type: string required: - cited_text - document_index - document_title - end_page_number - file_id - start_page_number - type title: ResponsePageLocationCitation type: object ToolChoiceTool: additionalProperties: false description: The model will use the specified tool with `tool_choice.name`. properties: disable_parallel_tool_use: description: 'Whether to disable parallel tool use. Defaults to `false`. If set to `true`, the model will output exactly one tool use.' title: Disable Parallel Tool Use type: boolean name: description: The name of the tool to use. title: Name type: string type: const: tool title: Type type: string required: - name - type title: ToolChoiceTool type: object ContainerSkill: description: A skill that was loaded in a container (response model). properties: skill_id: description: Skill ID examples: - pdf maxLength: 64 minLength: 1 title: Skill Id type: string type: description: Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined) enum: - anthropic - custom examples: - anthropic title: Type type: string x-stainless-naming: csharp: type_name: ContainerSkillType version: description: 'The resolved version: a skill version ID for custom skills.' examples: - latest maxLength: 64 minLength: 1 title: Version type: string required: - skill_id - type - version title: ContainerSkill type: object RequestContainerUploadBlock: additionalProperties: false description: 'A content block that represents a file to be uploaded to the container Files uploaded via this block will be available in the container''s input directory.' properties: 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 file_id: title: File Id type: string type: const: container_upload title: Type type: string required: - file_id - type title: RequestContainerUploadBlock type: object ResponseCodeExecutionToolResultBlock: properties: content: anyOf: - $ref: '#/components/schemas/ResponseCodeExecutionToolResultError' - $ref: '#/components/schemas/ResponseCodeExecutionResultBlock' - $ref: '#/components/schemas/ResponseEncryptedCodeExecutionResultBlock' title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: code_execution_tool_result default: code_execution_tool_result title: Type type: string required: - content - tool_use_id - type title: ResponseCodeExecutionToolResultBlock type: object ResponseRedactedThinkingBlock: properties: data: description: 'The contents of this redacted thinking block, returned when portions of the model''s thinking were safety-redacted. This field is opaque and encrypted, with no readable content. Pass `redacted_thinking` blocks back to the API unchanged when continuing a multi-turn conversation. See [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#redacted-thinking-blocks) for details.' title: Data type: string type: const: redacted_thinking default: redacted_thinking title: Type type: string required: - data - type title: ResponseRedactedThinkingBlock type: object ResponseToolSearchToolSearchResultBlock: properties: tool_references: items: $ref: '#/components/schemas/ResponseToolReferenceBlock' title: Tool References type: array type: const: tool_search_tool_search_result default: tool_search_tool_search_result title: Type type: string required: - tool_references - type title: ResponseToolSearchToolSearchResultBlock type: object FileDeleteResponse: properties: id: type: string title: Id description: ID of the deleted file. examples: - file_011CNha8iCJcU1wXNR6q4V8w type: type: string const: file_deleted title: Type description: 'Deleted object type. For file deletion, this is always `"file_deleted"`.' default: file_deleted type: object required: - id title: FileDeleteResponse AllowedCaller: description: "Specifies who can invoke a tool.\n\nValues:\n direct: The model can call this tool directly.\n code_execution_20250825: The tool can be called from the code execution environment (v1).\n code_execution_20260120: The tool can be called from the code execution environment (v2 with persistence).\n code_execution_20260521: The tool can be called from the code execution environment (v2 with persistence)." enum: - direct - code_execution_20250825 - code_execution_20260120 - code_execution_20260521 title: AllowedCaller type: string ContextManagementCapability: properties: clear_thinking_20251015: anyOf: - $ref: '#/components/schemas/CapabilitySupport' - type: 'null' description: Whether the clear_thinking_20251015 strategy is supported. clear_tool_uses_20250919: anyOf: - $ref: '#/components/schemas/CapabilitySupport' - type: 'null' description: Whether the clear_tool_uses_20250919 strategy is supported. compact_20260112: anyOf: - $ref: '#/components/schemas/CapabilitySupport' - type: 'null' description: Whether the compact_20260112 strategy is supported. supported: type: boolean title: Supported description: Whether this capability is supported by the model. type: object required: - clear_thinking_20251015 - clear_tool_uses_20250919 - compact_20260112 - supported title: ContextManagementCapability description: Context management capability details. BrowserGetPageTextConfig: additionalProperties: false description: '``get_page_text``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserGetPageTextConfig type: object ComputerLeftClickDragConfig: additionalProperties: false description: '``left_click_drag``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerLeftClickDragConfig type: object BrowserWaitConfig: additionalProperties: false description: '``wait``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserWaitConfig type: object BrowserLeftClickDragConfig: additionalProperties: false description: '``left_click_drag``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserLeftClickDragConfig type: object RequestSearchResultLocationCitation: additionalProperties: false properties: cited_text: description: 'The full text of the cited block range, concatenated. Always equals the contents of `content[start_block_index:end_block_index]` joined together. The text block is the minimal citable unit; this field is never a substring of a single block. Not counted toward output tokens, and not counted toward input tokens when sent back in subsequent turns.' examples: - The grass is green. The sky is blue. title: Cited Text type: string end_block_index: description: 'Exclusive 0-based end index of the cited block range in the source''s `content` array. Always greater than `start_block_index`; a single-block citation has `end_block_index = start_block_index + 1`.' title: End Block Index type: integer search_result_index: description: '0-based index of the cited search result among all `search_result` content blocks in the request, in the order they appear across messages and tool results. Counted separately from `document_index`; server-side web search results are not included in this count.' minimum: 0 title: Search Result Index type: integer source: title: Source type: string start_block_index: description: 0-based index of the first cited block in the source's `content` array. minimum: 0 title: Start Block Index type: integer title: anyOf: - type: string - type: 'null' title: Title type: const: search_result_location title: Type type: string required: - cited_text - end_block_index - search_result_index - source - start_block_index - title - type title: RequestSearchResultLocationCitation type: object TextEditor_20250124: additionalProperties: false properties: allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 input_examples: items: additionalProperties: $ref: '#/components/schemas/JsonValue' type: object title: Input Examples type: array name: const: str_replace_editor description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: text_editor_20250124 title: Type type: string required: - name - type title: TextEditor_20250124 type: object RequestToolResultBlock: additionalProperties: false properties: 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 content: anyOf: - type: string x-stainless-skip: - go - cli - items: discriminator: mapping: browser_state: '#/components/schemas/RequestBrowserStateBlock' document: '#/components/schemas/RequestDocumentBlock' image: '#/components/schemas/RequestImageBlock' search_result: '#/components/schemas/RequestSearchResultBlock' text: '#/components/schemas/RequestTextBlock' tool_reference: '#/components/schemas/RequestToolReferenceBlock' propertyName: type oneOf: - $ref: '#/components/schemas/RequestTextBlock' - $ref: '#/components/schemas/RequestImageBlock' - $ref: '#/components/schemas/RequestSearchResultBlock' - $ref: '#/components/schemas/RequestDocumentBlock' - $ref: '#/components/schemas/RequestToolReferenceBlock' - $ref: '#/components/schemas/RequestBrowserStateBlock' title: Block type: array x-stainless-naming: python: type_name: Content ruby: type_name: Content php: type_name: Content title: Content is_error: title: Is Error type: boolean tool_use_id: pattern: ^[a-zA-Z0-9_-]+$ title: Tool Use Id type: string toolset_name: anyOf: - maxLength: 64 minLength: 1 pattern: ^[a-zA-Z0-9_-]+$ type: string - type: 'null' description: For a toolset member tool_result, the toolset family of the paired tool_use. title: Toolset Name type: const: tool_result title: Type type: string required: - tool_use_id - type title: RequestToolResultBlock type: object BrowserJavascriptExecConfig: additionalProperties: false description: '``javascript_exec``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserJavascriptExecConfig type: object ResponseToolUseBlock: properties: caller: default: type: direct discriminator: mapping: code_execution_20250825: '#/components/schemas/ServerToolCaller' code_execution_20260120: '#/components/schemas/ServerToolCaller_20260120' direct: '#/components/schemas/DirectCaller' propertyName: type oneOf: - $ref: '#/components/schemas/DirectCaller' - $ref: '#/components/schemas/ServerToolCaller' - $ref: '#/components/schemas/ServerToolCaller_20260120' title: Caller id: pattern: ^[a-zA-Z0-9_-]+$ title: Id type: string input: additionalProperties: true title: Input type: object name: minLength: 1 title: Name type: string toolset_name: anyOf: - maxLength: 64 minLength: 1 pattern: ^[a-zA-Z0-9_-]+$ type: string - type: 'null' default: null description: For a toolset member tool_use, the toolset family. title: Toolset Name type: const: tool_use default: tool_use title: Type type: string required: - caller - id - input - name - type title: ResponseToolUseBlock type: object WebSearchToolResultErrorCode: enum: - invalid_tool_input - unavailable - max_uses_exceeded - too_many_requests - query_too_long - request_too_large title: WebSearchToolResultErrorCode type: string ComputerHoldKeyConfig: additionalProperties: false description: '``hold_key``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerHoldKeyConfig type: object EffortLevel: description: All possible effort levels. enum: - low - medium - high - xhigh - max title: EffortLevel type: string BrowserReadPageConfig: additionalProperties: false description: '``read_page``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserReadPageConfig type: object BrowserReadNetworkConfig: additionalProperties: false description: '``read_network``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserReadNetworkConfig type: object ResponseWebFetchToolResultBlock: properties: caller: default: type: direct discriminator: mapping: code_execution_20250825: '#/components/schemas/ServerToolCaller' code_execution_20260120: '#/components/schemas/ServerToolCaller_20260120' direct: '#/components/schemas/DirectCaller' propertyName: type oneOf: - $ref: '#/components/schemas/DirectCaller' - $ref: '#/components/schemas/ServerToolCaller' - $ref: '#/components/schemas/ServerToolCaller_20260120' title: Caller content: anyOf: - $ref: '#/components/schemas/ResponseWebFetchToolResultError' - $ref: '#/components/schemas/ResponseWebFetchResultBlock' title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: web_fetch_tool_result default: web_fetch_tool_result title: Type type: string required: - caller - content - tool_use_id - type title: ResponseWebFetchToolResultBlock type: object EffortCapability: properties: high: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model supports high effort level. low: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model supports low effort level. max: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model supports max effort level. medium: $ref: '#/components/schemas/CapabilitySupport' description: Whether the model supports medium effort level. supported: type: boolean title: Supported description: Whether this capability is supported by the model. xhigh: anyOf: - $ref: '#/components/schemas/CapabilitySupport' - type: 'null' description: Whether the model supports xhigh effort level. type: object required: - high - low - max - medium - supported - xhigh title: EffortCapability description: Effort (reasoning_effort) capability details. BrowserListTabsConfig: additionalProperties: false description: '``list_tabs``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserListTabsConfig type: object UserLocation: additionalProperties: false properties: city: anyOf: - maxLength: 255 minLength: 1 type: string - type: 'null' description: The city of the user. examples: - New York - Tokyo - Los Angeles title: City country: anyOf: - maxLength: 2 minLength: 2 type: string - type: 'null' description: The two letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the user. examples: - US - JP - GB title: Country region: anyOf: - maxLength: 255 minLength: 1 type: string - type: 'null' description: The region of the user. examples: - California - Ontario - Wales title: Region timezone: anyOf: - maxLength: 255 minLength: 1 type: string - type: 'null' description: The [IANA timezone](https://nodatime.org/TimeZones) of the user. examples: - America/New_York - Asia/Tokyo - Europe/London title: Timezone type: const: approximate title: Type type: string required: - type title: UserLocation type: object BrowserHoldKeyConfig: additionalProperties: false description: '``hold_key``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserHoldKeyConfig type: object BrowserFileUploadConfig: additionalProperties: false description: '``file_upload``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserFileUploadConfig type: object ResponseDocumentBlock: properties: citations: anyOf: - $ref: '#/components/schemas/ResponseCitationsConfig' - type: 'null' default: null description: Citation configuration for the document source: discriminator: mapping: base64: '#/components/schemas/Base64PDFSource' text: '#/components/schemas/PlainTextSource' propertyName: type oneOf: - $ref: '#/components/schemas/Base64PDFSource' - $ref: '#/components/schemas/PlainTextSource' title: Source title: anyOf: - type: string - type: 'null' default: null description: The title of the document title: Title type: const: document default: document title: Type type: string required: - citations - source - title - type title: ResponseDocumentBlock type: object BrowserMouseMoveConfig: additionalProperties: false description: '``mouse_move``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserMouseMoveConfig type: object BrowserNewTabConfig: additionalProperties: false description: '``new_tab``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: BrowserNewTabConfig type: object ToolSearchToolResultErrorCode: enum: - invalid_tool_input - unavailable - too_many_requests - execution_time_exceeded title: ToolSearchToolResultErrorCode type: string ComputerMouseMoveConfig: additionalProperties: false description: '``mouse_move``''s config overrides.' properties: defer_loading: anyOf: - type: boolean - type: 'null' description: Defer loading for this member. Must resolve to the same value on every enabled member of the toolset. title: Defer Loading enabled: anyOf: - type: boolean - type: 'null' description: Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema. title: Enabled title: ComputerMouseMoveConfig type: object Container: description: Information about the container used in the request (for the code execution tool) properties: expires_at: description: The time at which the container will expire. format: date-time title: Expires At type: string id: description: Identifier for the container used in this request examples: - container_011CpZohnwH4vuy7gazohgSP title: Id type: string skills: anyOf: - items: $ref: '#/components/schemas/ContainerSkill' type: array - type: 'null' default: null description: Skills loaded in the container title: Skills required: - expires_at - id - skills title: Container type: object ToolChoice: description: How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all. discriminator: mapping: any: '#/components/schemas/ToolChoiceAny' auto: '#/components/schemas/ToolChoiceAuto' none: '#/components/schemas/ToolChoiceNone' tool: '#/components/schemas/ToolChoiceTool' propertyName: type oneOf: - $ref: '#/components/schemas/ToolChoiceAuto' - $ref: '#/components/schemas/ToolChoiceAny' - $ref: '#/components/schemas/ToolChoiceTool' - $ref: '#/components/schemas/ToolChoiceNone' title: Tool Choice RequestToolSearchToolSearchResultBlock: additionalProperties: false properties: tool_references: items: $ref: '#/components/schemas/RequestToolReferenceBlock' title: Tool References type: array type: const: tool_search_tool_search_result title: Type type: string required: - tool_references - type title: RequestToolSearchToolSearchResultBlock type: object ResponseBashCodeExecutionToolResultBlock: properties: content: anyOf: - $ref: '#/components/schemas/ResponseBashCodeExecutionToolResultError' - $ref: '#/components/schemas/ResponseBashCodeExecutionResultBlock' title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: bash_code_execution_tool_result default: bash_code_execution_tool_result title: Type type: string required: - content - tool_use_id - type title: ResponseBashCodeExecutionToolResultBlock type: object RequestBashCodeExecutionToolResultError: additionalProperties: false properties: error_code: $ref: '#/components/schemas/BashCodeExecutionToolResultErrorCode' type: const: bash_code_execution_tool_result_error title: Type type: string required: - error_code - type title: RequestBashCodeExecutionToolResultError type: object RequestWebFetchToolResultBlock: additionalProperties: false properties: 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 caller: discriminator: mapping: code_execution_20250825: '#/components/schemas/ServerToolCaller' code_execution_20260120: '#/components/schemas/ServerToolCaller_20260120' direct: '#/components/schemas/DirectCaller' propertyName: type oneOf: - $ref: '#/components/schemas/DirectCaller' - $ref: '#/components/schemas/ServerToolCaller' - $ref: '#/components/schemas/ServerToolCaller_20260120' title: Caller content: anyOf: - $ref: '#/components/schemas/RequestWebFetchToolResultError' - $ref: '#/components/schemas/RequestWebFetchResultBlock' title: Content tool_use_id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Tool Use Id type: string type: const: web_fetch_tool_result title: Type type: string required: - content - tool_use_id - type title: RequestWebFetchToolResultBlock type: object Base64PDFSource: additionalProperties: false properties: data: format: byte title: Data type: string media_type: const: application/pdf title: Media Type type: string type: const: base64 title: Type type: string required: - data - media_type - type title: Base64PDFSource type: object Usage: properties: cache_creation: anyOf: - $ref: '#/components/schemas/CacheCreation' - type: 'null' default: null description: Breakdown of cached tokens by TTL cache_creation_input_tokens: anyOf: - minimum: 0 type: integer - type: 'null' default: null description: The number of input tokens used to create the cache entry. examples: - 2051 title: Cache Creation Input Tokens cache_read_input_tokens: anyOf: - minimum: 0 type: integer - type: 'null' default: null description: The number of input tokens read from the cache. examples: - 2051 title: Cache Read Input Tokens inference_geo: anyOf: - type: string - type: 'null' default: null description: The geographic region where inference was performed for this request. examples: - global title: Inference Geo input_tokens: description: The number of input tokens which were used. examples: - 2095 minimum: 0 title: Input Tokens type: integer output_tokens: description: The number of output tokens which were used. examples: - 503 minimum: 0 title: Output Tokens type: integer output_tokens_details: anyOf: - $ref: '#/components/schemas/OutputTokensDetails' - type: 'null' default: null description: 'Breakdown of output tokens by category. `output_tokens` remains the inclusive, authoritative total used for billing. This object provides a read-only decomposition for observability — for example, how many of the billed output tokens were spent on internal reasoning that may have been summarized before being returned to you.' server_tool_use: anyOf: - $ref: '#/components/schemas/ServerToolUsage' - type: 'null' default: null description: The number of server tool requests. service_tier: anyOf: - enum: - standard - priority - batch type: string - type: 'null' default: null description: If the request used the priority, standard, or batch tier. title: Service Tier required: - cache_creation - cache_creation_input_tokens - cache_read_input_tokens - inference_geo - input_tokens - output_tokens - output_tokens_details - server_tool_use - service_tier title: Usage type: object RequestTextEditorCodeExecutionCreateResultBlock: additionalProperties: false properties: is_file_update: title: Is File Update type: boolean type: const: text_editor_code_execution_create_result title: Type type: string required: - is_file_update - type title: RequestTextEditorCodeExecutionCreateResultBlock type: object BashTool_20250124: additionalProperties: false properties: allowed_callers: items: $ref: '#/components/schemas/AllowedCaller' title: Allowed Callers type: array 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 input_examples: items: additionalProperties: $ref: '#/components/schemas/JsonValue' type: object title: Input Examples type: array name: const: bash description: 'Name of the tool. This is how the tool will be called by the model and in `tool_use` blocks.' title: Name type: string strict: description: When true, guarantees schema validation on tool names and inputs title: Strict type: boolean type: const: bash_20250124 title: Type type: string required: - name - type title: BashTool_20250124 type: object NotFoundError: properties: message: default: Not found title: Message type: string type: const: not_found_error default: not_found_error title: Type type: string required: - message - type title: NotFoundError type: object RequestServerToolUseBlock: additionalProperties: false properties: 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 caller: discriminator: mapping: code_execution_20250825: '#/components/schemas/ServerToolCaller' code_execution_20260120: '#/components/schemas/ServerToolCaller_20260120' direct: '#/components/schemas/DirectCaller' propertyName: type oneOf: - $ref: '#/components/schemas/DirectCaller' - $ref: '#/components/schemas/ServerToolCaller' - $ref: '#/components/schemas/ServerToolCaller_20260120' title: Caller id: pattern: ^srvtoolu_[a-zA-Z0-9_]+$ title: Id type: string input: additionalProperties: true title: Input type: object name: enum: - web_search - web_fetch - code_execution - bash_code_execution - text_editor_code_execution - tool_search_tool_regex - tool_search_tool_bm25 title: Name type: string type: const: server_tool_use title: Type type: string required: - id - input - name - type title: RequestServerToolUseBlock type: object