---
title: "Send Whatsapp Interactive Media Carousel Message"
method: POST
path: "/whatsapp/message/interactive/media-carousel"
tags: ["Outgoing Messages"]
---

# Send Whatsapp Interactive Media Carousel Message

`POST /whatsapp/message/interactive/media-carousel`

Send a WhatsApp interactive media carousel message — 2-10 cards, each with an image or video header, optional body text, and either a single URL button (cta_url) or one or more quick-reply buttons. All cards must use the same button type and same number of buttons.

## Request body

- SendWhatsappInteractiveMediaCarouselMessageDto
  - `from` string, phone, required — The phone number from which the message is sent, with the country code
  - `to` string, phone, required — The phone number to which the message is sent, with the country code
  - `messageId` string — Message ID (UUID v4) to be used for the message. If not provided, a random UUID v4 will be generated
  - `content` SendInteractiveMediaCarouselContentDto, required
    - `body` SendInteractiveMediaCarouselBodyDto, required
      - `text` string, required — Main message body text shown above the carousel. Max 1024 characters.
    - `cards` CarouselCardDto[], required — Cards to display in the carousel. Min 2, max 10. All cards must use the same button type and same number of buttons.
      - `header` CarouselCardHeaderDto, required
        - `type` 'image' | 'video', required — Header type. Only image or video are supported on carousel cards.
        - `image` CarouselCardHeaderMediaDto
          - `link` string, required — Publicly accessible URL of the card header media (must be a `link`; uploaded media `id` is not accepted by Meta for carousel cards).
        - `video` CarouselCardHeaderMediaDto
          - `link` string, required — Publicly accessible URL of the card header media (must be a `link`; uploaded media `id` is not accepted by Meta for carousel cards).
      - `body` CarouselCardBodyDto
        - `text` string, required — Card body text. Max 160 characters and up to 2 line breaks.
      - `action` CarouselCardActionDto, required
        - `type` 'cta_url' | 'quick_reply', required — Action type. Use `cta_url` for a single URL button or `quick_reply` for one or more quick-reply buttons.
        - `name` 'cta_url' — Required when type is `cta_url`. Always the literal `cta_url`.
        - `parameters` CarouselCardCtaUrlParametersDto
          - `display_text` string, required — Visible URL button label. Max 20 chars.
          - `url` string, required — URL the button opens.
        - `buttons` CarouselCardQuickReplyButtonDto[] — Required when type is `quick_reply`. 1-2 quick-reply buttons.
          - `id` string, required — Quick-reply button id. Max 256 chars.
          - `title` string, required — Quick-reply button label. Max 20 chars.

## Response `201`

## Other responses

- `400` — Incorrect payload
- `401` — Unauthorized

---

[API](https://skmtc.net/doubletick/apis/doubletick-public-apis.md) · [All operations](https://skmtc.net/doubletick/apis/doubletick-public-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/doubletick/doubletick-public-apis/revisions/bba484527d34/schema)
