The Numbers routes. Every body is JSON, and an error always comes back as an object with a code and a message.
GET
/v1/numbers
List connected numbers
All WhatsApp numbers connected to the account, oldest first, with the status Meta reports for each one (quality rating, messaging limit, throughput, health). Numbers are connected in the developer console through Meta's Embedded Signup; there is no API to connect one.
Response (object[])
- idstringRequired
- Zaiped id (whatsappConnections)
- status"active" | "incomplete" | "needs_reauth"Required
- phoneNumberIdstringRequired
- wabaIdstringRequired
- displayPhoneNumberstring
- verifiedNamestring
- qualityRatingstring
- messagingLimitstring
- throughputLevelstring
- healthStatusstring
- nameStatusstring
- isOfficialAccountboolean
- isOnBizAppboolean
- lastNoticeobject
- lastSyncedAtnumber
curl -X GET "https://zaiped.com/v1/numbers" \
-H "Authorization: Bearer zp_..."
GET
/v1/numbers/{numberId}
Get a connected number
Path parameters
- numberIdstringRequired
- The number id, as returned by list_numbers.
Response (object)
- idstringRequired
- Zaiped id (whatsappConnections)
- status"active" | "incomplete" | "needs_reauth"Required
- phoneNumberIdstringRequired
- wabaIdstringRequired
- displayPhoneNumberstring
- verifiedNamestring
- qualityRatingstring
- messagingLimitstring
- throughputLevelstring
- healthStatusstring
- nameStatusstring
- isOfficialAccountboolean
- isOnBizAppboolean
- lastNoticeobject
- lastSyncedAtnumber
curl -X GET "https://zaiped.com/v1/numbers/YOUR_NUMBER_ID" \
-H "Authorization: Bearer zp_..."
GET
/v1/numbers/{numberId}/profile
Get the business profile
The WhatsApp Business profile of the number, read live from Meta.
Path parameters
- numberIdstringRequired
- The number id, as returned by list_numbers.
Response (object)
- aboutstringRequired
- addressstringRequired
- descriptionstringRequired
- emailstringRequired
- websitesstring[]Required
- verticalstringRequired
- pictureUrlstring
curl -X GET "https://zaiped.com/v1/numbers/YOUR_NUMBER_ID/profile" \
-H "Authorization: Bearer zp_..."
PUT
/v1/numbers/{numberId}/profile
Update the business profile
Replaces the profile fields. Send every field: an empty string clears it (except `about`, which Meta keeps when empty). The picture is changed in the console.
Path parameters
- numberIdstringRequired
- The number id, as returned by list_numbers.
Request body
- aboutstringRequired
- addressstringRequired
- descriptionstringRequired
- emailstringRequired
- websitesstring[]Required
- verticalstringRequired
Response (object)
- oktrueRequired
curl -X PUT "https://zaiped.com/v1/numbers/YOUR_NUMBER_ID/profile" \
-H "Authorization: Bearer zp_..." \
-H "Content-Type: application/json" \
-d '{
"about": "…",
"address": "…",
"description": "…",
"email": "…",
"websites": [],
"vertical": "…"
}'GET
/v1/numbers/{numberId}/automation
Get conversational components
Welcome message, ice-breaker prompts and slash commands (Meta's conversational automation).
Path parameters
- numberIdstringRequired
- The number id, as returned by list_numbers.
Response (object)
- welcomeEnabledbooleanRequired
- promptsstring[]Required
- commandsobject[]Required
curl -X GET "https://zaiped.com/v1/numbers/YOUR_NUMBER_ID/automation" \
-H "Authorization: Bearer zp_..."
PUT
/v1/numbers/{numberId}/automation
Update conversational components
Replaces the whole configuration: Meta substitutes, it does not merge.
Path parameters
- numberIdstringRequired
- The number id, as returned by list_numbers.
Request body
- welcomeEnabledbooleanRequired
- promptsstring[]Required
- commandsobject[]Required
Response (object)
- oktrueRequired
curl -X PUT "https://zaiped.com/v1/numbers/YOUR_NUMBER_ID/automation" \
-H "Authorization: Bearer zp_..." \
-H "Content-Type: application/json" \
-d '{
"welcomeEnabled": true,
"prompts": [],
"commands": []
}'GET
/v1/numbers/{numberId}/qr-codes
List QR codes
Path parameters
- numberIdstringRequired
- The number id, as returned by list_numbers.
Response (object[])
- codestringRequired
- messagestringRequired
- deepLinkstringRequired
- imageUrlstring
curl -X GET "https://zaiped.com/v1/numbers/YOUR_NUMBER_ID/qr-codes" \
-H "Authorization: Bearer zp_..."
POST
/v1/numbers/{numberId}/qr-codes
Create a QR code with a prefilled message
Path parameters
- numberIdstringRequired
- The number id, as returned by list_numbers.
Request body
- messagestringRequired
Response (object)
- codestringRequired
- messagestringRequired
- deepLinkstringRequired
- imageUrlstring
curl -X POST "https://zaiped.com/v1/numbers/YOUR_NUMBER_ID/qr-codes" \
-H "Authorization: Bearer zp_..." \
-H "Content-Type: application/json" \
-d '{
"message": "…"
}'DELETE
/v1/numbers/{numberId}/qr-codes/{code}
Delete a QR code
Path parameters
- numberIdstringRequired
- The number id, as returned by list_numbers.
- codestringRequired
- The QR code, as returned by list_qr_codes.
Response (object)
- oktrueRequired
curl -X DELETE "https://zaiped.com/v1/numbers/YOUR_NUMBER_ID/qr-codes/YOUR_CODE" \
-H "Authorization: Bearer zp_..."
GET
/v1/numbers/{numberId}/calling
Get voice calling settings
Path parameters
- numberIdstringRequired
- The number id, as returned by list_numbers.
Response (object)
- enabledbooleanRequired
- iconVisiblebooleanRequired
curl -X GET "https://zaiped.com/v1/numbers/YOUR_NUMBER_ID/calling" \
-H "Authorization: Bearer zp_..."
PUT
/v1/numbers/{numberId}/calling
Enable or disable voice calling
Turns the WhatsApp Calling API on or off for the number. Calls themselves are placed from a browser (WebRTC) and have no REST route.
Path parameters
- numberIdstringRequired
- The number id, as returned by list_numbers.
Request body
- enabledbooleanRequired
Response (object)
- oktrueRequired
curl -X PUT "https://zaiped.com/v1/numbers/YOUR_NUMBER_ID/calling" \
-H "Authorization: Bearer zp_..." \
-H "Content-Type: application/json" \
-d '{
"enabled": true
}'