Platform

Rate Limits

Design API clients that handle throttling gracefully and recover automatically.

RIXL API requests can be throttled when request volume exceeds allowed limits for your key or project.

When You Are Rate Limited

If your requests are throttled, the API returns:

  • 429 Too Many Requests
  1. Detect 429 responses.
  2. Retry with exponential backoff and jitter.
  3. Reduce request bursts by batching and caching where possible.
  4. Avoid unbounded retry loops.
const baseDelayMs = 500;
const maxAttempts = 5;

async function requestWithBackoff(fetcher) {
  for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
    const response = await fetcher();
    if (response.status !== 429) return response;

    const jitter = Math.floor(Math.random() * 200);
    const delay = baseDelayMs * (2 ** attempt) + jitter;
    await new Promise((resolve) => setTimeout(resolve, delay));
  }

  throw new Error("Rate limit retries exhausted");
}

Operational Guidance

  • Use separate API keys per environment (dev, staging, prod) to isolate traffic.
  • Prefer queue-based processing for bursty ingestion workloads.
  • Monitor 429 frequency and adjust concurrency before scaling traffic.

Do Not Hardcode Limits

Exact limits can vary by plan and may change. Build for adaptive throttling rather than fixed numeric assumptions.