Recursos · Chat API
Documentação da Chat API
Referência de nível empresarial para /chat/completions, incluindo esquema de requisição, eventos em streaming, comportamento em tempo de execução e semântica de erros.
Endpoints
GET /api/v1/chat/healthPOST /api/v1/chat/completionsCabeçalhos obrigatórios
Authorization: Bearer [token] ou autenticação por chave de APIContent-Type: application/jsonX-Scope-Type: personal | workspaceX-Workspace-ID: obrigatório somente quando scope for workspace
Corpo da requisição
json
{
"message": "Summarize the last meeting in bullet points",
"session_id": "sess_123",
"stream": true,
"attachments": [],
"metadata": {
"locale": "en",
"channel": "web"
}
}Corpo da resposta
json
{
"success": true,
"session_id": "sess_123",
"content": "• Discussed roadmap\n• Confirmed release scope\n• Assigned owners",
"provider": "pulse",
"usage": {
"input_tokens": 324,
"output_tokens": 118
},
"metadata": {
"latency_ms": 612
}
}Eventos em streaming
- response.started — execução do chat iniciada
- response.delta — tokens de texto incrementais
- response.tool_call — evento de invocação de ferramenta (se houver)
- response.usage — atualização de uso/tokens
- response.completed — resposta final montada
Comportamentos em tempo de execução
- Controle de backpressure rejeita sobrecarga retornando 503.
- Bloqueio distribuído evita processamento duplicado em andamento.
- Cache de deduplicação atende requisições repetidas não por streaming.
- Persistência de sessão armazena as trocas entre usuário e assistente.
- Validação protege o corpo da requisição, anexos e contexto de acesso.
Modelos de erro
400
Corpo da requisição inválido ou campos obrigatórios ausentes.
401
Autenticação ausente ou inválida.
403
Restrição de escopo ou permissão.
409
Conflito de bloqueio: requisição já em processamento.
422
Falha de validação em cabeçalhos/corpo/contexto.
429
Limite de requisições excedido.
503
Sobrecarga do sistema ou indisponibilidade de serviços a montante.
Exemplos
bash
curl -X POST "/api/v1/chat/completions" \
-H "Authorization: Bearer [token]" \
-H "Content-Type: application/json" \
-H "X-Scope-Type: personal" \
-d '{
"message":"Write a short product update",
"session_id":"sess_123",
"stream":false
}'