API rate limits + retry behaviour

What our limits are, how you'll know when you hit them, how to back off properly.

01

Default limits

  • **100 requests / minute / tenant** for /api/v1/* endpoints (calls, leads, sms).
  • **10 outbound calls / minute** to prevent dialer abuse.
  • **5 SMS / second** to a single recipient (carrier filtering).
02

How you'll know

  • Hit a limit → 429 status code.
  • Headers tell you: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (unix timestamp).
03

Recommended backoff

  • **Exponential backoff with jitter**: wait min(2^attempt + random(0,1), 60) seconds.
  • After 5 attempts, give up + alert on your end.
  • Use a job queue (Bull, RQ, Sidekiq) for any sustained API workload.
04

Bulk operations

  • Don't hammer /api/v1/calls — use batches.
  • To dial 1,000 leads: upload CSV via /api/v1/leads (one request) + start a campaign (one request).
  • Campaign engine paces dialing automatically respecting ACMA + your concurrency.
05

Higher limits

  • Need more? Contact sales@voxreach.com.au with your traffic profile.
  • Volume-tier customers get automatic higher limits.

Still stuck?

Email hello@voxreach.com.au — we reply within 2 business hours during AEST hours.

Open a ticket