Skip to main content
Share
Guides

WhatsApp Number Registration Failed? PIN Errors, Number In Use, Every Fix

WhatsApp Cloud API registration fails at one of five stages - number in use, OTP, display name, two-step PIN, or a migration that skipped a step. Here is each stage with the literal 1330xx error codes Meta returns and what actually clears them.

Content & Engineering
Aug 16, 2026
14 min read
Last verified August 2026
whatsapp number registration failedwhatsapp business api phone number already registeredtwo-step verification pin whatsapp apideregister whatsapp numberwhatsapp cloud api register number error
TL;DR

WhatsApp Cloud API registration fails at one of five stages - number in use, OTP, display name, two-step PIN, or a migration that skipped a step. Here is each stage with the literal 1330xx error codes Meta returns and what actually clears them.

Key Takeaways
  • "Registration failed" is one phrase for five different stages, each with its own error family.
  • Adding the number, verifying it with a code, clearing display name review, registering it with a two-step PIN, and moving it from somewhere else all fail differently, and almost every wasted hour comes from fixing the wrong stage.Last verified: August 2026 against the Meta for Developers WhatsApp Business Platform (Cloud API) documentation.
  • Error codes and strings quoted are the literal values the platform returns.Pull the number's current state before doing anything else:GET https://graph.facebook.com/v21.0/{phone-number-id} ?fields=display_phone_number,verified_name,name_status,code_verification_status,status,quality_rating,platform_type &access_token={token}StageWhat it looks likeField that tells youSectionAdding the numberWhatsApp Manager says the number is already in use, or rejects it outrightNumber never appears, or appears with no ID2, 3Verifying ownership (OTP)Code never arrives, or verify failscode_verification_status is NOT_VERIFIED or EXPIRED4Display name reviewName shows as declined or pendingname_status is DECLINED, PENDING_REVIEW or EXPIRED6Registering for Cloud API/register returns a 1330xx errorstatus not CONNECTED5, 7Migrating from an app or another providerLoops between the stages aboveMixed8Note that platform_type tells you whether the number is on CLOUD_API, ON_PREMISE or NOT_APPLICABLE - a number that you think is on the Cloud API but reports otherwise is a migration problem, not a registration one.
  • For errors that happen after the number is live and sending, our WhatsApp API error-codes guide is the companion to this one; this guide stops at the moment the number reports CONNECTED.

First, find which of the five stages you are stuck at

"Registration failed" is one phrase for five different stages, each with its own error family. Adding the number, verifying it with a code, clearing display name review, registering it with a two-step PIN, and moving it from somewhere else all fail differently, and almost every wasted hour comes from fixing the wrong stage.

Last verified: August 2026 against the Meta for Developers WhatsApp Business Platform (Cloud API) documentation. Error codes and strings quoted are the literal values the platform returns.

Pull the number's current state before doing anything else:

GET https://graph.facebook.com/v21.0/{phone-number-id}
  ?fields=display_phone_number,verified_name,name_status,code_verification_status,status,quality_rating,platform_type
  &access_token={token}
StageWhat it looks likeField that tells youSection
Adding the numberWhatsApp Manager says the number is already in use, or rejects it outrightNumber never appears, or appears with no ID2, 3
Verifying ownership (OTP)Code never arrives, or verify failscode_verification_status is NOT_VERIFIED or EXPIRED4
Display name reviewName shows as declined or pendingname_status is DECLINED, PENDING_REVIEW or EXPIRED6
Registering for Cloud API/register returns a 1330xx errorstatus not CONNECTED5, 7
Migrating from an app or another providerLoops between the stages aboveMixed8

Note that platform_type tells you whether the number is on CLOUD_API, ON_PREMISE or NOT_APPLICABLE - a number that you think is on the Cloud API but reports otherwise is a migration problem, not a registration one. For errors that happen after the number is live and sending, our WhatsApp API error-codes guide is the companion to this one; this guide stops at the moment the number reports CONNECTED. Every code quoted below also has its own page in the WhatsApp error-code directory.

1. Phone verification and business verification are different things

This distinction resolves a surprising share of "my number is verified but registration still fails" reports. There are two separate verifications, owned by two different parts of Meta, and passing one says nothing about the other.

Phone number verificationBusiness verification
What it provesYou control this phone numberYour company is a real legal entity
HowOne-time code by SMS or voice call to the numberDocuments uploaded in Business Manager > Security Center
Where it showscode_verification_status: VERIFIED on the phone numberBusiness Manager verification status
Required forRegistering the number at allHigher messaging limits, official business account, more phone numbers
Typical timeMinutesDays to weeks

You can register and start sending with phone verification alone. An unverified business is limited in how many business-initiated conversations it can open per day (the WhatsApp messaging-limit tiers) and how many numbers it can add, and its display name is subject to closer review - but "registration failed" is almost never a business verification problem. Conversely, a fully verified business with a number that never completed its OTP will fail at /register with 133006, covered in section 5. Meta's Cloud API getting-started guide walks the phone side; the business side lives in the Business Help Center.

2. "Number already in use": the WhatsApp app is still holding it

A phone number can exist in exactly one place: the WhatsApp consumer app, the WhatsApp Business app, one WhatsApp Business Account on the API, or the On-Premises API. When you try to add a number that is active somewhere else, WhatsApp Manager refuses it - the wording varies by surface, but it says the number is already registered or in use on WhatsApp. The number has not been verified; it has not even been added.

The cause is nearly always that the number is still logged into the WhatsApp or WhatsApp Business app on a phone somewhere - often a phone in a drawer, or a SIM that was moved to a new device years ago and auto-restored. The fix is to release it from the app:

  1. On the phone where that number is active, open WhatsApp, go to Settings > Account > Delete my account, and confirm with the number. Export any chats you need first - they do not come with you.
  2. Wait. Meta's guidance is a few minutes before the number can be re-used; in practice, if the account was long-lived or recently re-registered, give it longer. Retrying every thirty seconds during this window can also trip 133016 (section 7).
  3. Add the number in WhatsApp Manager and verify it.

If the number is in use by another WhatsApp Business Account on the API - a previous agency, a trial with another provider - deleting the app account does nothing, because there is no app. That is a migration, covered in section 8. And if you were hoping to keep using the Business app on the same number while also using the API, see the coexistence note in the same section: outside that specific path, the rule is one home per number.

Try it yourself
Build your first chatbot free
Free plan, no credit card required. Live on your site in about 10 minutes.
Start building free

3. Numbers that cannot be registered at all

Some numbers will never pass, and it is better to know before spending an afternoon on OTPs. WhatsApp needs a number that can receive either an SMS or an international voice call, and that is not already tied to WhatsApp in a way you cannot undo.

  • Short codes are not supported.
  • Landlines work only through the voice-call method, and only if the line actually rings through to a human or a place you can hear the code - IVR menus, auto-attendants and voicemail-first lines usually eat the call. Ask the carrier to disable the IVR temporarily, or use the direct line.
  • Toll-free and premium numbers are hit and miss; many cannot receive SMS and some reject international calls, which is how the code arrives.
  • Numbers from countries or territories Meta does not serve are rejected outright. Meta publishes the list of where the WhatsApp Business Platform is unavailable; if your number's country code is on it, no amount of retrying helps.
  • Numbers previously banned on WhatsApp - for spam, for policy violations on the consumer app - generally cannot be registered on the API either. If the number has a history, check it before you build on it; our guide to a restricted WhatsApp Business Account covers what Meta looks at.

One more silent blocker: a WhatsApp Business Account can only hold a limited number of phone numbers until the business is verified. If the Add button in WhatsApp Manager is greyed out rather than failing, that is the limit, not a registration error.

4. The verification code never arrives, or is rejected

Verification is two calls. Request the code, choosing SMS or voice and a language for the message:

POST https://graph.facebook.com/v21.0/{phone-number-id}/request_code
  ?code_method=SMS&language=en_US
  &access_token={token}

Then submit what you received:

POST https://graph.facebook.com/v21.0/{phone-number-id}/verify_code
  ?code=123456
  &access_token={token}

A wrong or expired code fails with 136025, whose title in Meta's error reference is Verify code error. Codes expire quickly and a fresh request invalidates the previous one, so the classic failure is two people on the team both requesting codes and one of them typing the older one.

When nothing arrives

SituationWhyDo this
SMS requested, nothing after 5 minutesCarrier filtering international A2P SMS; number is a landline; DND registrationRequest again with code_method=VOICE
Voice requested, phone never ringsIVR, call screening, or the line rejects international callersDisable IVR, whitelist international, or use SMS
Request accepted but no new code after several triesPer-number request limit reachedStop. Wait several hours before the next attempt - repeated requests extend the cooldown
Code arrives on a phone running WhatsAppThe number is still registered in the appSection 2 first, then verify
Every code is rejectedOlder code typed after a newer request; or typing the WhatsApp app's 6-digit login code instead of the Business Platform oneUse only the most recent code, from the Cloud API request

Meta rate-limits how many codes a number can request in a window. After a burst of requests the API stops sending without a clear error, and the only remedy is time. Make one request, wait the full few minutes, and only then switch methods.

WhatsApp API Cost Calculator
Free tool - no signup, runs in your browser.
Open free tool

5. Registering: the two-step verification PIN errors (133005 to 133010)

Verification proves you own the number. Registration attaches it to the Cloud API so it can send and receive. That is one call, and it always carries a six-digit two-step verification PIN:

POST https://graph.facebook.com/v21.0/{phone-number-id}/register
{
  "messaging_product": "whatsapp",
  "pin": "123456"
}

If the number has never had two-step verification, this call sets the PIN. If it has - because it was previously registered, or came from the Business app or On-Premises with two-step enabled - the PIN must match. That is where the 1330xx family comes from:

CodeTitle in Meta's referenceWhat it meansFix
133005Two step verification PIN mismatchThe number already has a PIN and you sent a different oneFind the original PIN (see section 7), or reset it
133006Phone number re-verification neededThe OTP step was never completed, or expiredBack to section 4: request and verify a code, then register
133008Too many two step verification PIN guesses for this phone numberYou have been guessingStop for several hours; guessing faster extends the lockout
133009Two step verification PIN was entered too quicklyRate limit on attempts, even if one would have been rightWait, then try once with the correct PIN
133010Phone number not registeredYou called a messaging endpoint before registering, or after deregisteringRun /register successfully first

Two things people get wrong about the PIN. First, it is not the OTP - it is a PIN you choose and that persists on the number; sending the six-digit verification code as the pin produces 133005 if a PIN already exists. Second, it is not the business verification. Both are covered in the Cloud API registration reference, which is the page to keep open during this stage.

After a successful registration the response is {"success": true} and the phone number's status moves to CONNECTED. If you need to change the PIN later, you do it on the registered number with POST /{phone-number-id} and a pin body - and you should, the moment the number goes into production, because a PIN that only one departed contractor knew is the most common reason section 7 exists.

6. Display name rejected, pending or expired

The display name is the name customers see, and Meta reviews it against the display name guidelines. Its state is in name_status:

name_statusMeaningWhat to do
APPROVEDLiveNothing
AVAILABLE_WITHOUT_REVIEWAccepted automatically - usually because it matches a verified businessNothing
PENDING_REVIEWIn Meta's queueWait; typically hours to a couple of days
DECLINEDRejected against the guidelinesChange it and resubmit
EXPIREDApproved name lapsed, usually after a long-unregistered periodSubmit again
NONENo name submittedSubmit one

The usual rejection causes, in rough order: the name does not match the business's own website and social profiles; it is a generic term ("Support", "Shop", "Deals"); it is all capitals or stuffed with punctuation and emoji; it includes "WhatsApp", a URL or a phone number; or it is a person's name for what is presented as a company. A name that is your brand but not obviously tied to you - a sub-brand, a campaign name - gets declined until business verification ties it back.

A display name in DECLINED does not stop registration on the Cloud API; the number can still register and send while you fix the name. It does stop the On-Premises API, which needs the certificate that WhatsApp Manager issues only after the name is approved - the base64 string you pass as cert (historically called the vname certificate). If you are on On-Premises and registration complains about the certificate, that is a display-name problem wearing a different hat. Cloud API does not use the certificate at all, which is one of several reasons Meta steers new setups there.

7. Forgotten PIN, deregistration loops and the waiting periods (133015, 133016)

The hardest version of this problem: the number is verified, the display name is fine, and /register returns 133005 because a PIN exists and nobody knows it. Three things to try, in order.

  1. Find where the PIN came from. If the number was on the WhatsApp Business app, it is the two-step PIN set in that app. If it was on the On-Premises API, it is the pin from the original /v1/account call. If it was registered on Cloud API before, it is whatever the previous engineer or provider sent - check their handover notes or ask the BSP.
  2. Change or turn it off in WhatsApp Manager. An admin of the WhatsApp Business Account can open the phone number's settings, find Two-step verification, and update or disable it. This works while the number is in a state WhatsApp Manager can manage; it is the route to take before the number leaves its current home, not after.
  3. Wait out the reset. If the number is stuck unregistered with an unknown PIN, Meta imposes a waiting period before the PIN can be reset or bypassed. The duration is not something to plan a launch around - assume days, not hours, and use the time to move the PIN into a shared secret store.

Deregistration, and the errors around it

To move a number, or to clean up a half-finished setup, you deregister it:

POST https://graph.facebook.com/v21.0/{phone-number-id}/deregister

The errors that cluster here:

CodeTitle in Meta's referenceWhat happenedFix
133000Incomplete DeregistrationA previous deregister did not finishCall /deregister again, then register
133015The phone number you are attempting to register was recently deleted, and deletion has not yet completedYou deleted or deregistered and came straight backWait at least five minutes, then retry once
133016Registration or Deregistration failed because there were too many attempts for this phone number in a short period of timeA retry loop, or several people retrying at onceStop all automation touching the number; wait; retry once
133004Server temporarily unavailableMeta-side transientRetry with backoff

The shorter cooldown, 133015, clears on its own after a few minutes. 133016 is the one that turns a small mistake into a long afternoon. Every retry resets the clock. If a deploy script calls /register on boot and the service is crash-looping, you will hit it within minutes and stay in it until the loop stops. Register once, by hand or by a job that runs once, and never on process start.

8. Migrating a number: from the Business app, from On-Premises, from another provider

Most registration failures that look mysterious are migrations that skipped a step. The three cases:

From the WhatsApp Business app to the Cloud API

The supported path since 2023: in the app, turn off two-step verification (Settings > Account > Two-step verification) so the API can set its own PIN; make sure the app is up to date; then add the number in WhatsApp Manager or through Embedded Signup and complete the OTP. Chat history does not move - back it up in the app first. If the migration flow is not offered, or keeps failing on the "number in use" check, fall back to the older route: Delete my account in the app, wait, then add the number fresh (section 2). Meta has also been rolling out coexistence, where a Business app number can additionally be connected to the Cloud API through Embedded Signup and keep working in the app; it is offered in-flow when your account is eligible, and it is the only path where "both" is a real answer.

From the On-Premises API

Meta's On-Premises to Cloud migration guide is the authority. The order matters: deregister from On-Premises (the DELETE /v1/account call) before calling Cloud /register, and use the same two-step PIN the number had on On-Premises. Templates and the display name carry over because they belong to the WhatsApp Business Account, not to the hosting. Registering on Cloud while still registered On-Premises fails, and the number may go briefly dark either way - plan for a few minutes of downtime.

From another Business Solution Provider

If the number lives in a WABA owned by another provider, you need their cooperation: they disable two-step verification (or tell you the PIN) and you run the phone number migration flow in WhatsApp Manager, which moves the number into your WABA with its quality rating, messaging limit and name intact. Then you register it with a PIN of your own. Trying to add the number directly without that flow produces the "already in use" wall from section 2, because the number is still registered to the old WABA.

In all three cases the number's history comes with it: quality rating, messaging limit and any restriction. A number with a RED quality rating or a FLAGGED status does not become clean by moving - our restricted-account guide covers what to do about that, and the template rejection guide is worth reading before you submit the first template on the new hosting. Running the draft through the WhatsApp template checker first catches the formatting rejections.

9. The cryptic ones: 131000, 131045 and a number that registers but will not send

A few errors do not say "registration" but are registration underneath.

{"error":{"message":"Something went wrong","type":"OAuthException","code":131000}}

131000 is Meta's generic failure. When it appears during /register or /request_code specifically, the pattern is usually one of: the number is mid-deletion from an app account, the phone number ID belongs to a different WABA than the token, or the WABA itself is in a restricted state. Retry once after a minute; if it persists, check the WABA's status in WhatsApp Manager before anything else.

131045 (Incorrect certificate) is the On-Premises certificate problem from section 6 surfacing at send time, and on Cloud API it points at a number whose registration did not complete cleanly - deregister and register again.

And the most common post-registration confusion: the number reports CONNECTED, test messages to your own phone work, and messages to anyone else fail. That is not registration. It is the 24-hour window and template rules, or the unverified-business messaging limit, and it belongs to the error-codes guide (131047, 131026, 130429). Registration is done the moment status is CONNECTED; everything after is messaging. The 131047 reference page explains the 24-hour window rule that causes most of those first failed sends.

The registration checklist, in order

  1. Read the number's fields (the query in the first section). platform_type, code_verification_status, name_status, status.
  2. Is the number free? Not in the consumer app, not in the Business app, not in another WABA. If it is, release it (section 2) or migrate it (section 8), then wait.
  3. Is the number eligible? Not a short code, not a banned number, not from an unsupported territory (section 3).
  4. Verify once. One request_code, wait, one verify_code. Switch SMS to VOICE only after a full wait.
  5. Register once with a PIN you have written down somewhere shared. 133005 means a PIN already exists - go to section 7 before guessing again.
  6. Confirm status: CONNECTED and send a test message to a phone that has messaged the number first.
  7. Submit the display name if name_status is not APPROVED, and move on - it does not block Cloud API sending.

The two habits that prevent almost everything above: never put /register in a startup path, and treat the two-step PIN as a production secret from day one. The registration problems on other channels are shallower but the same shape - the Telegram and Messenger troubleshooting guides cover their equivalents of "the token is fine, the binding is not". The error-code directory has the Telegram and Discord code sets if you need the literal strings.

Avoiding this layer altogether

Everything in this guide is account plumbing: who holds the number, which verification you are actually failing, a PIN that persists across providers, a display name queue, a deregistration cooldown. It is the same for every business that connects a number, and none of it is the conversation you want to have once the number is live. A managed platform owns that layer so these errors do not land on you: with Conferbot's WhatsApp integration the number is connected through Meta's Embedded Signup, the verification, registration and PIN handling happen inside that flow, and you move straight to building replies in the visual flow builder. If you also run Messenger or Instagram, the same connection flow covers them. You can start free to see the signup flow, and once the number is live the WhatsApp link generator gives you a wa.me link with a pre-filled message for your site and ads. If you are starting from nothing, the WhatsApp Business API setup guide covers the steps before this one. The WhatsApp API cost calculator estimates what the conversations will cost once the number is sending.

Share this article:

Was this article helpful?

Ready to build your chatbot?

Join the businesses. Deploy on website, WhatsApp, and 11 more channels in minutes. Free forever plan available.

No credit cardNo coding13+ channels
Start Building Free

Get chatbot insights delivered weekly

Join 5,000+ professionals getting actionable AI chatbot strategies, industry benchmarks, and product updates.

🎯Automate this with a free chatbot

Build and deploy in 10 minutes. No coding needed.

FAQ

WhatsApp Number Registration Failed? PIN Errors, Number In Use, Every Fix FAQ

Everything you need to know about chatbots for whatsapp number registration failed? pin errors, number in use, every fix.

🔍
Popular:

Because one of five stages failed and the message rarely says which. The number may still be active in the WhatsApp or Business app, the one-time code may never have been verified (error 133006), the two-step PIN may not match one already set on the number (133005), you may be inside a cooldown after too many attempts (133016), or the number may be ineligible. Query the phone number's code_verification_status, name_status and status fields first to see which stage you are in.

The number already has a two-step verification PIN and the pin you sent to /register is different. The PIN persists across hosting - it may have been set in the WhatsApp Business app, on the On-Premises API, or by a previous provider. Find the original, or have a WhatsApp Business Account admin change it under the number's Two-step verification settings in WhatsApp Manager. Do not keep guessing: 133008 locks the number for hours.

Call POST /{phone-number-id}/deregister with a valid token. After that the number stops sending and receiving and can be registered again, on the same WABA or after a migration. If the call reports 133000 Incomplete Deregistration, call it again. Wait a few minutes before registering - retrying immediately produces 133015, and a tight loop produces 133016, which extends the cooldown every time you retry. Deregistration does not delete templates or the display name.

The number is still active in the WhatsApp consumer app, the WhatsApp Business app, or another WhatsApp Business Account. For the apps, open WhatsApp on that phone, go to Settings > Account > Delete my account, export any chats first, then wait a few minutes before adding the number in WhatsApp Manager. If another Business Account holds it, you need the phone number migration flow with that provider's cooperation instead; deleting an app account does nothing in that case.

Phone verification proves you control the number: a one-time code by SMS or voice, recorded as code_verification_status VERIFIED. Business verification proves your company is a real entity: documents reviewed in Business Manager's Security Center, taking days to weeks. You can register and send with phone verification alone; business verification raises messaging limits, allows more numbers and makes display name approval easier. Registration failures are almost never a business verification problem.

Most often because the number is a landline behind an IVR, the carrier filters international SMS, or you have requested too many codes and hit a cooldown that silently stops delivery. Make one request, wait the full few minutes, then request again with the other method - code_method=VOICE if SMS failed. If the code arrives on a phone that is running WhatsApp, the number is still registered in the app and must be released first.

The code you submitted to /verify_code was wrong or expired. Codes expire quickly and every new request_code invalidates the previous code, so the usual cause is two people requesting codes and one typing the older one, or typing a WhatsApp app login code instead of the Business Platform one. Request a single fresh code, wait for it, and submit exactly that one. If it keeps failing, wait before requesting again to avoid the request limit.

Meta reviews display names against published guidelines. Common reasons: the name does not match your website and social profiles, it is a generic word like Support or Deals, it is all capitals or full of punctuation and emoji, it contains WhatsApp, a URL or a phone number, or it is a sub-brand not obviously tied to your verified business. A DECLINED name does not block Cloud API registration or sending - fix and resubmit while the number stays live.

No. The base64 certificate that WhatsApp Manager issues after display name approval - historically called the vname certificate - is only used by the On-Premises API, where it is passed as cert during registration. The Cloud API registers with just the two-step PIN and the messaging_product field. If you see a certificate error such as 131045 on Cloud API, the number's registration did not complete cleanly; deregister and register again.

Turn off two-step verification in the app under Settings > Account, update the app, back up chats, then add the number in WhatsApp Manager or Embedded Signup and complete the one-time code - chat history does not move. If the migration flow is not offered, delete the account in the app, wait, and add the number fresh. Meta's coexistence option, offered in Embedded Signup when eligible, is the only path where the app and the API share one number.

Usually not. A number banned on the consumer or Business app for spam or policy violations is typically refused on the Business Platform as well, and a number moved from another provider carries its quality rating and any restriction with it. Check the number's history before building on it, and read the number's quality_rating and status fields after registration. A RED rating or FLAGGED status needs the restricted-account process, not another registration attempt.

Registration or deregistration failed because there were too many attempts on that number in a short period. It is almost always a retry loop - a service calling /register on startup while crash-looping, or several people retrying at once. Stop everything that touches the number, and every further attempt resets the cooldown. Meta does not publish the exact duration; wait a meaningful interval, then retry exactly once by hand, and never register from a startup path again.

About the Author

Content & Engineering

The Conferbot team writes about building, deploying, and improving AI chatbots.

View all articles
Skip the blank canvas
Start from one of 250+ free chatbot templates for lead generation, support, e-commerce, and 20+ industries - customize and launch in minutes.
Browse free templates

Related Articles

From the reference shelf

Fact-checked reference pages and free tools for the platform this article covers.

Omnichannel Platform

One Chatbot,
Every Channel

Your chatbot works seamlessly across WhatsApp, Messenger, Slack, and 6 more platforms. Build once, deploy everywhere.

View All Channels
Conferbot
online
Hi! How can I help you today?
I need pricing info
Conferbot
Active now
Welcome! What are you looking for?
Book a demo
Sure! Pick a time slot:
#support
Conferbot
New ticket from Sarah: "Can't access dashboard"
Auto-resolved. Password reset link sent.