Log inStart Free Trial
Meta Tech Provider

WhatsApp error 0: unable to authenticate the app user

Error code 0 means Meta could not authenticate the app user behind the access token. Meta's description reads: "We were unable to authenticate the app user." The token has expired, been invalidated, or the user blocked all apps from their data. The fix is a new access token, not a retry.

0

Meta's code for "We were unable to authenticate the app user."

3 causes

Token expired, token invalidated, or the user changed a setting that blocks all apps.

190

The separate code Meta lists for an access token that has expired.

What does WhatsApp error code 0 mean?

It means the platform received a request and could not tie it to an app user it trusts.

Meta files code 0 under authorization errors in the Cloud API error reference, with the details text "We were unable to authenticate the app user." The possible reasons it gives are all about the token: it has expired, it has been invalidated, or the person who granted it changed a setting that prevents all apps from accessing their data.

Nothing in that list concerns the phone number, the WhatsApp Business Account or the message being sent. The request never got far enough for any of those to be checked.

How do you fix error 0?

Get a new access token. That is the remedy Meta lists, and it is the only one that works.

Before replacing it, work out which of the three causes applied, because each one comes back if ignored. A user token with a short lifetime will expire again on schedule. An invalidated token will keep failing until someone grants access again. A user who switched off app access entirely has to switch it back on before any token for that user can work.

For server to server sending, Meta's access token guide recommends System User tokens, which it describes as long lived and suited to automated services that need no user input.

Is error 0 the same as error 190?

They overlap in practice and are listed separately by Meta.

Error 190 carries the details text "Your access token has expired." Error 0 is broader: it covers an expired token, an invalidated one, and a user who has blocked app access altogether. Both sit in the same authorization table, and both are answered by getting a new token.

The practical difference is diagnosis. A 190 tells you the token aged out. A 0 tells you authentication failed and leaves you to establish why, which is worth doing before you issue a replacement that fails in exactly the same way an hour later.

Common mistakes

  • Retrying the same request. An unauthenticated token stays unauthenticated, so every retry returns code 0 again.
  • Reconnecting the number. The number was never checked, so onboarding it again asks the business owner for work that changes nothing.
  • Issuing a new short lived user token for a backend job. It will expire on schedule and the error returns.
Doing this with EasyCoexistence

EasyCoexistence holds a second token against each connection, so when one credential is rejected the other can still read the account and show whether the number itself is fine.

Frequently asked questions

Does error 0 mean my number was disconnected?

No. Meta's reasons for code 0 are all about the access token. The number and the WhatsApp Business app on the phone are not involved.

Where is error 0 documented?

In the authorization errors table of Meta's Cloud API error codes reference. The Cloud API is built on the Graph API, which uses the same error format.

Will waiting make error 0 go away?

No. An expired or invalidated token does not recover by itself. A new token is needed.

How do I check what a token can do?

Use Meta's access token debugger or the debug_token endpoint. Both show whether the token is valid, when it expires and which permissions it carries.

Keep reading

Ready to get started?

Set up WhatsApp Coexistence in minutes, not months. The app keeps working on the phone.

Start Free Trial

Verified on

WhatsApp Error 0