Start here
Connect your WhatsApp number
Linking a WhatsApp Business number and registering it on the Cloud API, the step whose absence breaks everything downstream.
Getting a number ready is two separate actions that look like one. Linking attaches the number to your account so the platform knows it exists and holds a token for it. Registering tells Meta that this number is now live on the Cloud API and may send. A number can be linked, visible in the dashboard, showing its verified business name, and still unable to send a single message.
Before you start
- A number nobody is using
The number must not currently be active in the WhatsApp or WhatsApp Business app. Meta will not attach a number that is signed in on a handset. If the number you want is your existing business WhatsApp, delete the account from within the app first. That is permanent and takes the chat history with it.
- Somewhere to receive a code
Meta verifies the number by SMS or voice call during linking. A landline is fine so long as someone can answer it for the voice option.
- A Meta business account
Created for you during the connect flow if you do not have one. Business verification is Meta's process, not ours; an unverified business can send, but at a lower messaging limit until verification completes.
Link the number
Open Phone Numbers in the dashboard. There are three ways in, and they differ only in how much you type:
Connect Meta
Opens Meta's Embedded Signup in a popup. You choose or create a business account, add the number, receive the verification code and confirm it, all inside Meta's own flow. The popup hands back the credentials when it finishes. This is the path to use unless it is blocked.
Discover from Meta
If a number is already set up in your Meta business account, this lists every number it can see and lets you tick the ones to import. Useful when the number was added directly in Meta's Business Manager, or when someone else in the business set it up.
Manual Link
Paste the business account id, the phone number id and an access token by hand. The fallback when a popup blocker or a corporate browser policy stops Embedded Signup.
However it arrives, a linked number appears in the list with its display number, the business name Meta approved, and a badge for each of its states.

Register it on the Cloud API
On the number's row, use Register 2FA, type a 6-digit PIN and confirm. That single call is what makes the number live on the Cloud API. When it succeeds the row gains a Registered badge, and it is the badge, not the presence of the number. That means it can send.
About the two-step PIN
The PIN is WhatsApp's two-step verification for this number. It is not a password for the platform and it is not sent to your customers. Meta requires one at registration so that nobody who obtains the number later can re-register it elsewhere without it.
- Choose six digits you can retrieve. Meta asks for the same PIN if the number is ever re-registered, migrated to another business account, or recovered after a deregistration.
- It is stored encrypted so a re-registration does not need you to find it again, but a PIN nobody in the business remembers is a genuine dead end with Meta support at the end of it.
- Not a card PIN or a personal one. It is shared business infrastructure, treat it the way you treat a shared admin credential.
Check it worked
The dashboard badge is one answer. The API gives the same answer with the reason attached, which is the one to use from a script or when handing information to support:
curl "https://whatsapp-api.growcord.in/api/v1/notifications/events" \
-H "Authorization: Bearer sk_live_xxx"health reports whether the number can send at all, independently of any template. A healthy number looks like this:
{ "health": { "canSend": true, "blockers": [] } }An unregistered one names the problem and its fix:
{
"health": {
"canSend": false,
"blockers": [
"This number is not registered on the WhatsApp Cloud API. Register it with a 6-digit two-step PIN (Phone Numbers → Register), until then Meta rejects every send with error 133010."
]
}
}The other blocker you may see is a missing access token, which means the link is stale, re-link the number and the token comes back with it.
Quality rating
Meta grades every number on how customers react to its messages, specifically, how many block it or report it. The grade is a traffic light, and it is not cosmetic: it decides your messaging limit.
| Rating | What it means | What to do |
|---|---|---|
| GREEN | Customers are not blocking or reporting your messages. | Nothing. Keep sending what you are sending. |
| YELLOW | Enough customers have blocked or reported you that Meta is watching. | Cut promotional sends now and message only people expecting to hear from you. If this reaches red your daily limit is cut. |
| RED | Your daily customer limit is being reduced. | Stop marketing entirely. Send only to customers who contacted you first. Recovery takes days, not hours. |
| UNKNOWN | Meta has not rated this number yet. | Normal for a new number. It fills in once you have sent enough. |
Marketing templates are what move this needle, because a customer who did not expect a promotion is the customer who blocks. Order updates rarely hurt quality, people want those. Contacts and opt-outs covers honouring STOP, which is the cheapest protection there is.
Messaging limits
A messaging limit is how many distinct customers you may start a conversation with in a rolling 24 hours. It counts unique customers, not messages: five order updates to the same person in one day count once, and replies inside an open conversation do not count at all.
New numbers start at the bottom of the ladder. Meta moves you up on its own. There is no request to make.
| Tier | Customers per 24 hours | How it grows |
|---|---|---|
| TIER_50 | 50 | Sending to real customers without being blocked moves you up automatically, usually within a week. |
| TIER_250 | 250 | Keep quality out of the red and Meta raises this on its own. |
| TIER_1K | 1,000 | Reach roughly half the limit at good quality and Meta reviews you for the next tier. |
| TIER_10K | 10,000 | Sustained volume at good quality moves you up. |
| TIER_100K | 100,000 | Sustained volume at good quality moves you up. |
| TIER_UNLIMITED | No limit | You are at the top tier. |
Meta adds tiers from time to time. An unfamiliar tier is shown as whatever Meta returned rather than being reported as unknown, so a number on a brand-new tier still reads correctly.
Throughput is a different ceiling
The daily limit is about how many people you may reach. Throughput is about how fast you may send: STANDARD allows up to 80 messages a second, HIGH up to 1,000. A campaign to ten thousand contacts is bounded by both, the daily tier says whether you may reach them at all, throughput says how long the run takes. Your account's own sending caps are a third, separate limit, and are the ones that return a 429 with limit and usage in the body.
Both figures come straight from Meta and are refreshed on the number's row in Phone Numbers.
If registration fails
- The number is still active in the WhatsApp app. The most common cause. Delete the WhatsApp account from the handset, wait a few minutes, and register again.
- A PIN was set before and does not match. A number that has been registered previously keeps its two-step PIN. Use the original, or disable two-step verification on the number in Meta's Business Manager and register with a new one.
- The access token has expired. Registration needs a working token. If the number was linked manually with a short-lived token, re-link it.
- Too many attempts. Meta rate-limits registration per number. Wait before retrying rather than trying repeatedly.
With the number registered, the next thing standing between you and a delivered message is template approval, Message templates and approval. If sends are already failing, Troubleshooting starts from exactly this check.
