API Anthropic Messages

API Anthropic Messages

Endpoint /v1/messages, chat nativo Anthropic, autenticação x-api-key, facades e streaming.

O gateway fala nativamente o protocolo Anthropic Messages. Clientes Claude Code, Claude CoWork e Claude Desktop passam pelo mesmo pipeline de inspeção dos clientes OpenAI.

Endpoint#

Método e caminhoFinalidade
POST /v1/messagesMessages estilo Anthropic, nativo ou por facade para backend OpenAI.

Autenticação#

Clientes Claude usam x-api-key: [key] (console key) ou Authorization: Bearer [key] (token estilo OAuth). O gateway aceita ambos, aplica modo configurado e encaminha ao modelo Claude com anthropic-version: 2023-06-01 e chave resolvida (rule -> model -> global).

Solicitação padrão#

POST /v1/messages
{
  "model": "claude-sonnet-4-20250514",
  "max_tokens": 4096,
  "system": "You are a helpful assistant.",
  "messages": [
    { "role": "user", "content": "Hello!" }
  ],
  "stream": false
}

A resposta usa schema Anthropic padrão: blocos content, stop_reason e usage metadata.

Metadados de protocolo#

Cada modelo registrado tem apiStyle openai (padrão) ou anthropic. IDs claude-* são registrados como anthropic automaticamente; Model Inventory permite alterar por modelo.

Facades#

O gateway traduz entre protocolos:

  • Cliente Anthropic -> modelo OpenAI: /v1/messages vira chat/completions; resposta/SSE é traduzida para eventos Messages, como content_block_delta.
  • Cliente OpenAI -> Claude backend: /v1/chat/completions vira Messages; system/developer são elevados à mensagem system inicial, max_tokens padrão 4096, temperature limitada a 0-1 e tool_use vira tool_calls.

Ambos os sentidos usam o mesmo pipeline, sem dependência de protocolo para regras ou camada semântica.

Streaming#

stream: true usa frames content_block_delta com inspeção token a token. Violação no meio termina SSE com guardrail_violation; buffered analisa tudo e retorna 400 antes da entrega.

Formato de erro#

Solicitações bloqueadas retornam HTTP 400 no formato de erro Anthropic. A facade inversa também traduz erros OpenAI.

Próximas leituras#

Próximas leituras