API compatível com OpenAI
Endpoints /v1, chat completions, cabeçalhos, códigos de erro, streaming e cache.
O gateway oferece endpoints compatíveis com OpenAI na URL base /v1. Clientes OpenAI podem usar o gateway em vez do provedor.
Endpoints#
| Método e caminho | Finalidade |
|---|---|
| POST /v1/chat/completions | Chat completions estilo OpenAI, nativo ou por facade para backends Anthropic. |
| POST /v1/responses | Relay Responses API para SDKs recentes; adaptado para chat no mesmo pipeline. |
| POST /v1/embeddings | Embeddings estilo OpenAI roteados ao provedor configurado. |
| GET /v1/models | Lista modelos registrados. |
Aliases de rotas conhecidos permitem conectar SDKs e ferramentas existentes sem alterações.
Endpoint Gateway: imagens, áudio, arquivos, fine-tuning e lotes#
Interfaces adicionais compatíveis com OpenAI podem ser habilitadas além de chat, messages e embeddings. Desativadas por padrão; endpoint desligado retorna 404 endpoint_disabled. Configure em Settings -> Endpoint Gateway:
| Superfície | Controle | Comportamento |
|---|---|---|
| /v1/images/generations, edits, variations | images | Inspeciona, mascara e comprime prompt JSON como chat; verifica metadados e usa cache sujeito à inspeção. |
| /v1/audio/speech | audio | Inspeciona entrada como prompt de chat e encaminha. |
| /v1/audio/transcriptions, translations | passthrough | Relay multipart governado, injeção de chave e auditoria. |
| /v1/files | files | Decodifica e inspeciona texto; bloqueia uploads com violações e permite binários. |
| /v1/fine_tuning/jobs, /v1/batches | passthrough | Relay governado com injeção de chave e auditoria. |
Pixels e formas de onda não são analisados, somente texto associado. O tipo de endpoint é registrado na transação.
Cabeçalhos#
| Cabeçalho | Finalidade |
|---|---|
| Authorization: Bearer [key] | Autenticação do cliente e/ou chave upstream conforme o modo. |
| X-Agent-ID | Identidade do agente para acompanhamento, roteamento, risco e escopo do cache. |
| X-User-Id | Identidade do usuário; claims sub do token autenticado têm preferência. |
| x-aifw-cache-refresh | Ignora consulta ao cache, mas permite gravar. |
Solicitação padrão#
POST /v1/chat/completions
{
"model": "gpt-4o",
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "Hello!" }
],
"stream": false
}| Campo | Observações |
|---|---|
| model | Opcional; se omitido, usa modelo padrão configurado. |
| messages | Mensagens padrão; tool_calls/tool passam byte a byte. |
| stream | true usa modo buffered ou live efetivo. |
Códigos de erro#
Solicitações bloqueadas ou rejeitadas retornam HTTP 400 com erro estruturado:
{
"error": {
"message": "The transaction was intercepted and blocked by corporate AI security policy.",
"type": "guardrail_violation",
"code": "prompt_injection_detected",
"details": { "policy_id": "BUILTIN-JAILBREAK", "timestamp": "2025-01-15T10:00:00Z" }
}
}| Código | Significado |
|---|---|
| guardrail_violation | Bloqueado por regra integrada ou personalizada; inclui ID da política. |
| prompt_injection_detected | Correspondência com jailbreak ou injeção. |
| semantic_rule_violation:rule | Score semântico excede limite de bloqueio. |
| model_disabled | Modelo registrado, porém desabilitado. |
| model_not_registered | Modo estrito ativo e modelo não registrado. |
| backend_not_configured | Modelo resolvido sem URL backend configurada. |
| default_policy_block | Nenhuma regra correspondeu e ação padrão é block. |
Respostas bloqueadas incluem X-Gateway-Security: Violated. Falhas de autenticação retornam 401; rotas desconhecidas, 404.
Streaming#
Com stream: true, respostas usam server-sent events e terminam com data: [DONE].
- buffered (padrão): inspeciona a resposta completa antes de entregar tokens; violação retorna 400 antes da entrega.
- stream: transmite tokens ao vivo; violação interrompe SSE com guardrail_violation. Tokens já entregues não podem ser retirados.
Cache#
Com escopo configurado, respostas podem vir do completion cache. Hits são registrados e o body passa novamente pela inspeção de resposta.