GitScrum / Docs

Limites de Taxa

Limites de taxa da API do GitScrum. Entenda as cotas de requisições e como lidar com respostas 429.

REST API — Todos os endpoints requerem autenticação via Bearer token. Inclua Authorization: Bearer {token} em cada requisição. Os tokens são gerenciados em Configurações do GitScrum → API. Base URL: https://services.gitscrum.com — Todos os caminhos de requisição nesta documentação são relativos a esta URL base.

A API do GitScrum aplica limites de taxa para garantir uso justo e estabilidade da plataforma.

Limites padrão

LimiteValor
Requisições por minuto60
EscopoPor token

Headers de resposta

Toda resposta da API inclui headers de limite de taxa:

HeaderDescrição
X-RateLimit-LimitMáximo de requisições permitidas por janela
X-RateLimit-RemainingRequisições restantes na janela atual
X-RateLimit-ResetTimestamp Unix de quando a janela é resetada

Exemplo de headers

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1738900800

429 Too Many Requests

Quando você excede o limite de taxa, a API retorna 429:

{
  "error": "Too Many Requests",
  "message": "Rate limit exceeded. Retry after 32 seconds.",
  "retry_after": 32
}

O header Retry-After indica quantos segundos aguardar antes de tentar novamente.

Lidando com limites de taxa

Backoff exponencial

Implemente backoff exponencial quando receber uma resposta 429:

# Pseudocódigo
wait = 1
while response.status == 429:
  sleep(wait)
  wait = wait * 2
  retry request

Monitore os headers

Verifique X-RateLimit-Remaining antes de fazer requisições. Pause ou reduza a velocidade quando o valor se aproximar de zero.

Boas práticas

  • Cache de respostas — Evite requisições idênticas repetidas. Faça cache local de dados de workspace, projeto e workflow.
  • Operações em lote — Agrupe alterações relacionadas em vez de fazer chamadas individuais.
  • Use webhooks — Assine eventos em vez de fazer polling por alterações.
  • Respeite o Retry-After — Sempre respeite o valor do header Retry-After antes de tentar novamente.
  • Distribua requisições — Distribua chamadas de API uniformemente ao longo do tempo em vez de fazer rajadas.