Skip to content
Last updated

Rate limit

The Auvo API allows 400 requests per minute per IP. When exceeded:

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

{ "error": "Rate limit temporarily exceeded" }
  1. Exponential backoff with jitter:

    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 did not clear after 5 attempts');
    }
  2. Controlled parallelism — cap at 4 concurrent requests per worker.

  3. Batch + cache for slow-moving data (e.g. categories).

  4. Separate IPs when possible (one IP per environment/client) to avoid contention across applications.

Why 400/min

The limit covers typical sync flows (up to ~23k req/hour). For higher throughput open a ticket at help@auvo.com.br describing the use case — we can evaluate a temporary increase.