Messages

Send a hydrated four-row template message

Sends a hydrated template message with an optional header (text or image), body, footer, and up to three CTA buttons (quick_reply, url, or call) through the authenticated WUTS device session. WUTS uploads inline or remote header images and fires the message.sent webhook on success.

POST
/send/template

Sends a hydrated template message with an optional header (text or image), body, footer, and up to three CTA buttons (quick_reply, url, or call) through the authenticated WUTS device session. WUTS uploads inline or remote header images and fires the message.sent webhook on success.

Authorization

bearerAuth
AuthorizationBearer <token>

Per-user API token (UUID v4) sent as Authorization: Bearer <token>. Identifies the tenant and user.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/send/template" \  -H "Content-Type: application/json" \  -d '{    "number": "5511999999999",    "body": "Your order #4821 is ready for pickup.",    "footer": "WUTS Store",    "header": {      "type": "text",      "text": "Order update"    },    "buttons": [      {        "type": "quick_reply",        "text": "Track order",        "id": "track_4821"      },      {        "type": "url",        "text": "Open store",        "url": "https://store.example.com/orders/4821"      },      {        "type": "call",        "text": "Call us",        "phone_number": "5511988887777"      }    ],    "delay": 0  }'
{  "success": true,  "message_id": "3EB0XXXXAABBCCDDEEFF0011",  "timestamp": "2026-06-15T14:36:30Z",  "status": "sent",  "chat_jid": "5511999999999@s.whatsapp.net"}
{  "success": false,  "error": "validation failed",  "error_code": "VALIDATION_ERROR",  "timestamp": "2026-06-15T14:36:30Z",  "validation": [    {      "field": "body",      "message": "body cannot be empty"    }  ]}
{  "error": "unauthorized"}
{  "success": false,  "error": "failed to acquire WhatsApp device",  "error_code": "DEVICE_ERROR",  "timestamp": "2026-06-15T14:36:30Z"}
{  "success": false,  "error": "failed to send template message",  "error_code": "SEND_FAILED",  "timestamp": "2026-06-15T14:36:30Z"}
{  "success": false,  "error": "whatsapp session is not connected",  "error_code": "DEVICE_DISCONNECTED",  "timestamp": "2026-06-15T14:36:30Z"}