What is a pre-verified phone number?
A pre-verified phone number is a WhatsApp Business phone number that a partner has verified before any client asks for it. The partner — it must be an approved Solution Partner — adds numbers it controls to a pool in its business portfolio, proves ownership of each with an SMS or voice one-time password, and then offers those numbers inside its Embedded Signup flow. A client who picks one never sees a code prompt and never has to ask the partner to read out an OTP, which removes the step where most self-service signups stall.
Under the hood Meta models these as WhatsApp Business Pre-Verified Phone Number objects, and Meta's documentation stresses that they are temporary. When a client selects one and completes Embedded Signup, WhatsApp replaces it with an ordinary WhatsApp Business Phone Number object in the client's account, with code_verification_status set to VERIFIED. The partner then has 90 days to register that new ID on the Cloud API.
Two clocks govern the pool. A verification lasts 90 days: if no client claims the number in that time it reverts to UNVERIFIED (it still appears in the flow, but the client would then need a code from the partner), and it can be re-verified only from 45 days before it is due to revert, shown in verification_expiry_time. A number added to the pool but never verified within 90 days is removed. A pre-verified number is about removing the code step; where the number itself comes from — a SIM, a landline or a cloud telephony DID — is the separate question of a virtual number.
Key takeaways
- A pre-verified phone number is a business number a Solution Partner has already verified, so clients skip the one-time code in Embedded Signup.
- Only approved Solution Partners can create them, through the add_phone_numbers, request_code and verify_code endpoints on their portfolio.
- Verification lasts 90 days: unclaimed numbers revert to UNVERIFIED and can be re-verified from 45 days before expiry.
- When a client claims one, it becomes a normal business phone number object that the partner must register within 90 days.
- Partners can share pre-verified numbers with other partners in a Multi-Partner Solution via share_preverified_numbers.
Figure 1
Follow a number through the pool, the claim and the 90-day clocks
- Added to pool to VERIFIED: request_code + verify_code
- VERIFIED to Claimed by client: Client picks it in Embedded Signup
- VERIFIED to UNVERIFIED: 90 days unclaimed
- UNVERIFIED to VERIFIED: Verify again with a new code
- Claimed by client to Registered: POST /register
- Claimed by client to Claim lapsed: 90 days, no registration
- Added to pool
- VERIFIED
- Claimed by client
- Registered
Step 4 of 4 · end of walk
Registered
POST /register done within 90 days. The number can send and receive.
Arrived from Claimed by client via POST /register.
Can move to
Nothing — this is a final state.
Happy path, step 4 of 4: Registered (via POST /register). POST /register done within 90 days. The number can send and receive.
Why it matters
Why does a pre-verified phone number matter?
For a platform onboarding hundreds of small businesses, the OTP step is the leak in the funnel: the client does not have a spare SIM, the SMS goes to a phone in another branch, or the landline's voice call is missed. Offering pre-verified numbers lets a partner hand a client a working WhatsApp number in one sitting, which matters most for businesses that do not want to use their personal mobile. It also creates responsibilities: the partner is provisioning numbers it must track, re-verify on schedule and transfer cleanly when a client leaves.
Example: A Lucknow SaaS for coaching institutes
A Lucknow company sells an admissions CRM to coaching institutes across Uttar Pradesh, and most of its customers do not want to put a teacher's personal mobile on WhatsApp. As a Solution Partner, it buys a block of 50 landline numbers from a licensed telecom provider, adds each to its pool, verifies them by voice call and lists them in its Embedded Signup. An institute in Kanpur picks a number, approves the account and is sending fee reminders within the hour. A nightly job lists the pool, flags numbers whose verification_expiry_time is within 45 days and re-verifies them, and the contract with each institute states who owns the number if the institute later leaves.
How does a pre-verified phone number work?
Add a number to your pool
POST /{BUSINESS_PORTFOLIO_ID}/add_phone_numbers with phone_number. The response is a pre-verified phone number ID; capture it.
Request and enter the code
Call /{PRE_VERIFIED_ID}/request_code with code_method SMS or VOICE, then /{PRE_VERIFIED_ID}/verify_code with the code. The number is VERIFIED for 90 days.
Surface the IDs in Embedded Signup
Pass the IDs in extras.setup.preVerifiedPhone.ids. Clients see them as selectable numbers; claimed numbers drop out of the flow automatically.
Find and register the claimed number
Read the new phone number ID from your session-logging listener, or list the client WABA's phone_numbers and match display_phone_number, then call /register within 90 days.
Keep the pool fresh
Query /{BUSINESS_ID}/preverified_numbers with code_verification_status, watch verification_expiry_time, and re-verify each unclaimed number in its last 45 days.
A pre-verified phone number in code
# 1. Add a number to your portfolio's poolcurl -X POST "https://graph.facebook.com/v26.0/{BUSINESS_PORTFOLIO_ID}/add_phone_numbers?phone_number=915224001234" \-H "Authorization: Bearer {SYSTEM_USER_TOKEN}"# -> { "id": "{PRE_VERIFIED_ID}" }# 2. Ask for the one-time password by voicecurl -X POST "https://graph.facebook.com/v26.0/{PRE_VERIFIED_ID}/request_code?code_method=VOICE&language=en_US" \-H "Authorization: Bearer {SYSTEM_USER_TOKEN}"# 3. Verify: VERIFIED for 90 dayscurl -X POST "https://graph.facebook.com/v26.0/{PRE_VERIFIED_ID}/verify_code?code=123456" \-H "Authorization: Bearer {SYSTEM_USER_TOKEN}"# 4. Audit the poolcurl "https://graph.facebook.com/v26.0/{BUSINESS_PORTFOLIO_ID}/preverified_numbers?code_verification_status=VERIFIED" \-H "Authorization: Bearer {SYSTEM_USER_TOKEN}"
Needs the business_management permission and a business admin on the portfolio.
Common mistakes with a pre-verified phone number
Letting verifications lapse
An expired number still shows in the flow, but the client then needs an OTP from you, which defeats the purpose. Re-verify every unclaimed number in its final 45 days.
Forgetting to register after the claim
A claimed number is verified but not registered. If you miss the 90-day window it reverts to UNVERIFIED and you must request and verify a new code.
Losing track of who holds which number
Meta leaves tracking claims to you. Record the client, claim date and contract terms for every number, and agree upfront what happens to it if the client leaves.
Using numbers you cannot keep receiving codes on
A number may need verifying again later. Source pre-verified numbers from a provider you control long term, and keep the line able to receive SMS or voice calls.
Best practices for a pre-verified phone number
- Use voice-capable landline or DID numbers for the pool; they verify reliably by voice call.
- Check the shared pool before surfacing numbers, so partners do not list numbers another partner's client has claimed.
- Name pool numbers by region so clients can pick a local area code.
Pre-Verified Phone Number FAQs
- What is a pre-verified phone number in WhatsApp Embedded Signup?
- It is a business number a Solution Partner has already verified with a one-time code. Clients pick it in Embedded Signup and skip the code step entirely.
- Can a Tech Provider offer pre-verified numbers?
- No, not on its own. Meta requires an approved Solution Partner, but a Solution Partner can share its pre-verified numbers with Tech Providers in a Multi-Partner Solution.
- How long does a pre-verified number stay verified?
- Ninety days. If no client claims it by then it reverts to UNVERIFIED; you can re-verify it from 45 days before that date to keep it ready.
- Who owns a pre-verified number after the client claims it?
- Meta moves it into the client's account as a normal business phone number, but the line itself stays with whoever holds it at the telecom provider. Settle ownership in your contract with the client.