Create a Message
POST
/v1/messages?beta=true https://api.anthropic.com
Send a structured list of input messages with text and/or image content, and the model will generate the next message in the conversation.
The Messages API can be used for either single queries or stateless multi-turn conversations.
Learn more about the Messages API in our user guide
Parameters
header Header Parameters
| Name | Type |
|---|---|
anthropic-beta Optional header to specify the beta version(s) you want to use. To use multiple betas, use a comma separated list like | string |
anthropic-version The version of the Claude API you want to use. Read more about versioning and our version history here. | string |
Request Body
application/json
required
interface BetaCreateMessageParams {
model:Model ;
messages:BetaInputMessage [];
container?:BetaContainerParams | string | null;
context_management?:BetaContextManagementConfig | null;
max_tokens: number;
mcp_servers?:BetaRequestMCPServerURLDefinition [];
metadata?:BetaMetadata ;
output_config?:BetaOutputConfig ;
output_format?:BetaJsonOutputFormat | null;
service_tier?: "auto" | "standard_only";
stop_sequences?: string[];
stream?: boolean;
system?:BetaRequestTextBlock [] | string;
temperature?: number;
thinking?:BetaThinkingConfigParam ;
tool_choice?:BetaToolChoice ;
tools?: (BetaTool | BetaBashTool20241022 | BetaBashTool20250124 | BetaCodeExecutionTool20250522 | BetaCodeExecutionTool20250825 | BetaComputerUseTool20241022 | BetaMemoryTool20250818 | BetaComputerUseTool20250124 | BetaTextEditor20241022 | BetaComputerUseTool20251124 | BetaTextEditor20250124 | BetaTextEditor20250429 | BetaTextEditor20250728 | BetaWebSearchTool20250305 | BetaWebFetchTool20250910 | BetaToolSearchToolBM2520251119 | BetaToolSearchToolRegex20251119 | BetaMCPToolset )[];
top_k?: number;
top_p?: number;
}
model:
messages:
container?:
context_management?:
max_tokens: number;
mcp_servers?:
metadata?:
output_config?:
output_format?:
service_tier?: "auto" | "standard_only";
stop_sequences?: string[];
stream?: boolean;
system?:
temperature?: number;
thinking?:
tool_choice?:
tools?: (
top_k?: number;
top_p?: number;
}
Responses
200 application/json
Message object.
interface BetaMessage {
id: string;
type: "message";
role: "assistant";
content:BetaContentBlock [];
model:Model ;
stop_reason:BetaStopReason | null;
stop_sequence: string | null;
usage:BetaUsage ;
context_management:BetaResponseContextManagement | null;
container:BetaContainer | null;
}
id: string;
type: "message";
role: "assistant";
content:
model:
stop_reason:
stop_sequence: string | null;
usage:
context_management:
container:
}
Client Errors
4XX application/json
Error response.
See our errors documentation for more details.
interface BetaErrorResponse {
error:BetaInvalidRequestError | BetaAuthenticationError | BetaBillingError | BetaPermissionError | BetaNotFoundError | BetaRateLimitError | BetaGatewayTimeoutError | BetaAPIError | BetaOverloadedError ;
request_id: string | null;
type: "error";
}
error:
request_id: string | null;
type: "error";
}