Saltar para o conteúdo principal
Os erros usam o envelope do endpoint que você chama. /v1/responses e /v1/chat/completions retornam erros no formato OpenAI. /v1/messages retorna erros no formato Anthropic. /v1/interactions retorna erros no formato Google. Os erros do FlexInference e os erros dos provedores upstream seguem a mesma regra, então cada endpoint tem um único formato de erro. Está vendo erros 5xx ou timeouts? Verifique status.flexinference.com primeiro. Ele mostra o tempo de atividade em tempo real para a API, site, documentação e servidor MCP, além de qualquer incidente aberto. Em /v1/responses e /v1/chat/completions, os erros usam o envelope OpenAI:
O mesmo erro em /v1/messages usa o formato da Anthropic. Em /v1/interactions, ele usa o formato do Google:
O status HTTP e a mensagem permanecem os mesmos em todas as superfícies; apenas o invólucro muda. O envelope OpenAI contém todos os detalhes. type usa categorias OpenAI (invalid_request_error, authentication_error, rate_limit_error), além de flexinference_error para falhas internas e billing_error quando o status de faturamento pausa as requisições faturáveis. code é o motivo legível por máquina. param nomeia o campo problemático, quando aplicável. doc_url linka para a linha desse código abaixo, ou é null quando desconhecido. O formato Anthropic contém um type Anthropic mapeado do status mais a mensagem. O formato Google contém o code numérico, a mensagem e um status canônico. code e doc_url específicos do FlexInference aparecem apenas no envelope OpenAI.

Códigos FlexInference

Esses códigos vêm do FlexInference. Faça um branch em error.code; error.message é escrito para desenvolvedores e inclui a correção, quando existe. Vários erros envolvem start_within. Para valores de duração em modelos compatíveis com flex, o FlexInference tenta primeiro o tier flex mais barato. Se o flex não puder iniciar dentro desse período, o FlexInference envia a mesma requisição para o tier padrão. O padrão é o caminho de backup, não a primeira tentativa.
O array provider fixa sua rota. google, openai e anthropic são rotas diretas; vertex e bedrock são rotas de nuvem que servem gemini-* e claude-* no Google Vertex AI e Amazon Bedrock, respectivamente. Uma rota de nuvem cuja chave não está configurada retorna no_vertex_key ou no_bedrock_key, o mesmo padrão de chave ausente que no_gemini_key e no_anthropic_key acima. upstream_auth_failed cobre qualquer credencial de provedor anexada que o upstream rejeite, incluindo rotas de nuvem. Veja roteamento de provedor.

Cabeçalhos de resultado Flex

Respostas 200 bem-sucedidas incluem cabeçalhos de resultado Flex em todos os endpoints, tanto para chamadas de streaming quanto para chamadas não-streaming. As respostas de erro usam o corpo do erro em vez disso. Valores x-flexinference-flex-reason em tempo real:
Uma duração que não pode executar uma corrida flex retorna 400 (flex_unsupported_for_anthropic em um modelo claude-*, flex_model_not_capable em um modelo OpenAI/Gemini não compatível com flex); os motivos do cabeçalho descrevem apenas requisições que executaram flex ou não o solicitaram.

Erros do provedor

Os erros do provedor upstream usam o mesmo envelope de superfície que os erros do FlexInference. O FlexInference mantém o status e a mensagem do provedor, e então os emite no envelope para o endpoint que você chamou. Um 400 do provedor para um parâmetro inválido, 401 para uma chave de provedor inválida, ou 429 de limite de taxa na tentativa padrão retorna nesse formato. Você não recebe o corpo bruto do provedor. Por exemplo, chame /v1/messages e um erro de modelo OpenAI retorna no formato Anthropic. code e doc_url específicos do FlexInference aparecem apenas no envelope OpenAI; erros do provedor carregam a mensagem do provedor com o type ou status da superfície.
Na superfície OpenAI, faça um branch em error.code para tratamento específico do FlexInference, como solicitar ao usuário que adicione uma chave BYOK em no_byok_key. Trate códigos desconhecidos como erros OpenAI comuns.

Tratamento de erros no código

Os SDKs OpenAI levantam exceções em respostas não-2xx e anexam o corpo analisado.