WaMCP

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:

OldNew
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/templatesPOST /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:

OldNew
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-contactPUT /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:

FieldDescription
display_nameHuman-readable client name
external_idYour own reference ID
webhook_urlPer-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:

EndpointDescription
POST /api/messaging/send-productSend a single product card from your WhatsApp catalog
POST /api/messaging/send-productsSend a multi-product message with sections
POST /api/messaging/request-locationPrompt 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:

EndpointDescription
POST /api/messaging/send-buttonsSend a message with up to 3 quick-reply buttons. Supports text, image, video, or document via the new MessageBody type.
POST /api/messaging/send-listSend 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:

typeRequired fieldsOptional fields
texttext—
imageimage (URL), caption—
videovideo (URL), caption—
documentdocument (URL), captionfilename
Example — image body
{
  "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.

Example
{
  "client_id": "uuid",
  "to": "1234567890",
  "body": "Your order has been shipped!",
  "tracker": "order_9982_shipped"
}

On this page