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

ScopeLimitApplies to
Writes99 requests / hourPOST, PATCH, PUT, DELETE on every endpoint
Authentication30 requests / 15 minutes/auth/login and /auth/refresh
ReadsunthrottledAll 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: 1800

On 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.