Rate limits

Be kind to the server, limits are a little conservative for launch but may be relaxed later.

Per-endpoint limits

Account endpoints are throttled on an hourly window:

EndpointLimit
Account registration10 / hour
Account verification30 / hour
Changing your webhook12 / hour

Global limits

Everything else falls under two per-minute buckets, scoped to your API token:

Request typeLimit
Reads (GET)60 / minute
Actions (POST, DELETE, PATCH, etc.)30 / minute

When you hit a limit

Exceeding any limit returns 429 Too Many Requests with a Retry-After header telling you how many seconds to wait before trying again.

response 429 response
HTTP/1.1 429 Too Many Requests
Retry-After: 47
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1779087998
...

{
  "code": 429,
  "status": "Too Many Requests"
}

Be polite. Prefer batching or polling over hammering the same endpoint. Most async requests will give you an ETA for when they will be finished.