WASViking Docs
⌘K
Referência da API

Limites de taxa

Limites por chave, como eles são sinalizados e como tratar respostas 429 corretamente.

A WASViking® aplica limites de taxa (rate limits) por chave de API. Os limites são dimensionados para o uso operacional normal e documentados por classe de endpoint.

Limites padrão

Classe de endpoint Limite
Endpoints de leitura (GET) 600 requisições por minuto.
Endpoints de escrita (exceto scans) 60 requisições por minuto.
Disparo de scans 12 scans simultâneos por organização.
Envio de SBOM 60 envios por minuto.
Envio de secrets 60 envios por minuto.
Entregas de teste de webhook 10 por minuto por webhook.

Headers

Toda resposta inclui:

Header Significado
X-RateLimit-Limit Limite para esta classe de endpoint.
X-RateLimit-Remaining Requisições restantes na janela atual.
X-RateLimit-Reset Segundos até a janela ser reiniciada.

Quando a requisição sofre throttling:

Status Header Significado
429 Retry-After: 30 Aguarde pelo menos 30 segundos antes de tentar de novo.

Como tratar o 429 corretamente

  • Respeite o Retry-After. Não tente de novo antes disso.
  • Use backoff exponencial com jitter em respostas 429 repetidas.
  • Faça cache das respostas de leitura idempotentes sempre que puder.
  • Agrupe. A maioria dos consumidores faz muitas leituras pequenas que poderiam ser uma única consulta paginada.

Uma política de retentativa razoável, em pseudocódigo:

delay = float(headers.get("Retry-After", 30))
for attempt in range(5):
    sleep(delay + random.uniform(0, 0.5 * delay))
    response = call_api()
    if response.status_code != 429:
        return response
    delay *= 2
raise RetryExceeded()

Limites de concorrência

O limite de 12 scans simultâneos é por organização, não por chave. Se você executa vários pipelines de CI contra a mesma organização, planeje-se para isso. O portal mostra a concorrência atual em Admin → User → Profile & Plan Usage → API Usage.

Quando o limite é atingido e você chama POST /scans, a API:

  1. Aguarda até 60 segundos para que uma vaga se abra.
  2. Se uma vaga se abrir, aceita o scan e retorna 201 Created.
  3. Se nenhuma vaga se abrir, retorna 429 com Retry-After.

No sentinel ci, isso aparece como exit code 77 (scan_capacity).

Medição mensal

Alguns planos medem:

  • AI Recommendations por mês.
  • Scans por mês.
  • Envios de SBOM por mês.

Quando a medição se esgota em um escopo medido, a API retorna 403 com error: "metered". O portal mostra o estado atual da medição em Admin → User → Profile & Plan Usage → API Usage e em Admin → Billing → Usage.

O sentinel ci apresenta isso como exit code 78.

Uso do AI Guardian

Os módulos do AI Guardian contam o uso frente ao seu contrato nos últimos 30 dias: requisições ao AI Gateway, chamadas de ferramentas e identidades ativas do MCP Gateway e desenvolvedores do Assistant Guard. Essa contagem nunca bloqueia uma chamada e nunca é cobrada automaticamente. Dois limites agem sobre o tráfego novo:

  • Conexões simultâneas. Uma requisição nova ao AI Gateway acima do limite da organização é respondida com 429, código de erro concurrency_limit e Retry-After: 2. Uma chamada de ferramenta MCP nova acima dele é respondida com um erro que pede para tentar de novo em instantes. Requisições e chamadas que já estão rodando nunca são cortadas, e a política de nova tentativa acima vale.
  • Novas chaves e novos logins depois de 30 dias acima do contrato. Novas chaves do AI Gateway, ou novas chaves do MCP Gateway e novos logins MCP, esperam até a capacidade ser aumentada. As chaves e os logins existentes continuam funcionando.

O uso, os avisos e como aumentar a capacidade estão explicados nos guias do AI Gateway e do MCP Gateway.

Como aumentar os seus limites

Os limites podem ser aumentados por organização quando há necessidade operacional contínua. Abra uma solicitação em Admin → User → Profile & Plan Usage → API Usage → Request increase ou escreva para [email protected]. Inclua:

  • A classe de endpoint e o novo valor pretendido.
  • O QPS de pico e o QPS médio que você espera.
  • Uma justificativa curta.

Aprovamos aumentos que correspondem ao uso real. Recusamos pedidos genéricos do tipo "remover todos os limites".

O que os limites NÃO são

  • Eles não são uma cota rígida da organização (exceto a medição mensal, que é explícita).
  • Eles não são por usuário; são por chave.
  • Eles não são aplicados na borda, separadamente da aplicação. Quem os aplica é a stack de aplicação da WASViking; a borda da Cloudflare mantém um piso separado, bem mais alto, contra abuso nos endpoints públicos.