WhatsApp Cloud API · error code

WhatsApp error 200-299: API Permission

ConfigurationHTTP 403Authorization & permissions

Last verified against Meta for Developers - Cloud API error codes

What WhatsApp returns
Permission is either not granted or has been removed.

What error 200-299 means

Codes in the 200 to 299 range are the Graph API's family of permission errors. Meta documents them as a block rather than individually because they share one cause: the token's permissions do not cover what you asked for, either because they were never granted or because they have since been removed. On the Cloud API, the code you will actually see most often is 200, frequently with a message such as "Permissions error" or a note that the user is not an admin on the WABA.

Where code 10 usually points at a missing scope on the token, the 200-series most often reflects a missing role: the System User behind the token has no assignment, or an insufficient one, on the specific WhatsApp Business Account or phone number. The token can carry both WhatsApp scopes and still hit 200 if the underlying user is not allowed to act on that asset.

The token itself is valid and not expired; this is about what it is allowed to touch.

Why it happens

  • The System User was never assigned to the WhatsApp Business Account under Business Settings.
  • The assignment exists but only grants partial access, while the endpoint requires full control.
  • You are calling a WABA owned by a client business that has not shared the asset with your portfolio.
  • A permission the app relied on was revoked after an app review or policy action.
  • Roles were reorganized by a business admin and the production System User lost its assignment.

How to fix WhatsApp error 200-299

  1. 1In Business Settings, Users, System Users, open the user and check Assigned Assets for the exact WABA and phone number.
  2. 2Add or upgrade the assignment to full control, then regenerate the token.
  3. 3For client WABAs, complete asset sharing from the client's portfolio or use Embedded Signup so the grant is explicit.
  4. 4Confirm the app still has the required permissions under App Review, Permissions and Features.
  5. 5Retry the request and keep the fbtrace_id if it persists for a support ticket.

How to stop it recurring

Keep asset assignments for production System Users under change control and audit them whenever Business Manager roles are edited. A monitoring check that lists the WABA via the production token once an hour will catch a revoked assignment quickly. For multi-client setups, rely on Embedded Signup so permissions are granted in a consistent, repeatable way. See code 10 for the missing-scope variant and 190 for dead tokens; the authorization triage sequence is summarized in the error-code guide.

Official reference: Meta for Developers - Cloud API error codes. See all WhatsApp error codes or the WhatsApp limits and quotas.

Related codes

Error 200-299 - quick answers

What does WhatsApp error 200-299 mean?

Codes in the 200 to 299 range are the Graph API's family of permission errors. Meta documents them as a block rather than individually because they share one cause: the token's permissions do not cover what you asked for, either because they were never granted or because they have since been removed.

How do I fix WhatsApp error 200-299?

1. In Business Settings, Users, System Users, open the user and check Assigned Assets for the exact WABA and phone number. 2. Add or upgrade the assignment to full control, then regenerate the token. 3. For client WABAs, complete asset sharing from the client's portfolio or use Embedded Signup so the grant is explicit. 4. Confirm the app still has the required permissions under App Review, Permissions and Features. 5. Retry the request and keep the fbtrace_id if it persists…

Stop debugging WhatsApp by hand

Connect the channel through Conferbot: tokens, webhooks and retries are handled, failures show as readable status.