WhatsApp Cloud API · Developer guide · 2026
WABA ID vs Phone Number ID vs Meta Business ID: What's the Difference?
Open your Meta setup and you'll see a Business ID, an App ID, a WABA ID, a Phone Number ID and your actual phone number. They're all long numbers, and they're not interchangeable. Put the wrong one in an API call and you get a vague error and an afternoon of debugging.
By On Cloud API team · Updated
Quick answer
The Meta Business ID (Meta now calls it the Business Portfolio ID) identifies your whole business on Meta. The WABA ID identifies one WhatsApp Business Account inside it. The Phone Number ID identifies one WhatsApp sender number inside that WABA. To send a message, you use the Phone Number ID: POST /<PHONE_NUMBER_ID>/messages. Your access token goes separately in the Authorization header. It's a credential, not an ID.
They nest like this, from biggest to smallest:
Business ID → WABA ID → Phone Number ID → messages
One business can have several WABAs, and one WABA can have several phone numbers. Each phone number has its own Phone Number ID.
All the Meta IDs compared
| Value | Identifies | Used for | Often confused with |
|---|---|---|---|
| Business ID (Business Portfolio ID) | Your Meta business | Listing the WABAs your business owns | WABA ID |
| WABA ID | A WhatsApp Business Account | Phone numbers, message templates, webhook subscription | Business ID, App ID |
| Phone Number ID | One WhatsApp sender number | Sending messages, registering the number | The visible +92 / +971 / +91 number |
| App ID | Your Meta developer app | App settings, token generation | WABA ID |
| Display phone number | The number customers see | Nothing in API URLs | Phone Number ID |
| Access token | Not an asset; it's a credential | Authorization: Bearer header | Any of the above |
What is the Meta Business ID?
It's the ID of your Meta Business Portfolio, the container that owns your ad accounts, pages, apps and WhatsApp accounts. You'll also see it called Business Manager ID, BM ID or Facebook Business ID. Same thing.
For WhatsApp, its main API use is finding the WABAs your business owns:
GET https://graph.facebook.com/<GRAPH_API_VERSION>/<BUSINESS_ID>/owned_whatsapp_business_accounts Authorization: Bearer <ACCESS_TOKEN>
WABAs that a client has shared with you (common for agencies) come from /<BUSINESS_ID>/client_whatsapp_business_accounts instead. Business-level calls like these need the business_management permission on your token.
What is a WABA ID?
WABA stands for WhatsApp Business Account. The WABA ID identifies that account. Your message templates, phone numbers and webhook subscription all hang off it. It's not your Business ID, not your App ID, not your phone number and not your token.
The two WABA calls you'll use most:
# List the phone numbers in this WhatsApp Business Account GET /<WABA_ID>/phone_numbers # Subscribe your app to this account's webhooks POST /<WABA_ID>/subscribed_apps
Message templates also live at the WABA level (/<WABA_ID>/message_templates), not per phone number.
What is a WhatsApp Phone Number ID?
It's Meta's ID for one specific sender number. It's the value that goes in the URL when you send a message. It is not the phone number itself:
| What you have | Example | Goes in the API URL? |
|---|---|---|
| Display phone number | +92 300 1234567 | No |
| Phone Number ID | 123456789012345 | Yes |
When you call /<WABA_ID>/phone_numbers, Meta returns both side by side, which makes the difference obvious:
{
"data": [
{
"verified_name": "Your Business",
"display_phone_number": "+92 300 1234567",
"id": "123456789012345",
"quality_rating": "GREEN"
}
]
}
The id is your Phone Number ID. If you have a sales number and a support number, each has its own ID, so make sure your code sends from the right one.
Which ID goes in which WhatsApp API endpoint?
Bookmark this table. It answers most "which number goes here?" questions.
| What you want to do | ID in the URL | Endpoint |
|---|---|---|
| List WABAs your business owns | Business ID | /BUSINESS_ID/owned_whatsapp_business_accounts |
| Read WABA details | WABA ID | /WABA_ID |
| List phone numbers | WABA ID | /WABA_ID/phone_numbers |
| Create or list message templates | WABA ID | /WABA_ID/message_templates |
| Subscribe to webhooks | WABA ID | /WABA_ID/subscribed_apps |
| Register a phone number | Phone Number ID | /PHONE_NUMBER_ID/register |
| Request a verification code | Phone Number ID | /PHONE_NUMBER_ID/request_code |
| Send a message | Phone Number ID | /PHONE_NUMBER_ID/messages |
All endpoint URLs start with https://graph.facebook.com/<GRAPH_API_VERSION>/, and every call carries your access token in the header.
Here's a full send request, with both "numbers" in it:
curl -X POST \
"https://graph.facebook.com/<GRAPH_API_VERSION>/<PHONE_NUMBER_ID>/messages" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"messaging_product": "whatsapp",
"to": "<CUSTOMER_NUMBER>",
"type": "template",
"template": { "name": "hello_world", "language": { "code": "en_US" } }
}'
PHONE_NUMBER_ID is your sender's Meta ID. to is the customer's phone number, in international format. Two different things.
Where to find your Business ID, WABA ID and Phone Number ID
| ID | Quickest place to find it | By API |
|---|---|---|
| Business ID | Open Meta Business Suite; it's the business_id= value in the browser URL. Also under Business Settings → Business info. | n/a |
| WABA ID | Meta for Developers → your app → WhatsApp → API Setup. Also in WhatsApp Manager and Business Settings → Accounts → WhatsApp accounts. | /BUSINESS_ID/owned_whatsapp_business_accounts |
| Phone Number ID | Meta for Developers → your app → WhatsApp → API Setup, under the "From" number. | /WABA_ID/phone_numbers |
If you connected through a Tech Provider using Embedded Signup, the provider receives your WABA ID and Phone Number ID automatically during onboarding.
Used the wrong ID? Errors and fixes
A wrong ID usually shows up as error 100 ("Invalid parameter" or "Unsupported get/post request") or a permissions error. Here are the common mix-ups:
| Mistake | Why it fails | Use instead |
|---|---|---|
WABA ID in /…/messages | Messages are sent from a number, not an account | Phone Number ID |
Business ID in /…/messages | Same reason, one level higher | Phone Number ID |
+923001234567 in the URL | Meta expects its object ID, not a phone number | Phone Number ID |
Phone Number ID in /…/phone_numbers or /…/message_templates | Those live on the account, not the number | WABA ID |
| App ID where a WABA ID is asked for | The app and the WhatsApp account are different objects | WABA ID |
| WABA ID in the Authorization header | IDs don't authenticate anything | Access token |
Debug from the top down
- Check the token in Meta's Access Token Debugger: is it valid, and does it have the WhatsApp permissions?
- Call
/WABA_ID/phone_numbers. If this works, your token and WABA ID are fine. - Copy the
idof the exact number you want to send from, notdisplay_phone_number. - Retry the send with that Phone Number ID.
Tools like n8n, CRMs and plugins label these fields differently: "Sender ID", "Business Account ID", "Phone ID". Map each field to the object it actually needs. Our WhatsApp Business API + n8n guide shows exactly which Meta value goes into each n8n field. For the bigger picture of how the Cloud API, WABA and numbers fit together, see our WhatsApp Cloud API overview.
These IDs work the same way whether your business is in Pakistan, the UAE, India, Bangladesh, the UK or the US. Meta assigns them; you never create them yourself.
Frequently asked questions
What is a WABA ID?
WABA stands for WhatsApp Business Account. The WABA ID is Meta's identifier for that account, and you use it for account-level calls such as listing phone numbers, managing message templates and subscribing your app to webhooks.
What is a WhatsApp Phone Number ID?
It is Meta's ID for one specific WhatsApp sender number. You put it in the URL when sending messages, as in /PHONE_NUMBER_ID/messages. It is not the phone number your customers see.
What is the Meta Business ID?
It is the ID of your Meta Business Portfolio, the container that owns your WhatsApp accounts, apps and pages. Meta now calls it the Business Portfolio ID, and older guides call it the Business Manager ID.
Is the WABA ID the same as the Meta Business ID?
No. The Business ID identifies your whole Meta business, while the WABA ID identifies one WhatsApp Business Account inside it. One business can own several WABAs.
Is the Phone Number ID the same as my WhatsApp number?
No. Your WhatsApp number is what customers see, for example +92 300 1234567. The Phone Number ID is a separate Meta ID, and it is the one that goes in API URLs.
Which ID do I use to send a WhatsApp API message?
The Phone Number ID, in the endpoint /PHONE_NUMBER_ID/messages. Your access token goes separately in the Authorization header.
Where can I find my WABA ID and Phone Number ID?
Both are on the WhatsApp API Setup page of your app in Meta for Developers. The WABA ID is also shown in WhatsApp Manager, and you can list Phone Number IDs by calling /WABA_ID/phone_numbers.
How do I find my Meta Business ID?
Open Meta Business Suite and look for the business_id value in the browser address bar, or check Business Settings under Business info.
Is an access token a kind of WhatsApp ID?
No. IDs tell Meta which object you mean. The access token proves you are allowed to use it. A normal request has an ID in the URL and the token in the Authorization header.
Why do I get error 100 when sending a WhatsApp message?
Error 100 often means a wrong value in the request, most commonly a WABA ID, Business ID or visible phone number used where Meta expects the Phone Number ID.


