WhatsApp API Platform
Session Messages

Send Button Message

POST
/api/v1/messages/send#buttons

Send a message with up to 3 quick reply buttons. The recipient taps a button to respond.

Authorization

ApiKeyAuth
X-API-Key<token>

API key from your dashboard (Settings > API Keys)

In: header

Header Parameters

X-AGENT-ID?string

Optional. Attribute this send to a specific agent, overriding the agent bound to the API key. The agent must belong to your account and be active (role AGENT, parent = your account) — otherwise the request returns 400. Drives customer assignment, agent allotment limits, and the wallet ledger entry.

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

curl -X POST "https://loading/api/v1/messages/send#buttons" \  -H "X-AGENT-ID: agt_abc123" \  -H "Content-Type: application/json" \  -d '{    "to": "919876543210",    "message": {      "message_type": "buttons",      "text": "How would you like to proceed?",      "header_text": "Order #12345",      "footer_text": "Reply within 24 hours",      "buttons": [        {          "button_type": "text",          "button_text": "Confirm",          "button_payload": "confirm_order"        },        {          "button_type": "text",          "button_text": "Cancel",          "button_payload": "cancel_order"        }      ]    }  }'
{
  "success": true,
  "data": {
    "id": "clx9abc123def456"
  }
}
{
  "success": false,
  "message": "to field is required"
}
{
  "success": false,
  "message": "user not authenticated"
}
{
  "success": false,
  "message": "insufficient balance to send message"
}
{
  "success": false,
  "message": "internal server error"
}