Skip to main content

Limites por Endpoint

EndpointLimite
POST /v1/charges60 req/min
POST /v1/withdrawals30 req/min
Demais endpointsSem limite definido

Headers de Rate Limit

Todas as respostas incluem os seguintes headers para monitorar o uso:
HeaderDescrição
X-RateLimit-LimitLimite total de requisições no período
X-RateLimit-RemainingRequisições restantes no período atual
X-RateLimit-ResetTimestamp Unix de quando o limite será reiniciado

Erro de Rate Limit

Ao exceder o limite, a API retorna:
HTTP/1.1 429 Too Many Requests
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Too many requests. Please slow down."
  }
}

Recomendações

Monitore o header X-RateLimit-Remaining para adaptar sua frequência de requisições antes de atingir o limite.
  • Implemente exponential backoff ao receber erros 429
  • Use o header X-Idempotency-Key para evitar duplicatas em retentativas
  • Para volume alto, considere processar cobranças em batch
// Exemplo: respeitar o rate limit
async function criarCobrancaComRetry(dados, tentativas = 3) {
  for (let i = 0; i < tentativas; i++) {
    const res = await fetch('https://api.flarepayments.com/v1/charges', {
      method: 'POST',
      headers: { 'Authorization': 'Bearer flare_xxx', 'Content-Type': 'application/json' },
      body: JSON.stringify(dados)
    });

    if (res.status !== 429) return res.json();

    const reset = res.headers.get('X-RateLimit-Reset');
    const waitMs = reset ? (reset * 1000 - Date.now()) : (2 ** i * 1000);
    await new Promise(r => setTimeout(r, waitMs));
  }
}