Skip to main content
A WhatsApp number is a normal phone line with the WhatsApp Cloud API turned on. LazyApp does not sell or port numbers: you connect a number you control through Embedded Signup, or claim the shared test sandbox in the console. The test sandbox is free; connecting your own number needs a plan, and an extra number beyond the plan’s allowance is an add-on. Once a number is connected, everything on this page works from the console (Connections → Settings on a number) and from the API. Every endpoint takes the connection 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

The list reads LazyApp’s stored copy and never calls Meta, so it is cheap to poll. 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

This answers 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.
Supporting links are optional, but when you send them Meta wants 5 to 10 independent pages about your business. If Meta says no, you can apply again after 30 days.

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-numbers with country_code, phone_number and the display_name customers will see. The new connection starts as phone_registration_pending; then verify and register it.
New portfolios can register 2 numbers; Meta raises that to 20 once the business is verified or reaches the 2,000 limit. 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.