# Error (#200): “You do not have the necessary permissions to send messages on behalf of this WhatsApp

This error occurs when SprintHub tries to send messages through the **WhatsApp API**, but the user, the app, or the Business Manager itself **do not have all the permissions required by Meta**.

Below, all causes, solutions and **assignments required of the SprintHub partner** to ensure everything works without errors.

***

## 🚨 Why does the error (#200) appear?

Meta blocks sending when any of these permissions is missing:

1. **Invalid, expired token or missing required scopes**
2. **User without full control of the WABA**
3. **User without full control of the Business Manager (including financial)**
4. **Conflict due to provider switch without disconnecting the previous one**
5. **SprintHub partner without full permissions granted in the BM**
6. **WhatsApp API app not authorized on the account**

***

## 🔐 Mandatory permissions for everything to work

WhatsApp API integration requires **three levels of permission**:

***

## ✔️ 1. User Permissions (who performs the integration)

The user who generates the token and connects the WhatsApp API must have:

#### 🟩 **A) Full control of the WhatsApp Account (WABA)**

Path:\
**Business Settings → Accounts → WhatsApp Accounts → People**

Required permission:\
\&#xNAN;**✔ Full control**

<figure><img src="/files/6d5562642cb7d037eda95cff805cb8d46cbc88fc" alt=""><figcaption></figcaption></figure>

***

#### 🟩 **B) Full control of the Business Manager (including financial)**

Path:\
**Business Settings → Users → People → BM Permissions**

Required permission:\
\&#xNAN;**✔ Business Manager admin access**\
(including financial area)

Without this, Meta does not authorize:

* Generation of valid tokens
* Provider configuration
* Advanced API permissions
* WABA management

***

## ✔️ 2. SprintHub Partner Permissions (essential!)

SprintHub is added as **partner** in the client's Business Manager.\
For the integration to work without error, the partner needs to have **full**.

In the client's BM:

Path:\
**Business Settings → Accounts → Partners**

Select the **SprintHub partner** and enable:

#### 🟦 Required partner permissions:

**✔ Full control over the WhatsApp account**

* Manage settings
* Manage numbers
* Manage templates
* Manage assignments
* Send messages on behalf of the WABA

**✔ Full access to the Business Manager**

* Assets
* Pixels
* Accounts
* Integrations
* Financial items required for the WABA

**✔ Administrative access to linked assets**

* WhatsApp Accounts
* Linked apps
* Catalogs (if used)

> 🔎 **Important:**\
> If the SprintHub partner does not have all these permissions, the API simply **does not authorize sends**, even if the local user has full control.

<figure><img src="/files/ece0d4b556e31f81f5ed6b36e55a0e88140a81a0" alt=""><figcaption></figcaption></figure>

***

## ✔️ 3. WhatsApp API App Permissions

The app you are using to generate the token must have:

* `whatsapp_business_messaging`
* `whatsapp_business_management`

And it needs to be authorized within:

**Business Settings → Accounts → WhatsApp Accounts → Apps**

***

## 🔄 Quick fix: integrate with another user

If the current user does not have full control in the **BM + WABA**, you can:

1. Log in with another user who is already **BM Admin**
2. Generate a new token
3. Connect to SprintHub

This resolves **immediately**, without depending on extra permissions.

***

## ✅ Step-by-step to resolve it permanently

1. **Check the provider in SprintHub**\
   System settings → Integrations → WhatsApp API
2. **Generate a new token with the required permissions**
3. **Confirm that the user has:**
   * Full control of the WABA
   * Full control of the Business Manager (including financial)
4. **Confirm that the SprintHub partner has ALL permissions**
   * Full control of the WhatsApp account
   * Full access to the Business Manager
   * Administrative access to the assets
5. **If there is a provider change**
   * Completely remove the number from the old provider before integrating the new one.

***

## Final test

Send a test message in SAC 360º, with an approved template.

If no error appears → integration 100% working


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sprinthub.com/en/topics/settings/account-settings/whatsapp-api/official-whatsapp-api-errors/error-200-you-do-not-have-the-necessary-permissions-to-send-messages-on-behalf-of-this-whatsapp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
