OneProvider

Códigos de erro

Decifre os erros da OneProvider: o que significa cada código de status, a mensagem, limites de tempo, erros no meio do stream e quando tentar de novo.

O que significa cada código de status, a mensagem exata que você verá e o que fazer em seguida.

Todos os modelos, recursos e preços Índice da documentação para agentes de IA: https://oneprovider.dev/docs/llms.txt

Formato do erro

Todo erro é um JSON do mesmo formato em todos os endpoints (/v1/messages, /v1/chat/completions, /v1/responses, /v1/models). O erro de saldo traz também code:

json
{
"type": "error",
"error": {
"type": "insufficient_balance",
"code": "insufficient_quota",
"message": "Insufficient balance on this API key. Top up: dashboard.oneprovider.dev"
}
}

Os SDKs da OpenAI leem error.message deste corpo como de costume, então você vê o mesmo texto em qualquer cliente.

Códigos de status

Dados de referência
Statuserror.typeMensagem e significadoO que fazer
400invalid_request_error A requisição está malformada: JSON inválido, campo ausente ou valor não permitido. A mensagem indica o problema. Corrija o que a mensagem aponta e envie de novo. Reenviar sem alterações retorna o mesmo erro.
400invalid_request_error prompt is too long: N tokens > M maximum A entrada é maior que a janela de contexto deste modelo. N e M dependem do modelo. Reduza o histórico ou os anexos, ou escolha um modelo com contexto maior. O Claude Code compacta a conversa sozinho quando vê isso.
400invalid_request_error Model X is not available on this API key O plano da sua chave não inclui este modelo. Escolha um modelo listado em GET /v1/models ou na página de preços.
401authentication_error Invalid API key API key is required A chave está ausente, foi digitada errado ou enviada no cabeçalho errado. Envie a chave sk-… pura, sem aspas nem espaços, em x-api-key ou Authorization: Bearer.
401authentication_error API key is disabled A chave está desativada ou a conta está inativa. Confira a chave no seu painel (página Chaves) ou escreva para @Oneproviderhelpbot.
403permission_error API key expired A chave passou da data de expiração. Renove a chave ou emita uma nova no seu painel (página Chaves).
404not_found_error The requested API endpoint does not exist Em geral, uma base URL errada, por exemplo /v1/v1 no caminho. Claude Code e SDKs da Anthropic: https://api.oneprovider.dev. SDKs da OpenAI e clientes compatíveis com a OpenAI: https://api.oneprovider.dev/v1.
413invalid_request_error request body exceeds size limit O corpo da requisição é maior que 32 MB. Envie imagens e arquivos menores ou em menor número, ou divida o trabalho em várias requisições.
429insufficient_balance Insufficient balance on this API key. Top up: dashboard.oneprovider.dev O saldo do painel ou o limite de gastos da chave acabou. O corpo traz error.code insufficient_quota e a resposta tem o cabeçalho x-should-retry: false. Não tente de novo. Recarregue o painel (bot ou app.oneprovider.dev) ou aumente o limite da chave e depois envie a requisição outra vez.
429rate_limit_error Rate limit exceeded; retry later Requisições demais em pouco tempo. Pode incluir um cabeçalho Retry-After. Aguarde os segundos de Retry-After, se presente; caso contrário, tente de novo com uma pausa crescente. Se continuar acontecendo, envie menos requisições em paralelo.
500, 502server_error Service temporarily unavailable; retry later Uma falha temporária do nosso lado. Tente de novo com uma pausa crescente.
503server_error Temporary provider issue on our side, retry in a minute Service temporarily unavailable; retry later Temporário. Não há nada de errado com a sua chave nem com a sua requisição. Tente de novo com uma pausa crescente; em geral some em até um minuto.
504server_error Service timed out; retry later A requisição passou de um limite de tempo (veja abaixo). Tente de novo. Para respostas longas, ative stream: true.

Limites de tempo

  • Uma requisição sem streaming deve começar a responder em até 6 minutos.
  • Qualquer requisição, inclusive com streaming, tem teto de 10 minutos.
  • Para gerações longas, use stream: true: um stream começa a responder na hora. Se uma resposta precisar de mais de 10 minutos, divida a tarefa.

Erros dentro de um stream

Quando um stream já começou, o status já é 200, então o erro chega como um evento. A Messages API envia um frame event: error com o mesmo corpo de erro; a Responses API envia um evento response.failed com o motivo em response.error.

text
event: error
data: {"type":"error","error":{"type":"server_error","message":"Service temporarily unavailable; retry later"}}

Trate-o como o código de status correspondente. A resposta parcial está incompleta: se o erro permitir nova tentativa, envie a requisição inteira de novo.

Quando tentar de novo

  • Corrija primeiro, não tente de novo: 400, 401, 403, 404, 413 e 429 com insufficient_balance. A mesma requisição falha do mesmo jeito até você mudar a requisição, a chave ou o saldo.
  • Tente de novo com uma pausa crescente: 429 rate_limit_error, 500, 502, 503, 504. Por exemplo, 1 s, 2 s, 4 s e assim por diante até um minuto, com um pouco de jitter aleatório. Se Retry-After estiver presente, aguarde pelo menos esse tempo.
  • Respeite x-should-retry: false. Os SDKs oficiais da Anthropic e da OpenAI já fazem isso, então não fazem novas tentativas no erro de saldo.
  • Veja quanto resta com GET /v1/dashboard/balance (consulte Consumo e cobrança ).

Como os clientes populares reagem

  • Claude Code. Mostra a mensagem na sessão. Após um 401, o Claude Code 2.1.231 e posteriores removem a chave salva: confira a chave e a base URL (https://api.oneprovider.dev, sem /v1) e defina a chave de novo. No erro de saldo, ele para na hora: recarregue e continue. Em "prompt is too long", ele compacta a conversa sozinho. Em erros temporários 429 e 5xx, ele tenta de novo automaticamente.
  • Cursor. Mostra o texto do erro no chat. Confira a chave de API e a base URL https://api.oneprovider.dev/v1 nas configurações do modelo, recarregue se a mensagem for sobre saldo e envie de novo.
  • Codex. Mostra o erro de saldo como "Quota exceeded" e para: recarregue e execute o comando de novo. Antes disso, ele mesmo tenta de novo nos erros temporários.
  • Cline. Mostra o erro na tarefa, com um botão Retry (Tentar de novo). Corrija primeiro a chave, a base URL ou o saldo e depois clique em Retry.
  • Continue. Mostra o texto do erro no painel do chat. Corrija a causa e envie a mensagem de novo.
Última atualização: 2026-11-08 Encontrou um erro? @Oneproviderhelpbot