# WhatsApp Business Management - Add Phone Numbers API | Developer Documentation

<div id="bkmrk-whatsapp-business-ma"><div><div>## WhatsApp Business Management - Add Phone Numbers API

<div><div><div><span>Copy for LLM</span></div></div><div>[<span>View as Markdown</span>](/books/meta-whatsapp/page/whatsapp-business-management-add-phone-numbers-api-developer-documentation)</div></div></div><div><div>Version</div></div><div><div><div><div><div><div><span><span>API for adding phone numbers to a WhatsApp Business Account.</span></span></div></div><div><div><span><span>This endpoint allows businesses to add phone numbers to their WhatsApp Business Account</span></span></div></div><div><div><span><span>for messaging purposes.</span></span></div></div></div></div></div></div></div><div><div>---

<div><div><div id="bkmrk-post-%2F%7Bversion%7D%2F%7Bbus"><div id="bkmrk-post-%2F%7Bversion%7D%2F%7Bbus-1"><div>### POST /{Version}/{Business-ID}/add\_phone\_numbers

</div></div></div><div><div><div><div><div><div><span><span>Add a preverified phone number to a WhatsApp Business Account. This endpoint is used by</span></span></div></div><div><div><span><span>Partners to create a pool of Partner owned numbers that end clients</span></span></div></div><div><div><span><span>can purchase.</span></span></div></div><div><div><span><span>Use Cases:</span></span></div></div><div><span><span>Add new phone numbers to scale messaging operations</span></span></div><div><span><span>Set up phone numbers for different business locations</span></span></div><div><span><span>Manage phone number inventory for business messaging</span></span></div><div><span><span>Configure phone numbers for specific messaging workflows</span></span></div><div><div><span><span>Rate Limiting:</span></span></div></div><div><div><span><span>Standard Graph API rate limits apply. Use appropriate retry logic with exponential backoff.</span></span></div></div><div><div><span><span>Phone Number Requirements:</span></span></div></div><div><span><span>Must be in E.164 format (e.g., +1234567890)</span></span></div><div><span><span>Must not be already registered to another WhatsApp Business Account</span></span></div><div><span><span>Must be capable of receiving SMS for verification</span></span></div><div><span><span>Must comply with WhatsApp's business messaging policies</span></span></div></div></div></div></div>#### Request Syntax

<div><div><div><div><div><div><span>Try it</span></div></div></div></div></div></div><div><div><div><div><div><div><div>Select language</div></div></div></div>---

</div><div><div><div><div><div><div>Select status code</div></div></div></div>---

</div></div></div></div><div><span>Header Parameters</span>---

<div><div><span>User-Agent</span><span>string</span></div><div><div><div><div><div><div><span><span>The user agent string identifying the client software making the request.</span></span></div></div></div></div></div></div></div><div><div><span>Authorization</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Bearer token for API authentication. This should be a valid access token obtained through the appropriate OAuth flow or system user token.</span></span></div></div></div></div></div></div></div></div><div><span>Path Parameters</span>---

<div><div><span>Version</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Graph API version to use for this request. Determines the API behavior and available features.</span></span></div></div></div></div></div></div></div><div><div><span>Business-ID</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Your WhatsApp Business Account ID. This ID can be found in your Business Manager</span></span></div></div><div><div><span><span>or through business management APIs.</span></span></div></div></div></div></div></div></div></div><div><span>Required</span>---

<div><div><div><div><div><div><span><span>Phone number to add to the business account</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>AddPhoneNumbersRequest</span></div><div><div><div id="bkmrk-show-child-attribute"><div><span>Show child attributes</span></div></div><div id="bkmrk-addphonenumbersreque"><div>---

<div><span>AddPhoneNumbersRequest</span></div><div>---

<div><div><span>phone\_number</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Phone number to add to the business account. Accepts E.164 format or formatted numbers</span></span></div></div><div><div><span><span>with spaces, hyphens, and parentheses (e.g., +1234567890, +1 (631) 555-1000, +1-631-555-1000).</span></span></div></div><div><div><span><span>The phone number will be normalized and validated by the endpoint.</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>Responses</span>---

<div><div><div><div><div><div><span><span>Add a preverified phone number to a WhatsApp Business Account. This endpoint is used by</span></span></div></div><div><div><span><span>Partners to create a pool of Partner owned numbers that end clients</span></span></div></div><div><div><span><span>can purchase.</span></span></div></div><div><div><span><span>Use Cases:</span></span></div></div><div><span><span>Add new phone numbers to scale messaging operations</span></span></div><div><span><span>Set up phone numbers for different business locations</span></span></div><div><span><span>Manage phone number inventory for business messaging</span></span></div><div><span><span>Configure phone numbers for specific messaging workflows</span></span></div><div><div><span><span>Rate Limiting:</span></span></div></div><div><div><span><span>Standard Graph API rate limits apply. Use appropriate retry logic with exponential backoff.</span></span></div></div><div><div><span><span>Phone Number Requirements:</span></span></div></div><div><span><span>Must be in E.164 format (e.g., +1234567890)</span></span></div><div><span><span>Must not be already registered to another WhatsApp Business Account</span></span></div><div><span><span>Must be capable of receiving SMS for verification</span></span></div><div><span><span>Must comply with WhatsApp's business messaging policies</span></span></div></div></div></div></div><div><span>200</span><div><div><div><div><div><div><span><span>Phone number successfully added</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>AddPhoneNumbersResponse</span></div><div><div><div id="bkmrk-show-child-attribute-1"><div><span>Show child attributes</span></div></div><div id="bkmrk-addphonenumbersrespo"><div>---

<div><span>AddPhoneNumbersResponse</span></div><div>---

<div><div><span>id</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Unique identifier for the preverified phone number entity that was created</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>400</span><div><div><div><div><div><div><span><span>Bad Request - Invalid parameters, malformed request, or phone number already registered</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-2"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-3"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>401</span><div><div><div><div><div><div><span><span>Unauthorized - Invalid or missing access token</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-4"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-1"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-5"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-1"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>403</span><div><div><div><div><div><div><span><span>Forbidden - Insufficient permissions or access denied</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-6"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-2"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-7"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-2"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>404</span><div><div><div><div><div><div><span><span>Not Found - Business ID does not exist or is not accessible</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-8"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-3"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-9"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-3"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>422</span><div><div><div><div><div><div><span><span>Unprocessable Entity - Request parameters are valid but cannot be processed</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-10"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-4"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-11"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-4"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>429</span><div><div><div><div><div><div><span><span>Too Many Requests - Rate limit exceeded</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-12"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-5"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-13"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-5"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>500</span><div><div><div><div><div><div><span><span>Internal Server Error - Unexpected server error</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-14"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-6"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-15"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-6"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><div><div><div><div><div><div>Select language</div></div></div></div>---

</div><div><div><div><div><div><div>Select status code</div></div></div></div>---

</div></div></div></div></div></div></div><div><div id="bkmrk-authentication"><div id="bkmrk-authentication-1"><div>### Authentication

</div></div></div><div><table><tbody><tr><td><div>**Scheme**</div></td><td><div>**Type**</div></td><td><div>**Location**</div></td></tr><tr><td><div><div><div><div><div><div><div><span><span>bearerAuth</span></span></div></div></div></div></div></div></div></td><td><div><div><div><div><div><div><div><span><span>HTTP Bearer</span></span></div></div></div></div></div></div></div></td><td><div><div><div><div><div><div><div><span><span>Header: </span></span>`<span><span>Authorization</span></span>`</div></div></div></div></div></div></div></td></tr></tbody></table>

</div><div>#### Usage Examples

<div><span>bearerAuth:</span><div><div><div><div><div><div><span><span>Include </span></span>`<span><span>Authorization: Bearer your-token-here</span></span>`<span><span> in request headers</span></span></div></div></div></div></div></div></div></div><div>#### Global Authentication Requirements

<div><span>All endpoints require:</span><div><div><div><div><div><div><span><span>bearerAuth</span></span></div></div></div></div></div></div></div></div></div></div>