Connecting your channels12 min read

WhatsApp error messages, decoded

Every message the connect screen or the inbox 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.

You meet these sentences in two places: on the channel card when you connect or send a test, and in the Inbox under any message Meta refused to send. A refused message stays in the conversation, marked Not delivered, with the reason under it and a What to do link to the matching section below. The customer did not get it.

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 app100, subcode 33The 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
That WhatsApp Business Account ID does not hold this phone number100 when reading the account, or no error and the number missingThe account ID is wrong, or the token cannot see itCopy the WhatsApp Business Account ID from the same API Setup page as the phone number ID
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 has not approved this number's display name yet131037The number cannot send until Meta approves the name it shows customersCheck the display name in WhatsApp Manager → Phone numbers. It must be your business's name. Then wait for Meta's review
WhatsApp only allows a reply within 24 hours of the person's last message131047The person last wrote more than 24 hours agoNothing to fix. They get your next reply as soon as they write in again
WhatsApp could not deliver this to the person131026The number is not on WhatsApp, has blocked you, or runs an old appNothing to fix on your side. Reach the person another way if it matters
Meta did not accept that login— (a refused code exchange)Connect with Meta's one-time login code expired, was already used, or was not made for usClose Meta's window and press Connect with Meta again
That login did not give FiguredOutAI access to the WhatsApp Business Account you picked— (our check of the login)The account named in Meta's window is not one the login shared with usConnect again, and share the account when Meta asks which ones
This number has a two-step PIN133005Someone set a two-step verification PIN on the number beforeTurn two-step verification off in WhatsApp Manager, then press Finish setup
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 time—Our request timed outA network problem between us and Meta. Try again
Could not reach Meta's API—We could not connect at allUsually transient. If it persists, it is on our side, not yours
Meta rejected the requestanything else, including 100 without subcode 33An 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.

Most often 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.

You may meet this without pressing anything. When Meta refuses a token while the bot is replying, following up or sending your team an alert, we mark the channel Not working straight away. Its card in Admin → Channels then says so, and so does Channel health on your Today page. Until then the bot's replies are failing, so treat it as urgent. Replace the credentials with a permanent token and the channel shows as connected again. A number connected with Connect with Meta is repaired with Reconnect with Meta instead. This works the same way for an Instagram or Messenger Page token.

The phone number ID was not found

Meta code 100 with subcode 33. The id is not one this token can see. (Code 100 on its own means some parameter was invalid, which is not necessarily the id, so we show it as "Meta rejected the request" instead.)

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 WhatsApp Business Account ID does not hold this number

We read the account's phone numbers and yours was not among them, or Meta answered code 100: the ID is not an account, or it is one the token cannot see.

Usually the ID belongs to your business's other account, or it is the phone number ID pasted twice. A test account and a real one sit side by side, and all these IDs look alike. Copy the ID from WhatsApp → API Setup with your number selected, the same page the phone number ID comes from.

If the ID is right, the system user was not given access to this WhatsApp account. Add it under the system user's assets, with full control, and generate the token again.

We refuse the save rather than store it, because the ID names the account we subscribe to your messages. A wrong one would connect without error and never receive anything.

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.

The display name is not approved yet

Meta code 131037. Every WhatsApp number shows customers a display name, and Meta reviews it. Until the name is approved, Meta refuses to send from the number. Your token, IDs and connection are all fine, so the channel still shows as connected. Reconnecting does not help.

You are most likely to meet this with a free +1 555 number that Meta offers inside Connect with Meta. Those numbers can send a few messages straight away, then stop until the name is reviewed. In the Inbox, every reply sent meanwhile — the bot's and your own — is marked Not delivered with this reason, and the customer gets none of them.

To fix it:

  1. Open WhatsApp Manager, then Phone numbers, and pick the number.
  2. Check the display name. It must be your business's name, the one customers know you by. A person's name, or something generic like "Sales", is rejected.
  3. Change it if needed and submit it. Meta usually reviews within a day or two.

When it is approved, sending starts working on its own. Press Send test message on the channel card to confirm.

A number of your own goes through the same display-name review, so connecting one instead of the 555 number does not skip it.

The 24-hour window has closed

Meta code 131047. You can reply freely for 24 hours after a person's last message. After that, WhatsApp refuses anything but a pre-approved template, and FiguredOutAI does not send templates. The message stays in the conversation, marked Not delivered, so you know it did not go. Nothing is wrong with your number or your connection.

Wait for the person to write again; your next reply goes through. Follow-ups already respect the window and are skipped rather than refused — why a follow-up was not sent.

The person cannot receive messages

Meta code 131026. WhatsApp accepted the request and could not deliver it: the number is not on WhatsApp, the person blocked your number, or their app is too old. It is about this one person, not your setup, so other conversations are unaffected.

Meta did not accept that login

Only with Connect with Meta. Meta's window hands us a one-time code that works once and only for a short time. It was expired, already used, or not made for FiguredOutAI.

Nothing was saved. Close Meta's window if it is still open and press Connect with Meta again.

The login did not give us that account

Only with Connect with Meta. The WhatsApp Business Account picked in Meta's window is not one the login actually shared with us. We check that before saving anything, because the ids reach us through your browser and the login is the only proof of what you shared.

Connect again, and when Meta asks which accounts to share with FiguredOutAI, include the one you pick.

The number has a two-step PIN

Only with Connect with Meta, at the step where we register your number (Meta code 133005). Someone set a two-step verification PIN on the number before — a previous provider, or you in WhatsApp Manager — and registering needs that PIN.

Your connection is saved, and the card says Setup isn't finished. Turn two-step verification off in WhatsApp Manager (your number, then two-step verification), then press Finish setup.

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.

Registering a number has its own limit. After too many attempts Meta asks you to wait a few hours; then press Finish setup.

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.