Skip to content

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_id is a deprecated, backward-compatible alias for messaging_account_id, so new integrations should use messaging_account_id. Migrate to messaging_account_id by December 31, 2026; after that, paid_messaging_account_id is planned for removal in a future Graph API version. If you supply both messaging_account_id and paid_messaging_account_id, messaging_account_id takes precedence and paid_messaging_account_id is 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

PhaseTimingMessages API versionBehavior
Phase 1 — General availabilityH2 2026All versionsOptional. If omitted, Meta determines the correct Messaging Account from the app making the request.
Phase 2 — New Graph API versionH1 2027Newest versionRequired 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 versionsStill optional. Meta attempts to resolve the correct Messaging Account from your app's association and returns an error if unable to.
Phase 3 — Mandatory transitionH1 2028All versionsAll 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

Unofficial mirror for reference/search purposes. All content originates from developers.facebook.com — see the source link at the top of each page. Machine-readable indexes: llms.txt · llms-full.txt · About