
| 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. |



event set to SOLUTION_CREATED and solution_status set to INITIATED. Capture the included solution ID (solution_id) if you will be accepting/rejecting and managing the solution via API.

nameowner_permissionspartners{partner_permissions,partner_app}curl -g 'https://graph.facebook.com/v25.0/795033096057724&fields=name,owner_permissions,partners{partner_permissions,partner_app}' \
-H 'Authorization: Bearer EAAAT...'
{ "name": "Social OVD with Lucky Shrub", "owner_permissions": [ "MANAGE", "DEVELOP", "MANAGE_TEMPLATES", "MANAGE_PHONE", "VIEW_COST", "MANAGE_EXTENSIONS", "VIEW_PHONE_ASSETS", "MANAGE_PHONE_ASSETS", "VIEW_TEMPLATES", "VIEW_INSIGHTS" ], "partners": { "data": [ { "partner_permissions": [ "MANAGE", "DEVELOP", "MANAGE_TEMPLATES", "MANAGE_PHONE", "VIEW_COST", "MANAGE_EXTENSIONS", "VIEW_PHONE_ASSETS", "MANAGE_PHONE_ASSETS", "VIEW_TEMPLATES", "VIEW_INSIGHTS" ], "partner_app": { "link": "https://www.facebook.com/games/?app_id=21202248997039", "name": "Lucky Shrub", "id": "21202248997039" }, "id": "795033099391057" } ], "paging": { "cursors": { "before": "QVFIUl9hX0RqLUZAPemJQVWdsYTl5WlBsY0lCb0FNTExOY2N2NzJtRENZAbDd3azBNXzhPZAndqaU5sSXdfWWJaSXJ1S2pqMi0tQUdUdm1LTGZATUDNIdGRNNE1B", "after": "QVFIUl9hX0RqLUZAPemJQVWdsYTl5WlBsY0lCb0FNTExOY2N2NzJtRENZAbDd3azBNXzhPZAndqaU5sSXdfWWJaSXJ1S2pqMi0tQUdUdm1LTGZATUDNIdGRNNE1B" } } }, "id": "795033096057724" }
name — the name of the solution, as it appears in the App Dashboard.owner_permissions — the permissions your partner’s app will be granted by business customers who onboard via Embedded Signup.partner_permissions — the permissions your app will be granted by business customers who onboard via Embedded Signup.partner_app — the app (your app) that will be granted the permissions identified in partner_permissions.curl -X POST 'https://graph.facebook.com/v25.0/795033096057724/accept' \
-H 'Authorization: Bearer EAAAT...'
curl -X POST 'https://graph.facebook.com/v25.0/795033096057724/reject' \
-H 'Authorization: Bearer EAAAT...'
{ "success": true }
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', } }); }

PARTNER_ADDED or PARTNER_APP_INSTALLED event. Capture the waba_id, solution_id, and owner_business_id property values contained in the webhook payload, as well as any other values you may need in order to provide the customer with WhatsApp messaging services.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.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.event property set to PARTNER_ADDED.{ "entry": [ { "id": "<BUSINESS_PORTFOLIO_ID>", "time": <TIMESTAMP>, "changes": [ { "value": { "event": "<EVENT>", "waba_info": { "waba_id": "<BUSINESS_CUSTOMER_WABA_ID>", "owner_business_id": "<BUSINESS_CUSTOMER_BUSINESS_PORTFOLIO_ID>", "solution_id": "<SOLUTION_ID>", "solution_partner_business_ids": [<SOLUTION_BUSINESS_PORTFOLIO_IDS>] } }, "field": "account_update" } ] } ], "object": "whatsapp_business_account" }
| Placeholder | Description | Example |
|---|---|---|
<BUSINESS_PORTFOLIO_ID> | Your business portfolio ID. | 506914307656634 |
<BUSINESS_CUSTOMER_BUSINESS_PORTFOLIO_ID> | Onboarded customer’s business portfolio ID. | 6143763655652543 |
<BUSINESS_CUSTOMER_WABA_ID> | Onboarded customer’s WhatsApp Business Account ID. | 102290129340398 |
<EVENT> | If set to PARTNER_ADDED, indicates that the business customer has successfully completed the Embedded Signup flow. | PARTNER_ADDED |
<SOLUTION_BUSINESS_PORTFOLIO_IDS> | Strings of business portfolio IDs of the Tech Provider (or Tech Partner) and Solution Partner associated with the solution. | "506914307656634","116133292427920" |
<SOLUTION_ID> | Solution ID. | 303610109049230 |
<TIMESTAMP> | UNIX timestamp indicating when the customer successfully completed the Embedded Signup flow. | 1690592557 |
{ "entry": [ { "id": "<BUSINESS_PORTFOLIO_ID>", "time": <TIMESTAMP>, "changes": [ { "value": { "event": "SOLUTION_CREATED", "solution_id": "<SOLUTION_ID>", "solution_status": "INITIATED" }, "field": "partner_solutions" } ] } ], "object": "whatsapp_business_account" }
| Placeholder | Description | Example |
|---|---|---|
<BUSINESS_PORTFOLIO_ID> | Your business portfolio ID. | 506914307656634 |
<EVENT> | Event description. Values can be:
| SOLUTION_CREATED |
<SOLUTION_ID> | Solution ID. | 774485461512159 |
<SOLUTION_STATUS> | Solution status. Values can be:
| INITIATED |
<TIMESTAMP> | UNIX timestamp indicating when the customer successfully completed the Embedded Signup flow. | 1718143652 |
event set to SOLUTION_UPDATED and solution_status set to PENDING_DEACTIVATION. Your partner can then accept or reject your request.| 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. |
curl -X POST 'https://graph.facebook.com/v20.0/795033096057724/send_deactivation_request \ -H 'Authorization: Bearer EAAAT...'
{ "success": true }
curl -X POST 'https://graph.facebook.com/v20.0/795033096057724/accept_deactivation_request \ -H 'Authorization: Bearer EAAAT...'
{ "success": true }
curl -X POST 'https://graph.facebook.com/v20.0/795033096057724/reject_deactivation_request \ -H 'Authorization: Bearer EAAAT...'
{ "success": true }
GET /<BUSINESS_PORTFOLIO_ID>/client_whatsapp_business_accounts
?filtering=[
{
"field":"partners",
"operator":"ALL",
"value":[
"<PARTNER_BUSINESS_PORTFOLIO_ID>"
]
}
]
<PARTNER_BUSINESS_PORTFOLIO_ID> with your partner’s business portfolio ID.{ "data": [ { "id": "<CUSTOMER_WABA_ID>", "name": "<CUSTOMER_WABA_NAME>", "timezone_id": "<CUSTOMER_WABA_TIMEZONE_ID>", "business_type": "ent", "message_template_namespace": "<MESSAGE_TEMPLATE_NAMESPACE>" } ... ], "paging": { "cursors": { "before": "<BEFORE>", "after": "<AFTER>" }, "next": "<NEXT>" } }
| Placeholder | Description | Example Value |
|---|---|---|
<CUSTOMER_WABA_ID> | Customer WhatsApp Business Account ID. | 102290129340398 |
<CUSTOMER_WABA_NAME> | Customer WhatsApp Business Account name. | Cool New Customer 2 |
<CUSTOMER_WABA_TIMEZONE_ID> | Customer WhatsApp Business Account timezone ID. | 7 |
<BEFORE> | Paginated results cursor. See Paginated Results. | QVFIU... |
<AFTER> | Paginated results cursor. See Paginated Results. | QVFIU... |
<NEXT> | Paginated results link. See Paginated Results. | https://graph.facebook.com/v18.0/50691... |
curl -g 'https://graph.facebook.com/v25.0/506914307656634/client_whatsapp_business_accounts?filtering=[{%22field%22%3A%22partners%22%2C%20%22operator%22%3A%20%22ALL%22%2C%20%22value%22%3A%20[%22520744086200222%22]}]' \
-H 'Authorization: Bearer EAAJB...'
{
"data": [
{
"id": "102290129340398",
"name": "Cool New Customer 2",
"timezone_id": "7",
"business_type": "ent",
"message_template_namespace": "<MESSAGE_TEMPLATE_NAMESPACE>"
},
{
"id": "112077945305052",
"name": "Cool New Customer 1",
"timezone_id": "7",
"business_type": "ent",
"message_template_namespace": "<MESSAGE_TEMPLATE_NAMESPACE>"
}
...
],
"paging": {
"cursors": {
"before": "QVFIU...",
"after": "QVFIU..."
},
"next": "https://graph.facebook.com/v25.0/50691..."
}
}
fields query string parameter to request specific fields.curl 'https://graph.facebook.com/v25.0/17602267745700?fields=name,status,partners' \
-H 'Authorization: Bearer EAAAT...'
{ "name": "Social OVD with Lucky Shrub", "status": "ACTIVE", "partners": { "data": [ { "partner_app": { "link": "https://www.socialoverdrive.com/", "name": "Social Overdrive", "id": "637576208107267" }, "status": "ACCEPTED", "id": "17602267745704" } ], "paging": { "cursors": { "before": "QVFIUmxnSE9LUFliNzlUTWdhTlYzQjBtekprSC0wQUdoZAGRYbFlzeUpDMG9yNkF1OHYyel9tcUlBbGhFckxJQ1Y3UFZA4dUkycEk0WDJwRGYzT2JYbVhEdFdB", "after": "QVFIUmxnSE9LUFliNzlUTWdhTlYzQjBtekprSC0wQUdoZAGRYbFlzeUpDMG9yNkF1OHYyel9tcUlBbGhFckxJQ1Y3UFZA4dUkycEk0WDJwRGYzT2JYbVhEdFdB" } } }, "id": "17602267745700" }
curl 'https://graph.facebook.com/v25.0/21202248997039/whatsapp_business_solutions' \
-H 'Authorization: Bearer EAAAT...'
{ "data": [ { "name": "Social OVD with Lucky Shrub", "status": "INITIATED", "status_for_pending_request": "PENDING_ACTIVATION", "id": "19702253086782" }, { "name": "Social OVD with Social Brew", "status": "ACTIVE", "status_for_pending_request": "NONE", "id": "17602267745700" } ], "paging": { "cursors": { "before": "QVFIUkxlbkhTZA1VleGwyWHd3SmlSMnlnelhlbUVSSjVYQmU2aXVmb1YyWk9JTkx3b2gwNE9FS3J2ejMzNENxbmh1bWZAqSkZAJUzNfbmF4NmtPaFYxQldaaXR3", "after": "QVFIUlgyLTlQYWV0eTNGWXVhcTJnOEhzY1lvUDloVV8wUUxVQk9YMVJ5UGlBZAmx1Q1BjaEVwd0tWdmNvRU9jdGRiNnlrc193alRNaDV2SXZAfN1kybDBibEFR" } } }
curl 'https://graph.facebook.com/v25.0/102290129340398/solutions' \
-H 'Authorization: Bearer EAAAT...'
{ "data": [ { "name": "Social OVD with Social Brew", "status": "ACTIVE", "status_for_pending_request": "NONE", "id": "17602267745700" } ], "paging": { "cursors": { "before": "QVFIUjZACTFNmWURVTHN2NFVaM2ZApd2RaOGIxOU5wenpQZADFkbVdtSEJDSGFDelhDOU5hT28xcmJLS05TM3U0UUFmdVNGUWFfdjdJb1o2OTVNY083ZAHYtc2x3", "after": "QVFIUjZACTFNmWURVTHN2NFVaM2ZApd2RaOGIxOU5wenpQZADFkbVdtSEJDSGFDelhDOU5hT28xcmJLS05TM3U0UUFmdVNGUWFfdjdJb1o2OTVNY083ZAHYtc2x3" } } }
curl 'https://graph.facebook.com/v25.0/17602267745700/partners' \
-H 'Authorization: Bearer EAAAT...'
{ "data": [ { "partner_app": { "link": "https://www.socialoverdrive.com", "name": "Social Overdrive", "id": "637576208107267" }, "status": "ACCEPTED", "id": "17602267745704" } ], "paging": { "cursors": { "before": "QVFIUmxnSE9LUFliNzlUTWdhTlYzQjBtekprSC0wQUdoZAGRYbFlzeUpDMG9yNkF1OHYyel9tcUlBbGhFckxJQ1Y3UFZA4dUkycEk0WDJwRGYzT2JYbVhEdFdB", "after": "QVFIUmxnSE9LUFliNzlUTWdhTlYzQjBtekprSC0wQUdoZAGRYbFlzeUpDMG9yNkF1OHYyel9tcUlBbGhFckxJQ1Y3UFZA4dUkycEk0WDJwRGYzT2JYbVhEdFdB" } } }
business_id parameter to get an onboarded business customer’s business token.curl 'https://graph.facebook.com/<API_VERSION>/<SOLUTION_ID>/access_token?business_id=<CUSTOMER_BUSINESS_PORTFOLIO_ID>' \ -H 'Authorization: Bearer <SYSTEM_TOKEN>'
| Placeholder | Description | Example Value |
|---|---|---|
<API_VERSION>String | Optional. Graph API version. | v25.0 |
<CUSTOMER_BUSINESS_PORTFOLIO_ID> | Required. The onboarded business customer’s business portfolio ID. This is included in account_update webhooks when the business customer completes Embedded Signup. | 2729063490586005 |
<SOLUTION_ID> | Required. Your Multi-Partner Solution ID. | 303610109049230 |
<SYSTEM_TOKEN> | Required. Your system user access token. | EAAAN6tcBzAUBOZC82CW7iR2LiaZBwUHS4Y7FDtQxRUPy1PHZClDGZBZCgWdrTisgMjpFKiZAi1FBBQNO2IqZBAzdZAA16lmUs0XgRcCf6z1LLxQCgLXDEpg80d41UZBt1FKJZCqJFcTYXJvSMeHLvOdZwFyZBrV9ZPHZASSqxDZBUZASyFdzjiy2A1sippEsF4DVV5W2IlkOSr2LrMLuYoNMYBy8xQczzOKDOMccqHEZD |
{ "data": [ { "access_token": "<CUSTOMER_BUSINESS_TOKEN>" } ] }