API reference
Phone numbers API
Listing your numbers and setting the inbound webhook URL.
Two endpoints. The first tells you the phoneNumberId that every other endpoint asks for; the second decides where inbound messages are delivered.
Listing your numbers
Lists the WhatsApp numbers on your account, newest first.
Parameters: none.
Response 200, array of
| Field | Required | Type | Description |
|---|---|---|---|
| phoneNumberId | Yes | string | Meta's phone number id, the value every other endpoint means by phoneNumberId. Not the phone number itself. Example: 1030974986765331 |
| displayPhoneNumber | Yes | string | The number in display form. Example: +15556052643 |
| verifiedName | Yes | string | The business display name Meta approved. |
| qualityRating | No | string | null | GREEN, YELLOW, RED or UNKNOWN. A rating that has fallen to RED means Meta is throttling the number, and marketing sends are the usual cause. |
[
{
"phoneNumberId": "1030974986765331",
"displayPhoneNumber": "+15556052643",
"verifiedName": "My Business",
"qualityRating": "GREEN"
}
]An empty array means no number is linked. Link one in the dashboard, and register it on the Cloud API, before sending anything, an unregistered number fails every send with Meta error 133010.
Errors: 401, 429.
Setting the inbound webhook
Sets or clears the URL the platform POSTs inbound messages to for this number. One URL per number.
Path parameters
| Field | Required | Type | Description |
|---|---|---|---|
| phoneNumberId | Yes | string | Meta phone number id. |
Body parameters
| Field | Required | Type | Description |
|---|---|---|---|
| webhookUrl | No | string | null | HTTPS URL to receive inbound messages. null disables forwarding. Optional to the schema, read the warning below before relying on that.Default: null |
curl -X PATCH https://whatsapp-api.growcord.in/api/v1/phones/1030974986765331/webhook \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{ "webhookUrl": "https://your-server.com/wa/inbound/9f2c1e7b4a8d" }'To turn forwarding off, send the field explicitly rather than an empty body:
{ "webhookUrl": null }Response 200
| Field | Required | Type | Description |
|---|---|---|---|
| success | Yes | boolean | Always true. The response does not echo the URL back. |
{ "success": true }Errors. 404 when the number is not on this account:
{ "error": "Phone number not found" }