# Interactive media carousel messages | Developer Documentation

<div id="bkmrk-interactive-media-ca">## Interactive media carousel messages

<div><span>Updated: Dec 22, 2025</span></div><div>Interactive media carousel messages display a set of horizontally scrollable media cards. Each card can display an image or video header, body text, and either quick-reply buttons or a URL button.</div><div>For example, this is an interactive media card carousel message showing three cards in a scrollable area (highlighted by a dotted rectangle), each with an image header, body text, and URL button:</div><div>![](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-uapyfjqo.png)</div><div>This is the same message, but using quick-reply buttons instead of URL buttons:</div><div>![](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-ysgvfdzr.png)</div><div id="bkmrk-components"><div id="bkmrk-components-1"><div>### Components

</div></div></div>
<span>Messages must include between 2 and 10 cards.</span><span>Main message body text is required.</span><span>Main message headers, footers, and interactive components are not supported.</span><span>Cards must include either an image or video header. Other header types are not supported.</span><span>Card body text is optional.</span><span>Cards must include either one URL button, or one or more quick-reply buttons. Button types and numbers must match across all cards (for example, if you define a card with 2 quick-reply buttons, all cards must define exactly 2 quick-reply buttons).</span><div id="bkmrk-request-parameters"><div id="bkmrk-request-parameters-1"><div>### Request parameters

</div></div></div><div><table><thead><tr><th><span>Placeholder</span></th><th><span>Description</span></th><th><span>Example value</span></th></tr></thead><tbody><tr><td><div>`<ACCESS_TOKEN>`  
  
*String*</div></td><td><div>**Required.**  
  
Access token.</div></td><td><div>`EAAJB...`</div></td></tr><tr><td><div>`<API_VERSION>`  
  
*String*</div></td><td><div>**Optional.**  
  
API version.</div></td><td><div>`v23.0`</div></td></tr><tr><td><div>`<BUSINESS_PHONE_NUMBER_ID>`  
  
*Integer*</div></td><td><div>**Required.**  
  
Business phone number ID.</div></td><td><div>`106540352242922`</div></td></tr><tr><td><div>`<CARD_BODY_TEXT>`  
  
*String*</div></td><td><div>**Optional.**  
  
Card body text. Max 160 characters, and up to 2 line breaks.</div></td><td><div>`*Blue Echeveria*\n\nA rosette-shaped succulent with powdery blue leaves, perfect for brightening up any space.`</div></td></tr><tr><td><div>`<CARD_INDEX>`  
  
*Integer*</div></td><td><div>**Required.**  
  
Zero-index card index. Cards will appear left to right in scrollable view, starting from 0.</div></td><td><div>`0`</div></td></tr><tr><td><div>`<HEADER_TYPE>`  
  
*String*</div></td><td><div>**Required.**  
  
Header type. Value can be:   
  
`image` - Indicates a card image header.   
  
`video` - Indicates a card video header.   
  
See [Supported media types](/books/meta-whatsapp/page/media-developer-documentation).</div></td><td><div>`image`</div></td></tr><tr><td><div>`<MEDIA_ASSET_URL>`  
  
*String*</div></td><td><div>**Required.**  
  
Publicly available media asset URL.</div></td><td><div>`https://www.luckyshrub.com/assets/blue-echeveria.jpeg`</div></td></tr><tr><td><div>`<MESSAGE_BODY_TEXT>`  
  
*String*</div></td><td><div>**Required.**  
  
Main message body text. Maximum 1024 characters.</div></td><td><div>`Of course! Here are three of our latest arrivals, each under $25:`</div></td></tr><tr><td><div>`<QUICK_REPLY_BUTTON_ID>`  
  
*String*</div></td><td><div>**Required if using a quick-reply button.**  
  
Quick-reply button ID. Maximum 256 characters.</div></td><td><div>`learn-blue-echeveria`</div></td></tr><tr><td><div>`<QUICK_REPLY_BUTTON_LABEL>`  
  
*String*</div></td><td><div>**Required if using a quick-reply button.**  
  
Quick-reply button label text. Maximum 20 characters.</div></td><td><div>`Learn more`</div></td></tr><tr><td><div>`<URL_BUTTON_LABEL>`  
  
*String*</div></td><td><div>**Required if using a URL button.**  
  
URL button label text. Maximum 20 characters.</div></td><td><div>`Buy now`</div></td></tr><tr><td><div>`<URL_BUTTON_URL>`  
  
*String*</div></td><td><div>**Required if using a URL button.**  
  
URL to load in the device's default web browser when tapped by the user.</div></td><td><div>`https://shop.luckyshrub.com/latest/blue-echeveria`</div></td></tr><tr><td><div>`<USER_PHONE_NUMBER>`  
  
*String*</div></td><td><div>**Required.**  
  
WhatsApp user phone number.</div></td><td><div>`16505551234`</div></td></tr></tbody></table>

</div></div>