uuid from GET /v1/connections. Reads need messages:read. Changes need connections:write, so a key that only sends messages cannot deregister a number or rename the business.
List and inspect numbers
GET /v1/connections/{uuid} adds a live block from Meta (display name review, blue tick, phone status, account time zone), cached for five minutes. Pass ?refresh=1 to ask Meta again.
Can this number send right now?
GET /v1/connections/{uuid}/health returns Meta’s own answer for everything involved in a send: the number, its WhatsApp account, your business portfolio and LazyApp’s Meta app.
Check health when sends start failing or a customer says messages stopped. Policy restrictions are explained, and can be appealed, in Meta’s Business Support Home; there is no API for appeals.
Limits, quality and speed
New portfolios start at 250. To reach 2,000, verify your business in Meta Business Suite, or send 2,000 high-quality template messages to different customers within 30 days. After that, Meta raises the limit automatically (within about 6 hours) when you use at least half of it over 7 days with good quality. The 1,000-a-second speed comes automatically to numbers on an unlimited portfolio that message 100,000 customers a day with at least medium quality.
Prefer webhooks to polling:
phone_number.quality_changed and connection.attention_required fire when these change. See Event reference.
Verify and register a number
Embedded Signup verifies and registers the number for you. You need these calls when you add a number to an account, move a number from another provider, change the display name, or Meta deregisters a number.
Meta allows 10 register or deregister calls per number in 72 hours. The eleventh returns
422 with meta.code: 133016 and blocks the number for 72 hours, so do not retry registration in a loop.
Display name
202: Meta reviews the name, and customers keep seeing the old one until it is approved. Watch live.requested_display_name_status on the connection or the phone_number.updated webhook. Once approved, register the number again within 14 days (same PIN) or the change lapses. Meta allows 10 changes in 30 days. A number with the blue tick must ask Meta support instead.
The profile photo, about text, address, email, websites and category live on the business profile; upload a photo with POST …/business-profile/photo (JPG or PNG, at least 192 × 192 pixels, up to 5 MB).
The blue tick (Official Business Account)
A blue tick shows customers you are the real business and lets people find you in WhatsApp search. Meta decides; you apply.GET …/official-business-account returns Meta’s status and a checklist of what Meta requires: a verified business, a two-step PIN, an approved display name, 30 days on the platform, and not being a WhatsApp Business app or test number.
More numbers on the same account
Embedded Signup returns one number, but a WhatsApp account can hold several.GET …/account lists every number on it with connected showing whether it is already in your workspace.
- Connect one you already have:
POST …/account/phone-numbers/{phone_number_id}/connect. No Facebook login needed; LazyApp reuses the access it has. - Add a new one:
POST …/account/phone-numberswithcountry_code,phone_numberand thedisplay_namecustomers will see. The new connection starts asphone_registration_pending; then verify and register it.
PATCH …/account renames the account (only you see the name, in WhatsApp Manager) or sets its time zone with Meta’s numeric timezone_id (for example 71 is Asia/Kolkata). Meta does not allow a time zone change once a partner credit line pays for the account.
When Meta refuses
Every Meta refusal comes back in the same shape, with a sentence you can show to people and Meta’s own code for logs:
Quote
meta.fbtrace_id if you contact support.
Related
- Connecting WhatsApp: connect, reconnect and coexistence
- QR codes, opt-in links and conversation starters
- Capabilities: which features each number has
- Event reference:
connection.*andphone_number.*