Limits

Rate limits & quotas

Limits are per app, shared by all its keys and counted across every QuiC server. A sandbox key always gets sandbox limits.

Limits by access level
LimitSandboxInternal livePublic live
API requests30 / minute300 / minute600 / minute
Messages200 / day10,000 / day50,000 / day
Business-initiated, per user3 / 24 hours3 / 24 hours3 / 24 hours
Media uploads100 / hour100 / hour100 / hour
Testers10——
Webhook endpoints555

Headers#

Every response carries RateLimit-Limit and RateLimit-Remaining. A throttled request gets 429 rate_limited and a Retry-After header in seconds. Wait that long, then retry — with the same Idempotency-Key for sends.

Quota errors#

  • daily_quota_exceeded — the app's daily message quota is used up (resets at 00:00 UTC).
  • business_initiated_cap — you already started 3 messages to this person in the last 24 hours, outside the 24-hour window. Reply when they write to you.
  • media_rate_limited — too many uploads this hour.