Create a Message Batch changedapi/beta/messages/batches/create
Nearest release: v2.1.283, published 3 hours after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Recorded here
Lines+101added
Lines−141removed
From line
135
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits13to this page, all time
The whole hunk
from line 135, old and new numbered
/
from line 135
135135
136136 List of requests for prompt completion. Each is an individual request to create a Message.
137137
138 maxItems: 100000, minItems: 1
138 minItems: 1, maxItems: 100000
139139
140140 - `custom_id: string`
141141
from line 143
143143
144144 Must be unique for each request within the Message Batch.
145145
146 maxLength: 64, minLength: 1, pattern: ^[a-zA-Z0-9_-]{1,64}$
146 minLength: 1, maxLength: 64, pattern: ^[a-zA-Z0-9_-]{1,64}$
147147
148148 - `params: object`
149149
from line 263
263263
264264 - `document_title: string or null`
265265
266 maxLength: 500, minLength: 1
266 minLength: 1, maxLength: 500
267267
268268 - `end_char_index: number`
269269
from line 283
283283
284284 - `document_title: string or null`
285285
286 maxLength: 500, minLength: 1
286 minLength: 1, maxLength: 500
287287
288288 - `end_page_number: number`
289289
from line 307
307307
308308 - `document_title: string or null`
309309
310 maxLength: 500, minLength: 1
310 minLength: 1, maxLength: 500
311311
312312 - `end_block_index: number`
313313
from line 331
331331
332332 - `title: string or null`
333333
334 maxLength: 512, minLength: 1
334 minLength: 1, maxLength: 512
335335
336336 - `url: string`
337337
from line 487
487487
488488 - `title: optional string or null`
489489
490 maxLength: 500, minLength: 1
490 minLength: 1, maxLength: 500
491491
492492 - `BetaSearchResultBlockParam object`
493493
from line 551
551551
552552 - `name: string`
553553
554 maxLength: 200, minLength: 1
554 minLength: 1, maxLength: 200
555555
556556 - `cache_control: optional BetaCacheControlEphemeral or null`
557557
from line 587
587587
588588 For a toolset member tool_use, the toolset family this member belongs to.
589589
590 maxLength: 64, minLength: 1, pattern: ^[a-zA-Z0-9_-]+$
590 minLength: 1, maxLength: 64, pattern: ^[a-zA-Z0-9_-]+$
591591
592592 - `BetaToolResultBlockParam object`
593593
from line 623
623623
624624 - `tool_name: string`
625625
626 maxLength: 256, minLength: 1, pattern: ^[a-zA-Z0-9_-]{1,256}$
626 minLength: 1, maxLength: 256, pattern: ^[a-zA-Z0-9_-]{1,256}$
627627
628628 - `cache_control: optional BetaCacheControlEphemeral or null`
629629
from line 651
651651
652652 The caller-assigned identifier for this tab, unique within the inventory.
653653
654 maxLength: 4096, minLength: 1, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
654 minLength: 1, maxLength: 4096, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
655655
656656 - `title: string`
657657
from line 677
677677
678678 Tabs opened and download state changes during this call. "Nothing to report" is expressed by omitting the field, never by an empty list.
679679
680 maxItems: 200, minItems: 1
680 minItems: 1, maxItems: 200
681681
682682 - `BetaBrowserStateChangeTabOpened object`
683683
from line 695
695695
696696 The `tab_id` of the opened tab, present in `tabs`.
697697
698 maxLength: 4096, minLength: 1, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
698 minLength: 1, maxLength: 4096, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
699699
700700 - `BetaBrowserStateChangeDownloadStarted object`
701701
from line 707
707707
708708 The caller-assigned identifier for this download, stable across the state changes reporting it.
709709
710 maxLength: 4096, minLength: 1, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
710 minLength: 1, maxLength: 4096, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
711711
712712 - `url: string`
713713
from line 728
728728
729729 The caller-assigned identifier for this download, stable across the state changes reporting it.
730730
731 maxLength: 4096, minLength: 1, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
731 minLength: 1, maxLength: 4096, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
732732
733733 - `url: string`
734734
from line 740
740740
741741 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.
742742
743 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$, maxLength: 4096
743 maxLength: 4096, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
744744
745745 - `size_bytes: optional number or null`
746746
from line 758
758758
759759 The caller-assigned identifier for this download, stable across the state changes reporting it.
760760
761 maxLength: 4096, minLength: 1, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
761 minLength: 1, maxLength: 4096, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
762762
763763 - `url: string`
764764
from line 770
770770
771771 The failure or cancellation detail, when known.
772772
773 pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$, maxLength: 4096
773 maxLength: 4096, pattern: ^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
774774
775775 - `is_error: optional boolean`
776776
from line 778
778778
779779 For a toolset member tool_result, the toolset family of the paired tool_use.
780780
781 maxLength: 64, minLength: 1, pattern: ^[a-zA-Z0-9_-]+$
781 minLength: 1, maxLength: 64, pattern: ^[a-zA-Z0-9_-]+$
782782
783783 - `BetaServerToolUseBlockParam object`
784784
from line 1210
12101210
12111211 - `tool_name: string`
12121212
1213 maxLength: 256, minLength: 1, pattern: ^[a-zA-Z0-9_-]{1,256}$
1213 minLength: 1, maxLength: 256, pattern: ^[a-zA-Z0-9_-]{1,256}$
12141214
12151215 - `cache_control: optional BetaCacheControlEphemeral or null`
12161216
from line 1402
14021402
14031403 This is how the tool will be called by the model and in `tool_use` blocks.
14041404
1405 maxLength: 128, minLength: 1, pattern: ^[a-zA-Z0-9_-]{1,128}$
1405 minLength: 1, maxLength: 128, pattern: ^[a-zA-Z0-9_-]{1,128}$
14061406
14071407 - `allowed_callers: optional array of "direct" or "code_execution_20250825" or "code_execution_20260120" or "code_execution_20260521"`
14081408
from line 1653
16531653
16541654 - `configs: optional BetaBrowserToolsetConfigs or null`
16551655
1656 Per-member configuration for `browser_toolset_20260801`: one
1657 optional field per member tool, keyed by the member name — the same
1658 name the member's `tool_use` blocks carry. Every member is an
1659 accepted key, and a member's defaults apply wherever its key is
1660 absent. Unknown keys are rejected: the field set is this toolset
1661 version's complete member set.
1656 Sparse per-member overrides, keyed by member name. Absent, null, and {} are equivalent; a member's defaults apply wherever its key is absent.
16621657
16631658 - `type: optional BetaBrowserTypeConfig or null`
16641659
from line 2274
22792274
22802275 - `configs: optional BetaComputerToolsetConfigs or null`
22812276
2282 Per-member configuration for `computer_toolset_20260801`: one
2283 optional field per member tool, keyed by the member name — the same
2284 name the member's `tool_use` blocks carry. Every member is an
2285 accepted key, and a member's defaults apply wherever its key is
2286 absent. Unknown keys are rejected: the field set is this toolset
2287 version's complete member set.
2277 Sparse per-member overrides, keyed by member name. Absent, null, and {} are equivalent; a member's defaults apply wherever its key is absent.
22882278
22892279 - `type: optional BetaComputerTypeConfig or null`
22902280
from line 2628
26382628
26392629 Maximum number of times the tool can be used in the API request.
26402630
2641 exclusiveMinimum: 0
2631 minimum: 1
26422632
26432633 - `strict: optional boolean`
26442634
from line 2644
26542644
26552645 The city of the user.
26562646
2657 maxLength: 255, minLength: 1
2647 minLength: 1, maxLength: 255
26582648
26592649 - `country: optional string or null`
26602650
26612651 The two letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the user.
26622652
2663 maxLength: 2, minLength: 2
2653 minLength: 2, maxLength: 2
26642654
26652655 - `region: optional string or null`
26662656
26672657 The region of the user.
26682658
2669 maxLength: 255, minLength: 1
2659 minLength: 1, maxLength: 255
26702660
26712661 - `timezone: optional string or null`
26722662
26732663 The [IANA timezone](https://nodatime.org/TimeZones) of the user.
26742664
2675 maxLength: 255, minLength: 1
2665 minLength: 1, maxLength: 255
26762666
26772667 - `BetaWebFetchTool20250910 object`
26782668
from line 2708
27182708
27192709 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.
27202710
2721 exclusiveMinimum: 0
2711 minimum: 1
27222712
27232713 - `max_uses: optional number or null`
27242714
27252715 Maximum number of times the tool can be used in the API request.
27262716
2727 exclusiveMinimum: 0
2717 minimum: 1
27282718
27292719 - `strict: optional boolean`
27302720
from line 2722
27322722
27332723 - `url_sources: optional BetaWebFetchURLSources or null`
27342724
2735 Which sources contribute to the set of URLs web fetch may fetch.
2725 Which sources contribute to the set of URLs the tool may fetch. Omitted means every source.
27362726
2737 Each key is a tagged variant: `user_input` is `all` or `none`; the
2738 two tool filters are `all`, `none`, `only` (only the named tools'
2739 results) or `except` (every result but the named tools'). A named tool
2740 must be declared in this request's `tools[]`.
2741
27422727 - `client_tool_results: optional BetaWebFetchURLSourceAll or BetaWebFetchURLSourceNone or BetaWebFetchURLSourceOnly or BetaWebFetchURLSourceExcept`
27432728
27442729 Which client tools' results contribute fetchable URLs: "all", "none", or an only or except list of client tool names from tools[].
from line 2846
28612846
28622847 Maximum number of times the tool can be used in the API request.
28632848
2864 exclusiveMinimum: 0
2849 minimum: 1
28652850
28662851 - `strict: optional boolean`
28672852
from line 2900
29152900
29162901 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.
29172902
2918 exclusiveMinimum: 0
2903 minimum: 1
29192904
29202905 - `max_uses: optional number or null`
29212906
29222907 Maximum number of times the tool can be used in the API request.
29232908
2924 exclusiveMinimum: 0
2909 minimum: 1
29252910
29262911 - `strict: optional boolean`
29272912
from line 2914
29292914
29302915 - `url_sources: optional BetaWebFetchURLSources or null`
29312916
2932 Which sources contribute to the set of URLs web fetch may fetch.
2917 Which sources contribute to the set of URLs the tool may fetch. Omitted means every source.
29332918
2934 Each key is a tagged variant: `user_input` is `all` or `none`; the
2935 two tool filters are `all`, `none`, `only` (only the named tools'
2936 results) or `except` (every result but the named tools'). A named tool
2937 must be declared in this request's `tools[]`.
2938
29392919 - `BetaWebFetchTool20260309 object`
29402920
29412921 Web fetch tool with use_cache parameter for bypassing cached content.
from line 2962
29822962
29832963 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.
29842964
2985 exclusiveMinimum: 0
2965 minimum: 1
29862966
29872967 - `max_uses: optional number or null`
29882968
29892969 Maximum number of times the tool can be used in the API request.
29902970
2991 exclusiveMinimum: 0
2971 minimum: 1
29922972
29932973 - `strict: optional boolean`
29942974
from line 2976
29962976
29972977 - `url_sources: optional BetaWebFetchURLSources or null`
29982978
2999 Which sources contribute to the set of URLs web fetch may fetch.
2979 Which sources contribute to the set of URLs the tool may fetch. Omitted means every source.
30002980
3001 Each key is a tagged variant: `user_input` is `all` or `none`; the
3002 two tool filters are `all`, `none`, `only` (only the named tools'
3003 results) or `except` (every result but the named tools'). A named tool
3004 must be declared in this request's `tools[]`.
3005
30062981 - `use_cache: optional boolean`
30072982
30082983 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.
from line 3022
30473022
30483023 Maximum number of times the tool can be used in the API request.
30493024
3050 exclusiveMinimum: 0
3025 minimum: 1
30513026
30523027 - `response_inclusion: optional "full" or "excluded"`
30533028
from line 3084
31093084
31103085 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.
31113086
3112 exclusiveMinimum: 0
3087 minimum: 1
31133088
31143089 - `max_uses: optional number or null`
31153090
31163091 Maximum number of times the tool can be used in the API request.
31173092
3118 exclusiveMinimum: 0
3093 minimum: 1
31193094
31203095 - `response_inclusion: optional "full" or "excluded"`
31213096
from line 3106
31313106
31323107 - `url_sources: optional BetaWebFetchURLSources or null`
31333108
3134 Which sources contribute to the set of URLs web fetch may fetch.
3109 Which sources contribute to the set of URLs the tool may fetch. Omitted means every source.
31353110
3136 Each key is a tagged variant: `user_input` is `all` or `none`; the
3137 two tool filters are `all`, `none`, `only` (only the named tools'
3138 results) or `except` (every result but the named tools'). A named tool
3139 must be declared in this request's `tools[]`.
3140
31413111 - `use_cache: optional boolean`
31423112
31433113 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.
from line 3122
31523122
31533123 See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.
31543124
3125 - `string`
3126
31553127 - `"claude-fable-5-1" or "claude-opus-5-5" or "claude-mythos-5-1" or 15 more`
31563128
31573129 The model that will complete your prompt.
from line 3166
31943166
31953167 Powerful intelligence for long-running agents and coding
31963168
3197 - `"claude-mythos-preview"`
3198
3199 New class of intelligence, strongest in coding and cybersecurity
3200
32013169 - `"claude-opus-4-6"`
32023170
32033171 Powerful intelligence for long-running agents and coding
from line 3198
32303198
32313199 High-performance model for agents and coding
32323200
3233 - `string`
3201 - `"claude-mythos-preview"`
32343202
3203 **Deprecated**: 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.
3204
3205 New class of intelligence, strongest in coding and cybersecurity
3206
32353207 - `name: "advisor"`
32363208
32373209 Name of the tool.
from line 3242
32703242
32713243 Maximum number of times the tool can be used in the API request.
32723244
3273 exclusiveMinimum: 0
3245 minimum: 1
32743246
32753247 - `strict: optional boolean`
32763248
from line 3333
33613333
33623334 Name of the MCP server to configure tools for
33633335
3364 maxLength: 255, minLength: 1
3336 minLength: 1, maxLength: 255
33653337
33663338 - `cache_control: optional BetaCacheControlEphemeral or null`
33673339
from line 3443
34713443
34723444 The name of the MCP server this listing came from, as `mcp_servers` declares it.
34733445
3474 maxLength: 255, minLength: 1
3446 minLength: 1, maxLength: 255
34753447
34763448 - `tools: array of BetaMCPToolParam`
34773449
from line 3525
35533525
35543526 - `effort: optional "low" or "medium" or "high" or 2 more or null`
35553527
3556 All possible effort levels.
3528 How much effort the model should put into its response. Higher effort levels may result in more thorough analysis but take longer.
35573529
3530 Valid values are `low`, `medium`, `high`, `xhigh`, or `max`.
3531
35583532 - `"low"`
35593533
35603534 - `"medium"`
from line 3551
35773551
35783552 - `compaction: optional BetaCompactionConfig or null`
35793553
3580 Compact the whole conversation and return a signed `compaction` block,
3581 alone, that a later request sends back first in `messages`, in place of
3582 the messages it summarizes. There is no trigger and no pause flag: sending
3583 the parameter compacts, and nothing is sampled after the block.
3554 Compaction configuration.
35843555
3585 The summarization prompt is the server's own unless `instructions` are
3586 given, which then replace it for this request; a value that is empty or
3587 only whitespace counts as absent.
3556 When set on `POST /v1/messages`, the request is a compaction request: the conversation in `messages` is summarized and the response holds only the resulting `compaction` block (`stop_reason` `"compaction"`), which later requests send first in `messages` in place of the messages it summarizes. `POST /v1/messages/count_tokens` accepts this parameter and ignores it: the count it returns is for the conversation in `messages` as sent. Cannot be combined with `context_management`.
35883557
35893558 - `type: "summarize"`
35903559
from line 3593
36243593
36253594 Skill ID
36263595
3627 maxLength: 64, minLength: 1
3596 minLength: 1, maxLength: 64
36283597
36293598 - `version: optional string`
36303599
36313600 Skill version or 'latest' for most recent version
36323601
3633 maxLength: 64, minLength: 1
3602 minLength: 1, maxLength: 64
36343603
36353604 - `string`
36363605
from line 3613
36443613
36453614 List of context management edits to apply
36463615
3647 minItems: 0
3648
36493616 - `BetaClearToolUses20250919Edit object`
36503617
36513618 - `type: "clear_tool_uses_20250919"`
from line 3711
37443711
37453712 - `diagnostics: optional BetaDiagnosticsParam or null`
37463713
3747 Request-level diagnostics. Currently carries the previous response
3748 id for prompt-cache divergence reporting.
3714 Request-level diagnostics. Supply `previous_message_id` to have the response include `diagnostics.cache_miss_reason` explaining any prompt-cache divergence from that prior request.
37493715
37503716 - `previous_message_id: optional string or null`
37513717
from line 3758
37923758
37933759 The opaque `fallback_credit_token` from a prior refusal's `stop_details` — the same string the bare-string form carries.
37943760
3795 maxLength: 2048, minLength: 1
3761 minLength: 1, maxLength: 2048
37963762
37973763 - `mode: optional "strict" or "best_effort"`
37983764
from line 3786
38203786
38213787 - `effort: optional "low" or "medium" or "high" or 2 more or null`
38223788
3823 All possible effort levels.
3789 How much effort the model should put into its response. Higher effort levels may result in more thorough analysis but take longer.
38243790
3791 Valid values are `low`, `medium`, `high`, `xhigh`, or `max`.
3792
38253793 - `"low"`
38263794
38273795 - `"medium"`
from line 3812
38443812
38453813 - `task_budget: optional BetaTokenTaskBudget or null`
38463814
3847 User-configurable total token budget across contexts.
3815 Configuration for token budget tracking across contexts.
38483816
38493817 - `type: "tokens"`
38503818
from line 3856
38883856
38893857 - `block_binding: optional BetaThinkingBlockBinding or null`
38903858
3891 Controls for block binding: what happens when a thinking block this
3892 request sends back fails the conversation check. Every field is optional;
3893 an empty object means every default.
3859 Controls for block binding: what happens when a thinking block this request sends back fails the conversation check. `null`, absent or an empty object means every default.
38943860
38953861 - `prefix_mismatch_behavior: optional BetaThinkingPrefixMismatchBehavior or null`
38963862
3897 What happens when a thinking block in `messages` fails the conversation
3898 check: it was created in a different conversation, or the messages before
3899 it have changed since. `"error"` (the default) fails the request with a
3900 400 error. `"drop_block"` removes the failing blocks and the request
3901 proceeds; the model no longer sees the dropped reasoning.
3863 "error" (default) | "drop_block". What happens when a thinking block in `messages` fails the conversation check (it was created in a different conversation, or the messages before it have changed since). "error" fails the request with a 400 error. "drop_block" removes the failing blocks and the request proceeds; each removal is reported in `input_transformations`.
39023864
39033865 - `"error"`
39043866
from line 3886
39243886
39253887 - `block_binding: optional BetaThinkingBlockBinding or null`
39263888
3927 Controls for block binding: what happens when a thinking block this
3928 request sends back fails the conversation check. Every field is optional;
3929 an empty object means every default.
3889 Controls for block binding: what happens when a thinking block this request sends back fails the conversation check. `null`, absent or an empty object means every default.
39303890
39313891 - `display: optional "summarized" or "omitted" or "updates" or null`
39323892
from line 3952
39923952
39933953 - `speed: optional "standard" or "fast" or null`
39943954
3995 Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Not all models support `fast`; invalid combinations are rejected at create time.
3955 The inference speed mode for this request. `"fast"` enables high output-tokens-per-second inference.
39963956
39973957 - `"standard"`
39983958
from line 4221
42614221
42624222 Note that even with `temperature` of `0.0`, the results will not be fully deterministic.
42634223
4264 maximum: 1, minimum: 0
4224 minimum: 0, maximum: 1
42654225
42664226 - `top_k: optional number`
42674227
from line 4245
42854245
42864246 Recommended for advanced use cases only.
42874247
4288 maximum: 1, minimum: 0
4248 minimum: 0, maximum: 1
42894249
42904250## Returns
42914251
No line in this hunk matches that.