Limits
WHAT YOU GET.
Two windows on every key, declared on every response. No hidden throttle, no unlimited claim.
Defaults
120 per minute
Burst window per key. Raised per key by a workspace admin when a workload needs it.
10,000 per day
Rolling daily quota per key. Counted per key, not per workspace, so a batch job and a live integration can be isolated from each other.
Rejections are refunded
A request stopped by the daily quota does not also consume the burst window, and an unauthorised request does not spend your quota.
Headers on every response
RateLimit-Policy
Both windows, always sent: "burst";q=120;w=60, "daily";q=10000;w=86400 on a default key.
RateLimit-Limit
The ceiling of the window that is closest to being spent.
RateLimit-Remaining
What is left in that window. Slow down as it approaches zero rather than waiting for a 429.
RateLimit-Reset
Seconds until that window refills.
Retry-After
Sent on 429 only. Wait at least this long. Both SDKs honour it for you.
Read your own numbers
A key can always ask what it is allowed to do. No scope needed beyond a valid key.
curl "https://qubitnotion.com/api/v1/limits" \
-H "Authorization: Bearer $QN_API_KEY"Payload ceilings
50 events per call
POST /events rejects the batch above this.
500 rows per import
POST /imports/actuals, one row per line item per day.
256 KB inbound webhook
Larger bodies are refused before parsing.