Skip to content

Registering business phone numbers

Updated: Jun 28, 2026

Embedded signup v2 will be deprecated on October 15, 2026. Migrate your integration to v4 before that date to avoid disruption. See Versions for the full upgrade path.

This document describes the steps to programmatically register business phone numbers on WhatsApp Business Accounts (WABA).

Embedded Signup performs steps 1-3 automatically (unless you are bypassing the phone number addition screen) so you only need to perform step 4 when a client completes the flow. If you have disabled phone number selection, however, you must perform all 4 steps.

Registering business phone numbers is a four-step process:

  • Create the number on a WABA.
  • Get a verification code for that number.
  • Use the code to verify the number.
  • Register the verified number for API use.

The following sections describe each step.

You can also perform all 4 steps repeatedly to register business phone numbers in bulk.

Limitations

Business phone numbers must meet our phone number requirements.

Step 1: Create the phone number

Use the Phone Numbers API to create a business phone number on a WABA.

Request syntax

POST /<WHATSAPP_BUSINESS_ACCOUNT_ID>/phone_numbers

Post body

{  
  "cc": "<CC>",  
  "phone_number": "<PHONE_NUMBER>",  
  "verified_name": "<VERIFIED_NAME>"  
}

Body properties

PlaceholderDescriptionExample Value
<CC> StringRequired. The phone number's country calling code.1
<PHONE_NUMBER> StringRequired. The phone number, with or without the country calling code.15551234
<VERIFIED_NAME> StringRequired. The phone number's display name⁠.Lucky Shrub

Response

Upon success, the API returns a business phone number ID. Capture this ID for use in the next step.

{  
  "id": "<ID>"  
}

Response properties

PlaceholderDescriptionExample Value
<ID>An unverified WhatsApp Business Phone Number ID.106540352242922

Example request

curl 'https://graph.facebook.com/v25.0/102290129340398/phone_numbers' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAH7...' \
-d '{
    "cc": "1",
    "phone_number": "14195551518",
    "verified_name": "Lucky Shrub"
}'

Example response

{  
  "id": "110200345501442"  
}

Step 2: Request a verification code

Use the Request Code API to have a verification code sent to the business phone number.

Request syntax

POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/request_code
  ?code_method=<CODE_METHOD>
  &language=<LANGUAGE>

Query string parameters

PlaceholderDescriptionExample Value
<CODE_METHOD>Required. Indicates how you want the verification code delivered to the business phone number. Values can be SMS or VOICE.SMS
<LANGUAGE>Required. Indicates language used in delivered verification code.en_US

Response

{  
  "success": <SUCCESS>  
}

Response properties

PlaceholderDescriptionExample Value
<SUCCESS>Boolean indicating success or failure. Upon success, the API responds with true and sends a verification code to the business phone number using the method specified in your request.true

Example request

curl -X POST 'https://graph.facebook.com/v25.0/110200345501442/request_code?code_method=SMS&language=en_US' \
-H 'Authorization: Bearer EAAJB...'

Example response

{  
  "success": true  
}

Example SMS delivery

Example of an SMS message in English containing a verification code, delivered to a business phone number:

WhatsApp code 123-830

Step 3: Verify the number

Use the Verify Code API to verify the business phone number, using the verification code contained in the SMS or voice message delivered to the number.

Request syntax

POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/verify_code
  ?code=<CODE>

Query string parameters

PlaceholderDescriptionExample Value
<CODE> StringRequired. Verification code, without the hyphen.123830

Response

{  
  "success": <SUCCESS>  
}

Response properties

PlaceholderDescriptionExample Value
<SUCCESS>Boolean indicating success or failure. Upon success, the API responds with true, indicating that the business phone number has been verified.true

Example request

curl -X POST 'https://graph.facebook.com/v25.0/110200345501442/verify_code?code=123830' \
-H 'Authorization: Bearer EAAJB...'

Example response

{  
  "success": true  
}

Step 4: Register the number

Use the Register API to register the business phone number for use with the API.

Request syntax

POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/register

Post body

{  
  "messaging_product": "whatsapp",  
  "pin": "<PIN>"  
}

Body properties

PlaceholderDescriptionExample Value
<PIN> StringRequired. If the verified business phone number already has two-step verification enabled, set this value to the number's 6-digit two-step verification PIN. If you do not recall the PIN, you can update it. If the verified business phone number does not have two-step verification enabled, set this value to a 6-digit number. This 6-digit number becomes the business phone number's two-step verification PIN.123456

Response

Upon success, the API responds with true, indicating successful registration.

{  
  "success": <SUCCESS>  
}

Response properties

PlaceholderDescriptionExample Value
<SUCCESS>Boolean indicating success or failure. Upon success, the API responds with true, indicating successful registration.true

Example request

curl 'https://graph.facebook.com/v25.0/110200345501442/register' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
  "messaging_product": "whatsapp",
  "pin": "123456"
}'

Example response

{  
  "success": true  
}

Unofficial mirror for reference/search purposes. All content originates from developers.facebook.com — see the source link at the top of each page. Machine-readable indexes: llms.txt · llms-full.txt · About