Send a list menu
POST /v1/messages/list — a tappable menu grouped into sections.
Notes
Limits, all enforced before the message leaves us:row_idis what identifies the row someone picked. Two rows sharing an id would make the selection unreadable, so duplicates are rejected.- Omit a row’s
descriptionentirely rather than sending""— an empty string is not accepted.
Example
The response
Successful responses on this endpoint carry two extra fields:Authorizations
Your API key, sent in an apikey request header. Never in the URL, never as a Bearer token.
Body
Which of your connected numbers to send FROM. Copy it from your numbers screen in the portal, or from GET /v1/instances. It must belong to your account.
"3f9c1a2b-7d4e-4c81-9f0a-2b6d5e8c1a34"
The recipient, with country code and no leading zero — for example 919876543210. Spaces, dashes, brackets and a leading + are accepted and stripped; 6 to 15 digits must remain.
"919876543210"
Heading of the message.
1 - 1024"Book an appointment"
Label on the button that opens the menu. Up to 24 characters.
1 - 24"View slots"
1 to 10 sections, and no more than 30 rows in total across all of them.
1 - 10 elementsBody text under the title.
1024"Pick a time that suits you"
Small print under the menu. Up to 60 characters.
60Send this message as a reply, quoting an earlier one. Use the data.message_id returned by a previous send.
128"3EB0C1D2F4A5B6C7D8E9"
Set true when the quoted message is one you sent from this number. Only valid together with quoted_message_id.

