Meta is splitting the WhatsApp Business Account (WABA) into two accounts: a WhatsApp account (WAAC) that holds the business phone number, and a Messaging account that holds templates, billing, and webhook subscriptions. The split lets a business share one phone number with several partners while each partner keeps its own templates and billing.
Phase 1 rolled out from September 23, 2026 and was scheduled to reach every business by mid-October 2026. Existing IDs, endpoints, and access tokens keep working. The API changes that require code work arrive with a new Graph API version in H1 2027 and become mandatory in H1 2028.
Based on Meta's account model documentation, checked 27 October 2026. Meta notes that all of it is subject to change.
What Is Changing
Until now one WABA held everything: phone numbers, message templates, the payment method, webhook subscriptions, and partner access. Because a WABA could be shared with only one partner integration, a business that wanted a second provider (for example, one for marketing and one for support) needed a second phone number, and its customers saw two contacts for one business.
The new model separates the business's identity, its phone number, from templates and billing:
| WhatsApp account (WAAC) | Messaging account | |
|---|---|---|
| Holds | One business phone number, later one business username, the business profile, and product catalogs | Message templates, the payment method, analytics, and webhook subscriptions |
| Owner | Always the business (the client or direct developer) | The business or a partner |
| Partners | Can be shared with several partners at once | Each partner works in its own Messaging account |
| ID | A new WhatsApp account ID, available from phase 2 | Your existing WABA ID |
Meta's Terms of Service still call the WhatsApp account the "WhatsApp Business Account". In Meta Business Suite, WhatsApp accounts and Messaging accounts are separate lists under Settings → Accounts, replacing the single WABA view.
WhatsApp Accounts
A WhatsApp account is what WhatsApp users see and interact with: the business phone number, the business profile, and product catalogs. Business usernames will live here once Meta launches them (see Business Usernames).
- Each WhatsApp account holds exactly one phone number. Meta moved existing numbers into WhatsApp accounts automatically in phase 1.
- WhatsApp accounts can be linked into a hierarchy: a primary account with linked accounts, sometimes called a phone set. Sharing the primary account with a partner gives that partner every number in the set.
- The business always owns its WhatsApp accounts. Sharing one with a partner gives the partner access to its phone number.
- WhatsApp account IDs map one-to-one to phone number IDs but are different values. Meta does not expose them until phase 2.
Messaging Accounts
A Messaging account holds message templates, the payment method, analytics, and webhook subscriptions. Your existing WABA became your Messaging account in phase 1 and kept its ID, so a waba_id you already store is now a Messaging account ID.
- A phone number can have several Messaging accounts, for example one per partner or one per billing currency.
- Templates belong to the Messaging account they were created in and are not shared with other Messaging accounts.
- Each Messaging account has its own payment method, separate from other Messaging accounts and from ad accounts.
- When a partner is removed from a Messaging account, Meta sends that partner's app an
account_updatewebhook and also emails, though Meta says it is still improving email reliability. See account_update.
Messaging Accounts covers sending with several Messaging accounts on one number, the messaging_account_id parameter, and how to check a payment method.
What Stays the Same
Meta lists these as unchanged:
- Cloud API endpoints, payloads, and responses, including
POST /<PHONE_NUMBER_ID>/messages - Business Management API endpoints for WhatsApp Business accounts
- Marketing Messages API endpoints and behavior
- Phone number IDs and access tokens
- Template create, edit, delete, and review on
/<WABA_ID>/message_templates, which now addresses the Messaging account - Pricing
- Phone number registration and deregistration
- Webhook subscriptions: you still subscribe to the
whatsapp_business_accountfield with the Messaging account ID (your WABA ID) - Business verification, display names, quality ratings, and messaging limits
- Throughput, which stays per phone number
Where Assets Live
| Asset | Before | After |
|---|---|---|
| Phone numbers | WABA | WhatsApp account |
| Message templates | WABA | Messaging account, one per partner |
| Billing and payment methods | WABA | Messaging account |
| Webhook subscriptions | WABA | Messaging account |
| Access tokens | App + WABA | App + Messaging account (the same tokens work) |
| Conversation history | Phone number | WhatsApp account / phone number (unchanged) |
| Quality rating | Phone number | WhatsApp account / phone number (unchanged) |
| Business verification | Business portfolio | Business portfolio (unchanged) |
Meta migrated every WABA this way, including WABAs owned by direct developers and Coexistence numbers that use the WhatsApp Business app. Phone numbers, templates, business profiles, and payment methods carried over, and existing clients did not need to re-onboard.
One Number, Several Partners
A business can now share one WhatsApp account with several partners, for example a marketing platform, a support inbox, and its own direct integration, each working through its own Messaging account.
- Billing: each partner is billed through its own Messaging account, whichever partner handles the conversation. A message is charged to the Messaging account associated with the app that sent it. A business can also keep separate Messaging accounts for different billing currencies on one number.
- Delivery receipts go back to the app that sent the message.
- Throughput belongs to the phone number, so all partners on the number share it.
- Messaging limits belong to the business portfolio, so the limit on unique users per 24 hours is shared by every partner on the number. See Capacity, Quality & Limits.
- Templates are not shared. Each partner creates its own, or copies them with Meta's Template Migration API. Copied templates restart at baseline quality and messaging tier and need roughly 2–4 weeks to ramp up again.
- Credit lines: a client-owned Messaging account that carries a Solution Partner's credit line cannot be shared with another partner.
- Deregistration: any partner on the number can deregister it, and a deregistered number stops sending and receiving through Cloud API for every partner.
Onboarding Changes
Embedded Signup now handles both account types:
- Standard Cloud API onboarding links a new or existing WhatsApp account to the number and creates a separate Messaging account for the partner. Meta returns that ID in the existing
waba_idfield, so the value and format are unchanged. - WhatsApp Business app (Coexistence) onboarding is the exception. Meta converts the business's existing WhatsApp Business account into a Messaging account and shares it, together with its WhatsApp account, with the partner. No partner-specific Messaging account is created.
- The flow is phone-number-first. Meta removed Add phone number later, and partner-initiated account creation now requires a phone number as well.
- A business already onboarded with one partner can onboard with another partner on the same number.
- Embedded Signup screens and Meta Business Suite name the WhatsApp account and the Messaging account separately.
From phase 2, Embedded Signup also returns the WhatsApp account ID (waac_id) next to waba_id and the phone number ID, and new settings will control whether and where the Messaging account is created. Meta has not published those details yet.
Registration and the 2FA PIN
- A business can onboard a new partner with a number that is already registered and shared with another partner. The new partner's register call succeeds without resetting the PIN, and Meta's response says when the PIN was not reset.
- A partner can change the display name without knowing the PIN.
- Meta is deprecating the 6-digit two-step verification PIN for eligible Cloud API numbers, rolling out by business cohort. Keep sending a valid 6-digit
pinto/registeruntil Meta announces a separate API change. See Two-Step Verification.
Changing Providers
Meta no longer supports migrating a phone number from one Solution Partner to another. The business shares its existing WhatsApp account with the new provider instead. The number does not move, conversations continue, and there is nothing to migrate.
- Sharing is additive. The business decides whether to keep or remove the previous provider, and neither is a prerequisite for onboarding the new one.
- The new provider works in its own Messaging account, so templates and the payment method in the previous provider's Messaging account do not carry over.
- Moving between Multi-Partner Solutions is unaffected.
- Coexistence numbers go through the Coexistence onboarding path, where a previous partner relationship can still block signup with error 2655093.
How to Leave Your WhatsApp BSP walks through a provider switch step by step.
Moving Numbers Within a Portfolio
To regroup numbers inside one business portfolio, link and unlink WhatsApp accounts instead of migrating. The number stays connected and keeps its conversations.
In Meta Business Suite, go to Settings → Accounts → WhatsApp accounts, select the primary WhatsApp account, and open Linked WhatsApp accounts:
- Unlink number moves a linked number into its own hierarchy, or directly into another hierarchy in the same portfolio.
- Link WhatsApp account → Existing WhatsApp account adds a number the business already owns to this hierarchy.
Keep in mind:
- Both hierarchies must belong to the same business portfolio. A number cannot move to another portfolio.
- Partners with access to a hierarchy can use every number in it, so moving a number changes which partners can use it.
- A number outside a hierarchy cannot be linked while it is shared with a partner or has its own Messaging accounts. Meta Business Suite shows the reason when you select it.
- You need permission to manage phone numbers on every hierarchy involved, and the number must be connected.
- Linking and unlinking are rolling out gradually and may not be available to every business yet.
WhatsApp Account IDs and New APIs
Phase 2 introduces:
- A WhatsApp account ID for every number, different from its phone number ID. Existing phone-number-level APIs keep accepting phone number IDs, and new APIs accept both.
- New Graph API endpoints for managing WhatsApp accounts and Messaging accounts. Meta has not published them yet.
- A new
whatsapp_accountwebhook field. - Separate app permissions for WhatsApp account and Messaging account scopes.
- On the newest Messages API version,
messaging_account_idbecomes required when the sending token reaches more than one Messaging account on the number. See Messaging Accounts.
Template endpoints (GET, POST, and DELETE /<WABA_ID>/message_templates) stay on the Messaging account and do not change.
In phase 3, every API that takes a phone number ID in its path, such as /<PHONE_NUMBER_ID>/messages, or as a query parameter must use the WhatsApp account ID instead.
Rollout Timeline
| Phase | Timing | What ships | What integrations need to do |
|---|---|---|---|
| 1. General availability | Rolled out from September 23, 2026, scheduled to reach all businesses by mid-October 2026 | Automatic account migration, per-partner Messaging accounts in Embedded Signup, separate Meta Business Suite lists, 2FA PIN deprecation for eligible numbers, optional messaging_account_id | No code changes, unless a token reaches several Messaging accounts on one number |
| 2. New Graph API version | H1 2027 | WhatsApp account IDs, new endpoints, the whatsapp_account webhook field, separate permissions, waac_id from Embedded Signup, messaging_account_id required on the newest version for multi-Messaging-account setups | Start storing WhatsApp account IDs; send messaging_account_id where a token reaches several Messaging accounts |
| 3. Mandatory transition | H1 2028 | messaging_account_id required on every version for multi-Messaging-account setups; WhatsApp account IDs replace phone number IDs in paths and query parameters | Be on the new APIs; Meta advises planning the work during 2027 |
Separately, the deprecated paid_messaging_account_id alias should be replaced with messaging_account_id by December 31, 2026.
What Dualhook Customers Need to Do
- Coexistence connections, which are most Dualhook connections: nothing for now. The WABA ID Dualhook shows is your Messaging account ID, and your templates and payment method stayed on it.
- A Cloud API number you already use with another provider: connecting it to Dualhook creates a separate Messaging account for Dualhook. It starts with no templates and no payment method. Attach a payment method to it in Meta Business Suite, or template sends fail with error 131042, and recreate the templates you need.
- Runtime API calls through Dualhook: no change. Keep using the connection's phone number ID and WABA ID in
v25.0paths. - Your own Graph API calls with your own token: send
messaging_account_idif that token reaches more than one Messaging account on a number, and plan the move to WhatsApp account IDs before phase 3. Your system user also needs business asset access on both the WhatsApp account and the Messaging account. Meta Business Suite does not cascade a grant from one to the other, so assign each explicitly there.
Dualhook Boundary
- Dualhook stores the Messaging account ID as the connection's WABA ID and uses it for
subscribed_appsand Webhook Override. - Dualhook does not create, share, link, unlink, or delete WhatsApp accounts or Messaging accounts, and it does not add or remove partners. Do that in Meta Business Suite.
- Dualhook cannot see other partners' Messaging accounts on the same number.
- Dualhook does not show WhatsApp account IDs, because Meta does not expose them yet.
- Dualhook does not send
messaging_account_id. Its authorization normally reaches only the connection's own Messaging account. - Dashboard and Runtime API template actions apply only to the connection's Messaging account. Dualhook does not offer the Template Migration API.
- Dualhook does not read, show, or attach payment methods. Manage them in Meta Business Suite.
- Disconnecting or cancelling clears Dualhook's Webhook Override and unsubscribes its app from the Messaging account. It does not deregister the number, so other partners on the number keep working.