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

Create a Message changed

api/beta/messages/create

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+337added
Lines−166removed
From line 21 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 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