WhatsApp Business Management - Add Phone Numbers API
Copy for LLM View as Markdown Version v23.0 API for adding phone numbers to a WhatsApp Business Account. This endpoint allows businesses to add phone numbers to their WhatsApp Business Account for messaging purposes.Base URL
| https://graph.facebook.com |Endpoints
| POST | ///add_phone_numbers |POST ///add_phone_numbers
Add a preverified phone number to a WhatsApp Business Account. This endpoint is used by Partners to create a pool of Partner owned numbers that end clients can purchase. Use Cases: Add new phone numbers to scale messaging operations Set up phone numbers for different business locations Manage phone number inventory for business messaging Configure phone numbers for specific messaging workflows Rate Limiting: Standard Graph API rate limits apply. Use appropriate retry logic with exponential backoff. Phone Number Requirements: Must be in E.164 format (e.g., +1234567890) Must not be already registered to another WhatsApp Business Account Must be capable of receiving SMS for verification Must comply with WhatsApp’s business messaging policiesRequest Syntax
POST///add_phone_numbers Try it Select language cURLJavaScriptPythonUser-Agentstring The user agent string identifying the client software making the request. Authorizationstring·required Bearer token for API authentication. This should be a valid access token obtained through the appropriate OAuth flow or system user token. Path Parameters
Versionstring·required Graph API version to use for this request. Determines the API behavior and available features. Business-IDstring·required Your WhatsApp Business Account ID. This ID can be found in your Business Manager or through business management APIs. Request BodyRequired
Phone number to add to the business account Content Type: application/json Schema: AddPhoneNumbersRequest Show child attributes
AddPhoneNumbersRequest
phone_numberstring·required Phone number to add to the business account. Accepts E.164 format or formatted numbers with spaces, hyphens, and parentheses (e.g., +1234567890, +1 (631) 555-1000, +1-631-555-1000). The phone number will be normalized and validated by the endpoint. Responses
Add a preverified phone number to a WhatsApp Business Account. This endpoint is used by Partners to create a pool of Partner owned numbers that end clients can purchase. Use Cases: Add new phone numbers to scale messaging operations Set up phone numbers for different business locations Manage phone number inventory for business messaging Configure phone numbers for specific messaging workflows Rate Limiting: Standard Graph API rate limits apply. Use appropriate retry logic with exponential backoff. Phone Number Requirements: Must be in E.164 format (e.g., +1234567890) Must not be already registered to another WhatsApp Business Account Must be capable of receiving SMS for verification Must comply with WhatsApp’s business messaging policies 200 Phone number successfully added Content Type: application/json Schema: AddPhoneNumbersResponse Show child attributes
AddPhoneNumbersResponse
idstring·required Unique identifier for the preverified phone number entity that was created 400 Bad Request - Invalid parameters, malformed request, or phone number already registered Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 401 Unauthorized - Invalid or missing access token Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 403 Forbidden - Insufficient permissions or access denied Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 404 Not Found - Business ID does not exist or is not accessible Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 422 Unprocessable Entity - Request parameters are valid but cannot be processed Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 429 Too Many Requests - Rate limit exceeded Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes 500 Internal Server Error - Unexpected server error Content Type: application/json Schema: GraphAPIError Show child attributes
GraphAPIError
errorobject·required Show child attributes
messagestring·required Human-readable error message
typestring·required Error category type
codeinteger·required Numeric error code
error_subcodeinteger More specific error subcode when available
fbtrace_idstring Unique identifier for debugging and support requests with Meta
is_transientboolean Indicates whether this error is temporary and the request should be retried
error_user_titlestring User-friendly error title for display purposes
error_user_msgstring User-friendly error message for display purposes Select language cURLJavaScriptPython

