Changelog
What's new in WhatsApp Cloud MCP
May 10, 2026
Template endpoints moved under Clients
Template routes are now scoped to a specific client via path parameters:
| Old | New |
|---|---|
GET /api/messaging/templates?client_id= | GET /api/clients/{id}/templates |
GET /api/messaging/templates/{template_id}?client_id= | GET /api/clients/{id}/templates/{template_id} |
POST /api/messaging/templates | POST /api/clients/{id}/templates |
DELETE /api/messaging/templates/{name}?client_id= | DELETE /api/clients/{id}/templates/{name} |
The POST body no longer requires a client_id field — it is taken from the path.
See Templates for full details.
Contact endpoints moved under Clients
Contact routes are now scoped to a specific client via path parameters instead of a client_id query/body field:
| Old | New |
|---|---|
GET /api/messaging/contacts?client_id= | GET /api/clients/{id}/contacts |
GET /api/messaging/get-contact?client_id=&wa_id= | GET /api/clients/{id}/contacts/{wa_id} |
POST /api/messaging/update-contact | PUT /api/clients/{id}/contacts/{wa_id} |
The PUT body is now just { "metadata": { ... } } — client_id and wa_id are taken from the path.
PATCH /api/clients/{id}
New endpoint to update mutable client fields without a full replacement. Send only the fields you want to change:
| Field | Description |
|---|---|
display_name | Human-readable client name |
external_id | Your own reference ID |
webhook_url | Per-client webhook URL (overrides the tenant-level webhook) |
See Clients for full details.
May 6, 2026
New Messaging Endpoints
Three new endpoints expand what you can send through the API:
| Endpoint | Description |
|---|---|
POST /api/messaging/send-product | Send a single product card from your WhatsApp catalog |
POST /api/messaging/send-products | Send a multi-product message with sections |
POST /api/messaging/request-location | Prompt a contact to share their location |
See Messaging for full parameter details and code examples.
send-interactive replaced by send-buttons and send-list
The send-interactive endpoint has been split into two purpose-built endpoints:
| Endpoint | Description |
|---|---|
POST /api/messaging/send-buttons | Send a message with up to 3 quick-reply buttons. Supports text, image, video, or document via the new MessageBody type. |
POST /api/messaging/send-list | Send a list menu with titled sections and rows — ideal for option pickers and menus. |
MessageBody
send-buttons and send-url-button now accept a structured body object. Use the type field to select the content variant:
type | Required fields | Optional fields |
|---|---|---|
text | text | — |
image | image (URL), caption | — |
video | video (URL), caption | — |
document | document (URL), caption | filename |
{
"type": "image",
"image": "https://example.com/banner.jpg",
"caption": "Check out our latest offer"
}tracker field on all messaging endpoints
Every messaging endpoint now accepts an optional tracker string. The value is echoed back in the webhook payload for that message's status events — making it straightforward to correlate API calls with delivery and read confirmations in your own system.
{
"client_id": "uuid",
"to": "1234567890",
"body": "Your order has been shipped!",
"tracker": "order_9982_shipped"
}