> Documentation index: https://beezr.io/developers/api/llms.txt

# Handle rate limits well

## Share a queue across the workspace

Workspace keys share 60 requests per minute, 2,000 per hour and 2 concurrent requests. Use a queue with at most 2 in flight across your integration. Another key doesn't create another workspace allowance.

## Read the failure before scheduling a retry

On HTTP 429, inspect `error.code`. `MONTHLY_QUOTA_EXCEEDED` is a stop condition until the 1st. Other 429s can be retried after waiting. Prefer `Retry-After` seconds. For the per-key read limit, `X-RateLimit-Reset` is epoch milliseconds.

The [Limits page](/developers/api/limits/) has retry code in cURL, JavaScript and Python. If neither wait header is available, stop and inspect the response before scheduling more calls.

## Keep a retry the same operation

A create or update retry should retain its `Idempotency-Key` and body. Check conflicts rather than choosing a new key to bypass them. Bulk endpoints don't support idempotency; inspect partial results and reconcile uncertain outcomes.

## Reduce the request count

Bulk calls handle up to 100 items and count as one request. Request only the fields you need for reads. Download file bytes separately from v4 record references.

## Watch usage before the monthly boundary

Read usage in Designer → Usage (API calls) and Subscription. Alerts go to the workspace alert address at 80%, 100% and when calls are blocked. If your integration needs higher limits, contact us.

