Default limits
These defaults can be customized per API key when creating the key in the Dashboard.
Rate limit headers
Every API response includes these headers:
Example response headers:
When you hit the limit
When rate limited, the API returns429 Too Many Requests with a Retry-After header:
Handling rate limits
Proactive: Check headers before hitting the limit
Reactive: Retry on 429
Tips for staying within limits
- Batch reads with pagination — Use
limit=100to fetch more data per request - Use
PUT /forwarding-slotsto replace all slots in one request instead of multiple creates/deletes - Cache responses when possible — Agent configurations change infrequently
- Use the status endpoint (
GET /agents/{id}/status) instead of the full agent endpoint when you only need active/schedule status - Spread requests over time — Avoid burst patterns; space requests evenly across the minute window
- Request higher limits — If your integration needs more throughput, set custom rate limits when creating the API key in the Dashboard