Skip to main content
Every account can send from the first minute. Two things change as an account proves who it is: which phone numbers it may reach on the carrier channels, and how much it may send per day.

Account levels

Business verification is never required to send. It gates 10DLC registration only, because carriers register a brand against a vetted legal entity. Accounts created before 24 August 2026 start at Verified.

Verifying a phone number

An unverified account can text and call the numbers it has verified. A number is verified from the phone itself, which is what makes the check mean something:
  1. In the dashboard, go to Sandbox and click Generate Verification Code.
  2. Scan the QR code or click Open WhatsApp on the phone you want to verify.
  3. Send the pre-filled VERIFY- message to Zavu’s sandbox number.
The number is marked verified automatically. One verification covers WhatsApp, SMS and calls. Up to 5 numbers per project; a code expires after 10 minutes. There is nothing to type into the dashboard, no API call, and no support ticket.

Sending to any number

Do any one of these in the dashboard. Each is self-serve:
  • Verify your identity under Identity verification (/kyc): an ID document and a selfie, a few minutes.
  • Add a payment method under Billing: about half a minute. Nothing is charged.
  • Settle a deposit under Billing.
  • Subscribe to a paid plan.
Any one of them moves the account to Verified. From then on sms, sms_oneway and voice reach any destination.

Daily ceilings

Channels that share a budget share one counter. Counts reset at 00:00 UTC.
  • The SMS ceiling above Sandbox keys on identity, not on the level: an account that reached Verified by saving a card sends 200 a day until its identity or business verification is approved. A higher limit can be agreed for an account.
  • Email has no verification gate on single sends. A sender with a verified domain sends from day one, within the plan’s quota: 100 a day and 3,000 a month on Free.
  • A daily ceiling never reduces a monthly allowance: 100 a day on the conversational group still reaches the 2,000 messages a month Free includes.
  • Broadcasts count each recipient against the same ceiling. Recipients beyond it are marked failed with errorCode DAILY_LIMIT_EXCEEDED and are not retried the next day.

Errors

destination_not_verified (403)

Returned by POST /v1/messages on sms, sms_oneway and voice, and by POST /v1/calls, when an unverified account targets a number it has not verified.
Send to one of details.verifiedNumbers, verify the number you meant to reach, or move the account to Verified.

daily_limit_exceeded (429)

Returned by POST /v1/messages and POST /v1/calls when the channel group’s ceiling for today is spent.
details.limit is the ceiling that applied. Wait for 00:00 UTC, or raise it: identity verification or a payment method for the SMS, voice and conversational groups, a plan upgrade for email.

kyc_required (403) on broadcasts

POST /v1/broadcasts/{broadcastId}/send refuses an unverified account on every channel except whatsapp, where Meta’s approval of the template is the review. Any one of the four routes to Verified lifts it. Drafts can be created and edited without it.
See Broadcasts.

Test-mode keys

A zv_test_ key is separate from the levels above. Whatever the account has proven, it sends WhatsApp, Telegram, Instagram and Messenger only to verified numbers, and it cannot place calls.

Next Steps

Quickstart

Send your first message

Rate Limiting

Per-minute API request limits