429 Too Many Requests response.
Rate limit tiers
Your rate limits depend on the Doohick plan associated with your account:
Enterprise customers can negotiate custom per-minute limits to match their specific traffic patterns. Contact your account manager to adjust your configuration.
Rate limit headers
Every API response — including successful ones — includes the following headers so you can track your consumption in real time:
Read these headers proactively in your integration code to slow down before you hit the ceiling, rather than reacting only after a
429 arrives.
Handling 429 errors
When you exceed a rate limit, the API returns a429 response with a structured error body:
retry_after is the number of seconds to wait before your next request is likely to succeed. Use this value — or the Retry-After response header — to drive your retry logic.
The following example implements exponential backoff with a cap on maximum attempts:
429, the function reads the Retry-After header. If the header is absent — for example, on a burst-limit hit — it falls back to an exponentially growing delay (1s, 2s, 4s, 8s, 16s).
Exponential backoff prevents a thundering-herd problem where many clients retry simultaneously and immediately re-trigger the same rate limit.
Best practices
Follow these guidelines to stay within your limits and build a resilient integration:- Cache responses where possible. Data that doesn’t change frequently — such as account settings or static reference lists — should be cached locally rather than re-fetched on every operation.
- Batch requests. Where the API supports batch operations, prefer a single batched call over many individual requests.
- Use webhooks instead of polling. Subscribe to Doohick webhooks for event-driven updates rather than repeatedly querying endpoints to detect changes.
- Monitor your
X-RateLimit-Remainingheader. Build alerting into your integration so you are notified before the remaining quota drops to zero. - Upgrade your plan if needed. If your workload consistently approaches daily or per-minute limits, upgrading to a higher tier is the most durable solution.