Send a message with a carousel of cards (header, body, footer and buttons)
Auth:Documentation Index
Fetch the complete documentation index at: https://docs.ryzeapi.cloud/llms.txt
Use this file to discover all available pages before exploring further.
TokenAccount or TokenInstance • Rate-limit: Global (100/min) • Idempotent: no
header (required title, with optional media via imageUrl or videoUrl), body.text (required), an optional footer and a few interactive buttons. Buttons accept four types: REPLY (default, returns the ID when clicked), URL (opens a link), CALL (dials a number) and COPY (copies a code). You can add message (text before the carousel) and footer (text below). Supports delay, replyTo and replyPrivate.
imageUrl in the header and buttons of type URL (the id receives the URL to open).
videoUrl replaces imageUrl in the header. Use one of the two, not both.
messageType is interactive (a carousel is a variation of WhatsApp’s interactive message), and content carries an aggregated description ("<message> - Carousel with N card(s)") used by history. The individual cards do not come back in the response, store the messageId to correlate with clicks via webhook.
REPLY button, the response arrives as a text message containing the id of the clicked button, capture that via webhook to chain the flow.$Instance_Name).TokenAccount or TokenInstance.application/json5511999999999) or JID (@s.whatsapp.net, @lid, @g.us, @newsletter).header, body, footer and buttons (described below).title (string, required), card title.subtitle (string), optional subtitle.imageUrl (string), image URL for the header.videoUrl (string), video URL for the header. Use one of the two media options per card.text (string, required), textual content of the card.displayText (string, required), visible text.id (string, required), semantics vary by type: for REPLY, it is the ID returned when clicked; for URL, the URL to open; for CALL, the number to dial; for COPY, the code to copy.type (string), REPLY (default), URL, CALL or COPY. Other values return 400 Card N, Button M: Type must be one of: REPLY, URL, CALL, COPY.true and replyTo points to a message originating from a group, the carousel is redirected to the original author’s private chat (keeping the quote).crm, bot-suporte, n8n). Saved on the message record and propagated to webhooks.delay is in seconds (not milliseconds).header, choose a single media: either imageUrl or videoUrl. Sending both can result in inconsistent rendering on the client.header.title and body.text; each button needs non-empty displayText and id. Errors are returned with the index (Card N, Button M: ...) to make debugging easier.URL buttons, make sure the link starts with https:// to avoid being blocked by the client.| HTTP | Internal status | Message |
|---|---|---|
| 400 | — | Instance name is required |
| 400 | — | Invalid request body: <detail> |
| 400 | — | Number is required |
| 400 | — | At least one card is required |
| 400 | — | Card N: Header title is required |
| 400 | — | Card N: Body text is required |
| 400 | — | Card N, Button M: Display text is required |
| 400 | — | Card N, Button M: ID is required |
| 400 | — | Card N, Button M: Type must be one of: REPLY, URL, CALL, COPY |
| 400 | invalid_number | Invalid phone number format: <detail> |
| 400 | media_download_failed | (reason for the header media download failure) |
| 404 | — | Instance not found |
| 500 | media_upload_failed | (reason for the header media upload failure) |
| 500 | send_failed | Failed to send carousel: <reason> |
| 503 | disconnected | Instance is not connected to WhatsApp |