This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
from line 4
44
55### Anthropic Beta
66
7- `AnthropicBeta = string or "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more`
7- `AnthropicBeta = string or "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 38 more`
88
99 - `string`
1010
11 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more`
11 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 38 more`
1212
1313 - `"message-batches-2024-09-24"`
1414
from line 78
7878
7979 - `"mid-conversation-tool-changes-2026-07-01"`
8080
81 - `"compact-2026-01-12"`
82
83 - `"computer-use-2025-11-24"`
84
85 - `"mcp-tunnels-2026-06-22"`
86
87 - `"structured-outputs-2025-11-13"`
88
89 - `"task-budgets-2026-03-13"`
90
91 - `"thinking-display-updates-2026-08-18"`
92
93 - `"ce-user-management-2026-07-13"`
94
8195### Beta API Error
8296
8397- `BetaAPIError object`
from line 450
436450
437451 - `string`
438452
439 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more`
453 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 38 more`
440454
441455 - `"message-batches-2024-09-24"`
442456
from line 520
506520
507521 - `"mid-conversation-tool-changes-2026-07-01"`
508522
523 - `"compact-2026-01-12"`
524
525 - `"computer-use-2025-11-24"`
526
527 - `"mcp-tunnels-2026-06-22"`
528
529 - `"structured-outputs-2025-11-13"`
530
531 - `"task-budgets-2026-03-13"`
532
533 - `"thinking-display-updates-2026-08-18"`
534
535 - `"ce-user-management-2026-07-13"`
536
509537#### Returns
510538
511539- `data: array of BetaModelInfo`
from line 798
770798
771799 - `string`
772800
773 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more`
801 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 38 more`
774802
775803 - `"message-batches-2024-09-24"`
776804
from line 868
840868
841869 - `"mid-conversation-tool-changes-2026-07-01"`
842870
871 - `"compact-2026-01-12"`
872
873 - `"computer-use-2025-11-24"`
874
875 - `"mcp-tunnels-2026-06-22"`
876
877 - `"structured-outputs-2025-11-13"`
878
879 - `"task-budgets-2026-03-13"`
880
881 - `"thinking-display-updates-2026-08-18"`
882
883 - `"ce-user-management-2026-07-13"`
884
843885#### Returns
844886
845887- `BetaModelInfo object`
from line 1125
10831125
10841126 - `string`
10851127
1086 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more`
1128 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 38 more`
10871129
10881130 - `"message-batches-2024-09-24"`
10891131
from line 1195
11531195
11541196 - `"mid-conversation-tool-changes-2026-07-01"`
11551197
1198 - `"compact-2026-01-12"`
1199
1200 - `"computer-use-2025-11-24"`
1201
1202 - `"mcp-tunnels-2026-06-22"`
1203
1204 - `"structured-outputs-2025-11-13"`
1205
1206 - `"task-budgets-2026-03-13"`
1207
1208 - `"thinking-display-updates-2026-08-18"`
1209
1210 - `"ce-user-management-2026-07-13"`
1211
11561212- `"anthropic-user-profile-id": optional string`
11571213
11581214 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.
from line 2889
28332889
28342890 - `type: "enabled"`
28352891
2836 - `display: optional "summarized" or "omitted" or null`
2892 - `display: optional "summarized" or "omitted" or "updates" or null`
28372893
28382894 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`.
28392895
from line 2897
28412897
28422898 - `"omitted"`
28432899
2900 - `"updates"`
2901
28442902 - `BetaThinkingConfigDisabled object`
28452903
28462904 - `type: "disabled"`
from line 2907
28492907
28502908 - `type: "adaptive"`
28512909
2852 - `display: optional "summarized" or "omitted" or null`
2910 - `display: optional "summarized" or "omitted" or "updates" or null`
28532911
28542912 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`.
28552913
from line 2915
28572915
28582916 - `"omitted"`
28592917
2918 - `"updates"`
2919
28602920 - `Default = "default"`
28612921
28622922- `inference_geo: optional string or null`
from line 6427
63676427
63686428 Per-iteration token usage breakdown.
63696429
6370 Each entry represents one sampling iteration, with its own input/output token counts and cache statistics. This allows you to:
6430 Each entry represents one sampling iteration, with its own input/output token counts and cache statistics, discriminated by `type`. For `message` entries (model sampling iterations, such as the turns of a server-side tool use loop), this allows you to:
63716431
63726432 - Determine which iterations exceeded long context thresholds (>=200k tokens)
6373 - Calculate the true context window size from the last iteration
6433 - Calculate the context window size from the last `message` entry
63746434 - Understand token accumulation across server-side tool use loops
63756435
6436 A `compaction` entry reports the token usage of the compaction operation itself — the server-side request that summarizes the context being closed — NOT the size of the context that was compacted away, and its token counts can be much smaller than that closed context (for example, a compaction that closes a ~200k-token context can report only a few thousand tokens). Do not derive the context window size from a `compaction` entry, even when it is the last entry. A `compaction` entry's tokens are not included in the top-level `usage` fields. When an input-token trigger is in effect (the default — 150,000 tokens unless configured otherwise), each `compaction` entry closes a context that had reached at least that threshold, though the context can exceed it by the final iteration's output and tool results.
6437
63766438 - `BetaMessageIterationUsage object`
63776439
63786440 Token usage for a sampling iteration.
from line 6744
66826744
66836745 Per-iteration token usage breakdown.
66846746
6685 Each entry represents one sampling iteration, with its own input/output token counts and cache statistics. This allows you to:
6747 Each entry represents one sampling iteration, with its own input/output token counts and cache statistics, discriminated by `type`. For `message` entries (model sampling iterations, such as the turns of a server-side tool use loop), this allows you to:
66866748
66876749 - Determine which iterations exceeded long context thresholds (>=200k tokens)
6688 - Calculate the true context window size from the last iteration
6750 - Calculate the context window size from the last `message` entry
66896751 - Understand token accumulation across server-side tool use loops
66906752
6753 A `compaction` entry reports the token usage of the compaction operation itself — the server-side request that summarizes the context being closed — NOT the size of the context that was compacted away, and its token counts can be much smaller than that closed context (for example, a compaction that closes a ~200k-token context can report only a few thousand tokens). Do not derive the context window size from a `compaction` entry, even when it is the last entry. A `compaction` entry's tokens are not included in the top-level `usage` fields. When an input-token trigger is in effect (the default — 150,000 tokens unless configured otherwise), each `compaction` entry closes a context that had reached at least that threshold, though the context can exceed it by the final iteration's output and tool results.
6754
66916755 - `output_tokens: number`
66926756
66936757 The cumulative number of output tokens which were used.
from line 7098
70347098
70357099 - `string`
70367100
7037 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more`
7101 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 38 more`
70387102
70397103 - `"message-batches-2024-09-24"`
70407104
from line 7168
71047168
71057169 - `"mid-conversation-tool-changes-2026-07-01"`
71067170
7171 - `"compact-2026-01-12"`
7172
7173 - `"computer-use-2025-11-24"`
7174
7175 - `"mcp-tunnels-2026-06-22"`
7176
7177 - `"structured-outputs-2025-11-13"`
7178
7179 - `"task-budgets-2026-03-13"`
7180
7181 - `"thinking-display-updates-2026-08-18"`
7182
7183 - `"ce-user-management-2026-07-13"`
7184
71077185- `"anthropic-user-profile-id": optional string`
71087186
71097187 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.
from line 8786
87088786
87098787 - `type: "enabled"`
87108788
8711 - `display: optional "summarized" or "omitted" or null`
8789 - `display: optional "summarized" or "omitted" or "updates" or null`
87128790
87138791 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`.
87148792
from line 8794
87168794
87178795 - `"omitted"`
87188796
8797 - `"updates"`
8798
87198799 - `BetaThinkingConfigDisabled object`
87208800
87218801 - `type: "disabled"`
from line 8804
87248804
87258805 - `type: "adaptive"`
87268806
8727 - `display: optional "summarized" or "omitted" or null`
8807 - `display: optional "summarized" or "omitted" or "updates" or null`
87288808
87298809 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`.
87308810
from line 8812
87328812
87338813 - `"omitted"`
87348814
8815 - `"updates"`
8816
87358817- `tool_choice: optional BetaToolChoice`
87368818
87378819 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.
from line 8870
87888870
87898871 If 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.
87908872
8791 There 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)).
8792
8793 Each tool definition includes:
8794
8795 * `name`: Name of the tool.
8796 * `description`: Optional, but strongly-recommended description of the tool.
8797 * `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.
8798
8799 For example, if you defined `tools` as:
8800
8801 ```json
8802 [
8803 {
8804 "name": "get_stock_price",
8805 "description": "Get the current stock price for a given ticker symbol.",
8806 "input_schema": {
8807 "type": "object",
8808 "properties": {
8809 "ticker": {
8810 "type": "string",
8811 "description": "The stock ticker symbol, e.g. AAPL for Apple Inc."
8812 }
8813 },
8814 "required": ["ticker"]
8815 }
8816 }
8817 ]
8818 ```
8819
8820 And 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:
8821
8822 ```json
8823 [
8824 {
8825 "type": "tool_use",
8826 "id": "toolu_01D7FLrfh4GYq7yT1ULFeyMV",
8827 "name": "get_stock_price",
8828 "input": { "ticker": "^GSPC" }
8829 }
8830 ]
8831 ```
8832
8833 You 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:
8834
8835 ```json
8836 [
8837 {
8838 "type": "tool_result",
8839 "tool_use_id": "toolu_01D7FLrfh4GYq7yT1ULFeyMV",
8840 "content": "259.75 USD"
8841 }
8842 ]
8843 ```
8844
8845 Tools 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.
8846
8847 See our [guide](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) for more details.
8848
8849 - `BetaTool object`
8850
8851 - `input_schema: object`
8852
8853 [JSON schema](https://json-schema.org/draft/2020-12) for this tool's input.
8854
8855 This defines the shape of the `input` that your tool accepts and that the model will produce.
8856
8857 - `type: "object"`
8858
8859 - `properties: optional map[unknown] or null`
8860
8861 - `required: optional array of string or null`
8862
8863 - `name: string`
8864
8865 Name of the tool.
8866
8867 This is how the tool will be called by the model and in `tool_use` blocks.
8868
8869 maxLength: 128, minLength: 1, pattern: ^[a-zA-Z0-9_-]{1,128}$
8870
8871 - `allowed_callers: optional array of "direct" or "code_execution_20250825" or "code_execution_20260120" or "code_execution_20260521"`
8872
8873 - `"direct"`
8874
8875 - `"code_execution_20250825"`
8876
8877 - `"code_execution_20260120"`
8878
8879 - `"code_execution_20260521"`
8880
8881 - `cache_control: optional BetaCacheControlEphemeral or null`
8882
8883 Create a cache control breakpoint at this content block.
8884
8885 - `defer_loading: optional boolean`
8886
8887 If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
8888
8889 - `description: optional string`
8890
8891 Description of what this tool does.
8892
8893 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.
8894
8895 - `eager_input_streaming: optional boolean or null`
8896
8897 Enable eager inp
8873 There 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 [we
No line in this hunk matches that.