API Anthropic Messages
Endpoint /v1/messages, chat natif Anthropic, authentification x-api-key, facades et streaming.
La passerelle parle nativement le protocole Anthropic Messages. Claude Code, Claude CoWork et Claude Desktop passent par le même pipeline d’inspection que les clients OpenAI.
Endpoint#
| Méthode et chemin | Fonction |
|---|---|
| POST /v1/messages | Messages Anthropic, natif ou facade vers backend OpenAI. |
Authentification#
Clients Claude utilisent x-api-key: [key] (console) ou Authorization: Bearer [key] (token OAuth). La passerelle accepte les deux, applique le mode configuré et relaie vers le modèle Claude avec anthropic-version: 2023-06-01 et clé résolue (rule -> model -> global).
Requête standard#
POST /v1/messages
{
"model": "claude-sonnet-4-20250514",
"max_tokens": 4096,
"system": "You are a helpful assistant.",
"messages": [
{ "role": "user", "content": "Hello!" }
],
"stream": false
}La réponse suit le schema Anthropic standard : blocs content, stop_reason et usage metadata.
Métadonnées du protocole#
Chaque modèle enregistré possède apiStyle : openai (défaut) ou anthropic. Les IDs claude-* sont enregistrés automatiquement en anthropic ; Model Inventory permet de modifier par modèle.
Facades#
La passerelle traduit les deux protocoles :
- Client Anthropic -> modèle OpenAI : /v1/messages devient chat/completions ; réponse/SSE reconvertie en événements Messages comme content_block_delta.
- Client OpenAI -> backend Claude : /v1/chat/completions devient Messages ; system/developer sont regroupés dans le message système initial, max_tokens par défaut à 4096, temperature limitée à 0-1 et tool_use converti en tool_calls.
Les deux directions passent par le même pipeline ; règles et niveau sémantique ne dépendent pas du protocole.
Streaming#
stream: true utilise content_block_delta et inspecte les tokens. Une violation interrompt SSE avec guardrail_violation ; buffered inspecte la réponse complète et renvoie 400 avant livraison.
Format d’erreur#
Les requêtes bloquées renvoient HTTP 400 au format Anthropic. La facade inverse traduit aussi les erreurs OpenAI pour que les clients Anthropic les analysent de façon uniforme.