Skip to main content
POST
Gebruik POST /v1/messages om Claude-aanvragen te verzenden in de Anthropic Messages-indeling. De voorbeelden configureren de officiële Anthropic SDK met de CometAPI-basis-URL en lezen je API-sleutel uit $COMETAPI_KEY.
Zie voor velddefinities en modelspecifieke opties de officiële Messages API-referentie. Zie voor OpenAI-compatibele aanvragen Chat Completions.
Authenticeer met x-api-key of Authorization: Bearer. De Anthropic SDK gebruikt x-api-key. De HTTP-voorbeelden bevatten anthropic-version: 2023-06-01.

Snel aan de slag

De volgende voorbeelden vragen drie zoekopdrachten aan. Stel $COMETAPI_KEY in voordat je ze uitvoert. Installeer anthropic voor Python of @anthropic-ai/sdk voor JavaScript:
Het antwoord bevat een content-array. Lees blokken waarvan type text is; Thinking- en toolblokken kunnen vóór de tekst verschijnen.

Adaptief denken beheren

Stel thinking.type in op adaptive en kies een waarde voor output_config.effort. In het volgende voorbeeld wordt xhigh gebruikt en wordt het voltooide bericht uit een stream gelezen:
Denken draagt bij aan de uitvoerlimiet van max_tokens. Laat ook ruimte over voor het uiteindelijke antwoord, naast het denken. Een response kan tekst bevatten zonder een zichtbaar denkblok. Bewaar geretourneerde denkblokken ongewijzigd in de conversatiegeschiedenis. geschiedenis. Zie voor de modelspecifieke denkconfiguratie Thinking. In de voorbeelden ontbreken temperature, top_p en top_k; raadpleeg de parameterdocumentatie van het geselecteerde model voordat je sampling controls toevoegt.

Prompts cachen

Plaats een cache breakpoint op referentiemateriaal dat je tussen requests hergebruikt. Sla je referentiemateriaal op in een UTF-8-bestand reference.txt voordat je dit voorbeeld uitvoert. Gebruik een prefix die voldoet aan de vereisten van het geselecteerde model voor minimale cachebare lengte:
Voer de request opnieuw uit met hetzelfde model, dezelfde referentietekst en dezelfde denkinstellingen. Controleer de gebruikstellers om te bepalen of de request een prefix heeft hergebruikt:
  • cache_creation_input_tokens telt Tokens die naar de cache zijn geschreven.
  • cache_read_input_tokens telt Tokens die uit de cache zijn gelezen.
  • input_tokens telt input die buiten die cachetellers is verwerkt.
Bij herhaalde requests rapporteert cache_read_input_tokens hoeveel input-Tokens uit de cache zijn gelezen. Het OpenAPI- Prompt Cache -voorbeeld bevat een volledige fictieve referentie die je kunt opslaan als reference.txt om het voorbeeld te proberen.

Responses streamen

Stel stream: true in voor Server-Sent Events. De SDK stelt tekstfragmenten beschikbaar zodra ze binnenkomen:
Een berichtenstream bevat message_start, contentblock-gebeurtenissen, message_delta, en message_stop. Content blocks kunnen tekst, denkactiviteit of toolactiviteit bevatten. Voor een tekstblok bevat content_block_delta een text_delta. Lees het uiteindelijke verbruik en de stopreden uit message_delta.

Inspanning beheren

Stel output_config.effort in om de hoeveelheid redenering te sturen. Dit voorbeeld gebruikt low voor een korte uitleg en wacht op het voltooide gestreamde bericht:
Gebruik de officiële effort-referentie om een inspanningsniveau te kiezen. Stel max_tokens afzonderlijk in om de uitvoerlengte te beperken.

Servertools gebruiken

Servertools worden tijdens de API-aanvraag uitgevoerd en retourneren resultaatblokken naast het antwoord van Claude.
Haal een paper op en vraag Claude om het opgehaalde document in zijn antwoord te gebruiken. Dit voorbeeld streamt de respons en inspecteert zowel de uiteindelijke tekst als het web_fetch_tool_result blok:
De respons koppelt een server_tool_use-blok aan een web_fetch_tool_result met daarin het opgehaalde document of een toolfout.

Resultaten van clienttools retourneren

Voor een clienttool retourneert Claude een tool_use-blok. Voer de functie van uw applicatie uit en stuur het resultaat in een tool_result-blok met de overeenkomende tool_use_id. Behoud de volledige assistant content tussen de twee aanvragen. Dit voorbeeld levert een fictief bestelresultaat en vraagt Claude dat resultaat te gebruiken:

Voorbeeld van een respons

Een niet-streaming aanvraag retourneert een message object. Het volgende voorbeeld toont de tekst- en usage-velden met een illustratieve message identifier:
De stopreden beschrijft de volgende actie. end_turn voltooit het antwoord, max_tokens betekent dat de output de limiet heeft bereikt, en tool_use vraagt om een clienttool resultaat. Voor een server-toolbeurt die pause_turn retourneert, gaat u verder met de geretourneerde assistant content ongewijzigd.

Autorisaties

x-api-key
string
header
vereist

Your CometAPI key passed via the x-api-key header. Authorization: Bearer $COMETAPI_KEY is also supported.

Headers

anthropic-version
string
standaard:2023-06-01

The Anthropic API version to use. Defaults to 2023-06-01.

Voorbeeld:

"2023-06-01"

anthropic-beta
string

Comma-separated feature identifiers required by a specific beta API feature. Omit this header for the examples on this page.

Body

application/json
model
string
standaard:claude-opus-5
vereist

The Claude model to use. See the Models page for available Claude model IDs.

Voorbeeld:

"claude-opus-5"

messages
object[]
vereist

Conversation history. Use user and assistant messages with text strings or content-block arrays. Return complete assistant content blocks when continuing a tool call.

max_tokens
integer
vereist

The maximum number of tokens to generate. The model may stop before reaching this limit. When using thinking, the thinking tokens count towards this limit.

Vereist bereik: x >= 1
Voorbeeld:

1024

system

System prompt providing context and instructions to Claude. Can be a plain string or an array of content blocks (useful for prompt caching).

temperature
number

Sampling temperature. The examples omit sampling overrides.

Vereist bereik: 0 <= x <= 1
top_p
number

Nucleus sampling threshold. The examples omit sampling overrides.

Vereist bereik: 0 <= x <= 1
top_k
integer

Limits sampling to the k most likely tokens. The examples omit sampling overrides.

Vereist bereik: x >= 0
stream
boolean
standaard:false

If true, stream the response incrementally using Server-Sent Events (SSE). Events include message_start, content_block_start, content_block_delta, content_block_stop, message_delta, and message_stop.

stop_sequences
string[]

Custom strings that cause the model to stop generating when encountered. The stop sequence is not included in the response.

thinking
object

Thinking configuration. The adaptive example uses type adaptive and sets output_config.effort separately.

tools
object[]

Client tools define a name and input_schema. Server tools use a versioned type and name, such as the web_fetch and web_search examples on this page.

tool_choice
object

Controls how the model uses tools.

metadata
object

Request metadata for tracking and analytics.

output_config
object

Configuration for reasoning effort and structured output.

service_tier
enum<string>

The service tier to use. auto tries priority capacity first, standard_only uses only standard capacity.

Beschikbare opties:
auto,
standard_only

Respons

Successful response. When stream is true, the response is a stream of SSE events.

id
string

Message identifier returned by the API.

type
enum<string>

Always message.

Beschikbare opties:
message
role
enum<string>

Always assistant.

Beschikbare opties:
assistant
content
object[]

The response content blocks. May include text, thinking, tool_use, and other block types.

model
string

Model ID reported by the response.

stop_reason
enum<string>

Why the model stopped generating. refusal can be returned as a successful HTTP response when the model declines a request.

Beschikbare opties:
end_turn,
max_tokens,
stop_sequence,
tool_use,
pause_turn,
refusal
stop_sequence
string | null

The stop sequence that caused the model to stop, if applicable.

usage
object

Token usage statistics.

Laatst gewijzigd op 8 september 2026