Create a Message changedapi/beta/messages/create
Nearest release: v2.1.296, published 4 hours before 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+10added
Lines−20removed
From line
159
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits23to this page, all time
The whole hunk
from line 159, old and new numbered
/
This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
from line 159
159159
160160 Each input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.
161161
162 If the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.
162 If the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response. This is called prefill. On models that don't support prefill, creating a message that ends with a partial `assistant` response returns a 400 error. See [Prefill not supported](https://platform.claude.com/docs/en/api/errors#prefill-not-supported).
163163
164164 Example with a single `user` message:
165165
from line 177
177177 ]
178178 ```
179179
180 Example with a partially-filled response from Claude:
180 Example with a partially-filled response from Claude, for models that support prefill:
181181
182182 ```json
183183 [
from line 3164
31643164
31653165 - `"claude-haiku-4-5"`
31663166
3167 Fastest model with near-frontier intelligence
3168
31693167 - `"claude-haiku-4-5-20251001"`
31703168
3171 Fastest model with near-frontier intelligence
3172
31733169 - `"claude-opus-4-5"`
31743170
31753171 Powerful intelligence for long-running agents and coding
from line 3760
37643760
37653761- `fallbacks: optional BetaFallbacksParam or null`
37663762
3767 Opt-in server-side retry on one or more substitute models when the requested model declines for policy reasons. Tried in order: if the first entry also declines, the second is tried, and so on. The string "default" requests the requested model's server-defined default fallback configuration.
3763 Opt-in server-side retry on one or more substitute models when the requested model declines for policy reasons. Tried in order: if the first entry also declines, the second is tried, and so on. Some models don't support fallbacks; on those models, a list of fallback models returns a 400 error. See [Server-side fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#server-side-fallback). The string "default" requests the requested model's server-defined default fallback configuration. On a model that doesn't support fallbacks, the request runs on the requested model alone, so a declined request stays declined.
37683764
37693765 - `array of BetaFallbackParam`
37703766
from line 3858
38623858
38633859 - `display: optional "summarized" or "omitted" or "updates" or null`
38643860
3865 Controls how thinking content appears in the response. When set to `summarized`, thinking is returned normally. When set to `omitted`, thinking content is redacted but a signature is returned for multi-turn continuity. Defaults to `summarized`.
3861 Controls how thinking content appears in the response. When set to `summarized`, thinking is returned normally. When set to `omitted`, thinking content is redacted but a signature is returned for multi-turn continuity. The default depends on the model; see [Controlling thinking display](https://platform.claude.com/docs/en/build-with-claude/thinking#controlling-thinking-display).
38663862
38673863 - `"summarized"`
38683864
from line 3884
38883884
38893885 - `display: optional "summarized" or "omitted" or "updates" or null`
38903886
3891 Controls how thinking content appears in the response. When set to `summarized`, thinking is returned normally. When set to `omitted`, thinking content is redacted but a signature is returned for multi-turn continuity. Defaults to `summarized`.
3887 Controls how thinking content appears in the response. When set to `summarized`, thinking is returned normally. When set to `omitted`, thinking content is redacted but a signature is returned for multi-turn continuity. The default depends on the model; see [Controlling thinking display](https://platform.claude.com/docs/en/build-with-claude/thinking#controlling-thinking-display).
38923888
38933889 - `"summarized"`
38943890
from line 3990
39943990
39953991- `thinking: optional BetaThinkingConfigParam`
39963992
3997 Configuration for enabling Claude's extended thinking.
3993 Configuration for Claude's thinking.
39983994
3999 When enabled, responses include `thinking` content blocks showing Claude's thinking process before the final answer. Requires a minimum budget of 1,024 tokens and counts towards your `max_tokens` limit.
3995 With `{"type": "adaptive"}`, Claude decides when and how much to think. With `{"type": "enabled"}` (manual extended thinking), you set a `budget_tokens` of at least 1,024. Thinking tokens count toward your `max_tokens` limit.
40003996
4001 See [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for details.
3997 Which `type` values are accepted, and what happens when you omit `thinking`, depend on the model. See [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking#configuring-thinking) for each model's behavior.
40023998
40033999 - `BetaThinkingConfigEnabled object`
40044000
from line 7030
70347030
70357031 - `"claude-haiku-4-5"`
70367032
7037 Fastest model with near-frontier intelligence
7038
70397033 - `"claude-haiku-4-5-20251001"`
70407034
7041 Fastest model with near-frontier intelligence
7042
70437035 - `"claude-opus-4-5"`
70447036
70457037 Powerful intelligence for long-running agents and coding
from line 7172
71807172
71817173 If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
71827174
7183 - `strict: optional boolean`
7184
7185 When true, guarantees schema validation on tool names and inputs
7186
7187 - `BetaMCPToolset object`
7188
7189 Configuration for a group of tools from an MCP server.
7190
7191 Allows configuring enabled status and defer_loading for all tools
7192 from an MCP server, with optional per-tool overrides.
7193
7194 - `type: "mcp_toolset"`
7195
7196 - `mcp_server_name: string`
7197
7198 Name of the MCP server to configure tools for
7199
7200 minLength: 1, maxLength: 255
7201
7202 - `cache_control: optional BetaCacheControlEphemeral or null`
7203
7204 Create a cache control breakpoint at this content block.
7205
7206
7175 - `strict:
No line in this hunk matches that.