Appearance
Managing messaging accounts
Updated: Jun 30, 2026
A business phone number can have multiple Messaging Accounts, and each Messaging Account belongs to an app. When each Messaging Account on a phone number is shared with a unique partner, the Messages API does not require the Messaging Account ID — Meta determines the correct Messaging Account from the app making the request. When multiple Messaging Accounts are shared with a single partner, you must include messaging_account_id to specify which Messaging Account to use for billing and analytics.
The parameter is optional at Phase 1 — General availability and becomes required for multi-Messaging Account scenarios starting with Phase 2 — New Graph API version. If you only hold one Messaging Account per WhatsApp Account, no changes are needed until Phase 3 — Mandatory transition.
Note:
paid_messaging_account_idis a deprecated, backward-compatible alias formessaging_account_id, so new integrations should usemessaging_account_id. Migrate tomessaging_account_idby December 31, 2026; after that,paid_messaging_account_idis planned for removal in a future Graph API version. If you supply bothmessaging_account_idandpaid_messaging_account_id,messaging_account_idtakes precedence andpaid_messaging_account_idis ignored.
Multiple messaging account scenarios
Your app needs to include messaging_account_id when it has access to more than one Messaging Account on the same phone number. There are three scenarios where this occurs:
- Direct developer with a partner — You are a direct developer who uses the same phone number with two or more Messaging Accounts. For example, you outsource marketing messages to a partner, which requires two Messaging Accounts: one for you, and one for the partner. Since your app is associated with both Messaging Accounts, you must include the appropriate Messaging Account ID when sending messages.
- Partner with multiple shared Messaging Accounts — A client shares two or more Messaging Accounts with you, each associated with the same business phone number. You must include the appropriate Messaging Account ID when sending messages.
- Multiple billing currencies — A client uses the same phone number across multiple markets with different billing currencies. Each currency requires its own Messaging Account. The client shares all of these Messaging Accounts with you, so you must specify which Messaging Account to bill when sending.
To get a list of Messaging Account IDs that have been shared with your business portfolio, use the Client WhatsApp Business Accounts API.
When the parameter is required
| Phase | Timing | Messages API version | Behavior |
|---|---|---|---|
| Phase 1 — General availability | H2 2026 | All versions | Optional. If omitted, Meta determines the correct Messaging Account from the app making the request. |
| Phase 2 — New Graph API version | H1 2027 | Newest version | Required when your app has access to more than one Messaging Account on the same WhatsApp Account. Meta rejects calls that omit messaging_account_id. |
| Older versions | Still optional. Meta attempts to resolve the correct Messaging Account from your app's association and returns an error if unable to. | ||
| Phase 3 — Mandatory transition | H1 2028 | All versions | All Messages API versions require messaging_account_id for multi-Messaging Account setups. |
Example syntax
To charge a specific Messaging Account, include messaging_account_id in the request body:
curl -X POST \
'https://graph.facebook.com/v22.0/<BUSINESS_PHONE_NUMBER_ID>/messages' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"to": "<WHATSAPP_USER_PHONE_NUMBER>",
"messaging_account_id": "<MESSAGING_ACCOUNT_ID>",
"type": "template",
"template": {
"name": "<TEMPLATE_NAME>",
"language": { "code": "<LANGUAGE_CODE>" }
}
}'Billing and receipts
Check payment methods
Use the Messaging Account API to check which payment method is attached to a Messaging Account:
curl -X GET \
'https://graph.facebook.com/v22.0/<MESSAGING_ACCOUNT_ID>?fields=primary_funding_id' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'If primary_funding_id is absent, the Messaging Account has no payment method attached and cannot send paid messages.
Delivery receipts
Delivery receipts return to the sending app. The payload format is unchanged. If you bill WhatsApp users based on delivery receipt volume, query primary_funding_id on the Messaging Account you sent from to determine which line of credit was charged.
Learn more
- Updates to WhatsApp Business accounts — overview of the new account model
- Onboarding changes — how client onboarding changes with the new account model