No credit card required • Cancel anytime

WhatsApp error messages, decoded

Every message the connect screen can show you, what Meta actually said, and what to do about it.

When Meta refuses something, we show you the action rather than their wording — "(#100) Unsupported get request" is accurate and sends people to the wrong place. This page is the mapping, so you can search for either one.

What we show youMeta's codeWhat it meansWhat to do
That access token was rejected190, or HTTP 401The token is expired, revoked, or not a tokenYou are almost certainly using the temporary 24-hour token. Generate a permanent one
That phone number ID was not found on this app100The id is not one this token can seeYou have probably pasted the phone number instead of the phone number ID. Copy the long numeric id from WhatsApp → API Setup
This token does not have permission to manage that number200, 10Authenticated, but not authorised for this assetThe system user is missing a permission or was not given access to the WhatsApp account. Re-check all three permissions and the asset grant
That recipient is not on the allow-list for this number131030Development mode delivers only to test recipientsAdd the number as a test recipient in the Meta console, or move the app out of development mode once your business is verified
Meta is rate-limiting this number right now4, 80007, or HTTP 429Too many requests too quicklyWait a minute. Nothing is broken and nothing is lost
Meta's API is not responding right nowany 5xxTheir sideTry again in a few minutes
Meta's API did not respond in timeOur request timed outA network problem between us and Meta. Try again
Could not reach Meta's APIWe could not connect at allUsually transient. If it persists, it is on our side, not yours
Meta rejected the requestanything elseAn error we have not mappedRe-check all four values against WhatsApp → API Setup. If it keeps happening, tell us the exact wording

The token was rejected

Meta code 190, or an HTTP 401. The token is expired, revoked, or not a token.

Nine times in ten it is the temporary token from the API Setup page, which lasts 24 hours. Generate a permanent one from a system user — Generate a permanent token — and check its expiry reads "Never" in Meta's Access Token Debugger.

Regenerating is the fix. There is nothing to repair about a rejected token.

The phone number ID was not found

Meta code 100. The id is not one this token can see.

Almost always a paste error: the phone number ID is not the phone number. It is the long numeric id underneath the displayed number on WhatsApp → API Setup.

If the id is right, the token is the problem — it belongs to a different app, or the system user was never given access to this WhatsApp account.

The token has no permission for that number

Meta codes 200 and 10. The token is perfectly valid and cannot see your number.

Regenerating it will not help. Two things to check on the system user, in this order:

  1. It has access to the assets — your app and your WhatsApp Business Account, with full control. A token generated before this grant will authenticate and see nothing.
  2. The token carries all three permissions: business_management, whatsapp_business_management, whatsapp_business_messaging.

Missing the third is the classic "verifies fine, cannot send".

The recipient is not on the allow-list

Meta code 131030. Your app is in development mode, where Meta delivers only to numbers you have registered as test recipients.

Add the number as a test recipient in the Meta console, or move the app out of development mode — which needs your business portfolio verified first (Add and verify your phone number).

Nothing is wrong with your credentials. This one is a restriction, not a fault.

Meta is rate-limiting you

Codes 4 and 80007, or an HTTP 429. Too many requests too quickly.

Wait a minute. Nothing is broken, nothing is lost, and there is nothing to change.

Something else

If Meta answered 5xx, it is their side and it passes. If we could not reach them at all — a timeout or a network failure — nothing was recorded as failed and your stored credentials are untouched, so press the button again.

For anything else, re-check all four values against WhatsApp → API Setup. If the same message keeps coming back, tell us the exact wording: an unmapped Meta code is something we want to add to this page.

Reading them properly

A token error and a permission error are different problems. "Rejected" means the token is not valid. "Does not have permission" means it is valid and cannot see your number.

A timeout is not a rejection. Nothing is recorded as failed. Press the button again.

Nothing here ever includes your token. These messages, and our logs, carry Meta's numeric code and nothing else. If you are pasting an error to someone for help, it is safe to paste the whole thing.

When the error is silence

None of the above covers the failure where there is no error at all: messages send fine and nothing ever arrives. That one has its own article — Webhooks: why messages arrive, and why they sometimes don't.

Was this helpful?