> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pilotstatus.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Send carousel

> Sends a carousel of cards, each with text, an optional thumbnail, and its own buttons.



## OpenAPI

````yaml openapi.evolution-v2.json POST /message/sendCarousel/{instance}
openapi: 3.1.0
info:
  title: Evolution V2 Layer
  version: 1.0.0
  description: >-
    Pilot Status API Layer — Evolution V2. Base URL
    `https://pilotstatus.com.br/api/layer/evolution-v2`. Authenticate with the
    `apikey` header (your Pilot Status `ps_` key). Instance/session endpoints
    are NOT available through the layer.
servers:
  - url: https://pilotstatus.com.br/api/layer/evolution-v2
security:
  - apiKey: []
tags:
  - name: Call & Business
  - name: Chat
  - name: Group
  - name: Label
  - name: Message
  - name: Profile
  - name: Settings & Proxy
  - name: Storage (S3)
  - name: Template
paths:
  /message/sendCarousel/{instance}:
    post:
      tags:
        - Message
      summary: Send carousel
      description: >-
        Sends a carousel of cards, each with text, an optional thumbnail, and
        its own buttons.
      operationId: post__message_sendCarousel_instance
      parameters:
        - name: instance
          in: path
          required: true
          schema:
            type: string
          description: The number's display name in the Pilot Status dashboard.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: Recipient phone in E.164 without `+`, or a JID.
                  example: '5511999999999'
                cards:
                  type: array
                  description: Array of card objects (see fields below).
                  items:
                    type: object
                  example:
                    - text: Starter plan
                      thumbnailUrl: https://media.pilotstatus.com.br/starter.png
                      footerText: Best for small teams
                      buttons:
                        - type: url
                          displayText: Learn more
                          url: https://pilotstatus.com.br/starter
                cards[].text:
                  type: string
                  description: Card body text.
                cards[].thumbnailUrl:
                  type: string
                  description: URL of the card thumbnail image.
                cards[].footerText:
                  type: string
                  description: Card footer text.
                cards[].buttons:
                  type: array
                  description: Buttons for the card (same shape as sendButtons).
                  items:
                    type: object
                title:
                  type: string
                  description: Carousel title.
                  example: Featured products
                description:
                  type: string
                  description: Carousel body text.
                  example: Swipe to browse
                footer:
                  type: string
                  description: Carousel footer text.
                  example: Pilot Status
                delay:
                  type: integer
                  description: Delay before sending, in milliseconds.
                everyOne:
                  type: boolean
                  description: Mention everyone in the group.
                mentioned:
                  type: array
                  items:
                    type: string
                  description: Array of numeric strings to mention.
              required:
                - number
      responses:
        '200':
          description: Success — provider-native response body.
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Sent a carousel message (multiple interactive cards). Returns
                  the persisted Baileys messageRaw envelope containing an
                  interactiveMessage with a carouselMessage of cards.
                properties:
                  key:
                    type: object
                    properties:
                      remoteJid:
                        type: string
                      fromMe:
                        type: boolean
                      id:
                        type: string
                  pushName:
                    type: string
                  status:
                    type: string
                    enum:
                      - ERROR
                      - PENDING
                      - SERVER_ACK
                      - DELIVERY_ACK
                      - READ
                      - PLAYED
                  message:
                    type: object
                    properties:
                      interactiveMessage:
                        type: object
                        properties:
                          body:
                            type: object
                            properties:
                              text:
                                type: string
                          footer:
                            type: object
                            properties:
                              text:
                                type: string
                          carouselMessage:
                            type: object
                            properties:
                              cards:
                                type: array
                                description: >-
                                  Carousel cards, each an interactive message
                                  with header, body, footer and native flow
                                  buttons.
                                items:
                                  type: object
                                  properties:
                                    header:
                                      type: object
                                      properties:
                                        hasMediaAttachment:
                                          type: boolean
                                        imageMessage:
                                          type: object
                                          description: >-
                                            Card header image (Baileys
                                            imageMessage).
                                    body:
                                      type: object
                                      properties:
                                        text:
                                          type: string
                                    footer:
                                      type: object
                                      properties:
                                        text:
                                          type: string
                                    nativeFlowMessage:
                                      type: object
                                      properties:
                                        buttons:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              buttonParamsJson:
                                                type: string
                  contextInfo:
                    type:
                      - object
                      - 'null'
                  messageType:
                    type: string
                  messageTimestamp:
                    type: integer
                  instanceId:
                    type: string
                  source:
                    type: string
              example:
                key:
                  remoteJid: 5511999999999@s.whatsapp.net
                  fromMe: true
                  id: 3EB0CAROUSEL99AABBCCDD
                pushName: Você
                status: PENDING
                message:
                  interactiveMessage:
                    body:
                      text: Confira nossos destaques
                    footer:
                      text: Pilot Status
                    carouselMessage:
                      cards:
                        - header:
                            hasMediaAttachment: true
                            imageMessage:
                              url: >-
                                https://mmg.whatsapp.net/v/t62.7118-24/card1_112233445566778899_n.enc
                              mimetype: image/jpeg
                          body:
                            text: |
                              *Produto A*

                              O mais vendido da semana
                          footer:
                            text: R$ 99,90
                          nativeFlowMessage:
                            buttons:
                              - name: cta_url
                                buttonParamsJson: >-
                                  {"display_text":"Comprar","url":"https://loja.example.com/a"}
                        - header:
                            hasMediaAttachment: true
                            imageMessage:
                              url: >-
                                https://mmg.whatsapp.net/v/t62.7118-24/card2_998877665544332211_n.enc
                              mimetype: image/jpeg
                          body:
                            text: |
                              *Produto B*

                              Novidade em estoque
                          footer:
                            text: R$ 149,90
                          nativeFlowMessage:
                            buttons:
                              - name: cta_url
                                buttonParamsJson: >-
                                  {"display_text":"Comprar","url":"https://loja.example.com/b"}
                contextInfo: null
                messageType: interactiveMessage
                messageTimestamp: 1720483920
                instanceId: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d
                source: web
        default:
          description: Error — provider or layer error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  error:
                    type: string
                  message:
                    type: string
                  response:
                    type: object
              example:
                status: 400
                error: Bad Request
                message: Invalid payload
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: apikey
      description: >-
        Your Pilot Status API key (ps_...). Evolution GO also accepts
        `Authorization: Bearer <key>`.

````