POST /send/interactive sends WhatsApp native-flow messages through the selected device. Use Basic Auth, X-Device-Id, and a JSON body. This endpoint supports immediate REST sends. Scheduled sends and MCP do not expose it.
Set the server URL and credentials before running the curl examples. Use the public HTTPS URL for a remote server and include APP_BASE_PATH when configured.
Send buttons
phone accepts a phone number or a full user or group JID. Group sends require membership and posting permission. Newsletter and broadcast recipients are not supported.
Provide either top-level buttons or cards. Supplying both, or neither, fails validation.
For a selection list, use these parameters:
Request a location
/send/interactive. The recipient must choose to share a location. The endpoint does not retrieve a location without their action.
Send an image carousel
Request limits
The server’s overall HTTP request body limit also applies. Use small images when sending several cards. Invalid choices or sizes return a validation error before sending.
Handle replies and receipts
Successful sends return the normal success envelope withresults.message_id and a status that says recipient rendering is unverified. Use incoming webhooks for replies and message.ack events for receipts. Retrying after an ambiguous timeout can duplicate messages.
Downstream Android tests reported working reply, URL, copy, call, selection, location, and carousel actions. Those reports do not establish compatibility across accounts, iOS, or WhatsApp Web. Individual carousel cards can show pending icons even when the parent message has checkmarks and the recipient can reply. That issue remains unresolved.
The endpoint does not register official templates or support inline Flows, catalogs, or native payments.