REST reference

Numbers

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
}'
REST reference