Solution Providers
- Solution providers | Developer Documentation
- Become a Tech Provider | Developer Documentation
- Get started as a Solution Partner | Developer Documentation
- Measurement Partners | Developer Documentation
- Upgrading to a Tech Partner | Developer Documentation
- App Review | Developer Documentation
- Partner-initiated WABA creation | Developer Documentation
- Multi-Partner Solutions | Developer Documentation
- Multi-Partner Solution — Embedded creation | Developer Documentation
- How to use Multi-Solution Conversations (MSC) | Developer Documentation
- Partner-led Business Verification | Developer Documentation
- Tracking with the Meta Pixel | Developer Documentation
- Managing WhatsApp Business Accounts | Developer Documentation
- Registering business phone numbers | Developer Documentation
- Manage System Users | Developer Documentation
- On-Behalf-Of account ownership model deprecation | Developer Documentation
- Migrate an existing WhatsApp Number to a Business Account | Developer Documentation
- Business customer phone numbers | Developer Documentation
- Managing credit lines | Developer Documentation
- Managing Webhooks | Developer Documentation
Solution providers | Developer Documentation
Solution providers
Updated: Nov 14, 2025
This documentation contains information, instructions, and resources for solution providers — businesses that provide, or want to provide, WhatsApp messaging services to other businesses. If you are building an app that will not be used by other businesses, refer to our Cloud API Get Started guide instead.
Solution providers are business entities that deploy value-added solutions as WhatsApp authorized service providers on behalf of their business customers. Solution providers include Solution Partners, Tech Providers, and Tech Partners.
Solution Partners
Solution Partners are Meta Business Partners that provide a full range of WhatsApp Business Platform services to other businesses, such as messaging services, billing, integration support, and customer support.
Solution Partners have credit lines which can be extended to business customers who they bring on board, thus removing the need for those customers to enter their own payment method during the onboarding process. Furthermore, Solution Providers are able to directly invoice their customers for the WhatsApp Business Platform services provided through their apps.
In addition, Solution Partners have access to Direct Support and are eligible to participate in the Meta Business Partner SMB Accelerator Program, which offers incentive, accreditation, and enablement services.
Note that becoming a Solution Provider is a lengthy process, so if you don’t need a credit line and don’t need to invoice your business customers for API usage directly, consider becoming a Tech Provider instead.
Tech Providers
Tech Providers are similar to Solution Partners in that they also can offer a full range of WhatsApp Business Platform services to other businesses, either by providing these services on their own, or by partnering with a Solution Partner who already offers these services.
Unlike Solution Providers, however, Tech Providers do not have credit lines. Instead, business customers onboarded by Tech Providers must provide their own payment method after onboarding is complete. Meta will then bill these customers for API usage, and the Tech Provider will bill for other services.
Tech Providers also cannot participate in the Meta Business Partner SMB Accelerator Program, unless they upgrade to a Tech Partner. However, Tech Providers do have access to Direct Support.
To learn how to become a Tech Provider, see Become a Tech Provider.
Tech Partners
Tech Partners are Tech Providers who are, or are eligible to become, Meta Business Partners. Tech Providers who apply to become a Meta Business Partner and are approved are eligible to participate in the Meta Business Partner SMB Accelerator Program.
To learn how to upgrade to a Tech Partner, see Upgrading to a Tech Partner.
Other partners
If you just want to use Meta Business Suite to provide WhatsApp messaging-related services to business customers (i.e. you don’t need API access), you only need a verified business portfolio.
Once your business is verified, provide your business portfolio ID to any business customers for whom you wish to provide service, and ask them to share their WhatsApp Business Account with you. Once shared, you can use Meta Business Suite to access their account and provider service.
Comparison
| Solution Partners | Tech Providers | Tech Partners | |
|---|---|---|---|
Can offer full WhatsApp Business Platform services to onboarded customers | Yes | Yes | Yes |
Has a credit line | Yes | No | No |
Customers bypass payment method collection | Yes | No | No |
Bills customers directly for API usage (vs. Meta billing customers for usage) | Yes | No | No |
Is a Meta Business Partner | Yes | No | Yes |
Eligible for accelerator program | Yes | No | Yes |
Access to Direct Support | Yes | Yes | Yes |
Onboarding business customers
There are multiple ways for you to onboard business customers.
Embedded Signup
Embedded Signup is a scalable, authentication and authorization interface that can be launched directly from your website or customer portal. Embedded Signup automatically generates all required WhatsApp assets for business customers who successfully complete the flow, and authorizes your app to access those assets.
Hosted Embedded Signup
Hosted Embedded Signup (“Hosted ES”) is an alternative and simpler way of implementing Embedded Signup that doesn’t require you to configure and host the implementation code on your website or portal.
Partner-initiated account creation
If you are a Solution Partner, you can initiate WhatsApp Business Account creation for a business customer who can then use Meta Business Suite to approve or decline creation.
Meta Business Suite
Your business customers can use Meta Business Suite to create a WhatsApp Business Account on their own and share it with you.
Multi-Partner Solutions
Multi-Partner Solutions allow solution partners to jointly manage onboarded business customer assets in order to provide comprehensive WhatsApp messaging services. For example, if you are a Tech Provider, you may wish to create a multi-partner solution with a Solution Partner who can share their credit line with business customers onboarded via your joint solution.
Access Tokens
If you are a Tech Provider or Tech Partner, you should use business tokens exclusively. If you are a Solution Partner, you should use a system token only when sharing your credit line with onboarded business customers; in all other cases, use business tokens.
System tokens
System tokens should only be used by Solution Partners, and only when sharing credit lines with onboarded business customers; at all other times, use a business token instead.
System tokens are described in our API documentation, as they are used by non-solution partners as well. See System User Access tokens to learn how to create a system user and token.
When creating your system user, aside from granting it any permissions and roles your app needs, also grant it the Finance editor role:
This will allow your app to use the API to share your credit line with onboarded customers.
Business tokens
Business tokens are access tokens scoped to individual onboarded business customers. Use these tokens when accessing onboarded customer data, such as WhatsApp Business Accounts, message templates, business phone numbers, and when sending and receiving messages for your customers.
To get a business token that is scoped to a customer, you must exchange a code returned to you when that customer completes the Embedded Signup flow. This process is described in the Onboarding Business Customers section of the Embedded Signup documentation.
Permissions
The permissions your app requires from onboarded customers depends on the services you provide. These are described in broad terms below but are largely determined by the endpoints your app will be querying.
The most commonly needed permissions are:
Note that before your app can be granted these permissions by your business customers, the permissions must be approved through the App Review process.
App Review
Before you can officially begin onboarding business customers, you must submit your app for App Review and request advanced access approval for any permissions your app requires.
If advanced access is not approved for a given permission, the permission will not appear in the Embedded Signup flow and your business customers will be unable to grant it to your app.
Business Verification
In order to be eligible for increased messaging limits, business phone number limits, and Official Business Account status, your business customers must verify their business. Your business customers can submit their business for verification by following the instructions in the following Help Center article:
Alternatively, if you are a Select Solution or Premier Solution Partner, you can submit a customer’s business for verification on their behalf, which has a much faster turnaround time. See Partner-led Business Verification.
Become a Tech Provider | Developer Documentation
Become a Tech Provider
Updated: Nov 20, 2025
This document describes the steps you must take to become a Tech Provider.
As a Tech Provider, you can independently provide all WhatsApp messaging services to business customers who you have onboarded, or you can work with a Solution Partner to jointly offer these services. If you are partnering with a Solution Partner, ask them for their app ID, which you will need to complete these steps.
Before you start
You need the following:
A Meta app with the WhatsApp use case and a connected business portfolio
During the app creation process you can create a business portfolio.
If you prefer to onboard with a Solution Partner, you will need to provide your partner’s app ID.
Go to the app dashboard
In the Meta App Dashboard go to Use cases > Customize (pencil icon) and click the Customize button for the WhatsApp use case, then select Tech Provider onboarding from the left-side menu.
On this page of the dashboard, you will find links to the WhatsApp Embedded Signup developer documentation, Developer Support, and Success Stories as well as steps to complete the Tech Provider onboarding process.
Step 1: Verify your business
To become a tech provider you need to verify your business with Meta. If you already have a verified business, and linked it to your app during the app creation process, this step will be marked as completed and you can start the app review process.
Click Start verification to verify your business. You’ll need the following information:
Verify business details – Provide your business name, address, phone number, email and website for verification.Confirm your connection – Select a way for us to get in touch to confirm your connection to the business.Upload documents – You might need to upload accepted documents to confirm these details if your business is not found.
Your business must be verified before you can start the app review process.
Step 2: App Review
Once you have completed business verification, you can submit your app for App Review. You’ll need to complete the following tasks:
Review your app settingsCreate and submit videos of your appSubmit documentation for App Review
Review your app settings
Your app will need basic settings such as an app icon, privacy policy, and app category.
Videos
To pass App Review, you need to submit video evidence of your capabilities to send messages and manage templates.
The first video must show a message created and sent from your app and received in the WhatsApp client (mobile app or web app).The second video must show your app being used to create a message template.
If you are partnering with a Solution Partner, you can use your current integration with them to demostrate these actions.
Submit documentation for App Review
Get approval to access advanced permissions and features so that your can manage your clients’ accounts and information.
App Review is the process that will grant you advanced access to the following permissions which are required to become a Tech Provider.
Advanced access to whatsapp_business_messaging will allow you to send messages for customers.Advanced access to whatsapp_business_management allows you to onboard customers and manage their assets.
Click the Begin App Review button to start your submission.
Onboard with an existing Solution Partner
If you prefer to onboard with a Solution Partner, click the Onboard with a Solution Partner button at the bottom of the page.
After clicking the Onboard with a Solution Partner button, the Tech Provider onboarding page will refresh to this flow. The flow is identical to the Tech Provider flow with the additional App Review step to Create a partner solution by entering your partner’s app ID to create a partner solution.
To onboard without a partner, you can do so by clicking the Onboard without a partner button at the bottom of the page.
Support
Confirmed Tech Providers have access to all support channels. See Support.
Next steps
Get started as a Solution Partner | Developer Documentation
Get started as a Solution Partner
Updated: Dec 12, 2025
This guide goes over the steps Solution Partners need to take in order to offer the Cloud API to their customers. There are 4 main stages:
Prepare & PlanSet up AssetsSign ContractsBuild Integration
After you're done, please keep up with monthly updates.
Prepare & plan
Read documentation
Before you start, we recommend reading through our developer documentation and our Postman collection?. This helps you understand how the Cloud API works, including how to get started and migrate numbers.
Plan onboarding & migration
We recommend that you use Embedded Signup to onboard new business customers to the Cloud API. If you haven't already, implement Embedded Signup. Embedded Signup is the fastest and easiest way to register business customers, enabling them to start sending messages in less than five minutes.
Set up assets
To use the Cloud API, Solution Partners need to have the following assets:
| Asset | Specific Instructions |
|---|---|
|
Business portfolio |
You can use an existing one, or set up a new one?. Save the business portfolio ID. |
|
WhatsApp Business Account (WABA) |
|
|
If you don't have an app, you need to create one with the Business type. Remember to add a display name and a contact email to your app.
As a (Solution Partner), your app must go through App Review and request Advanced Access to the following permissions: whatsapp_business_management - Used to manage phone numbers, message templates, registration, business profile under a WhatsApp Business Account. To get this permission, your app must go through App Review.whatsapp_business_messaging - Used to send/receive messages from WhatsApp users, upload/download media under a WhatsApp Business Account. To get this permission, your app must go through App Review.whatsapp_business_manage_events - Used to log events-such as purchases, add-to-cart actions, leads, and more under a WhatsApp Business Account. Only request this permission if you are using the Marketing Messages API for WhatsApp with Conversions API. To get this permission, your app must go through App Review.
As a Solution Partner, you can also feel free to use the same Meta app across different clients and WABAs. But be aware that each app can only have one webhook endpoint and each app needs to go through App Review. | |
|
System User |
See Add system users to your business portfolio? for help.
Currently, a Meta App with 1 admin system user1 employee system user
whatsapp_business_messaging, whatsapp_business_management, whatsapp_business_manage_events, and business_messaging permissions has access to up to:We recommend using the admin system user for your production deployment. See About business portfolio access? for more information. |
|
Business Phone Number |
This is the phone number the business will use to send messages. Phone numbers need to be verified through SMS/voice call.
For Solution Partners and Direct Developers: If you wish to use your own number, then you should add a phone number? in WhatsApp Manager and verify it with the verify endpoint via Graph API.
For business customers of Solution Partners: If you wish to use your own number, then you should add and verify their numbers using the Solution Partner's Embedded Signup flow.
There is no limit to the amount of business phone numbers that can be onboarded to the Cloud API. |
|
Consumer Phone Number |
This is a phone number that is currently using the consumer WhatsApp app. This number will be receiving the messages sent by your business phone number. |
Sign contracts
Accepting Terms of Service
In order to access the WhatsApp Business Messaging Cloud API you need to first accept the WhatsApp Business Platform Terms of Service on behalf of your business.
To do so, navigate to WhatsApp Manager? and accept the Terms of Service in the informational banner.
For any new Cloud API businesses, you will need to accept Terms of Service before you can start using Cloud API. Registration calls will fail until you accept the Terms of Service.
You as a developer need to accept the Terms of Service. If you are a Solution Partner, you do not need your customers to accept.
Build integration
Step 1: Get system user access token
Graph API calls use access tokens for authentication. For more information, see Access Tokens. We recommend using your system user to generate your token.
To generate a system user access token:
Go to Business portfolio? > Business Settings > Users > System Users to view the system user you created.
Click on that user and select Add Assets. This action launches a new window.
Under Select Asset Type on the left side pane, select Apps. Under Select Assets, choose the Meta app you want to use (your app must have the correct permissions). Enable Develop App for that app.
Select Save Changes to save your settings and return to the system user main screen.
Now you are ready to generate your token. In the system user main screen, click Generate Token and select your Meta app.
After selecting the app, you will see a list of available permissions. Select
whatsapp_business_management , whatsapp_business_messaging , and whatsapp_business_manage_events . Click Generate Token.A new window opens with your system user, assigned app and access token. Save your token.
Optionally, you can click on your token and see the Token Debugger. In your debugger, you should see the permissions you have selected. You can also directly paste your token into the Access Token Debugger.
Step 2: Set up webhooks
With Webhooks set up, you can receive real-time HTTP notifications from the WhatsApp Business Platform. This means you get notified when, for example, you get a message from a customer or there are changes to your WhatsApp Business Account (WABA).
To set up your webhook endpoint, you need to create an internet-facing web server with a URL that meets Meta's and WhatsApp's requirements. See our Webhooks document for more information. If you need an endpoint for testing purposes, you can deploy a test app that simply dumps webhook payloads to your console.
App setup
Once the endpoint is ready, configure it to be used by your Meta app:
In the App Dashboard, go to WhatsApp > Configuration, then click the Edit button.
Callback URL: This is the URL Meta will be sending the events to. See the Webhooks, Getting Started guide for information on creating the URL.Verify Token: This string is set up by you, when you create your webhook endpoint.
After adding the information, click Verify and Save.
After saving, back in the Configuration panel, click the Manage button and subscribe to individual webhook fields. To receive notifications of customer messages, be sure to subscribe to the messages webhook field.
You only need to set up Webhooks once for every application you have. You can use the same Webhook to receive multiple event types from multiple WhatsApp Business Accounts, or set up an override. For more information, see our Webhooks section.
Step 3: Subscribe to your WABA
To make sure you get notifications for the correct account, subscribe your app:
If you get the response below, all Webhook events for the phone numbers under this account will be sent to your configured Webhooks endpoint.
Step 6: Receive a message From consumer app
Once participating customers send a message to your business, you get 24 hours of free messages with them -that window of time is called the customer service window. For testing purposes, we want to enable this window, so you can send as many messages as you would like.
From a personal WhatsApp iOS/Android app, send a message to the phone number you just registered. Once the message is sent, you should receive an incoming message to your Webhook with a notification in the following format.
Keep up with monthly updates
We will release Cloud API updates on the first Tuesday of every month. Those will include new features and improvements. You don't need to do any work to use any of the new features, since the Cloud API updates automatically.
FAQs
General FAQs
Which company will be providing the Cloud API?
WhatsApp develops and operates the WhatsApp Business API, which enables businesses to communicate with WhatsApp consumer users on the WhatsApp network. When using the Cloud API, Meta will host the WhatsApp Business API for you and provide an endpoint for the WhatsApp service for your incoming and outgoing WhatsApp communications.
Are there any additional costs for the Cloud API?
Access to Cloud API is free, and we expect it to generate additional cost savings for developers, as Meta hosts and maintains the Cloud API.
Technical implementation FAQs
What is the architecture of the Cloud API?
The Cloud API architecture significantly simplifies the Solution Partner's operational and infrastructure requirements to integrate with WhatsApp Business Platform. First, it removes the infrastructure requirements to run Business API docker containers (CAPEX savings). Second, it obviates the need of operational responsibilities to manage the deployment (OPEX savings). 
What will disaster recovery look like: if a region is unavailable, how much time does it take to move messages to another region?
We will have disaster recovery and data replication across multiple regions. The expected downtime would be within our SLA and usually in the order of less than a minute to less than five minutes.
Data privacy & security FAQs
Where are the servers for Cloud API?
Cloud API processes messages on servers in Meta data centers?. If a business opts to use Cloud API Local Storage, message data is stored in data centers located in another designated country.
Is the Cloud API end-to-end encrypted? What is the encryption model?
What happens to message data at rest? How long is it stored?
Cloud API messages at rest are encrypted. Messages have a maximum retention period of 30 days in order to provide the base features and functionality of the Cloud API service; for example, retransmissions.
Does Meta have access to encryption keys?
In order to send and receive messages through Cloud API, Cloud API manages the encryption/decryption keys on behalf of the business. For more detail, see the WhatsApp Encryption Overview technical whitepaper?.
Regulatory compliance FAQs
How does Cloud API comply with regional data protection laws (such as GDPR, LGPD, and PDPB)?
Meta takes data protection and people's privacy very seriously and we comply with applicable legal, industry, and regulatory requirements governing data protection, as well as industry best practices. Cloud API customers must meet their own obligations under data protection laws, such as the General Data Protection Regulation (GDPR). Please visit our Meta Business Messaging Compliance Center? to learn more.
Measurement Partners | Developer Documentation
Measurement Partners
Updated: Dec 12, 2025
A Measurement Partner is a third-party company that helps businesses measure the effectiveness of their marketing campaigns on our platform.
Measurement Partners gain read-only access to WhatsApp Business Account (WABA) analytics data and webhooks. Specifically, they can view phone numbers, message templates, and incoming messages, and can access WABA analytics data.
For a business to share their analytics data with a Measurement Partner, they must already have a WABA. Measurement Partners cannot create WABAs or send messages on behalf of their clients.
Onboarding flow overview
Follow these steps to onboard as a Measurement Partner:
How to create Facebook Login button using the Measurement Partner ES template
Follow the steps below to create your Facebook Login button that will show the Measurement Partner ES flow to your customers.
Step 1: Load the Facebook JavaScript SDK
See Basic Setup for instructions on loading the basic version of the Facebook JavaScript SDK with the options set to their most common defaults.
The
fbAsyncInit function must be attached to the window object before the line of code loading the JavaScript SDK as the SDK calls this function to set up the Facebook Login information.This setup uses the following parameters:
appId - The Meta app IDcookie - Enables cookies to allow the server to access this sessionxfbml- Parses social plugins on the pageversion - The Graph API version to use
Step 2: Create Facebook Login for Business Configuration
Prerequisites
Process
Step 4: Create a login button
Create a button or link on your website to launch the Embedded Signup flow. Use the
onClick function to call the launchWhatsAppSignup() function set up in Step 3 above.Embed your new Facebook Login button
Copy the button code to the desired location on your site.
Testing the Embedded Signup flow for Measurement Partners
Upgrading to a Tech Partner | Developer Documentation
Upgrading to a Tech Partner
Updated: Nov 4, 2025
This document describes the requirements and steps you must to take to become a Tech Partner.
Product Journey
The product journey details the steps for Tech Providers to upgrade to become a Tech Partner on the Meta Developer Platform.
Becoming a Tech Partner allows you to have even more choices and control of WhatsApp messaging solutions. It also grants access to benefits such as:
Context
Definitions
During this upgrade process, there are a couple of surfaces and definitions that you will come across:
Eligibility Requirements
To be eligible for an upgrade, you must:
Getting Support
See Support.
Step 1: Access the Upgrade Flow
In the App Dashboard, navigate to WhatsApp > Quickstart, and in the Become a Partner section, click the Take the next step button.
Step 2: Initiate the Upgrade Process
On the Onboarding page, scroll to the bottom and click Become a Partner. This will reveal the 4 steps that are required to complete the upgrade to become a Tech Partner.
Keep in mind the following:
Step 3: Add the WhatsApp Specialty For Your Business
Return to the Onboarding page inside of Meta for Developers and navigate to the Meta Business Partners application step, then click the Apply now button to submit an application to become a Meta Business Partner and apply for the WhatsApp Specialty.
Step 4: Sign up for the Partner Portal
Navigate back to the Onboarding page in Meta for Developers and scroll down to the Sign up for the Partner Portal step. Click Sign up and on the Partner Portal login screen select the link to Sign up. Add your name and business ID and accept the agreement to create the account.
The Partner Portal is a resource to use as a partner to collaborate on deals with the Business Messaging team as well as access resources such as marketing and sales material.
Once you have created an account, you will receive an email with a link to get started and add your account password.
Step 5: Enroll in the Accelerate Program
The final step is to enroll in the Business Messaging Accelerate Program and accept the agreement. On the Onboarding page in Meta for Developers, scroll down to the last step to Enroll in the Accelerate Program and click the button to Complete enrollment.
Inside of the Partner Portal, look for the Business Messaging Accelerate card and click to view and sign. You will be able to download the agreements if needed.
When you return to the Onboarding page in Meta for Developers, if all steps are complete, you are officially a Tech Partner!
App Review | Developer Documentation
App Review
Updated: Nov 6, 2025
App Review is part of app development that enables us to verify that your app uses our Products and APIs in an approved manner. Meta needs to validate how you intend to use the requested permissions to make sure it is compliant with our requirements and policies.
Businesses first need to develop a prototype of their product so they can demonstrate their use case with a video recording for the App Review submission. To pass App Review, it is important that you ask for only the permissions your app needs; requesting unnecessary permissions is a common reason for rejection during app review.
The following video provides a brief overview of the App Review process:
Business apps are automatically approved for Standard Access for all Permissions and Features available to the Business app type, so you can test your app while you are in this access level. Make sure your test users have a
developer or admin role in the Meta app being used to implement embedded signup. This means that if you are using the API for yourself as a Direct Developer, you do not need advanced access or app review.If you are building an app that other businesses will be using, you must request advanced access for any permissions your app needs. You can request Advanced Access by submitting your app to App Review.
Permissions
Commonly requested permissions and what to include to get approval for Advanced Access:
| Permission | Description | What to include in your submission |
|---|---|---|
|
The whatsapp_business_management permission allows your app to read and/or manage WhatsApp business assets you own or have been granted access to by other businesses through this permission. These business assets include WhatsApp Business Accounts, business phone numbers, message templates, QR codes and their associated messages, and webhook subscriptions. |
Written: Explain how you will use this permission to access the business assets of business customers who you have onboarded onto the platform.
Video: Record a video of your app, or WhatsApp Manager, being used to create a message template. | |
|
The whatsapp_business_messaging permission allows an app to send WhatsApp messages and make calls to a specific phone number, upload and retrieve media from messages, manage and get WhatsApp business profile information, and to register those phone numbers with Meta. |
Written: Explain what messaging functionality your app offers to business customers who you have onboarded onto the platform, and how they perform those functions.
If you are partnering with a Solution Partner and plan to use their API, ask the Solution Partner to share a video with you that you can submit as part of your submission. | |
|
Only request this permission if you are using the Marketing Messages API for WhatsApp with Conversions API. |
The whatsapp_business_manage_events permission allows an app to log events, such as purchase, add-to-cart, leads and more, on behalf of a WhatsApp Business Account administered by an app user. The allowed usage for this permission is to log events on WhatsApp Business Accounts and send this activity data to Meta for ads targeting, optimization and reporting. |
This permission is automatically approved if you already have advanced access for whatsapp_business_messaging permission. |
The average turnaround time for app reviews is about 24 hours. We recommend starting the app review process as soon as possible. You don’t need to wait for Embedded Signup to be fully implemented to start this process.
Reducing chances of app review rejection
You must request Advanced access for the permissions above.
You can request these permissions in a single bulk submission, or as separate submissions. For each permission, an explanation and screen recording specific to the permission being requested is required.
As part of your submission, you must include separate screen recordings that show how your app uses each permission in your submission. The video can be a screen recording directly from your computer, or a recording using a digital camera or camera phone. You will need to attach this file to your App Review submission.
Do not submit a video that includes multiple permissions supporting different use cases. You must submit a different video clip for each permission. Your submission may be rejected if you highlight multiple permissions being used as part of the same video.
Both written descriptions and screen recordings are required for each permission. If you include a screen recording that shows how your app uses a permission, but fail to include a description of how it uses it, your submission will be rejected.
Submissions in draft mode will not be reviewed, so don’t forget to submit your App Review submission!
Partner-initiated WABA creation | Developer Documentation
Partner-initiated WABA creation
Updated: Nov 14, 2025
If you are a Solution Partner and you don’t want to onboard a business customer with Embedded Signup, you can use Meta Business Suite to initiate WABA creation for a business customer. This generates a WABA creation request which your business customer can review in Meta Business Suite. The customer can then accept the request (or decline it) and optionally add a business phone number.
If accepted, the WABA will be created and its ownership will be assigned to the customer. You will also be given access to the WABA based on the permissions you defined when you initiated the request. You can then use your system token to add a business phone number to the customer’s WABA (if they opted not to create one) and share your credit line with the customer, which completes the onboarding process.
Note that if you use this method to create a WABA for a business customer, and the customer accepts it, you must use your system token when accessing the WABA (a business token will not work), and you must use the API to share your credit line with the customer (it cannot be shared as part of the initiation or acceptance process).
Initiating WABA creation
Onboarding business customers
event property set to PARTNER_ADDED or PARTNER_APP_INSTALLED, or look for a developer notification or developer alert, indicating that the customer has accepted your request.If the customer accepted your request, navigate to the Settings (gear icon) > Accounts > WhatsApp accounts panel and confirm that you see the customer’s WABA in the list of WABAs.If the WABA doesn’t have a business phone number, click the three-dot menu to the far right of the WABA’s name, select Add phone number, and complete the flow. Alternatively, you can add a phone number programmatically using the API.Share your credit line with the customer.This completes the onboarding process. You can now use your system token to provide WhatsApp messaging services to the customer.
Business customer instructions
Once you have confirmed that the invitation has been sent, instruct the business customer to review and accept the request in the Meta Business Suite. Invitations that have not been accepted within 90 days will be canceled automatically.
You can send them the following instructions:
Adding phone numbers
Once the business customer has shared their WABA with you, you can register a business phone number for the customer in one of two ways:
Alternatively, you can instruct the customer to add a number on their own using the WhatsApp Manager.
Canceling invitations
To cancel an invitation that has not been accepted yet, navigate to the Settings (gear icon) > Requests panel and click the Sent tab. Locate the invitation and click its Cancel button.
Payment methods
Business customers cannot add their own payment method to a WABA created via the partner-initiated WABA creation process. You must use the API to share your credit line with any business customer who accepts your creation request.
Multi-Partner Solutions
If you are part of a Multi-Partner Solution (“MPS”), you can share a WABA created through the partner-initiated WABA creation process with other MPS participants after you have successfully onboarded the WABA.
To share the WABA with other MPS participants, you have two options:
WABA Sharing model
With the WABA Sharing model, a business customer creates and grants access to their WABA to a solution provider using Embedded Signup.
When a customer successfully completes a solution provider’s Embedded Signup flow, a WABA is created under the customer’s business portfolio (and is thus owned by the customer) and a webhook is triggered, notifying the partner. The partner can then use the contents of the webhook and the customer’s business token to onboard the customer and provide message services via the API.
Onboarding customers to the WABA Sharing model
To onboard a business customer to the WABA Sharing model, you must use Embedded Signup. See the Embedded Signup documentation to learn how to implement Embedded Signup, and how to onboard business customers as a Solution Provider.
On-Behalf-Of model
The On-Behalf-Of WABA ownership model has been deprecated and is no longer possible. See On-Behalf-Of account ownership model deprecation for details.
Multi-Partner Solutions | Developer Documentation
Multi-Partner Solutions
Updated: Feb 27, 2026
This document explains how to set up Multi-Partner Solutions (“solutions”) and how to use them with Embedded Signup.
Multi-Partner Solutions allow Solution Partners and Tech Providers to jointly manage customer WhatsApp assets in order to provide WhatsApp messaging services to their customers. For example, if you are a Tech Provider and are unable to offer custom or full WhatsApp messaging services to your customers, you can work with a Solution Partner to offer your customers the Solution Partner’s services.
Once created and accepted via API or App Dashboard, the solution’s ID can be used to customize the Embedded Signup flow. Any customers onboarded via the customized flow can grant asset access to all of the solution’s partners.
Note that solutions can also be set up via an embedded button that triggers an interface that gathers app information from Tech Providers. This flow and the API calls involved are described in the Multi-Partner Solution — Embedded Creation document, but the information below is still relevant and should be read first.
Requirements
You must be an approved Solution Partner, a Tech Provider who has completed the steps in our Get Started for Tech Providers document appropriate for your intended usage, or a Tech Provider who has been upgraded to a Tech Partner.
If your app will be calling our APIs to access onboarded customer data:
The app must be the same app whose token will be used in API requests.The app must have undergone App Review and been approved for the whatsapp_business_management and whatsapp_business_messaging permissions.The app must be subscribed to the account_updates webhooks field and be able to successfully digest webhooks for onboarded customers.
Creating Multi-Partner Solutions
Use the App Dashboard > WhatsApp > Partner Solutions panel to create, accept, and manage solutions.
Solutions can be created by either partner of the solution. Once created, a solution request is sent to the invited partner, who can then use the panel in their App Dashboard to accept or decline the request. Once accepted, either partner can use the solution ID to customize the Embedded Signup flow and onboard business customers.
Solution States
Solutions states are displayed in the Partner solutions panel. Solutions can have the following states:
| State | Description |
|---|---|
|
Active |
The solution has been accepted by the invited party and can be used to configure Embedded Signup for customer onboarding. |
|
Deactivated |
The solution has been deactivated.
Customers who attempt to access Embedded Signup configured for a solution in this state will see an error informing them that it cannot be used for onboarding at this time. |
|
Draft |
The solution has been initiated and saved, but you have not sent it to your partner.
Customers who attempt to access Embedded Signup configured for a solution in this state will see an error informing them that it cannot be used for onboarding at this time. |
|
Inactive |
The solution request was declined by your partner.
Customers who attempt to access Embedded Signup configured for a solution in this state will see an error informing them that it cannot be used for onboarding at this time. |
|
Pending |
Solution has not been accepted or declined by your partner.
Customers who attempt to access Embedded Signup configured for a solution in this state will see an error informing them that it cannot be used for onboarding at this time. |
|
Pending deactivation |
Your partner has requested to deactivate the solution. You can accept or decline this request. |
Onboarding Limits
Tech Providers who are part of a solution can onboard up to 200 total new customers in a rolling one week period. Only customers who are new to the WhatsApp Business Platform count against this limit.
Embedded Signup
Embedded Signup can be configured and hosted by either of the solution’s partners, or both partners. Once implemented, customers who access it will see a customized version of the Embedded Signup flow, which makes it clear that by completing the flow they are granting WhatsApp data access to both partners:
When a customer completes the flow, all of the customer’s WhatsApp assets that we need are automatically generated, and access to those assets is granted to both partners of the solution.
Billing
Customers onboarded via Embedded Signup configured with a solution ID share the credit line of the Solution Partner associated with the solution.
Step 1: Determine Solution Details
Contact your potential partner and work together to determine:
A solution name. The solution name will appear in the Partner Solutions panel in the App Dashboard for both you and your partner, so you should both agree on a name that can be distinguished from other solutions you may initiate or accept.Who will create and initiate the solution request. Either partner can do this. If you are initiating the request, you will need your partner’s app ID.Who will host Embedded Signup configured with the solution ID. Either or both partners can do this.Anything else, such as contracts, service level agreements, services provided, billing processes, etc. This is left to the discretion of you and your partner, subject to each of your separate agreements with Meta.
Step 2: Subscribe to Webhooks
Subscribe to the account_update and partner_solutions webhooks fields. These webhooks will inform you when new business customers are onboarded, and when partner solutions that you are associated with are created or edited.
See the Webhooks section below for example payloads and what to look for when you receive any of these webhooks.
Step 3: Create a Solution
If you are creating the solution, navigate to the App Dashboard > WhatsApp > Partner solutions panel and click the Create a partner solution button.
Use your partner’s app ID to complete the flow. As part of the creation flow you can designate which solution partner apps can be used by onboarded business customers to send messages (Only me, Only my partner).
Upon creation, an email and Meta Business Suite notification will be sent to your partner, and a partner_solutions webhook will be triggered.
The partner solution will appear in the Partner solutions panel with a Pending status until accepted by your partner. If accepted, its status will change to Active. If declined, its status will change to Inactive.
Step 5: Configure Embedded Signup
Assign the solution ID to the
solutionID property in the extras.setup object within the launch method and callback registration portion of the Embedded Signup code.// Launch method and callback registration
const launchWhatsAppSignup = () => {
FB.login(fbLoginCallback, {
config_id: '<CONFIGURATION_ID>', // your configuration ID goes here, ensure it is in quotes
response_type: 'code',
override_default_response_type: true,
extras: {
setup: {
solutionID: '<SOLUTION_ID>' // add solution ID here, ensure it is in quotes
},
featureType: '',
sessionInfoVersion: '3',
}
});
}Both you and your partner’s business portfolio (Business Settings > Business Info) will appear throughout the Embedded Signup flow.
Once configured, surface the customized Embedded SIgnup flow to customers on your platform wherever you feel it is appropriate. Note that if you have multiple active partner solutions, it is your responsibility to inject the correct solution ID into your Embedded Signup configuration and surface it to your intended customers, otherwise a customer could be onboarded using the wrong solution.
Step 6: Listen for Onboarded Business Customers
To listen for onboarded customers, your app must be subscribed to the account_update webhook field.
In addition, we will send an email to admins of the business portfolio that owns the app, and a Meta Business Suite notification to the business portfolio that owns the app.
If you are a Solution Partner, share your line of credit with any business customers newly onboarded via the partner solution.
Note: If you are a Solution Partner trying to add a user to a WhatsApp Business Account that is shared with you, you would need to account for the following scenarios:
If you are not granted the MESSAGING permission on the solution, then you need to decide which granular tasks you need when adding the user to the shared WhatsApp Business Account: DEVELOP, MANAGE_TEMPLATES, MANAGE_PHONE, VIEW_COST, MANAGE_EXTENSIONS, VIEW_PHONE_ASSETS, MANAGE_PHONE_ASSETS, VIEW_TEMPLATES, VIEW_INSIGHTS, MANAGE_USERS, and MANAGE_BILLING.In this scenario, also note that MANAGE_BILLING is needed for credit line sharing.MANAGE will only work if you are given Full access on the solution, i.e. including MESSAGING.
Editing or Deactivating Solutions
You can use the App Dashboard or API to edit or deactivate a solution.
When you request deactivation, the solution’s status will change to Pending deactivation and your partner will be notified by email and Meta Business Suite notification. In addition, a partner_solutions webhook will be triggered with
event set to SOLUTION_UPDATED and solution_status set to PENDING_DEACTIVATION. Your partner can then accept or reject your request.Note that partner solutions can still be used to onboard customers until your partner accepts the deactivation request.
If the deactivation request is rejected, the solution will remain in an Active state and can continue to be used to onboard customers.
If the deactivation request is accepted, the solution status will be set to Deactivated and can no longer be used to onboard business customers, so make sure that neither you nor your partner are surfacing it to business customers.
Limitations
Via App Dashboard
Use the App Dashboard > WhatsApp > Partner solutions panel to edit or deactivate a solution. Note that you can only edit solutions that were initiated by you.
| State | Permitted actions |
|---|---|
|
Active |
You may edit the solution name, or deactivate the solution. |
|
Deactivated |
Solutions in this state cannot be edited. |
|
Draft |
You may edit the solution name. |
|
Inactive |
You may edit the solution name. |
|
Pending |
Solutions in this state cannot be edited until accepted or declined by your partner. |
|
Pending deactivation |
You may accept or decline the partner’s deactivation request. |
Via API
Migrating business customer assets among solutions
You have several options for migrating business customer assets to and from Multi-Partner Solutions. See Migrating business customer assets.
Multi-Partner Solution — Embedded creation | Developer Documentation
Multi-Partner Solution - Embedded creation
Updated: Dec 12, 2025
Multi-Partner Solutions (MPS) allow Solution Partners and Tech Providers to jointly manage customer WhatsApp assets in order to provide WhatsApp messaging services to customers.
If you are a Solution Partner, instead of using the app dashboard to create an MPS, you can create one using a snippet of JavaScript and an HTML button which you can embed somewhere on your website. Tech Providers who want to partner with you can use the button to grant your app permission to manage solutions for one or more of their apps, which you can then do using a series of API requests.
Flow
Tech Providers who visit your website and click the embedded solution creation button will be asked to authenticate, and after doing so, will be presented with an interface that allows them to choose an existing app:
After choosing an app, they can review and confirm that they will be granting your app permission to manage their app's Multi-Partner Solutions.
Once the Tech Provider dismisses the interface, a user access token will be generated and returned to flow, where you can capture it. You can then use the token in a series of API calls to get Tech Provider's chosen app ID(s) and create and accept a solution.
Requirements
Embedded creation button
Step 1: Grant permission to app
Access the Meta Business Suite and use your system user to grant your app the manage_app_solution permission.
Use this token when accepting any Multi-Partner Solutions you create for your partners (see below).
Step 2: Add embedded button code
Add the following code to your website or portal, or wherever you plan on directing Tech Providers who will be working with you as part of an MPS. Be sure to replace
<SOLUTION_PARTNER_APP_ID> with your app ID.Direct prospective Tech Provider partners to this location and instruct them to complete the flow. Let them know that completing the flow does not create the solution (it requires some API calls on your part) and that you'll provide them with the solution ID once it has been created.
How to use Multi-Solution Conversations (MSC) | Developer Documentation
How to use Multi-Solution Conversations (MSC)
Updated: Feb 24, 2026
Overview
Multi-Solution Conversations allows businesses to use multiple partners and solutions on the same phone number, creating a seamless chat thread experience for their customers.
Requirements
Features
Limitations
Since this feature is still in beta, some functionality may not work as expected. See Beta Product Testing Terms.
How Multi-Solution Conversations work
The chart above illustrates a new WABA shared with each integrated partner, and assets separated per WABA.
Supported APIs and usage
Businesses can use a single phone number across one or multiple partners across the following APIs and uses:
Additional limitations
MSC does not currently support:
General limitations
Phone number sharing limitations
The business cannot share a phone number with the same partner more than once via different WABAs.
For example, the business has a phone number linked to WABA 1 and then shares WABA 1 with Partner 1. If you have the same phone number linked to WABA 2, you cannot also share WABA 2 with Partner 1. If you try to share the phone number, you may receive an error.
How messaging, calling, and account management works when using MSC
Use the following table to understand how different features and APIs work when using MSC as a partner or business.
Onboarding
Value: Use an existing phone number across multiple partners and solutions.
| Business Experience | Partner Experience |
|---|---|
The business onboards an existing phone with more than one partner via Embedded Signup. | Partners can see the new WABA shared with them within Meta Business Suite settings. |
Account management
Value: Account management as usual
Business Experience | Partner Experience |
|---|---|
You can perform account management operations via the usual pathways (WhatsApp Manager, API, and so on) based on permissions granted. | |
API usage
Value: Enable messaging and calling functions across multiple partners on a single phone number
| Feature | Business Experience | Partner Experience |
|---|---|---|
Not applicable | Send messages: All partners can send messages via API on the shared phone number(s). Receive messages: All partners will receive all incoming webhooks on the shared phone number(s). | |
Not applicable | Partners onboarded to the Calling API can make business-initiated calls, and receive user-initiated calls. | |
Not applicable | Partners can create templates as usual by using the new WABA, either through the API or WhatsApp Manager. | |
Conversation Routing and Management | Currently, all parties the phone number is shared with receive incoming webhooks. Businesses must work with partners to manage response handling. | Currently, all parties the phone number is shared with receive incoming webhooks. Businesses must work with partners to manage response handling. |
Billing
Value: Simplified, siloed billing ownership per WABA
| Business Experience | Partner Experience |
|---|---|
Businesses can add a payment method to any of the WABAs created and shared with partners. | Partners add their own payment methods to the WABA shared with them, the same as they do today. Each partner is billed only for the messages sent through their app. |
Asset management
Value: Simplified, siloed asset management per WABA
Feature | Business Experience | Partner Experience |
|---|---|---|
Templates | The business can create and see templates on all WABAs shared with partners. | Partners can only create templates on the WABAs that are shared with them. Partners are not able to see other Partners’ templates |
Phone numbers | Phone numbers are a shared resource. Whether the end business or partner adds the phone number, it will be visible to all in WhatsApp Manager. Any new phone numbers added to WABAs using MSC are shared with all partners with access to these MSC WABAs. | |
Offboarding
Value: The business has full control of what partners, assets, and accounts they retain.
Role/Asset | Business Experience | Partner Experience | Partner Experience |
|---|---|---|---|
WABA | The business can delete the WABA. | Partners cannot delete the WABA shared with them. | |
Phone number | Both the business and partner can delete a phone number. | ||
Partner | The business can remove the partner. | Not applicable. | |
How violations and bans work with MSC
Decision appeals continue to function as they do today.
Onboarding for MSC (Embedded Signup flow)
Only available to businesses with a messaging limit of at least 1,000 business-initiated conversations in a rolling 24 hour period.
Once a business meets the eligibility requirements, the MSC flow for Embedded Signup is automatically displayed in the Embedded Signup flow (v2 and above). Partners don’t need to configure anything in Embedded Signup for this to work.
When businesses sign up to a partner through Embedded Signup, they see the flow below and can choose to share their existing business phone numbers. This onboards them to MSC. Embedded Signup has two experiences, and a given business may see either one randomly. Both experiences are described below.
Once the business completes the Embedded Signup flow, the partner does not need to re-register with the business.
Embedded Signup flow for businesses (experience 1)
The Notes column calls out any MSC-specific notes for each screen.
| Screen | Notes |
|---|---|
No changes | |
No changes | |
Here, you can select a WhatsApp Business account that is already shared with other partner(s) | |
Select ‘Use a new or existing WhatsApp number’, then click on the dropdown ‘Add a new WhatsApp number’, then select existing WhatsApp Business Account you want to share with current partner | |
No changes | |
No changes |
Embedded Signup flow for businesses (experience 2)
Businesses onboard to MSC by using the Embedded Signup flow. Note that these screenshots may differ as the product evolves.
Step 1: Select the business portfolio.
Step 2: Select Share existing WhatsApp phone numbers.
Step 3: The business selects the WABA with the phone number(s) they would like to share. Note that these numbers are only selectable if they have not been shared already with this partner.
Step 4: Create a name for the new WhatsApp Business Account being created.
Step 5: Verify permission information.
Step 6: Verify signup information and finish.
Troubleshooting
The “Share existing WhatsApp phone numbers” option is greyed out
This can happen for several reasons:
What can I do if the business phone number goes offline?
Rarely, a phone number can go offline. To solve this issue, try the following:
Frequently asked questions
How do I get support?
For support concerning Multi-Solutions Conversations, choose the WABiz: Onboarding topic when opening a Direct Support ticket.
How can I offboard from MSC?
To offboard from MSC:
Is MSC supported for Tech Providers, Tech Partners, and Multi-Partner Solutions?
Yes.
Will a partner be able to see how many partners a client is using and the specific services/capabilities each partner provides?
No.
Does every partner need to register a given business phone number to onboard it to MSC?
No, only one partner needs to register it. Once the number has been registered, it is ready to be used with new partners without the need to re-register it.
What happens if a business tries to onboard without having previously registered their phone number(s)?
An error will be displayed in Embedded Signup, prompting the business to register their number(s).
If multiple partners respond to messages within the same conversation window, who will be charged?
Per-message pricing applies.
What happens if two partners send messages at the same time? Will I get billed twice?
Per-message pricing applies.
When will MSC become generally available?
Mid-2026.
Partner-led Business Verification | Developer Documentation
Partner-led Business Verification
Updated: Nov 14, 2025
This feature is currently only available to approved Select Solution and Premier Solution Partners. See our Sign up for partner-led business verification? Help Center article to learn how to request approval.
This document describes how to create business verification submissions for business customers who have been onboarded via Embedded Signup.
If you are an approved Solution Partner, you can gather required business verification documentation from your onboarded business customers and submit their business for verification on their behalf. Decisions on submissions created in this way can be made in minutes instead days.
Requirements
owner_business_info field on the customer's WABA ID, using their business token)
Limitations
You are limited to three submissions for a given business customer. If all three submissions are rejected, the customer must complete business verification on their own. If your submission is rejected three times, share the following Help Center article with the customer:
Support
If you need help with partner-led business verification, open a Direct Support ticket:
Go to Direct Support?.Click Ask a Question.Under Topic select WABiz: Onboarding.Click Request type and select Partner-led Business Verification for WhatsApp.
Supported Documents
See the following Help Center article for a list of business documents that we will accept:
Turnaround Time
The average turnaround time for a submission is 5 minutes, but can take several hours. If you do not receive a webhook notifying of the outcome of a submission after 24 hours, please open a Direct Support ticket.
Webhooks
Submission decisions are communicated via account_update webhook, so make sure your app is subscribed to the account_update webhook field, and your app is subscribed to webhooks on the business customer's WhatsApp Business Account.
Webhook parameters
| Placeholder | Description | Example value |
|---|---|---|
<CUSTOMER_BUSINESS_PORTFOLIO_ID> |
Business customer's business portfolio ID. |
2729063490586005 |
<REJECTION_REASONS> |
Description of rejection reasons. Note that this parameter will be present even if the submission was rejected, but its value will be set to
NONE.See the rejection_reasons field on the WhatsApp Business Partner Client Verification Submission node reference for a list of possible values and their descriptions. |
LEGAL_NAME_NOT_FOUND_IN_DOCUMENTS |
<STATUS> |
Business verification status. Values can be:
APPROVED - Indicates the customer's business has been verified.FAILED - Indicates we were unable to verify the customer's business based on the submitted business information. |
APPROVED |
<WABA> |
Business customer's WABA ID. |
486585971195941 |
<WEBHOOK_SENT_TIMESTAMP> |
Unix timestamp indicating when the webhook was sent. |
1730752761 |
Getting submission status
Request parameters
| Placeholder | Description | Example value |
|---|---|---|
<CUSTOMER_BUSINESS_PORTFOLIO_ID> |
Optional.
The customer's business portfolio ID.
Include this parameter if you only want to get data on submissions you have created for the business identified by the customer's business portfolio ID. |
2729063490586005 |
<SYSTEM_TOKEN> |
Required.
Your system user access token. |
EAAAN6tcBzAUBOZC82CW...DOMccqHEZD |
Response
Upon success, the endpoint returns an array of WhatsApp Business Partner Client Verification Submission nodes, with default fields on each node.
Response parameters
See the WhatsApp Business Partner Client Verification Submission node reference for descriptions of returned fields and parameter values.
Get business verification status
Request parameters
| Placeholder | Description | Example value |
|---|---|---|
<BUSINESS_PORTFOLIO_ID> |
Required.
The customer's business portfolio ID. |
2729063490586005 |
<BUSINESS_TOKEN> |
Required.
The customer's business token. |
EAAAN6tcBzAUBOwtDtTf...039ZAFlyNn |
Response parameters
| Placeholder | Description | Example value |
|---|---|---|
<BUSINESS_PORTFOLIO_ID> |
The business customer's business portfolio ID. |
2729063490586005 |
<VERIFICATION_STATUS> |
The business portfolio's verification status.
See the verification_status field on the Business node reference for a list of possible values. |
verified |
Tracking with the Meta Pixel | Developer Documentation
Tracking with the Meta Pixel
Updated: Nov 4, 2025
The Meta Pixel is a snippet of JavaScript code that allows you to track visitor activity on your website. It works by loading a small library of functions that you can use whenever a site visitor takes an action (i.e., an event) that you want to track; this is called a conversion.
Embedding the Meta Pixel is a feature that lets you know how many visitors to a given page have clicked on the embedded signup button. This can help you understand how many people considered WhatsApp and how many successfully converted.
Make sure the initial code setup triggers a
Pageview event with your Facebook app ID and the feature parameter.Managing WhatsApp Business Accounts | Developer Documentation
Managing WhatsApp Business Accounts
Updated: Feb 27, 2026
This document describes common endpoints used to manage business customer WhatsApp Business Accounts.
Permissions
A Solution Partner has the following permissions in a shared WABA:
On their side, the businesses onboarding via Embedded Signup can see and/or do:
| Category | What can businesses see? |
|---|---|
|
Insights |
Messaging, cost, and quality state changes. |
|
Quality |
Quality statuses and ratings. |
| Category | What can businesses do? |
|---|---|
|
Assets |
Add and manage phone numbers and templates. |
|
WABA management |
Unshare WABA with a Solution Partner, delete WABA, and change settings. |
|
Integration with other Meta products |
Integrate with Ads that Click to WhatsApp. |
Solution Partners cannot disable what businesses are able to see or do or customize their views.
Businesses can see Manage Your WhatsApp Solution Partner's Permissions? for more information.
Notifications
Solution Partners receive relevant notifications via webhooks and through Business Manager. Notifications are sent when:
If the business leaves the Embedded Signup flow before they have successfully completed it, they may have shared the WABA but the phone number's certificate may not ready, which means the number cannot be registered for API use. If this happens, please reach out to the business to help them complete the embedded signup flow.
See Also
Registering business phone numbers | Developer Documentation
Registering business phone numbers
Updated: Nov 14, 2025
This document describes the steps to programmatically register business phone numbers on WhatsApp Business Accounts (WABA).
Note that Embedded Signup performs steps 1-3 automatically (unless you are bypassing the phone number addition screen) so you only need to perform step 4 when a business customer completes the flow. If you have disabled phone number selection, however, you must perform all 4 steps.
Registering business phone numbers is a four step process:
Create the number on a WABA.Get a verification code for that number.Use the code to verify the number.Register the verified number for API use.
These steps are described below.
You can also perform all 4 steps repeatedly to register business phone numbers in bulk.
Limitations
Business phone numbers must meet our phone number requirements.
Step 2: Request a verification code
Send a POST request to the WhatsApp Business Phone Number > Request Code endpoint to have a verification code sent to the business phone number.
Query string parameters
| Placeholder | Description | Example Value |
|---|---|---|
<CODE_METHOD> |
Required.
Indicates how you want the verification code delivered to the business phone number. Values can be SMS or VOICE. |
SMS |
<LANGUAGE> |
Required.
Indicates language used in delivered verification code. |
en_US |
Response properties
| Placeholder | Description | Example Value |
|---|---|---|
<SUCCESS> |
Boolean indicating success or failure.
Upon success, the API will respond with true and a verification code will be sent to the business phone number using the method specified in your request. |
true |
Example SMS delivery
Example of an SMS message in English containing a verification code, delivered to a business phone number:
WhatsApp code 123-830
Step 3: Verify the number
Send a POST request to the WhatsApp Business Phone Number > Verify Code endpoint to verify the business phone number, using the verification code contained in the SMS or voice message delivered to the number.
Query string parameters
| Placeholder | Description | Example Value |
|---|---|---|
<CODE>String |
Required.
Verification code, without the hyphen. |
123830 |
Response properties
| Placeholder | Description | Example Value |
|---|---|---|
<SUCCESS> |
Boolean indicating success or failure.
Upon success, the API will respond with true, indicating that the business phone number has been verified. |
true |
Manage System Users | Developer Documentation
Manage System Users
Updated: Nov 14, 2025
Adding your System User to shared WhatsApp Business Accounts allows you to programmatically manage the accounts. On this guide, we go over actions BSPs may need to perform to manage their system users.
For help creating a system user, see System Users, Create, Retrieve and Update a System User.For help generating your system user access token, see System Users, Install Apps and Generate Tokens.
Add System Users to a WhatsApp Business Account
For this API call, you need to use the access token of a System User with admin permissions.
Permissions
| Name | Description |
|---|---|
MANAGE |
Provides admin access.
Users can have admin access on a WhatsApp Business Account that is shared with Admin permissions.
Note: If you are a Solution Partner trying to add a user to a WhatsApp Business Account that is shared with you via a Multi-Partner Solution, then you would need to account for the following scenarios: If you are not granted MESSAGING permission on the solution, then you need to decide which granular tasks you need when adding the user to the shared WhatsApp Business Account: DEVELOP, MANAGE_TEMPLATES, MANAGE_PHONE, VIEW_COST, MANAGE_EXTENSIONS, VIEW_PHONE_ASSETS, MANAGE_PHONE_ASSETS, VIEW_TEMPLATES, VIEW_INSIGHTS, MANAGE_USERS, MANAGE_BILLING.In such scenario, also note that MANAGE_BILLING is needed for sharing Line of Credit.MANAGE will only work if you are given full access on the solution i.e. including MESSAGING. |
DEVELOP |
Provides developer access. Users can have developer access on a WhatsApp Business Account that is shared with Standard permissions. |
See Also
On-Behalf-Of account ownership model deprecation | Developer Documentation
On-Behalf-Of account ownership model deprecation
Updated: Nov 14, 2025
We have deprecated the On-Behalf-Of (“OBO”) account ownership model and replaced it with partner-initiated WABA creation. All existing WABAs created under the OBO model should have been transferred to business customers by October 1, 2025. Post 1st October 2025, all the eligible OBO accounts will be auto-migrated in batches through the end of 2025.
Deprecation timeline
Payment methods
Partner-initiated WABA creation does not support automatic payment setup. Instead, you must share your credit line with the business customer via the API. See Partner-initiated WABA creation for details.
Multi-Partner Solutions
Business customers cannot be onboarded to a Multi-Partner Solution as part of the
partner-initiated WABA creation process, but can be added to an MPS afterwards. See Partner-initiated WABA creation for details.
Marketing Messages API for WhatsApp
Existing OBO model WABAs need to be transferred to business customers if you want to use them with the Marketing Messages API for WhatsApp, but this can be done as part of the Marketing Messages API for WhatsApp onboarding process.
Migrate an existing WhatsApp Number to a Business Account | Developer Documentation
Migrate an existing WhatsApp Number to a Business Account
Updated: Oct 31, 2025
To use an existing WhatsApp Messenger phone number with Cloud API, you must first delete your WhatsApp Messenger account.
To use an existing WhatsApp Business app phone number with Cloud API, you must either delete your account, or onboard to the platform using a solution provider who supports business app number onboarding. Remember to back up your chat history from the WhatsApp Business App. These are guides on how to do so for Android or iOS.
Note that if you delete your WhatsApp Business app phone number and then register it for use with Cloud API using the steps below, your existing messaging history will be lost, and you will be unable to use that number with the WhatsApp Business app again, unless you deregister the number from Cloud API. If you onboard via a solution provider who supports business app number onboarding, you will be able to use both the WhatsApp Business app and the solution partner’s app concurrently, and your messaging history will be preserved.
Deleting a WhatsApp Messenger or WhatsApp Business app account
Open WhatsApp Messenger or WhatsApp Business app on your Android or iPhone
Navigate to Settings > Account
Select Delete my account. Messages sent to this phone number will be queued in the meantime
Follow the steps to delete the WhatsApp account for that phone number. It may take up to 3 minutes for the disconnected number to become available
Account Settings
Delete My Account
Deletion Steps
Once the number is available, follow the instructions to Add a Phone Number.
Business customer phone numbers | Developer Documentation
Business customer phone numbers
Updated: Feb 27, 2026
This document describes business customer phone numbers, their requirements, and endpoints commonly used to manage business phone numbers.
Basics
Your business customers need a dedicated number to use WhatsApp. Phone numbers already in use with the WhatsApp app are not supported, but numbers in use with the WhatsApp Business app can be registered.
Business customers can have multiple phone numbers associated with their Meta Business Account?, so they can add another number for API use if they wish.
When completing the Embedded Signup flow, your business customers should use a phone number and display name that they want to have appear in the WhatsApp app. We strongly discourage signing up with a test or personal number, or test display name, as are difficult to change.
Instructions for business customers
This section is directed towards customers of Embedded Signup and provides guidance about actions they may perform relating to phone numbers.
Add Phone Numbers to a WhatsApp Business Account
There are two methods to add additional numbers to a WhatsApp Business Account (WABA):
Learn More
Managing credit lines | Developer Documentation
Managing credit lines
Updated: Dec 12, 2025
This document describes how Solution Partners can share and revoke lines of credit with onboarded business customers.
Billing Liability Disclosure
Business customers that you onboard through Embedded Signup must be granted access to your line of credit with Meta to pay for WhatsApp Business Platform access. This means that businesses pay you, and you receive an aggregated invoice to pay Meta.
You are the “Bill To Party” for all businesses sharing your credit line. You are liable for and will pay Meta for all WhatsApp Business Platform spend made by these businesses.
You can grant access to your line of credit using the APIs described in this document. You can revoke access to your line of credit for individual businesses within the Meta Business Suite or with a series of API calls.
Authentication and authorization
Nearly all credit line related endpoints require your system user access token. In addition, the system user who the token represents must have granted your app the business_management permission, and must have been granted an Admin or Financial Editor role on your business portfolio.
Sharing your credit line
We are currently testing new steps for sharing your credit line with onboarded business customers. These steps will eventually replace this step, so if you wish to implement these steps now, refer to the Alternate method for sharing your credit line below.
Request parameters
| Placeholder | Description | Example value |
|---|---|---|
<CUSTOMER_BUSINESS_CURRENCY> |
Required.
The business’s currency, as a three-letter currency code. Support values are: AUDEURGBPIDRINRUSD
This currency is used for invoicing and corresponds to pricing rates. |
USD |
<CUSTOMER_WABA_ID> |
Required.
The customer’s WABA ID. |
102290129340398 |
<EXTENDED_CREDIT_LINE_ID> |
Required.
Your extended credit line ID. |
1972385232742146 |
<SYSTEM_TOKEN> |
Required.
Your system token. |
EAAAN6tcBzAUBOZC82CW...DOMccqHEZD |
Response parameters
| Placeholder | Description | Example value |
|---|---|---|
<ALLOCATION_CONFIGURATION_ID> |
The extended credit line’s allocation configuration ID.
Save this ID if you want to verify that your credit line has been shared with the customer. |
58501441721238 |
<CUSTOMER_WABA_ID> |
The customer’s WABA ID. |
102290129340398 |
Troubleshooting
If a business customer unshares their WABA with you, or removes you as a partner from their WhatsApp Business Account, you will not be able to get their business portfolio ID via API.
Instead, you can get their portfolio ID from the email notification that was sent to admins of the business portfolio, when the business customer removed you as a partner, or unshared their WABA.
When WABA is unshared with you, all messaging for that WABA is blocked to protect your credit line. For complete security, we recommend that you revoke your credit line from the business customer’s WABA as soon as it has been unshared with you.
See Also
Managing Webhooks | Developer Documentation
Managing Webhooks
Updated: Dec 12, 2025
WhatsApp Business Accounts (WABAs) and their assets are objects in the Facebook Social Graph. When a trigger event occurs to one of those objects, Facebook sees it and sends a notification to the webhook URL specified in your Facebook App’s dashboard.
In the context of embedded signup, you can use webhooks to get notifications of changes to your WABAs, phone numbers, message templates, and messages sent to your phone numbers.
You must individually subscribe to every WABA for which you wish to receive webhooks. After fetching the client’s WABA ID, subscribe your app to the ID in order to start receiving webhooks.
See Webhooks for more information about webhooks and fields.
Subscribe to webhooks on a business customer WABA
Response
Upon success:
Repeat this process for any other WABAs for which you wish you receive webhooks notifications. Note that if you subscribe your app to webhooks for multiple WABAs, all webhooks notifications will be sent to the app’s callback URL specified in the Webhooks product panel of the App Dashboard, unless you override webhooks.
Get all subscriptions on a WABA
To get a list of apps subscribed to webhooks for a WABA, send a GET request to the
subscribed_apps endpoint on the WABA:Unsubscribe from a WABA
To unsubscribe your app from webhooks for a WhatsApp Business Account, send a DELETE request to the
subscribed_apps endpoint on the WABA.Overriding the callback URL
See Webhooks Overrides.
Set up notifications
You can set up webhooks to send you notifications of changes to your subscribed WhatsApp Business Accounts. The types of notifications you can subscribe to are:
Available subscription fields
| Field name | Description |
|---|---|
|
The account_alerts webhook notifies you of changes to a business phone number’s messaging limit, business profile, and Official Business Account status. | |
|
The account_review_update webhook notifies you when a WhatsApp Business Account has been reviewed against our policy guidelines. | |
|
The account_update webhook notifies of changes to a WhatsApp Business Account’s partner-led business verification submission, its authentication-international rate eligibility, or primary business location, when it is shared with a Solution Partner, policy or terms violations, offboarding, reconnection, or when it is deleted. | |
|
The automatic_events webhook notifies you when we detect a purchase or lead event in a chat thread between you and a WhatsApp user who has messaged you via your Click to WhatsApp ad, if you have opted-in to Automatic Events reporting. | |
|
The business_capability_update webhook notifies you of WhatsApp Business Account or business portfolio capability changes (messaging limits, phone number limits, etc.). | |
|
The history webhook is used to synchronize the WhatsApp Business app chat history of a business customer onboarded by a solution provider. | |
|
The message_template_components_update webhook notifies you of changes to a template’s components. | |
|
The message_template_quality_update webhook notifies you of changes to a template’s quality score. | |
|
The message_template_status_update webhook notifies you of changes to the status of an existing template. | |
|
The messages webhook describes messages sent from a WhatsApp user to a business and the status of messages sent by a business to a WhatsApp user. | |
|
The partner_solutions webhook describes changes to the status of a Multi-Partner Solution. | |
|
The payment_configuration_update webhook notifies you of changes to payment configurations for Payments API India and Payments API Brazil. | |
|
The phone_number_name_update webhook notifies you of business phone number display name verification outcomes. | |
|
The phone_number_quality_update webhook notifies you of changes to a business phone number’s throughput level. | |
|
The security webhook notifies you of changes to a business phone number’s security settings. | |
|
The smb_app_state_sync webhook is used for synchronizing contacts of WhatsApp Business app users who have been onboarded via a solution provider. | |
|
The smb_message_echoes webhook notifies you of messages sent via the WhatsApp Business app or a companion (“linked”) device by a business customer who has been onboarded to Cloud API via a solution provider. | |
|
The template_category_update webhook notifies you of changes to template’s category. | |
|
The user_preferences webhook notifies you of changes to a WhatsApp user’s marketing message preferences. |