Skip to main content
WhatsApp has its own configurable limits and counters. Sending an iMessage does not consume a WhatsApp allowance or count as a WhatsApp recipient reply. An existing dedicated iMessage number is an eligibility requirement, not a shared usage ledger.

Read effective limits

Use agent_identity_id to select an agent when authenticating with an organization-wide credential. The response contains agent_identity_id, effective limits, and available usage counters. Dictionary keys retain their whatsapp. prefix. The daily usage counter counts outgoing messages, including replies, in the agent’s rolling 24-hour window.
Example response with the initial policy values:
Check these effective values before validating an attachment or draft. The transport ceilings are 20 MiB for one attachment and 4,000 Unicode code points for text; an organization’s policy can be lower. The send and upload endpoints enforce the current policy again, including changes made after a limits read.

Independent safeguards

Group sends count toward the daily message allowance, consecutive-unanswered limit, and distinct-conversation limit alongside direct messages. An allowed incoming message from another participant in the current connection resets that group’s unanswered count. First-contact and follow-up limits apply only to direct conversations. The API exposes limits for daily messages, direct first-contact outreach, unanswered messages, follow-ups, distinct conversations, minimum spacing, and text/media sizes. In a direct conversation, before that recipient’s first WhatsApp reply, the initial policy allows up to three opening messages of at most 159 Unicode code points each. Links, phone numbers, media, and email addresses are not allowed in those messages by default. Four independent settings control those content permissions separately from the opening-message count and length. The initial daily allowance is 1,000 outgoing messages per agent in a rolling 24-hour window, including replies. This allowance remains configurable. Read the limits endpoint for your agent’s effective values instead of inferring them from this fallback table. Access approval remains separate from these limits. A policy rejection is not permission to switch identities or channels, split a message, create a new logical-send key, or automatically retry. Follow the response’s error and retry guidance, and inspect the original logical send if acceptance is uncertain.