Developers

    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.