Messages
Send List
Send an interactive menu with sections and selectable options
POST
Send List
Auth:
TokenAccount or TokenInstance • Rate-limit: Global (100/min) • Idempotent: no
Description
Sends an interactive list with up to 10 sections and 10 rows per section (overall limit of 100 rows across all sections). The recipient taps the button (buttonText) to open the menu and pick one of the options, and WhatsApp returns the id of the selected row as a reply message. Ideal for menus, short catalogs, guided FAQs and structured support.
Examples
Simple list (1 section)
A lean menu with a single “Dishes” section and two rows. The recipient taps “See options” to open the menu and select one of the options, which comes back as a reply carrying theid (p1 or p2).
Multi-section menu (categories)
A list with multiple categories grouped into sections. Each section is rendered with its own header inside the menu, visually separating the groups.List with header and footer
AddsheaderText (title above the body) and footerText (text in gray below the button), useful for branding and short disclaimers.
Success response
The returnedcontent is the contentText you sent, and messageType is fixed at list. Store the messageId to correlate with the selection events that arrive via webhook.
200 OK
When the recipient picks an option, WhatsApp sends a reply message containing the
id of the selected row, capture that response via webhook/websocket of events to continue the flow.Path parameters
string
required
Instance name (e.g.,
$Instance_Name).Headers
string
required
TokenAccount or TokenInstance.string
required
application/jsonRequest body
string
required
Destination: phone (
5511999999999) or JID (@s.whatsapp.net, @lid, @g.us, @newsletter).string
required
Main body of the message (description). Appears above the button that opens the list.
string
required
Text of the button that opens the list (e.g.,
"See options", "Open menu"). Limited by WhatsApp to a few characters.ListSection[]
required
Array of 1 to 10 sections. The total number of rows across all sections cannot exceed 100.
string
Title displayed above
contentText. Optional.Light gray text below the button. Optional, ideal for short disclaimers.
int
default:"0"
Time in seconds to wait before sending. During the interval, the server sends the “typing…” indicator to the recipient and fires “paused” before the actual send.
string
ID of the message to be quoted (reply). The original message must belong to the same instance and have been saved in the database.
boolean
default:"false"
When
true and replyTo points to a message originating from a group, the reply is redirected to the original author’s private chat (keeping the quote).string
default:"api"
Origin identifier for traceability (e.g.,
crm, bot-suporte, n8n). Saved on the message record in the database and propagated to webhooks.Notes
- WhatsApp limits: maximum of 10 sections, 10 rows per section and 100 rows in total. Exceeded? The server responds with
400before attempting to send. - The row selected by the user is returned through the message event as a reply carrying the original
id, capture this via webhook to map the choice. - Lists work well in DMs, groups and channels, but the UX may vary between WhatsApp Business and personal WhatsApp.
descriptionis optional per row, but greatly improves readability when the title alone is ambiguous.
Errors
Error envelope: