Reference

Errors & rate limits

Error format, status codes and limits.

Errors always look like this:

{ "error": { "type": "invalid_request", "message": "The message field is required." } }
HTTP type Meaning
400 / 422 invalid_request A field is missing or invalid (fields lists them)
401 authentication_error Missing, wrong or revoked key
402 insufficient_credits Top up to continue
403 origin_not_allowed, business_inactive, channel_not_in_plan The key cannot be used here
404 not_found The resource does not exist in your business
429 rate_limited, visitor_limit Too many requests — wait for Retry-After seconds, or a website visitor reached the daily message limit
5xx server_error Something broke on our side; safe to retry with an Idempotency-Key

Rate limits are per key, per minute, and depend on your plan (30 on Trial, 60 on Starter, 120 on Growth, 300 on Pro).