Send List Message
Send an interactive list message with sections and selectable rows. The recipient picks one item from the list.
Authorization
ApiKeyAuth API key from your dashboard (Settings > API Keys)
In: header
Header Parameters
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#list" \ -H "X-AGENT-ID: agt_abc123" \ -H "Content-Type: application/json" \ -d '{ "to": "919876543210", "message": { "message_type": "interactive_list", "text": "Please select a service", "header_text": "Our Services", "interactive_list": { "title": "Select a service", "sections": [ { "title": "Support", "rows": [ { "id": "billing", "title": "Billing Support", "description": "Help with invoices and payments" }, { "id": "technical", "title": "Technical Support", "description": "Help with product issues" } ] }, { "title": "Sales", "rows": [ { "id": "demo", "title": "Request a Demo" }, { "id": "pricing", "title": "Get Pricing" } ] } ] } } }'{
"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"
}

