X-RateLimit headers, and a limited request returns 429 with Retry-After.
Last reviewed: 2026-11-04
How do the limits apply?
- Per API key. Each key has its own request budget. The default is 600 requests per minute.
- Per partner. All your keys together share an aggregate budget, so creating more keys does not raise your total. The default is 1,800 requests per minute.
- Pending upload storage. Files uploaded but not yet attached to a consultation count towards a storage quota per partner until they expire. See Photos and files.
X-RateLimit-Limit header reports. Each budget counts the requests made in the last 60 seconds, so capacity frees up gradually rather than all at once on the minute. If your volume needs higher limits, write to hello@hi-doctor.ai.
Which rate limit headers are returned?
Every response to an authenticated request carries the state of the most restrictive limit that applies to it, the per-key or the per-partner budget:
Pace your requests with
X-RateLimit-Remaining, and rely on Retry-After when you are limited.
What should I do after a 429?
A limited request returns429 with the standard envelope:
- Wait at least
Retry-Afterseconds. - Retry with exponential backoff and jitter if you are limited again.
- For submissions, retry with the same
Idempotency-Key. See Errors for the envelope.
How do I stay under the limits?
- Use webhooks instead of polling consultations.
- Retry submissions with the same key from Partner API idempotency, so a retry never creates a second consultation.
- Cache the product list, and the questionnaire schema by
schema_versionandlocale; they change rarely. - Spread bulk reads with pagination instead of parallel bursts.
Frequently asked questions
What are the default Partner API rate limits?
600 requests per minute per API key, and 1,800 requests per minute for all of a partner’s keys together. The X-RateLimit-Limit header reports the limit that applies to you.Does creating more API keys raise my limit?
No. All your keys share the per-partner budget, so more keys do not raise your total.What kind of window do the limits use?
A rolling window: each budget counts the requests made in the last 60 seconds. X-RateLimit-Reset gives the Unix time when the window frees up.How long should I wait after a 429?
At least the number of seconds in the Retry-After header. If you are limited again, retry with exponential backoff and jitter.Can I get higher limits?
Write to hello@hi-doctor.ai if your volume needs higher limits.Do uploads count towards a separate limit?
Files uploaded but not yet attached to a consultation count towards a storage quota per partner until they expire.Next steps
Webhooks
Replace polling with signed events.
Partner API pagination
Read lists in pages instead of bursts.