Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
One change · api

Batches changed

api/beta/messages/batches

Nearest release: v2.1.274, published 7 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+543added
Lines−206removed
From line 23 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 23, old and new numbered
/
lines

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

The two sides of this change are more than 400 edits apart, too far apart to line up, so this is the differ's own diff of it and the words inside a line are not marked.

from line 23
2323 
2424 - `string`
2525 
26 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
26 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
2727 
2828 - `"message-batches-2024-09-24"`
2929 
from line 114
114114 - `"thinking-binding-controls-2026-08-01"`
115115 
116116 - `"mid-conversation-system-clear-at-2026-08-21"`
117 
118 - `"compact-2026-09-04"`
117119 
118120- `"anthropic-user-profile-id": optional string`
119121 
from line 1306
13041306 - `encrypted_content: optional string or null`
13051307 
13061308 Opaque metadata from prior compaction, to be round-tripped verbatim
1309 
1310 - `signature: optional string or null`
1311 
1312 The block's signature as returned, to be sent back verbatim
13071313 
13081314 - `BetaRequestToolAdditionBlock object`
13091315 
from line 1550
15441550 - `cache_control: optional BetaCacheControlEphemeral or null`
15451551 
15461552 Top-level cache control automatically applies a cache_control marker to the last cacheable block in the request.
1553 
1554 - `compaction: optional BetaCompactionConfig or null`
1555 
1556 Compact the whole conversation and return a signed `compaction` block,
1557 alone, that a later request sends back first in `messages`, in place of
1558 the messages it summarizes. There is no trigger and no pause flag: sending
1559 the parameter compacts, and nothing is sampled after the block.
1560 
1561 The summarization prompt is the server's own unless `instructions` are
1562 given, which then replace it for this request; a value that is empty or
1563 only whitespace counts as absent.
1564 
1565 - `type: "summarize"`
1566 
1567 - `instructions: optional string or null`
1568 
1569 Replaces the server's default summarization prompt for this request. An empty or whitespace-only value counts as absent.
1570 
1571 maxLength: 16384
15471572 
15481573 - `container: optional BetaContainerParams or string or null`
15491574 
from line 3488
34633488 
34643489 When true, guarantees schema validation on tool names and inputs
34653490 
3491 - `url_sources: optional BetaWebFetchURLSources or null`
3492 
3493 Which sources contribute to the set of URLs web fetch may fetch.
3494 
3495 Each key is a tagged variant: `user_input` is `all` or `none`; the
3496 two tool filters are `all`, `none`, `only` (only the named tools'
3497 results) or `except` (every result but the named tools'). A named tool
3498 must be declared in this request's `tools[]`.
3499 
3500 - `client_tool_results: optional BetaWebFetchURLSourceAll or BetaWebFetchURLSourceNone or BetaWebFetchURLSourceOnly or BetaWebFetchURLSourceExcept`
3501 
3502 Which client tools' results contribute fetchable URLs: "all", "none", or an only or except list of client tool names from tools[].
3503 
3504 - `BetaWebFetchURLSourceAll object`
3505 
3506 The `url_sources` variant under which a source contributes in
3507 full: every result of the tool filter's source, or all user input.
3508 
3509 - `type: "all"`
3510 
3511 - `BetaWebFetchURLSourceNone object`
3512 
3513 The `url_sources` variant under which a source contributes nothing:
3514 no result of the tool filter's source, or no user input.
3515 
3516 - `type: "none"`
3517 
3518 - `BetaWebFetchURLSourceOnly object`
3519 
3520 The tool filter variant under which only the named tools' results
3521 contribute.
3522 
3523 - `type: "only"`
3524 
3525 - `tools: array of BetaWebFetchURLSourceToolReference`
3526 
3527 - `type: "tool_reference"`
3528 
3529 - `name: string`
3530 
3531 - `BetaWebFetchURLSourceExcept object`
3532 
3533 The tool filter variant under which every result but the named
3534 tools' contributes.
3535 
3536 - `type: "except"`
3537 
3538 - `tools: array of BetaWebFetchURLSourceToolReference`
3539 
3540 - `type: "tool_reference"`
3541 
3542 - `name: string`
3543 
3544 - `server_tool_results: optional BetaWebFetchURLSourceAll or BetaWebFetchURLSourceNone or BetaWebFetchURLSourceOnly or BetaWebFetchURLSourceExcept`
3545 
3546 Which server tools' results contribute fetchable URLs: "all", "none", or an only or except list of server tool names from tools[]; only web_search and web_fetch results ever contribute.
3547 
3548 - `BetaWebFetchURLSourceAll object`
3549 
3550 The `url_sources` variant under which a source contributes in
3551 full: every result of the tool filter's source, or all user input.
3552 
3553 - `BetaWebFetchURLSourceNone object`
3554 
3555 The `url_sources` variant under which a source contributes nothing:
3556 no result of the tool filter's source, or no user input.
3557 
3558 - `BetaWebFetchURLSourceOnly object`
3559 
3560 The tool filter variant under which only the named tools' results
3561 contribute.
3562 
3563 - `BetaWebFetchURLSourceExcept object`
3564 
3565 The tool filter variant under which every result but the named
3566 tools' contributes.
3567 
3568 - `user_input: optional BetaWebFetchURLSourceAll or BetaWebFetchURLSourceNone`
3569 
3570 Whether URLs in user messages are fetchable: "all" or "none".
3571 
3572 - `BetaWebFetchURLSourceAll object`
3573 
3574 The `url_sources` variant under which a source contributes in
3575 full: every result of the tool filter's source, or all user input.
3576 
3577 - `BetaWebFetchURLSourceNone object`
3578 
3579 The `url_sources` variant under which a source contributes nothing:
3580 no result of the tool filter's source, or no user input.
3581 
34663582 - `BetaWebSearchTool20260209 object`
34673583 
34683584 - `type: "web_search_20260209"`
from line 3685
35693685 
35703686 When true, guarantees schema validation on tool names and inputs
35713687 
3688 - `url_sources: optional BetaWebFetchURLSources or null`
3689 
3690 Which sources contribute to the set of URLs web fetch may fetch.
3691 
3692 Each key is a tagged variant: `user_input` is `all` or `none`; the
3693 two tool filters are `all`, `none`, `only` (only the named tools'
3694 results) or `except` (every result but the named tools'). A named tool
3695 must be declared in this request's `tools[]`.
3696 
35723697 - `BetaWebFetchTool20260309 object`
35733698 
35743699 Web fetch tool with use_cache parameter for bypassing cached content.
from line 3752
36273752 
36283753 When true, guarantees schema validation on tool names and inputs
36293754 
3755 - `url_sources: optional BetaWebFetchURLSources or null`
3756 
3757 Which sources contribute to the set of URLs web fetch may fetch.
3758 
3759 Each key is a tagged variant: `user_input` is `all` or `none`; the
3760 two tool filters are `all`, `none`, `only` (only the named tools'
3761 results) or `except` (every result but the named tools'). A named tool
3762 must be declared in this request's `tools[]`.
3763 
36303764 - `use_cache: optional boolean`
36313765 
36323766 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 3886
37523886 - `strict: optional boolean`
37533887 
37543888 When true, guarantees schema validation on tool names and inputs
3889 
3890 - `url_sources: optional BetaWebFetchURLSources or null`
3891 
3892 Which sources contribute to the set of URLs web fetch may fetch.
3893 
3894 Each key is a tagged variant: `user_input` is `all` or `none`; the
3895 two tool filters are `all`, `none`, `only` (only the named tools'
3896 results) or `except` (every result but the named tools'). A named tool
3897 must be declared in this request's `tools[]`.
37553898 
37563899 - `use_cache: optional boolean`
37573900 
from line 4287
41444287 
41454288 - `string`
41464289 
4147 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
4290 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
41484291 
41494292 - `"message-batches-2024-09-24"`
41504293 
from line 4378
42354378 - `"thinking-binding-controls-2026-08-01"`
42364379 
42374380 - `"mid-conversation-system-clear-at-2026-08-21"`
4381 
4382 - `"compact-2026-09-04"`
42384383 
42394384- `"anthropic-workspace-id": optional string`
42404385 
from line 4559
44144559 
44154560 - `string`
44164561 
4417 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
4562 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
44184563 
44194564 - `"message-batches-2024-09-24"`
44204565 
from line 4650
45054650 - `"thinking-binding-controls-2026-08-01"`
45064651 
45074652 - `"mid-conversation-system-clear-at-2026-08-21"`
4653 
4654 - `"compact-2026-09-04"`
45084655 
45094656- `"anthropic-workspace-id": optional string`
45104657 
from line 4840
46934840 
46944841 - `string`
46954842 
4696 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
4843 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
46974844 
46984845 - `"message-batches-2024-09-24"`
46994846 
from line 4931
47844931 - `"thinking-binding-controls-2026-08-01"`
47854932 
47864933 - `"mid-conversation-system-clear-at-2026-08-21"`
4934 
4935 - `"compact-2026-09-04"`
47874936 
47884937- `"anthropic-workspace-id": optional string`
47894938 
from line 5103
49545103 
49555104 - `string`
49565105 
4957 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
5106 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
49585107 
49595108 - `"message-batches-2024-09-24"`
49605109 
from line 5194
50455194 - `"thinking-binding-controls-2026-08-01"`
50465195 
50475196 - `"mid-conversation-system-clear-at-2026-08-21"`
5197 
5198 - `"compact-2026-09-04"`
50485199 
50495200- `"anthropic-workspace-id": optional string`
50505201 
from line 5258
51075258 
51085259 - `string`
51095260 
5110 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
5261 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
51115262 
51125263 - `"message-batches-2024-09-24"`
51135264 
from line 5349
51985349 - `"thinking-binding-controls-2026-08-01"`
51995350 
52005351 - `"mid-conversation-system-clear-at-2026-08-21"`
5352 
5353 - `"compact-2026-09-04"`
52015354 
52025355- `"anthropic-workspace-id": optional string`
52035356 
from line 6276
61236276 - `encrypted_content: string or null`
61246277 
61256278 Opaque metadata from prior compaction, to be round-tripped verbatim
6279 
6280 - `signature: optional string or null`
6281 
6282 Signature over the summary, to be sent back with the block verbatim
61266283 
61276284 - `BetaFallbackBlock object`
61286285 
from line 7044
68877044 
68887045 - `"fast"`
68897046 
6890 - `input_transformations: optional array of BetaThinkingDroppedInputTransformation or null`
6891 
6892 Changes the API made to the request's input before showing it to the model:
6893 one entry per change, in request order. Today the only entry type is
6894 `thinking_dropped` — a `thinking`, `redacted_thinking` or `connector_text`
6895 block from the request's `messages` that was removed from the prompt instead
6896 of being shown to the model because it failed a binding check. More entry
6897 types may be added over time; ignore types you do not recognize.
7047 - `input_transformations: optional array of BetaInputTransformation or null`
7048 
7049 Changes the API made to the request's input before showing it to the model,
7050 and blocks that failed a binding check but were left unchanged: one entry per
7051 block, in request order. Two entry types today. `thinking_dropped` — a
7052 `thinking`, `redacted_thinking` or `connector_text` block from the request's
7053 `messages` that was removed from the prompt instead of being shown to the
7054 model because it failed a binding check. `thinking_mismatch_allowed` — a
7055 `thinking` or `redacted_thinking` block that failed the conversation check
7056 (the conversation before it differs from the one it was created in, or it
7057 carries no record of one on a model that requires it) and was shown to the
7058 model all the same, because that check is not enforced for this request.
7059 More entry types may be added over time; ignore types you do not recognize.
68987060 
68997061 Requires `anthropic-beta: thinking-binding-controls-2026-08-01`. Present on
69007062 every such response from a model that supports extended thinking, as `[]`
6901 when nothing was changed; without the beta, blocks are removed all the same
6902 but nothing is reported. Removed blocks contribute nothing to
6903 `usage.input_tokens`. When streaming, the array is final in `message_start`;
6904 the final `message_delta` event carries it only when a server-side model
6905 fallback happened mid-stream, in which case it holds the serving model's
6906 entries and replaces the one in `message_start`.
6907 
6908 - `type: "thinking_dropped"`
6909 
6910 Always `thinking_dropped` for this entry type.
6911 
6912 default: thinking_dropped
6913 
6914 - `path: string`
6915 
6916 Where the removed block was in your request, as `messages.{i}.content.{j}`:
6917 `i` indexes the `messages` array you sent and `j` that message's `content`
6918 array — the same form error messages use.
6919 
6920 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
6921 
6922 Which binding check removed the block: `model_binding_mismatch` — it was
6923 created by a model whose reasoning the requested model may not read;
6924 `prefix_binding_mismatch` — the conversation before it differs from the
6925 conversation it was created in (the rest of that turn's consecutive thinking
6926 blocks are removed with it, each with this reason);
6927 `organization_binding_mismatch` — it was created under a different
6928 organization (an Anthropic organization, AWS account or Google Cloud project)
6929 and this organization is not one of its additional organizations;
6930 `end_user_binding_mismatch` — it was created for a different end user, or
6931 was removed by the consumer-organization binding. A block that would fail
6932 several checks reports one reason, in this order of precedence:
6933 `organization_binding_mismatch`, `end_user_binding_mismatch`,
6934 `model_binding_mismatch`, `prefix_binding_mismatch`.
6935 
6936 - `"model_binding_mismatch"`
6937 
6938 - `"prefix_binding_mismatch"`
6939 
6940 - `"organization_binding_mismatch"`
6941 
6942 - `"end_user_binding_mismatch"`
7063 when there is no entry to report; without the beta, blocks are removed or
7064 left in place all the same but nothing is reported. Removed blocks contribute
7065 nothing to `usage.input_tokens`; blocks left in place count as sent. When
7066 streaming, the array is final in `message_start`; the final `message_delta`
7067 event carries it only when a server-side model fallback happened mid-stream,
7068 in which case it holds the serving model's entries and replaces the one in
7069 `message_start`.
7070 
7071 - `BetaThinkingDroppedInputTransformation object`
7072 
7073 - `type: "thinking_dropped"`
7074 
7075 Always `thinking_dropped` for this entry type.
7076 
7077 default: thinking_dropped
7078 
7079 - `path: string`
7080 
7081 Where the removed block was in your request, as `messages.{i}.content.{j}`:
7082 `i` indexes the `messages` array you sent and `j` that message's `content`
7083 array — the same form error messages use.
7084 
7085 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
7086 
7087 Which binding check removed the block: `model_binding_mismatch` — it was
7088 created by a model whose reasoning the requested model may not read;
7089 `prefix_binding_mismatch` — the conversation before it differs from the
7090 conversation it was created in (the rest of that turn's consecutive thinking
7091 blocks are removed with it, each with this reason);
7092 `organization_binding_mismatch` — it was created under a different
7093 organization (an Anthropic organization, AWS account or Google Cloud project)
7094 and this organization is not one of its additional organizations;
7095 `end_user_binding_mismatch` — it was created for a different end user, or
7096 was removed by the consumer-organization binding. A block that would fail
7097 several checks reports one reason, in this order of precedence:
7098 `organization_binding_mismatch`, `end_user_binding_mismatch`,
7099 `model_binding_mismatch`, `prefix_binding_mismatch`.
7100 
7101 - `"model_binding_mismatch"`
7102 
7103 - `"prefix_binding_mismatch"`
7104 
7105 - `"organization_binding_mismatch"`
7106 
7107 - `"end_user_binding_mismatch"`
7108 
7109 - `BetaThinkingMismatchAllowedInputTransformation object`
7110 
7111 - `type: "thinking_mismatch_allowed"`
7112 
7113 Always `thinking_mismatch_allowed` for this entry type.
7114 
7115 default: thinking_mismatch_allowed
7116 
7117 - `path: string`
7118 
7119 Where the block is in your request, as `messages.{i}.content.{j}`:
7120 `i` indexes the `messages` array you sent and `j` that message's `content`
7121 array — the same form error messages use.
7122 
7123 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
7124 
7125 Which binding check the block failed; the block was shown to the model all
7126 the same. Always `prefix_binding_mismatch` today — the conversation before
7127 the block differs from the conversation it was created in, or the block
7128 carries no record of one on a model that requires it. Were the check
7129 enforced for this request, the block would have been removed or the request
7130 rejected (`thinking.block_binding.prefix_mismatch_behavior`). A removal also
7131 takes the rest of that turn's consecutive thinking blocks, whereas here each
7132 block is checked on its own, so `thinking_mismatch_allowed` entries are a
7133 lower bound on what enforcement would remove.
7134 
7135 - `"model_binding_mismatch"`
7136 
7137 - `"prefix_binding_mismatch"`
7138 
7139 - `"organization_binding_mismatch"`
7140 
7141 - `"end_user_binding_mismatch"`
69437142 
69447143 - `BetaMessageBatchErroredResult object`
69457144 
from line 8441
82428441 - `encrypted_content: string or null`
82438442 
82448443 Opaque metadata from prior compaction, to be round-tripped verbatim
8444 
8445 - `signature: optional string or null`
8446 
8447 Signature over the summary, to be sent back with the block verbatim
82458448 
82468449 - `BetaFallbackBlock object`
82478450 
from line 9209
90069209 
90079210 - `"fast"`
90089211 
9009 - `input_transformations: optional array of BetaThinkingDroppedInputTransformation or null`
9010 
9011 Changes the API made to the request's input before showing it to the model:
9012 one entry per change, in request order. Today the only entry type is
9013 `thinking_dropped` — a `thinking`, `redacted_thinking` or `connector_text`
9014 block from the request's `messages` that was removed from the prompt instead
9015 of being shown to the model because it failed a binding check. More entry
9016 types may be added over time; ignore types you do not recognize.
9212 - `input_transformations: optional array of BetaInputTransformation or null`
9213 
9214 Changes the API made to the request's input before showing it to the model,
9215 and blocks that failed a binding check but were left unchanged: one entry per
9216 block, in request order. Two entry types today. `thinking_dropped` — a
9217 `thinking`, `redacted_thinking` or `connector_text` block from the request's
9218 `messages` that was removed from the prompt instead of being shown to the
9219 model because it failed a binding check. `thinking_mismatch_allowed` — a
9220 `thinking` or `redacted_thinking` block that failed the conversation check
9221 (the conversation before it differs from the one it was created in, or it
9222 carries no record of one on a model that requires it) and was shown to the
9223 model all the same, because that check is not enforced for this request.
9224 More entry types may be added over time; ignore types you do not recognize.
90179225 
90189226 Requires `anthropic-beta: thinking-binding-controls-2026-08-01`. Present on
90199227 every such response from a model that supports extended thinking, as `[]`
9020 when nothing was changed; without the beta, blocks are removed all the same
9021 but nothing is reported. Removed blocks contribute nothing to
9022 `usage.input_tokens`. When streaming, the array is final in `message_start`;
9023 the final `message_delta` event carries it only when a server-side model
9024 fallback happened mid-stream, in which case it holds the serving model's
9025 entries and replaces the one in `message_start`.
9026 
9027 - `type: "thinking_dropped"`
9028 
9029 Always `thinking_dropped` for this entry type.
9030 
9031 default: thinking_dropped
9032 
9033 - `path: string`
9034 
9035 Where the removed block was in your request, as `messages.{i}.content.{j}`:
9036 `i` indexes the `messages` array you sent and `j` that message's `content`
9037 array — the same form error messages use.
9038 
9039 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
9040 
9041 Which binding check removed the block: `model_binding_mismatch` — it was
9042 created by a model whose reasoning the requested model may not read;
9043 `prefix_binding_mismatch` — the conversation before it differs from the
9044 conversation it was created in (the rest of that turn's consecutive thinking
9045 blocks are removed with it, each with this reason);
9046 `organization_binding_mismatch` — it was created under a different
9047 organization (an Anthropic organization, AWS account or Google Cloud project)
9048 and this organization is not one of its additional organizations;
9049 `end_user_binding_mismatch` — it was created for a different end user, or
9050 was removed by the consumer-organization binding. A block that would fail
9051 several checks reports one reason, in this order of precedence:
9052 `organization_binding_mismatch`, `end_user_binding_mismatch`,
9053 `model_binding_mismatch`, `prefix_binding_mismatch`.
9054 
9055 - `"model_binding_mismatch"`
9056 
9057 - `"prefix_binding_mismatch"`
9058 
9059 - `"organization_binding_mismatch"`
9060 
9061 - `"end_user_binding_mismatch"`
9228 when there is no entry to report; without the beta, blocks are removed or
9229 left in place all the same but nothing is reported. Removed blocks contribute
9230 nothing to `usage.input_tokens`; blocks left in place count as sent. When
9231 streaming, the array is final in `message_start`; the final `message_delta`
9232 event carries it only when a server-side model fallback happened mid-stream,
9233 in which case it holds the serving model's entries and replaces the one in
9234 `message_start`.
9235 
9236 - `BetaThinkingDroppedInputTransformation object`
9237 
9238 - `type: "thinking_dropped"`
9239 
9240 Always `thinking_dropped` for this entry type.
9241 
9242 default: thinking_dropped
9243 
9244 - `path: string`
9245 
9246 Where the removed block was in your request, as `messages.{i}.content.{j}`:
9247 `i` indexes the `messages` array you sent and `j` that message's `content`
9248 array — the same form error messages use.
9249 
9250 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
9251 
9252 Which binding check removed the block: `model_binding_mismatch` — it was
9253 created by a model whose reasoning the requested model may not read;
9254 `prefix_binding_mismatch` — the conversation before it differs from the
9255 conversation it was created in (the rest of that turn's consecutive thinking
9256 blocks are removed with it, each with this reason);
9257 `organization_binding_mismatch` — it was created under a different
9258 organization (an Anthropic organization, AWS account or Google Cloud project)
9259 and this organization is not one of its additional organizations;
9260 `end_user_binding_mismatch` — it was created for a different end user, or
9261 was removed by the consumer-organization binding. A block that would fail
9262 several checks reports one reason, in this order of precedence:
9263 `organization_binding_mismatch`, `end_user_binding_mismatch`,
9264 `model_binding_mismatch`, `prefix_binding_mismatch`.
9265 
9266 - `"model_binding_mismatch"`
9267 
9268 - `"prefix_binding_mismatch"`
9269 
9270 - `"organization_binding_mismatch"`
9271 
9272 - `"end_user_binding_mismatch"`
9273 
9274 - `BetaThinkingMismatchAllowedInputTransformation object`
9275 
9276 - `type: "thinking_mismatch_allowed"`
9277 
9278 Always `thinking_mismatch_allowed` for this entry type.
9279 
9280 default: thinking_mismatch_allowed
9281 
9282 - `path: string`
9283 
9284 Where the block is in your request, as `messages.{i}.content.{j}`:
9285 `i` indexes the `messages` array you sent and `j` that message's `content`
9286 array — the same form error messages use.
9287 
9288 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
9289 
9290 Which binding check the block failed; the block was shown to the model all
9291 the same. Always `prefix_binding_mismatch` today — the conversation before
9292 the block differs from the conversation it was created in, or the block
9293 carries no record of one on a model that requires it. Were the check
9294 enforced for this request, the block would have been removed or the request
9295 rejected (`thinking.block_binding.prefix_mismatch_behavior`). A removal also
9296 takes the rest of that turn's consecutive thinking blocks, whereas here each
9297 block is checked on its own, so `thinking_mismatch_allowed` entries are a
9298 lower bound on what enforcement would remove.
9299 
9300 - `"model_binding_mismatch"`
9301 
9302 - `"prefix_binding_mismatch"`
9303 
9304 - `"organization_binding_mismatch"`
9305 
9306 - `"end_user_binding_mismatch"`
90629307 
90639308 - `BetaMessageBatchErroredResult object`
90649309 
from line 10377
1013210377 - `encrypted_content: string or null`
1013310378 
1013410379 Opaque metadata from prior compaction, to be round-tripped verbatim
10380 
10381 - `signature: optional string or null`
10382 
10383 Signature over the summary, to be sent back with the block verbatim
1013510384 
1013610385 - `BetaFallbackBlock object`
1013710386 
from line 11145
1089611145 
1089711146 - `"fast"`
1089811147 
10899 - `input_transformations: optional array of BetaThinkingDroppedInputTransformation or null`
10900 
10901 Changes the API made to the request's input before showing it to the model:
10902 one entry per change, in request order. Today the only entry type is
10903 `thinking_dropped` — a `thinking`, `redacted_thinking` or `connector_text`
10904 block from the request's `messages` that was removed from the prompt instead
10905 of being shown to the model because it failed a binding check. More entry
10906 types may be added over time; ignore types you do not recognize.
11148 - `input_transformations: optional array of BetaInputTransformation or null`
11149 
11150 Changes the API made to the request's input before showing it to the model,
11151 and blocks that failed a binding check but were left unchanged: one entry per
11152 block, in request order. Two entry types today. `thinking_dropped` — a
11153 `thinking`, `redacted_thinking` or `connector_text` block from the request's
11154 `messages` that was removed from the prompt instead of being shown to the
11155 model because it failed a binding check. `thinking_mismatch_allowed` — a
11156 `thinking` or `redacted_thinking` block that failed the conversation check
11157 (the conversation before it differs from the one it was created in, or it
11158 carries no record of one on a model that requires it) and was shown to the
11159 model all the same, because that check is not enforced for this request.
11160 More entry types may be added over time; ignore types you do not recognize.
1090711161 
1090811162 Requires `anthropic-beta: thinking-binding-controls-2026-08-01`. Present on
1090911163 every such response from a model that supports extended thinking, as `[]`
10910 when nothing was changed; without the beta, blocks are removed all the same
10911 but nothing is reported. Removed blocks contribute nothing to
10912 `usage.input_tokens`. When streaming, the array is final in `message_start`;
10913 the final `message_delta` event carries it only when a server-side model
10914 fallback happened mid-stream, in which case it holds the serving model's
10915 entries and replaces the one in `message_start`.
10916 
10917 - `type: "thinking_dropped"`
10918 
10919 Always `thinking_dropped` for this entry type.
10920 
10921 default: thinking_dropped
10922 
10923 - `path: string`
10924 
10925 Where the removed block was in your request, as `messages.{i}.content.{j}`:
10926 `i` indexes the `messages` array you sent and `j` that message's `content`
10927 array — the same form error messages use.
10928 
10929 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
10930 
10931 Which binding check removed the block: `model_binding_mismatch` — it was
10932 created by a model whose reasoning the requested model may not read;
10933 `prefix_binding_mismatch` — the conversation before it differs from the
10934 conversation it was created in (the rest of that turn's consecutive thinking
10935 blocks are removed with it, each with this reason);
10936 `organization_binding_mismatch` — it was created under a different
10937 organization (an Anthropic organization, AWS account or Google Cloud project)
10938 and this organization is not one of its additional organizations;
10939 `end_user_binding_mismatch` — it was created for a different end user, or
10940 was removed by the consumer-organization binding. A block that would fail
10941 several checks reports one reason, in this order of precedence:
10942 `organization_binding_mismatch`, `end_user_binding_mismatch`,
10943 `model_binding_mismatch`, `prefix_binding_mismatch`.
10944 
10945 - `"model_binding_mismatch"`
10946 
10947 - `"prefix_binding_mismatch"`
10948 
10949 - `"organization_binding_mismatch"`
10950 
10951 - `"end_user_binding_mismatch"`
11164 when there is no entry to report; without the beta, blocks are removed or
11165 left in place all the same but nothing is reported. Removed blocks contribute
11166 nothing to `usage.input_tokens`; blocks left in place count as sent. When
11167 streaming, the array is final in `message_start`; the final `message_delta`
11168 event carries it only when a server-side model fallback happened mid-stream,
11169 in which case it holds the serving model's entries and replaces the one in
11170 `message_start`.
11171 
11172 - `BetaThinkingDroppedInputTransformation object`
11173 
11174 - `type: "thinking_dropped"`
11175 
11176 Always `thinking_dropped` for this entry type.
11177 
11178 default: thinking_dropped
11179 
11180 - `path: string`
11181 
11182 Where the removed block was in your request, as `messages.{i}.content.{j}`:
11183 `i` indexes the `messages` array you sent and `j` that message's `content`
11184 array — the same form error messages use.
11185 
11186 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
11187 
11188 Which binding check removed the block: `model_binding_mismatch` — it was
11189 created by a model whose reasoning the requested model may not read;
11190 `prefix_binding_mismatch` — the conversation before it differs from the
11191 conversation it was created in (the rest of that turn's consecutive thinking
11192 blocks are removed with it, each with this reason);
11193 `organization_binding_mismatch` — it was created under a different
11194 organization (an Anthropic organization, AWS account or Google Cloud project)
11195 and this organization is not one of its additional organizations;
11196 `end_user_binding_mismatch` — it was created for a different end user, or
11197 was removed by the consumer-organization binding. A block that would fail
11198 several checks reports one reason, in this order of precedence:
11199 `organization_binding_mismatch`, `end_user_binding_mismatch`,
11200 `model_binding_mismatch`, `prefix_binding_mismatch`.
11201 
11202 - `"model_binding_mismatch"`
11203 
11204 - `"prefix_binding_mismatch"`
11205 
11206 - `"organization_binding_mismatch"`
11207 
11208 - `"end_user_binding_mismatch"`
11209 
11210 - `BetaThinkingMismatchAllowedInputTransformation object`
11211 
11212 - `type: "thinking_mismatch_allowed"`
11213 
11214 Always `thinking_mismatch_allowed` for this entry type.
11215 
11216 default: thinking_mismatch_allowed
11217 
11218 - `path: string`
11219 
11220 Where the block is in your request, as `messages.{i}.content.{j}`:
11221 `i` indexes the `messages` array you sent and `j` that message's `content`
11222 array — the same form error messages use.
11223 
11224 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
11225 
11226 Which binding check the block failed; the block was shown to the model all
11227 the same. Always `prefix_binding_mismatch` today — the conversation before
11228 the block differs from the conversation it was created in, or the block
11229 carries no record of one on a model that requires it. Were the check
11230 enforced for this request, the block would have been removed or the request
11231 rejected (`thinking.block_binding.prefix_mismatch_behavior`). A removal also
11232 takes the rest of that turn's consecutive thinking blocks, whereas here each
11233 block is checked on its own, so `thinking_mismatch_allowed` entries are a
11234 lower bound on what enforcement would remove.
11235 
11236 - `"model_binding_mismatch"`
11237 
11238 - `"prefix_binding_mismatch"`
11239 
11240 - `"organization_binding_mismatch"`
11241 
11242 - `"end_user_binding_mismatch"`
1095211243 
1095311244 - `BetaMessageBatchErroredResult object`
1095411245 
from line 12265
1197412265 - `encrypted_content: string or null`
1197512266 
1197612267 Opaque metadata from prior compaction, to be round-tripped verbatim
12268 
12269 - `signature: optional string or null`
12270 
12271 Signature over the summary, to be sent back with the block verbatim
1197712272 
1197812273 - `BetaFallbackBlock object`
1197912274 
from line 13033
1273813033 
1273913034 - `"fast"`
1274013035 
12741 - `input_transformations: optional array of BetaThinkingDroppedInputTransformation or null`
12742 
12743 Changes the API made to the request's input before showing it to the model:
12744 one entry per change, in request order. Today the only entry type is
12745 `thinking_dropped` — a `thinking`, `redacted_thinking` or `connector_text`
12746 block from the request's `messages` that was removed from the prompt instead
12747 of being shown to the model because it failed a binding check. More entry
12748 types may be added over time; ignore types you do not recognize.
13036 - `input_transformations: optional array of BetaInputTransformation or null`
13037 
13038 Changes the API made to the request's input before showing it to the model,
13039 and blocks that failed a binding check but were left unchanged: one entry per
13040 block, in request order. Two entry types today. `thinking_dropped` — a
13041 `thinking`, `redacted_thinking` or `connector_text` block from the request's
13042 `messages` that was removed from the prompt instead of being shown to the
13043 model because it failed a binding check. `thinking_mismatch_allowed` — a
13044 `thinking` or `redacted_thinking` block that failed the conversation check
13045 (the conversation before it differs from the one it was created in, or it
13046 carries no record of one on a model that requires it) and was shown to the
13047 model all the same, because that check is not enforced for this request.
13048 More entry types may be added over time; ignore types you do not recognize.
1274913049 
1275013050 Requires `anthropic-beta: thinking-binding-controls-2026-08-01`. Present on
1275113051 every such response from a model that supports extended thinking, as `[]`
12752 when nothing was changed; without the beta, blocks are removed all the same
12753 but nothing is reported. Removed blocks contribute nothing to
12754 `usage.input_tokens`. When streaming, the array is final in `message_start`;
12755 the final `message_delta` event carries it only when a server-side model
12756 fallback happened mid-stream, in which case it holds the serving model's
12757 entries and replaces the one in `message_start`.
12758 
12759 - `type: "thinking_dropped"`
12760 
12761 Always `thinking_dropped` for this entry type.
12762 
12763 default: thinking_dropped
12764 
12765 - `path: string`
12766 
12767 Where the removed block was in your request, as `messages.{i}.content.{j}`:
12768 `i` indexes the `messages` array you sent and `j` that message's `content`
12769 array — the same form error messages use.
12770 
12771 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
12772 
12773 Which binding check removed the block: `model_binding_mismatch` — it was
12774 created by a model whose reasoning the requested model may not read;
12775 `prefix_binding_mismatch` — the conversation before it differs from the
12776 conversation it was created in (the rest of that turn's consecutive thinking
12777 blocks are removed with it, each with this reason);
12778 `organization_binding_mismatch` — it was created under a different
12779 organization (an Anthropic organization, AWS account or Google Cloud project)
12780 and this organization is not one of its additional organizations;
12781 `end_user_binding_mismatch` — it was created for a different end user, or
12782 was removed by the consumer-organization binding. A block that would fail
12783 several checks reports one reason, in this order of precedence:
12784 `organization_binding_mismatch`, `end_user_binding_mismatch`,
12785 `model_binding_mismatch`, `prefix_binding_mismatch`.
12786 
12787 - `"model_binding_mismatch"`
12788 
12789 - `"prefix_binding_mismatch"`
12790 
12791 - `"organization_binding_mismatch"`
12792 
12793 - `"end_user_binding_mismatch"`
13052 when there is no entry to report; without the beta, blocks are removed or
13053 left in place all the same but nothing is reported. Removed blocks contribute
13054 nothing to `usage.input_tokens`; blocks left in place count as sent. When
13055 streaming, the array is final in `message_start`; the final `message_delta`
13056 event carries it only when a server-side model fallback happened mid-stream,
13057 in which case it holds the serving model's entries and replaces the one in
13058 `message_start`.
13059 
13060 - `BetaThinkingDroppedInputTransformation object`
13061 
13062 - `type: "thinking_dropped"`
13063 
13064 Always `thinking_dropped` for this entry type.
13065 
13066 default: thinking_dropped
13067 
13068 - `path: string`
13069 
13070 Where the removed block was in your request, as `messages.{i}.content.{j}`:
13071 `i` indexes the `messages` array you sent and `j` that message's `content`
13072 array — the same form error messages use.
13073 
13074 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
13075 
13076 Which binding check removed the block: `model_binding_mismatch` — it was
13077 created by a model whose reasoning the requested model may not read;
13078 `prefix_binding_mismatch` — the conversation before it differs from the
13079 conversation it was created in (the rest of that turn's consecutive thinking
13080 blocks are removed with it, each with this reason);
13081 `organization_binding_mismatch` — it was created under a different
13082 organization (an Anthropic organization, AWS account or Google Cloud project)
13083 and this organization is not one of its additional organizations;
13084 `end_user_binding_mismatch` — it was created for a different end user, or
13085 was removed by the consumer-organization binding. A block that would fail
13086 several checks reports one reason, in this order of precedence:
13087 `organization_binding_mismatch`, `end_user_binding_mismatch`,
13088 `model_binding_mismatch`, `prefix_binding_mismatch`.
13089 
13090 - `"model_binding_mismatch"`
13091 
13092 - `"prefix_binding_mismatch"`
13093 
13094 - `"organization_binding_mismatch"`
13095 
13096 - `"end_user_binding_mismatch"`
13097 
13098 - `BetaThinkingMismatchAllowedInputTransformation object`
13099 
13100 - `type: "thinking_mismatch_allowed"`
13101 
13102 Always `thinking_mismatch_allowed` for this entry type.
13103 
13104 default: thinking_mismatch_allowed
13105 
13106 - `path: string`
13107 
13108 Where the block is in your request, as `messages.{i}.content.{j}`:
13109 `i` indexes the `messages` array you sent and `j` that message's `content`
13110 array — the same form error messages use.
13111 
13112 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
13113 
13114 Which binding check the block failed; the block was shown to the model all
13115 the same. Always `prefix_binding_mismatch` today — the conversation before
13116 the block differs from the conversation it was created in, or the block
13117 carries no record of one on a model that requires it. Were the check
13118 enforced for this request, the block would have been removed or the request
13119 rejected (`thinking.block_binding.prefix_mismatch_behavior`). A removal also
13120 takes the rest of that turn's consecutive thinking blocks, whereas here each
13121 block is checked on its own, so `thinking_mismatch_allowed` entries are a
13122 lower bound on what enforcement would remove.
13123 
13124 - `"model_binding_mismatch"`
13125 
13126 - `"prefix_binding_mismatch"`
13127 
13128 - `"organization_binding_mismatch"`
13129 
13130 - `"end_user_binding_mismatch"`
1279413131