> ## 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 buttons

> Sends an interactive buttons message. Each button `type` is one of `reply`, `copy`, `url`, `call`, `pix`.



## OpenAPI

````yaml openapi.evolution-v2.json POST /message/sendButtons/{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/sendButtons/{instance}:
    post:
      tags:
        - Message
      summary: Send buttons
      description: >-
        Sends an interactive buttons message. Each button `type` is one of
        `reply`, `copy`, `url`, `call`, `pix`.
      operationId: post__message_sendButtons_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'
                buttons:
                  type: array
                  description: Array of button objects (see fields below).
                  items:
                    type: object
                  example:
                    - type: reply
                      displayText: Talk to sales
                      id: sales
                    - type: url
                      displayText: Visit site
                      url: https://pilotstatus.com.br
                    - type: call
                      displayText: Call us
                      phoneNumber: '5511967435133'
                buttons[].type:
                  type: string
                  description: 'Button type: `reply`, `copy`, `url`, `call`, or `pix`.'
                buttons[].displayText:
                  type: string
                  description: Text shown on the button.
                buttons[].id:
                  type: string
                  description: Button id (for `reply`).
                buttons[].url:
                  type: string
                  description: URL to open (for `url`).
                buttons[].phoneNumber:
                  type: string
                  description: Phone number to call (for `call`).
                buttons[].currency:
                  type: string
                  description: Currency (for `pix`).
                buttons[].name:
                  type: string
                  description: Merchant/key name (for `pix`).
                buttons[].keyType:
                  type: string
                  description: 'Pix key type: `phone`, `email`, `cpf`, `cnpj`, `random`.'
                buttons[].key:
                  type: string
                  description: Pix key value (for `pix`).
                title:
                  type: string
                  description: Message title.
                  example: How can we help?
                description:
                  type: string
                  description: Message body text.
                  example: Choose an option below
                footer:
                  type: string
                  description: Footer text.
                  example: Pilot Status
                thumbnailUrl:
                  type: string
                  description: URL of a thumbnail image.
                delay:
                  type: integer
                  description: Delay before sending, in milliseconds.
                quoted:
                  type: object
                  description: Message to quote/reply to (`key`, `message`).
                everyOne:
                  type: boolean
                  description: Mention everyone in the group.
                mentioned:
                  type: array
                  items:
                    type: string
                  description: Array of numeric strings to mention.
              required:
                - number
                - buttons[].type
      responses:
        '200':
          description: Success — provider-native response body.
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Sent an interactive buttons message. Returns the persisted
                  Baileys messageRaw envelope containing an interactiveMessage
                  with a nativeFlowMessage of buttons.
                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
                          nativeFlowMessage:
                            type: object
                            properties:
                              buttons:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      description: >-
                                        Native flow button type, e.g.
                                        'quick_reply', 'cta_url', 'cta_call',
                                        'cta_copy', 'review_and_pay'.
                                    buttonParamsJson:
                                      type: string
                                      description: JSON-encoded button parameters.
                              messageParamsJson:
                                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: 3EB0BTN8899AABBCCDDEE
                pushName: Você
                status: PENDING
                message:
                  interactiveMessage:
                    body:
                      text: |
                        *Confirme seu pedido*

                        Pedido #1234 no valor de R$ 49,90
                    footer:
                      text: Pilot Status
                    nativeFlowMessage:
                      buttons:
                        - name: quick_reply
                          buttonParamsJson: '{"display_text":"Confirmar","id":"confirm_1234"}'
                        - name: quick_reply
                          buttonParamsJson: '{"display_text":"Cancelar","id":"cancel_1234"}'
                      messageParamsJson: >-
                        {"from":"api","templateId":"b3f2c1a0-9e8d-4c7b-a6f5-1d2e3f4a5b6c"}
                contextInfo: null
                messageType: interactiveMessage
                messageTimestamp: 1720483860
                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>`.

````