The whole hunk
from line 21, old and new numbered
/
lines
from line 21
2121
2222 - `string`
2323
24 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
24 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
2525
2626 - `"message-batches-2024-09-24"`
2727
from line 113
113113
114114 - `"mid-conversation-system-clear-at-2026-08-21"`
115115
116 - `"compact-2026-09-04"`
117
116118- `"anthropic-user-profile-id": optional string`
117119
118120 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 1285
12831285
12841286 Opaque metadata from prior compaction, to be round-tripped verbatim
12851287
1288 - `signature: optional string or null`
1289
1290 The block's signature as returned, to be sent back verbatim
1291
12861292 - `BetaRequestToolAdditionBlock object`
12871293
12881294 Mid-conversation directive to surface a declared tool.
from line 1529
15231529
15241530 Top-level cache control automatically applies a cache_control marker to the last cacheable block in the request.
15251531
1532- `compaction: optional BetaCompactionConfig or null`
1533
1534 Compact the whole conversation and return a signed `compaction` block,
1535 alone, that a later request sends back first in `messages`, in place of
1536 the messages it summarizes. There is no trigger and no pause flag: sending
1537 the parameter compacts, and nothing is sampled after the block.
1538
1539 The summarization prompt is the server's own unless `instructions` are
1540 given, which then replace it for this request; a value that is empty or
1541 only whitespace counts as absent.
1542
1543 - `type: "summarize"`
1544
1545 - `instructions: optional string or null`
1546
1547 Replaces the server's default summarization prompt for this request. An empty or whitespace-only value counts as absent.
1548
1549 maxLength: 16384
1550
15261551- `container: optional BetaContainerParams or string or null`
15271552
15281553 Container identifier for reuse across requests.
from line 3466
34413466
34423467 When true, guarantees schema validation on tool names and inputs
34433468
3469 - `url_sources: optional BetaWebFetchURLSources or null`
3470
3471 Which sources contribute to the set of URLs web fetch may fetch.
3472
3473 Each key is a tagged variant: `user_input` is `all` or `none`; the
3474 two tool filters are `all`, `none`, `only` (only the named tools'
3475 results) or `except` (every result but the named tools'). A named tool
3476 must be declared in this request's `tools[]`.
3477
3478 - `client_tool_results: optional BetaWebFetchURLSourceAll or BetaWebFetchURLSourceNone or BetaWebFetchURLSourceOnly or BetaWebFetchURLSourceExcept`
3479
3480 Which client tools' results contribute fetchable URLs: "all", "none", or an only or except list of client tool names from tools[].
3481
3482 - `BetaWebFetchURLSourceAll object`
3483
3484 The `url_sources` variant under which a source contributes in
3485 full: every result of the tool filter's source, or all user input.
3486
3487 - `type: "all"`
3488
3489 - `BetaWebFetchURLSourceNone object`
3490
3491 The `url_sources` variant under which a source contributes nothing:
3492 no result of the tool filter's source, or no user input.
3493
3494 - `type: "none"`
3495
3496 - `BetaWebFetchURLSourceOnly object`
3497
3498 The tool filter variant under which only the named tools' results
3499 contribute.
3500
3501 - `type: "only"`
3502
3503 - `tools: array of BetaWebFetchURLSourceToolReference`
3504
3505 - `type: "tool_reference"`
3506
3507 - `name: string`
3508
3509 - `BetaWebFetchURLSourceExcept object`
3510
3511 The tool filter variant under which every result but the named
3512 tools' contributes.
3513
3514 - `type: "except"`
3515
3516 - `tools: array of BetaWebFetchURLSourceToolReference`
3517
3518 - `type: "tool_reference"`
3519
3520 - `name: string`
3521
3522 - `server_tool_results: optional BetaWebFetchURLSourceAll or BetaWebFetchURLSourceNone or BetaWebFetchURLSourceOnly or BetaWebFetchURLSourceExcept`
3523
3524 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.
3525
3526 - `BetaWebFetchURLSourceAll object`
3527
3528 The `url_sources` variant under which a source contributes in
3529 full: every result of the tool filter's source, or all user input.
3530
3531 - `BetaWebFetchURLSourceNone object`
3532
3533 The `url_sources` variant under which a source contributes nothing:
3534 no result of the tool filter's source, or no user input.
3535
3536 - `BetaWebFetchURLSourceOnly object`
3537
3538 The tool filter variant under which only the named tools' results
3539 contribute.
3540
3541 - `BetaWebFetchURLSourceExcept object`
3542
3543 The tool filter variant under which every result but the named
3544 tools' contributes.
3545
3546 - `user_input: optional BetaWebFetchURLSourceAll or BetaWebFetchURLSourceNone`
3547
3548 Whether URLs in user messages are fetchable: "all" or "none".
3549
3550 - `BetaWebFetchURLSourceAll object`
3551
3552 The `url_sources` variant under which a source contributes in
3553 full: every result of the tool filter's source, or all user input.
3554
3555 - `BetaWebFetchURLSourceNone object`
3556
3557 The `url_sources` variant under which a source contributes nothing:
3558 no result of the tool filter's source, or no user input.
3559
34443560 - `BetaWebSearchTool20260209 object`
34453561
34463562 - `type: "web_search_20260209"`
from line 3663
35473663
35483664 When true, guarantees schema validation on tool names and inputs
35493665
3666 - `url_sources: optional BetaWebFetchURLSources or null`
3667
3668 Which sources contribute to the set of URLs web fetch may fetch.
3669
3670 Each key is a tagged variant: `user_input` is `all` or `none`; the
3671 two tool filters are `all`, `none`, `only` (only the named tools'
3672 results) or `except` (every result but the named tools'). A named tool
3673 must be declared in this request's `tools[]`.
3674
35503675 - `BetaWebFetchTool20260309 object`
35513676
35523677 Web fetch tool with use_cache parameter for bypassing cached content.
from line 3730
36053730
36063731 When true, guarantees schema validation on tool names and inputs
36073732
3733 - `url_sources: optional BetaWebFetchURLSources or null`
3734
3735 Which sources contribute to the set of URLs web fetch may fetch.
3736
3737 Each key is a tagged variant: `user_input` is `all` or `none`; the
3738 two tool filters are `all`, `none`, `only` (only the named tools'
3739 results) or `except` (every result but the named tools'). A named tool
3740 must be declared in this request's `tools[]`.
3741
36083742 - `use_cache: optional boolean`
36093743
36103744 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 3865
37313865
37323866 When true, guarantees schema validation on tool names and inputs
37333867
3868 - `url_sources: optional BetaWebFetchURLSources or null`
3869
3870 Which sources contribute to the set of URLs web fetch may fetch.
3871
3872 Each key is a tagged variant: `user_input` is `all` or `none`; the
3873 two tool filters are `all`, `none`, `only` (only the named tools'
3874 results) or `except` (every result but the named tools'). A named tool
3875 must be declared in this request's `tools[]`.
3876
37343877 - `use_cache: optional boolean`
37353878
37363879 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 4984
48414984
48424985 Opaque metadata from prior compaction, to be round-tripped verbatim
48434986
4987 - `signature: optional string or null`
4988
4989 Signature over the summary, to be sent back with the block verbatim
4990
48444991 - `BetaFallbackBlock object`
48454992
48464993 Marks the point in `content` where one model's output gives way to the next.
from line 5751
56045751
56055752 - `"fast"`
56065753
5607 - `input_transformations: optional array of BetaThinkingDroppedInputTransformation or null`
5754 - `input_transformations: optional array of BetaInputTransformation or null`
56085755
5609 Changes the API made to the request's input before showing it to the model:
5610 one entry per change, in request order. Today the only entry type is
5611 `thinking_dropped` — a `thinking`, `redacted_thinking` or `connector_text`
5612 block from the request's `messages` that was removed from the prompt instead
5613 of being shown to the model because it failed a binding check. More entry
5614 types may be added over time; ignore types you do not recognize.
5756 Changes the API made to the request's input before showing it to the model,
5757 and blocks that failed a binding check but were left unchanged: one entry per
5758 block, in request order. Two entry types today. `thinking_dropped` — a
5759 `thinking`, `redacted_thinking` or `connector_text` block from the request's
5760 `messages` that was removed from the prompt instead of being shown to the
5761 model because it failed a binding check. `thinking_mismatch_allowed` — a
5762 `thinking` or `redacted_thinking` block that failed the conversation check
5763 (the conversation before it differs from the one it was created in, or it
5764 carries no record of one on a model that requires it) and was shown to the
5765 model all the same, because that check is not enforced for this request.
5766 More entry types may be added over time; ignore types you do not recognize.
56155767
56165768 Requires `anthropic-beta: thinking-binding-controls-2026-08-01`. Present on
56175769 every such response from a model that supports extended thinking, as `[]`
5618 when nothing was changed; without the beta, blocks are removed all the same
5619 but nothing is reported. Removed blocks contribute nothing to
5620 `usage.input_tokens`. When streaming, the array is final in `message_start`;
5621 the final `message_delta` event carries it only when a server-side model
5622 fallback happened mid-stream, in which case it holds the serving model's
5623 entries and replaces the one in `message_start`.
5770 when there is no entry to report; without the beta, blocks are removed or
5771 left in place all the same but nothing is reported. Removed blocks contribute
5772 nothing to `usage.input_tokens`; blocks left in place count as sent. When
5773 streaming, the array is final in `message_start`; the final `message_delta`
5774 event carries it only when a server-side model fallback happened mid-stream,
5775 in which case it holds the serving model's entries and replaces the one in
5776 `message_start`.
56245777
5625 - `type: "thinking_dropped"`
5778 - `BetaThinkingDroppedInputTransformation object`
56265779
5627 Always `thinking_dropped` for this entry type.
5780 - `type: "thinking_dropped"`
56285781
5629 default: thinking_dropped
5782 Always `thinking_dropped` for this entry type.
56305783
5631 - `path: string`
5784 default: thinking_dropped
56325785
5633 Where the removed block was in your request, as `messages.{i}.content.{j}`:
5634 `i` indexes the `messages` array you sent and `j` that message's `content`
5635 array — the same form error messages use.
5786 - `path: string`
56365787
5637 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
5788 Where the removed block was in your request, as `messages.{i}.content.{j}`:
5789 `i` indexes the `messages` array you sent and `j` that message's `content`
5790 array — the same form error messages use.
56385791
5639 Which binding check removed the block: `model_binding_mismatch` — it was
5640 created by a model whose reasoning the requested model may not read;
5641 `prefix_binding_mismatch` — the conversation before it differs from the
5642 conversation it was created in (the rest of that turn's consecutive thinking
5643 blocks are removed with it, each with this reason);
5644 `organization_binding_mismatch` — it was created under a different
5645 organization (an Anthropic organization, AWS account or Google Cloud project)
5646 and this organization is not one of its additional organizations;
5647 `end_user_binding_mismatch` — it was created for a different end user, or
5648 was removed by the consumer-organization binding. A block that would fail
5649 several checks reports one reason, in this order of precedence:
5650 `organization_binding_mismatch`, `end_user_binding_mismatch`,
5651 `model_binding_mismatch`, `prefix_binding_mismatch`.
5792 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
56525793
5653 - `"model_binding_mismatch"`
5794 Which binding check removed the block: `model_binding_mismatch` — it was
5795 created by a model whose reasoning the requested model may not read;
5796 `prefix_binding_mismatch` — the conversation before it differs from the
5797 conversation it was created in (the rest of that turn's consecutive thinking
5798 blocks are removed with it, each with this reason);
5799 `organization_binding_mismatch` — it was created under a different
5800 organization (an Anthropic organization, AWS account or Google Cloud project)
5801 and this organization is not one of its additional organizations;
5802 `end_user_binding_mismatch` — it was created for a different end user, or
5803 was removed by the consumer-organization binding. A block that would fail
5804 several checks reports one reason, in this order of precedence:
5805 `organization_binding_mismatch`, `end_user_binding_mismatch`,
5806 `model_binding_mismatch`, `prefix_binding_mismatch`.
56545807
5655 - `"prefix_binding_mismatch"`
5808 - `"model_binding_mismatch"`
56565809
5657 - `"organization_binding_mismatch"`
5810 - `"prefix_binding_mismatch"`
56585811
5659 - `"end_user_binding_mismatch"`
5812 - `"organization_binding_mismatch"`
56605813
5814 - `"end_user_binding_mismatch"`
5815
5816 - `BetaThinkingMismatchAllowedInputTransformation object`
5817
5818 - `type: "thinking_mismatch_allowed"`
5819
5820 Always `thinking_mismatch_allowed` for this entry type.
5821
5822 default: thinking_mismatch_allowed
5823
5824 - `path: string`
5825
5826 Where the block is in your request, as `messages.{i}.content.{j}`:
5827 `i` indexes the `messages` array you sent and `j` that message's `content`
5828 array — the same form error messages use.
5829
5830 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
5831
5832 Which binding check the block failed; the block was shown to the model all
5833 the same. Always `prefix_binding_mismatch` today — the conversation before
5834 the block differs from the conversation it was created in, or the block
5835 carries no record of one on a model that requires it. Were the check
5836 enforced for this request, the block would have been removed or the request
5837 rejected (`thinking.block_binding.prefix_mismatch_behavior`). A removal also
5838 takes the rest of that turn's consecutive thinking blocks, whereas here each
5839 block is checked on its own, so `thinking_mismatch_allowed` entries are a
5840 lower bound on what enforcement would remove.
5841
5842 - `"model_binding_mismatch"`
5843
5844 - `"prefix_binding_mismatch"`
5845
5846 - `"organization_binding_mismatch"`
5847
5848 - `"end_user_binding_mismatch"`
5849
56615850- `BetaRawMessageStreamEvent = BetaRawMessageStartEvent or BetaRawMessageDeltaEvent or BetaRawMessageStopEvent or 3 more`
56625851
56635852 - `BetaRawMessageStartEvent object`
from line 5944
57555944
57565945 The number of server tool requests.
57575946
5758 - `input_transformations: optional array of BetaThinkingDroppedInputTransformation or null`
5947 - `input_transformations: optional array of BetaInputTransformation or null`
57595948
5760 Changes the API made to the request's input before showing it to the model:
5761 one entry per change, in request order. Today the only entry type is
5762 `thinking_dropped` — a `thinking`, `redacted_thinking` or `connector_text`
5763 block from the request's `messages` that was removed from the prompt instead
5764 of being shown to the model because it failed a binding check. More entry
5765 types may be added over time; ignore types you do not recognize.
5949 Changes the API made to the request's input before showing it to the model,
5950 and blocks that failed a binding check but were left unchanged: one entry per
5951 block, in request order. Two entry types today. `thinking_dropped` — a
5952 `thinking`, `redacted_thinking` or `connector_text` block from the request's
5953 `messages` that was removed from the prompt instead of being shown to the
5954 model because it failed a binding check. `thinking_mismatch_allowed` — a
5955 `thinking` or `redacted_thinking` block that failed the conversation check
5956 (the conversation before it differs from the one it was created in, or it
5957 carries no record of one on a model that requires it) and was shown to the
5958 model all the same, because that check is not enforced for this request.
5959 More entry types may be added over time; ignore types you do not recognize.
57665960
57675961 Requires `anthropic-beta: thinking-binding-controls-2026-08-01`. Present on
57685962 every such response from a model that supports extended thinking, as `[]`
5769 when nothing was changed; without the beta, blocks are removed all the same
5770 but nothing is reported. Removed blocks contribute nothing to
5771 `usage.input_tokens`. When streaming, the array is final in `message_start`;
5772 the final `message_delta` event carries it only when a server-side model
5773 fallback happened mid-stream, in which case it holds the serving model's
5774 entries and replaces the one in `message_start`.
5963 when there is no entry to report; without the beta, blocks are removed or
5964 left in place all the same but nothing is reported. Removed blocks contribute
5965 nothing to `usage.input_tokens`; blocks left in place count as sent. When
5966 streaming, the array is final in `message_start`; the final `message_delta`
5967 event carries it only when a server-side model fallback happened mid-stream,
5968 in which case it holds the serving model's entries and replaces the one in
5969 `message_start`.
57755970
5776 - `type: "thinking_dropped"`
5971 - `BetaThinkingDroppedInputTransformation object`
57775972
5778 Always `thinking_dropped` for this entry type.
5779
5780 default: thinking_dropped
5781
5782 - `path: string`
5783
5784 Where the removed block was in your request, as `messages.{i}.content.{j}`:
5785 `i` indexes the `messages` array you sent and `j` that message's `content`
5786 array — the same form error messages use.
5787
5788 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
5789
5790 Which binding check removed the block: `model_binding_mismatch` — it was
5791 created by a model whose reasoning the requested model may not read;
5792 `prefix_binding_mismatch` — the conversation before it differs from the
5793 conversation it was created in (the rest of that turn's consecutive thinking
5794 blocks are removed with it, each with this reason);
5795 `organization_binding_mismatch` — it was created under a different
5796 organization (an Anthropic organization, AWS account or Google Cloud project)
5797 and this organization is not one of its additional organizations;
5798 `end_user_binding_mismatch` — it was created for a different end user, or
5799 was removed by the consumer-organization binding. A block that would fail
5800 several checks reports one reason, in this order of precedence:
5801 `organization_binding_mismatch`, `end_user_binding_mismatch`,
5802 `model_binding_mismatch`, `prefix_binding_mismatch`.
5973 - `BetaThinkingMismatchAllowedInputTransformation object`
58035974
58045975 - `BetaRawMessageStopEvent object`
58055976