whatsapp_business_management permission to access WABAs not owned by your business. If your app lacks Advanced access for this permission, these calls return error code 200. See App Review to request Advanced access.accessToken with the Debug Token endpoint. Include your System User access token in a request header prepended with Authorization: Bearer for this API call.GET https://graph.facebook.com/<API_VERSION>/debug_token
?input_token=<TOKEN_RETURNED_FROM_SIGNUP_FLOW>
curl \
'https://graph.facebook.com/v25.0/debug_token?input_token=EAAFl...' \
-H 'Authorization: Bearer EAAJi...'
{ "data" : { "app_id" : "670843887433847", "application" : "JaspersMarket", "data_access_expires_at" : 1672092840, "expires_at" : 1665090000, "granular_scopes" : [ { "scope" : "whatsapp_business_management", "target_ids" : [ "102289599326934", // ID of newest WABA to grant app whatsapp_business_management "101569239400667" ] }, { "scope" : "whatsapp_business_messaging", "target_ids" : [ "102289599326934", "101569239400667" ] } ], "is_valid" : true, "scopes" : [ "whatsapp_business_management", "whatsapp_business_messaging", "public_profile" ], "type" : "USER", "user_id" : "10222270944537964" } }
granular_scopes array identifies the IDs of every WABA that has granted your app a given permission (scope). IDs for the most recently onboarded WABAs appear first, so capture the first ID in the target_ids array for the whatsapp_business_management scope.GET https://graph.facebook.com/<API_VERSION>/<BUSINESS_PORTFOLIO_ID>/client_whatsapp_business_accounts
curl \
'https://graph.facebook.com/v25.0/805021500648488/client_whatsapp_business_accounts/' \
-H 'Authorization: Bearer EAAJi...'
{ "data": [ { "id": "1906385232743451", "name": "My WhatsApp Business Account", "currency": "USD", "timezone_id": "1", "message_template_namespace": "abcdefghijk_12lmnop" }, { "id": "1972385232742141", "name": "My Regional Account", "currency": "INR", "timezone_id": "5", "message_template_namespace": "12abcdefghijk_34lmnop" } ], "paging": { "cursors": { "before": "abcdefghij", "after": "klmnopqr" } } }
| 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. |
GET https://graph.facebook.com/<API_VERSION>/<BUSINESS_PORTFOLIO_ID>/owned_whatsapp_business_accounts
curl \
'https://graph.facebook.com/v25.0/805021500648488/owned_whatsapp_business_accounts/' \
-H 'Authorization: Bearer EAAJi...'
{ "data": [ { "id": "1906385232743451", "name": "My WhatsApp Business Account", "currency": "USD", "timezone_id": "1", "message_template_namespace": "abcdefghijk_12lmnop" }, { "id": "1972385232742141", "name": "My Regional Account", "currency": "INR", "timezone_id": "5", "message_template_namespace": "12abcdefghijk_34lmnop" } ], "paging": { "cursors": { "before": "abcdefghij", "after": "klmnopqr" } } }
GET https://graph.facebook.com/<API_VERSION>/<BUSINESS_PORTFOLIO_ID>/owned_whatsapp_business_accounts
?filtering=<FILTERING>
filtering value can be an array containing a single object comprised of the following properties:| Name | Description |
|---|---|
field | Contains the field being used for filtering. Set to creation_time. |
operator | Contains how you want to filter the accounts. Supported values:
|
value | A UNIX timestamp to be used in the filtering. |
[ { "field" : "creation_time", "operator" : "GREATER_THAN", "value" : "1604962813" } ]
curl \
'https://graph.facebook.com/v25.0/805021500648488/owned_whatsapp_business_accounts?filtering=%5B%7B%22field%22%3A%22creation_time%22%2C%22operator%22%3A%22GREATER_THAN%22%2C%22value%22%3A%221604962813%22%7D%5D' \
-H 'Authorization: Bearer EAAJi...'
{
"data": [
{
"id": "12312321312",
"name": "test",
"currency": "USD",
"timezone_id": "1",
"message_template_namespace": "46fe_814"
}
],
"paging": {
"cursors": {
"before": "QVFIUm9",
"after": "QVFIUklX"
},
"next": "https://graph.facebook.com/v25.0/"
}
}
GET https://graph.facebook.com/<API_VERSION>/<BUSINESS_PORTFOLIO_ID>/owned_whatsapp_business_accounts
?sort=<SORT>
sort value can be creation_time_ascending or creation_time_descending.curl \
'https://graph.facebook.com/v25.0/805021500648488/owned_whatsapp_business_accounts?sort=creation_time_ascending' \
-H 'Authorization: Bearer EAAJi...'
{ "data": [ { "id": "1906385232743451", "name": "My WhatsApp Business Account", "currency": "USD", "timezone_id": "1", "message_template_namespace": "abcdefghijk_12lmnop" }, { "id": "1972385232742141", "name": "My Regional Account", "currency": "INR", "timezone_id": "5", "message_template_namespace": "12abcdefghijk_34lmnop" } ], "paging": { "cursors": { "before": "abcdefghij", "after": "klmnopqr" } } }
account_review_status field.GET https://graph.facebook.com/<API_VERSION>/<WABA_ID>
?fields=account_review_status
curl \
'https://graph.facebook.com/v25.0/106526625562206?fields=account_review_status' \
-H 'Authorization: Bearer EAAJi...' \
{ "account_review_status": "APPROVED", "id": "1111111111111" }
account_review_status property can have one of the following values: PENDING, APPROVED, and REJECTED.