The whole hunk
from line 27, old and new numbered
/
lines
from line 27
2727
2828 - `string`
2929
30 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
30 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
3131
3232 - `"message-batches-2024-09-24"`
3333
from line 119
119119
120120 - `"mid-conversation-system-clear-at-2026-08-21"`
121121
122 - `"compact-2026-09-04"`
123
122124- `"anthropic-workspace-id": optional string`
123125
124126## Returns
from line 1046
10441046
10451047 Opaque metadata from prior compaction, to be round-tripped verbatim
10461048
1049 - `signature: optional string or null`
1050
1051 Signature over the summary, to be sent back with the block verbatim
1052
10471053 - `BetaFallbackBlock object`
10481054
10491055 Marks the point in `content` where one model's output gives way to the next.
from line 1813
18071813
18081814 - `"fast"`
18091815
1810 - `input_transformations: optional array of BetaThinkingDroppedInputTransformation or null`
1816 - `input_transformations: optional array of BetaInputTransformation or null`
18111817
1812 Changes the API made to the request's input before showing it to the model:
1813 one entry per change, in request order. Today the only entry type is
1814 `thinking_dropped` — a `thinking`, `redacted_thinking` or `connector_text`
1815 block from the request's `messages` that was removed from the prompt instead
1816 of being shown to the model because it failed a binding check. More entry
1817 types may be added over time; ignore types you do not recognize.
1818 Changes the API made to the request's input before showing it to the model,
1819 and blocks that failed a binding check but were left unchanged: one entry per
1820 block, in request order. Two entry types today. `thinking_dropped` — a
1821 `thinking`, `redacted_thinking` or `connector_text` block from the request's
1822 `messages` that was removed from the prompt instead of being shown to the
1823 model because it failed a binding check. `thinking_mismatch_allowed` — a
1824 `thinking` or `redacted_thinking` block that failed the conversation check
1825 (the conversation before it differs from the one it was created in, or it
1826 carries no record of one on a model that requires it) and was shown to the
1827 model all the same, because that check is not enforced for this request.
1828 More entry types may be added over time; ignore types you do not recognize.
18181829
18191830 Requires `anthropic-beta: thinking-binding-controls-2026-08-01`. Present on
18201831 every such response from a model that supports extended thinking, as `[]`
1821 when nothing was changed; without the beta, blocks are removed all the same
1822 but nothing is reported. Removed blocks contribute nothing to
1823 `usage.input_tokens`. When streaming, the array is final in `message_start`;
1824 the final `message_delta` event carries it only when a server-side model
1825 fallback happened mid-stream, in which case it holds the serving model's
1826 entries and replaces the one in `message_start`.
1832 when there is no entry to report; without the beta, blocks are removed or
1833 left in place all the same but nothing is reported. Removed blocks contribute
1834 nothing to `usage.input_tokens`; blocks left in place count as sent. When
1835 streaming, the array is final in `message_start`; the final `message_delta`
1836 event carries it only when a server-side model fallback happened mid-stream,
1837 in which case it holds the serving model's entries and replaces the one in
1838 `message_start`.
18271839
1828 - `type: "thinking_dropped"`
1840 - `BetaThinkingDroppedInputTransformation object`
18291841
1830 Always `thinking_dropped` for this entry type.
1842 - `type: "thinking_dropped"`
18311843
1832 default: thinking_dropped
1844 Always `thinking_dropped` for this entry type.
18331845
1834 - `path: string`
1846 default: thinking_dropped
18351847
1836 Where the removed block was in your request, as `messages.{i}.content.{j}`:
1837 `i` indexes the `messages` array you sent and `j` that message's `content`
1838 array — the same form error messages use.
1848 - `path: string`
18391849
1840 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
1850 Where the removed block was in your request, as `messages.{i}.content.{j}`:
1851 `i` indexes the `messages` array you sent and `j` that message's `content`
1852 array — the same form error messages use.
18411853
1842 Which binding check removed the block: `model_binding_mismatch` — it was
1843 created by a model whose reasoning the requested model may not read;
1844 `prefix_binding_mismatch` — the conversation before it differs from the
1845 conversation it was created in (the rest of that turn's consecutive thinking
1846 blocks are removed with it, each with this reason);
1847 `organization_binding_mismatch` — it was created under a different
1848 organization (an Anthropic organization, AWS account or Google Cloud project)
1849 and this organization is not one of its additional organizations;
1850 `end_user_binding_mismatch` — it was created for a different end user, or
1851 was removed by the consumer-organization binding. A block that would fail
1852 several checks reports one reason, in this order of precedence:
1853 `organization_binding_mismatch`, `end_user_binding_mismatch`,
1854 `model_binding_mismatch`, `prefix_binding_mismatch`.
1854 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
18551855
1856 - `"model_binding_mismatch"`
1856 Which binding check removed the block: `model_binding_mismatch` — it was
1857 created by a model whose reasoning the requested model may not read;
1858 `prefix_binding_mismatch` — the conversation before it differs from the
1859 conversation it was created in (the rest of that turn's consecutive thinking
1860 blocks are removed with it, each with this reason);
1861 `organization_binding_mismatch` — it was created under a different
1862 organization (an Anthropic organization, AWS account or Google Cloud project)
1863 and this organization is not one of its additional organizations;
1864 `end_user_binding_mismatch` — it was created for a different end user, or
1865 was removed by the consumer-organization binding. A block that would fail
1866 several checks reports one reason, in this order of precedence:
1867 `organization_binding_mismatch`, `end_user_binding_mismatch`,
1868 `model_binding_mismatch`, `prefix_binding_mismatch`.
18571869
1858 - `"prefix_binding_mismatch"`
1870 - `"model_binding_mismatch"`
18591871
1860 - `"organization_binding_mismatch"`
1872 - `"prefix_binding_mismatch"`
18611873
1862 - `"end_user_binding_mismatch"`
1874 - `"organization_binding_mismatch"`
1875
1876 - `"end_user_binding_mismatch"`
1877
1878 - `BetaThinkingMismatchAllowedInputTransformation object`
1879
1880 - `type: "thinking_mismatch_allowed"`
1881
1882 Always `thinking_mismatch_allowed` for this entry type.
1883
1884 default: thinking_mismatch_allowed
1885
1886 - `path: string`
1887
1888 Where the block is in your request, as `messages.{i}.content.{j}`:
1889 `i` indexes the `messages` array you sent and `j` that message's `content`
1890 array — the same form error messages use.
1891
1892 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
1893
1894 Which binding check the block failed; the block was shown to the model all
1895 the same. Always `prefix_binding_mismatch` today — the conversation before
1896 the block differs from the conversation it was created in, or the block
1897 carries no record of one on a model that requires it. Were the check
1898 enforced for this request, the block would have been removed or the request
1899 rejected (`thinking.block_binding.prefix_mismatch_behavior`). A removal also
1900 takes the rest of that turn's consecutive thinking blocks, whereas here each
1901 block is checked on its own, so `thinking_mismatch_allowed` entries are a
1902 lower bound on what enforcement would remove.
1903
1904 - `"model_binding_mismatch"`
1905
1906 - `"prefix_binding_mismatch"`
1907
1908 - `"organization_binding_mismatch"`
1909
1910 - `"end_user_binding_mismatch"`
18631911
18641912 - `BetaMessageBatchErroredResult object`
18651913