# Rate limit

A API Auvo limita **400 requisições por minuto por IP**. Ao exceder, a resposta é:


```http
HTTP/1.1 403 Forbidden
Content-Type: application/json

{ "error": "Rate limit temporarily exceeded" }
```

## Estratégia recomendada

1. **Backoff exponencial** com jitter:

```ts
async function withBackoff(fn) {
  for (let attempt = 0; attempt < 5; attempt++) {
    const res = await fn();
    if (res.status !== 403) return res;
    const wait = (2 ** attempt) * 250 + Math.random() * 250;
    await sleep(wait);
  }
  throw new Error('Rate limit não liberou após 5 tentativas');
}
```
2. **Paralelismo controlado** — limite a 4 requisições concorrentes por worker.
3. **Batch + cache** em dados lentos (ex.: cadastro de categorias).
4. **Separe IPs** quando possível (um IP por ambiente/cliente) para evitar
contenda entre aplicações.


## Por que 400/min

O limite é suficiente para fluxos típicos de sincronização (até ~23k req/hora).
Para throughputs maiores, abra um ticket em help@auvo.com.br descrevendo o caso
— podemos avaliar aumento temporário.