Skip to main content

Error format

Errors return JSON with a message:
Validation errors (422) also list the problem fields:
When a message cannot be sent, the Messaging API returns 422 with a reason, for example because the contact is blocked, has opted out, or the messaging window has closed.

Status codes

Rate limits

The Messaging API may also apply its own per-key limit. Your platform can change these defaults. When you get a 429, wait for Retry-After seconds before retrying.

Retrying safely

  • GET requests are always safe to retry.
  • POST /api/v1/messages accepts an Idempotency-Key header. Retrying with the same key sends the message once.
  • Every POST to the webhook management API requires an Idempotency-Key.
  • Other writes are not idempotent. Check whether the first request succeeded before retrying.