Saltar para o conteúdo principal
O OrcaRouter aplica limite de taxa no nível do workspace, não por chave de API. Todas as chaves pertencentes ao mesmo workspace extraem do mesmo bucket. Quando o limite é excedido, você recebe uma resposta HTTP 429 Too Many Requests com um cabeçalho Retry-After.

Por que com escopo de workspace

Workspaces são como o OrcaRouter agrupa as chaves, os membros e o faturamento que pertencem a uma única equipe ou indivíduo. Limites compartilhados dentro de um workspace tornam o tráfego previsível à medida que sua equipe cresce: adicionar uma nova chave (ou um novo membro) não multiplica seu orçamento compartilhado. Se você precisa de um teto mais alto, faça upgrade do plano do workspace. O OrcaRouter não expõe limites de taxa por modelo aos chamadores — o gateway se comporta como um único provedor lógico do ponto de vista da sua aplicação, consistente com opacidade do provedor. Throttling interno em direção aos provedores upstream acontece de forma transparente e não faz parte do contrato público.

Resposta

Uma requisição com limite de taxa sempre retorna:
HTTP/1.1 429 Too Many Requests
Retry-After: <segundos>
Alguns caminhos de limite de taxa também incluem um corpo JSON explicando o limite atingido; outros (o bucket de workspace de caminho mais rápido) retornam apenas o código de status e os cabeçalhos. Não dependa do formato do corpo — verifique o código de status 429 e leia Retry-After. Quando um corpo está presente, ele segue o envelope compatível com OpenAI com error.type definido como orcarouter_api_error. A error.message pode estar localizada (atualmente em chinês) — veja Erros para a estrutura do envelope. Retry-After é em segundos. É a duração da janela de limite de taxa (conservadora — seguro esperar exatamente essa quantia); a próxima janela terá orçamento completo. Tentar imediatamente sem esperar falhará novamente.

Comportamento recomendado do cliente

  1. Em 429, leia Retry-After.
  2. Espere essa quantidade de segundos.
  3. Tente novamente a mesma requisição.
  4. Se um segundo 429 ocorrer, aumente a espera em 2× (backoff exponencial) até 60 segundos.
  5. Se você ver 429 repetidamente, considere dividir o tráfego entre múltiplos modelos com extra_body.models — veja Fallbacks de modelo.
Os SDKs Python e TypeScript da OpenAI tratam Retry-After automaticamente por padrão. Você não precisa de código personalizado a menos que tenha desabilitado as novas tentativas.

Reativo, não preditivo

O OrcaRouter não retorna cabeçalhos X-RateLimit-Remaining / X-RateLimit-Reset, então você não pode verificar preventivamente quanto orçamento resta. Trate 429 como o sinal — recue quando o vir e depois retome.