Skip to main content
ReconLayer applies a request-rate limit to protect the API and your organization’s workloads from runaway clients.

Default limit

300 requests per minute, per organization.
The limit is keyed by your resolved organizationId — every credential (API key or Clerk session) belonging to the same organization shares the same 300-requests-per-minute budget. Requests that don’t resolve to an organization (which should not normally happen for authenticated /v1/* routes) are keyed by IP address instead. Both the request ceiling and the time window are configurable per deployment via environment variables: If you’re operating a high-volume integration and need a higher limit, contact ReconLayer support — limits are configured at the deployment level.

Public paths are not rate-limited

/health, /openapi.json, /openapi.yaml, /docs (and /docs/*), and /webhooks/* are exempt from rate limiting — the same allow-list used for public, unauthenticated routes.

Response headers

Every response from a rate-limited route carries headers describing your current budget:

Exceeding the limit — 429

Once your organization exceeds RATE_LIMIT_MAX requests within RATE_LIMIT_WINDOW, ReconLayer responds with 429 Too Many Requests and adds a retry-after header (in seconds) indicating when the window resets:
429 Too Many Requests

Handling 429s

1

Read retry-after

Use the retry-after header (seconds) to decide how long to wait before your next request — don’t guess or use a fixed backoff that ignores it.
2

Back off and retry

For idempotent writes, retry with the same Idempotency-Key and request body after the indicated delay — see Idempotency.
3

Spread bursty workloads

If you’re paginating through a large list (e.g. an export or bulk reconciliation sweep), add a small delay between pages rather than firing requests as fast as possible. See Pagination.
4

Watch x-ratelimit-remaining proactively

Slow down before you hit 0 rather than reacting only to 429s — this avoids latency spikes from forced retries.

Example: backoff loop

Next steps

  • Errors — the full error catalog, including other 4xx/5xx statuses.
  • Idempotency — safely retrying write requests after a 429 or 5xx.
  • Authentication — how the organization that rate limits are keyed on is resolved.