Referência da API

Messages

Chat compatível com a Anthropic — para clientes construídos sobre a Messages API do Claude.

POST/v1/messages

Mesmo modelo, mesma stack, tudo igual a /v1/chat/completions — este endpoint existe para que os SDKs da Anthropic e as ferramentas nativas do Claude (o Claude Code, por exemplo) funcionem com o Stac sem nenhuma tradução do seu lado.

Autenticação

Clientes da Anthropic enviam a chave de um jeito diferente dos clientes da OpenAI. As duas formas são aceitas:

x-api-keyheaderOpcional

A convenção da Anthropic. Envie a chave pura, sem o prefixo Bearer.

AuthorizationheaderOpcional

Também aceito, como Bearer $STAC_API_KEY — igual ao chat completions.

anthropic-versionheaderOpcional

Aceito por compatibilidade. Não é validado contra uma data específica.

Corpo da requisição

modelstringObrigatório

O modelo que responde, por exemplo qwen/qwen3.5-9b. Veja em Modelos os valores que o seu plano inclui.

messagesMessage[]Obrigatório

Mesmo formato da Messages API da Anthropic: role (user ou assistant) e content (string, ou um array de blocos).

max_tokensintegerObrigatórioPadrão: 8000

Obrigatório no formato da Anthropic. Fica limitado ao mesmo piso de 8000 e ao mesmo teto de 16000 do chat completions.

systemstring | Block[]Opcional

Substitui o system prompt configurado na sua stack nesta requisição. Omita para manter o comportamento configurado da stack. A busca na base de conhecimento não é afetada: ela segue a configuração da própria chave de API, e o trecho recuperado é acrescentado depois desta instrução.

streambooleanOpcionalPadrão: false

Server-sent events no formato de streaming da Anthropic (message_start → content_block_delta* → message_stop), não no da OpenAI. Eventos ping são intercalados enquanto o modelo processa um prompt longo — ignore-os, como fazem os SDKs oficiais. Se a requisição falhar antes de produzir qualquer saída, o stream termina com um evento error em vez de message_stop; trate isso como uma requisição que falhou, não como uma resposta vazia.

toolsTool[]Opcional

Schema de tool use da Anthropic. Convertido internamente para o mesmo caminho de tool calling do chat completions.

Exemplo

curl "$ANTHROPIC_BASE_URL/v1/messages" \
  -H "x-api-key: $ANTHROPIC_AUTH_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen/qwen3.5-9b",
    "max_tokens": 1024,
    "messages": [{ "role": "user", "content": "Olá" }]
  }'

Resposta

200 OKjson
{
  "id": "msg_9f2a1c",
  "type": "message",
  "role": "assistant",
  "model": "qwen/qwen3.5-9b",
  "content": [{ "type": "text", "text": "Vermelho, azul e amarelo." }],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 14,
    "output_tokens": 7,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

Usando uma ferramenta nativa do Claude

Aponte as variáveis de ambiente da Anthropic da ferramenta para o Stac em vez de escrever qualquer código de requisição:

.envbash
ANTHROPIC_BASE_URL=https://api.trystac.com
ANTHROPIC_AUTH_TOKEN=$STAC_API_KEY

Veja Compatibilidade com Anthropic para a configuração completa do Claude Code, incluindo a variável de janela de contexto que impede que ele ultrapasse a janela do seu plano.

count_tokens

O POST /v1/messages/count_tokens também está disponível, para clientes que o chamam antes de enviar a requisição de verdade. Ele informa a mesma contagem de tokens que a sua chamada real usaria.