The families
These are the deployment’s current defaults, read from the rate limiter’s configuration. They are not encoded in the OpenAPI contract and are tuned per tier, so treat them as the numbers to design against rather than as a guarantee. Read the
RateLimit headers if you need the live figure.
Two deliberate choices in that table are worth knowing.
sessions is generous because a transcript backfill is a burst of small writes, not abuse. exports is tight because one export dumps an entire knowledge graph, and the generic write bucket would let a client queue thirty of those in a breath. The export poll routes are routed back to reads on purpose, so a polling loop cannot throttle its own download.
The headers
Every response carries these, success and 429 alike.RateLimit header draft.
The quoted policy name is the literal string
default on every response, including for a request that was metered against search or exports. The value that varies with the family is q. Do not parse the name expecting a family label.
On a 429 you additionally get:
Retry-After is whole seconds, computed from your actual bucket state rather than a fixed backoff.
Reading and respecting them
r on successful responses and slow down before it reaches zero, rather than treating the 429 as your signal.
When you are limited
detail names the family that refused you, which is the fastest way to find out which bucket your traffic actually lands in.
Two caps that are not rate limits
Both are concurrency or capacity limits rather than request rates, and both come back as their own code.
A webhook endpoint may subscribe to up to 20 event types, or to everything with
*, so the endpoint cap is rarely the binding constraint.
If limiting itself fails
The limiter fails open. If its store cannot be reached, the request proceeds withoutRateLimit headers rather than failing. A missing header is not an error and is not a signal to retry: it means the limiter could not answer, not that you have no quota.
Next
Errors
The problem envelope and the full code catalogue.
Idempotency
How to retry a write safely after a 429 or a timeout.