Rate limits & quotas
Live numbers, read from the server rather than transcribed.
Two buckets
| Bucket | Keyed on | What it protects |
|---|---|---|
| Edge | Your IP, on a normalised path | An anonymous flood. Deliberately looser than your per-credential bucket, so it is a ceiling over it and never a surprise floor under it. |
| Per credential | Your key or OAuth grant | Your own allowance. This is the one the X-RateLimit-* headers describe. |
Both fail closed. If our rate-limit store is unreachable we refuse rather than wave traffic through — the limiter is the only thing between a retry storm and the credit ledger, and a store outage is exactly when a storm is most likely.
Body size
Only the materials upload path carries the large-body cap. Every other path inherits a small default and will answer 413 for a file the materials path would accept. If you are getting a 413 on a size the docs call fine, you are almost certainly posting to the wrong path.
Is there a sandbox key?
No. There is no test mode and no free tier of the API. Clerk issues keys with ak_test_ and ak_live_ prefixes and AskDeck treats them identically — both spend real credits. Silence on this question reads as a bait-and-switch, so: there is no sandbox.