Documentation menu
Rate limits
Reads are unthrottled. Writes and authentication are rate-limited per caller, and every rate-limited response carries standard RateLimit-* headers you can read to pace your integration.
The limits
| Scope | Limit | Applies to |
|---|---|---|
| Writes | 99 requests / hour | POST, PATCH, PUT, DELETE on every endpoint |
| Authentication | 30 requests / 15 minutes | /auth/login and /auth/refresh |
| Reads | unthrottled | All GET endpoints |
Defaults shown; limits are configurable per deployment and may be tuned for partner plans.
Reading the headers
RateLimit-Limit: 99
RateLimit-Remaining: 42
RateLimit-Reset: 1800On 429, stop and retry after the window resets. Note the 429 body is the limiter's default payload, not the standard {success, error} envelope — branch on the status code, not the body shape.
Designing bulk loads around the write limit
99 writes/hour is the budget: A full event load can exceed it: one event with records across many types plus submit calls adds up quickly. For backfills, batch work into hourly windows driven by
RateLimit-Remaining, or talk to us about a raised limit for your integration.- Cache tokens — the auth limiter is separate and stricter (30/15 min).
- Reads are free: verify state with GETs rather than blind re-writes.
- Treat 429 as backpressure, not an error — pause and resume, don't tight-retry.