WhatsApp error 133010: phone number not registered
Quick answer
Error 133010 means the phone number you're trying to send from has not completed WhatsApp Business Platform registration. Either you never registered it, the registration lapsed, the number was migrated between WABAs, or two-factor authentication is pending. Fix by running the register-phone endpoint with a fresh 6-digit PIN and confirming the number status in Business Manager.
Disclaimer: Registration flow steps evolve with each Cloud API version. Cross-check the endpoint reference before scripting a registration.
What 133010 means, precisely
Meta's Cloud API refused your send with code 133010 because the sending phone number has no valid registration record. In Meta's data model, a phone number attached to a WhatsApp Business Account (WABA) has a lifecycle:
- Added โ the number is associated with the WABA.
- Verified โ Meta confirmed ownership via OTP.
- Registered โ you posted your 6-digit two-factor PIN via the register endpoint.
- Connected โ messaging is now allowed.
133010 means the number is not in "Connected" state. Sends are blocked until registration completes.
Why registration can lapse
Registration is not permanent. It can be invalidated by:
- Migrating the number to a different WABA (common when moving BSPs).
- Disabling and re-enabling two-factor authentication.
- Meta forcing re-registration after a security event.
- The number being briefly used on the WhatsApp Business app (which deregisters it from the API).
- Extended inactivity โ some markets see registration expire after long silence.
How to register step by step
- In Meta Business Manager โ WhatsApp Accounts โ your WABA, confirm the phone number is Added and Verified.
- Set a two-factor verification PIN via
POST /{phone-number-id}with thepinfield. Choose a 6-digit PIN you can retrieve later. - Register the number:
POST /{phone-number-id}/registerwith{ "messaging_product": "whatsapp", "pin": "123456" }. - Wait for the 200 response and verify status via
GET /{phone-number-id}โ thestatusshould readCONNECTED. - Send a test template. 133010 should be gone.
Registration error cousins
| Code | Root cause | Fix |
|---|---|---|
| 133010 | Not registered | Run register endpoint |
| 133005 | Wrong PIN | Reset PIN and retry |
| 133006 | Too many attempts | Wait 12-24 hours |
| 133008 | Number already registered to another WABA | Deregister from old WABA first |
| 133009 | Verification code required | Verify via OTP first |
The migration scenario: moving a number between BSPs
This is where most Indian businesses hit 133010 unexpectedly. You've been happily sending on BSP A for a year. You decide to migrate to BSP B. The steps:
- Deregister the number from BSP A's WABA using
POST /{phone-number-id}/deregister. - Add the number to BSP B's WABA via Business Manager.
- Verify ownership (OTP to your registered contact).
- Register with a new PIN under BSP B.
- Only then can you send.
Every hour spent between step 1 and step 5 is downtime. Plan the switch off-hours and rehearse the exact API calls. For a full migration guide see how to migrate BSPs without downtime.
Two-factor PIN management
The 6-digit PIN is Meta's protection against unauthorised registration. If you lose it, you must reset it โ during which Meta will require the number owner to be reachable. In production:
- Store the PIN in a secrets manager, never in code or config files.
- Restrict access to two named engineers plus your BSP contact.
- Rotate whenever an engineer leaves the team.
Detecting drift before 133010 fires
Add a lightweight health check that runs every 15 minutes:
GET https://graph.facebook.com/v22.0/{phone-number-id}?fields=status,name_status,quality_rating
Alert if status flips from CONNECTED to anything else. You'll catch registration lapses before the first customer send fails.
Six practices that prevent 133010 in production
- Automate registration as part of onboarding โ never rely on manual dashboard steps.
- Store PINs in a secrets manager and expose a reset workflow to on-call.
- Health-check phone status every 15 minutes and alert on any state change.
- Document the deregister-migrate-register flow before migrating BSPs.
- Never use the WhatsApp Business app on a phone number that's also on Cloud API.
- Treat 133010 as a P1 incident โ every minute of 133010 is a minute of dropped OTPs, order updates and appointment reminders.
What 133010 is not
- Not a ban. Bans return 368 or 131031, not 133010.
- Not a template problem. Template errors are 132xxx.
- Not a rate limit issue. Rate limit errors are 130429 or 4.
- Not a quality rating issue. Quality changes show on the phone-status object, not as 133010.
How ChatShree handles registration
ChatShree automates the entire onboarding flow: number added, verified, PIN set and stored, and registration completed โ all in one guided setup. Our platform runs continuous phone-status health checks and pages our on-call within 5 minutes of any state change so 133010 never surprises a live campaign. See how the team operates and how our BSP relationships accelerate migrations.
Closing thoughts
133010 is a lifecycle error, not a runtime one. Treat phone-number registration as infrastructure โ automated, monitored, and owned by an on-call engineer, not a marketing manager clicking buttons in Business Manager. Once registration is invisible to your ops team, 133010 disappears from your incident reports for good.
Frequently asked questions
What does WhatsApp error 133010 mean?
Meta returned 133010 saying 'Phone number not registered'. The sending WABA phone number needs to complete registration through the Cloud API before any messages can be sent from it.
How do I register a phone number for Cloud API?
POST to /{phone-number-id}/register with your 6-digit two-factor PIN. Meta returns success and the number enters CONNECTED state. If the number was previously on On-Premises API, deregister first.
Why did my working number suddenly return 133010?
Common causes: the number was migrated to a different WABA, someone disabled two-factor authentication, Meta forced re-registration due to a policy change, or the number was moved between the WhatsApp mobile app and Business Platform.
Do I need to re-verify the phone number each time?
No. Verification happens once per phone number and WABA. Registration (with the PIN) is the recurring step and only fires when Meta invalidates the previous registration.
What's the difference between error 133010 and 133005?
133005 means the PIN you provided during registration is wrong. 133010 means no registration has been attempted, or a previous registration was invalidated. 133005 is a PIN problem, 133010 is a lifecycle problem.
Can the same phone number be used on the WhatsApp app and Cloud API?
No. A phone number is either on the consumer WhatsApp app, WhatsApp Business app, or WhatsApp Business Platform (API) โ never two simultaneously. Moving between them requires deregistration and can trigger 133010 during the transition.