> ## Documentation Index
> Fetch the complete documentation index at: https://developer.hubmessage.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Send action buttons

> Send messages with action buttons (URL and call)

## Overview

Sends a message with action buttons to a contact. The `content.type` field must be `INTERACTIVE_ACTION`.

Available button types:

* **URL** — Opens a link when clicked
* **CALL** — Calls a number when clicked

The `header` and `footer` fields are optional.

<Note>
  This endpoint only works when the [conversation window](/en/conversation-window) is open (24 hours).
</Note>


## OpenAPI

````yaml en/messages/openapi-interactive-action.json POST /v1/channels/{channelId}/messages
openapi: 3.1.0
info:
  title: Hub Message - Send Action Buttons
  version: 1.0.0
servers:
  - url: https://api.hubmessage.io
security:
  - bearerAuth: []
paths:
  /v1/channels/{channelId}/messages:
    post:
      tags:
        - Messages
      summary: Send action buttons
      description: Sends a message with action buttons (URL and/or call).
      operationId: sendInteractiveActionMessage
      parameters:
        - name: channelId
          in: path
          required: true
          description: Channel ID
          schema:
            type: string
            example: YOUR_CHANNEL_ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendInteractiveActionRequest'
            examples:
              urlAndCall:
                summary: URL + Call
                value:
                  recipient:
                    identifier: '5511999999999'
                  content:
                    type: INTERACTIVE_ACTION
                    body:
                      message: How can we help?
                    header:
                      message: Hub Message
                    footer:
                      message: Choose an option
                    attachments:
                      - id: '1'
                        title: Visit our website
                        name: URL
                        url: https://www.hubmessage.io
                      - id: '2'
                        title: Contact us
                        name: CALL
                        phones:
                          - '5511999999999'
              urlOnly:
                summary: URL only
                value:
                  recipient:
                    identifier: '5511999999999'
                  content:
                    type: INTERACTIVE_ACTION
                    body:
                      message: Check out our website
                    attachments:
                      - id: '1'
                        title: Visit website
                        name: URL
                        url: https://www.hubmessage.io
      responses:
        '200':
          $ref: '#/components/responses/MessageSuccess'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    SendInteractiveActionRequest:
      type: object
      required:
        - recipient
        - content
      properties:
        recipient:
          type: object
          required:
            - identifier
          properties:
            identifier:
              type: string
              description: Recipient phone number (country code + area code + number)
              example: '5511999999999'
        content:
          type: object
          required:
            - type
            - body
            - attachments
          properties:
            type:
              type: string
              description: Message type
              enum:
                - INTERACTIVE_ACTION
            body:
              type: object
              required:
                - message
              properties:
                message:
                  type: string
                  description: Main message text
            header:
              type: object
              properties:
                message:
                  type: string
                  description: Message title
            footer:
              type: object
              properties:
                message:
                  type: string
                  description: Message footer
            attachments:
              type: array
              description: List of action buttons
              items:
                type: object
                required:
                  - id
                  - title
                  - name
                properties:
                  id:
                    type: string
                    description: Button identifier
                  title:
                    type: string
                    description: Text displayed on the button
                  name:
                    type: string
                    description: Button type
                    enum:
                      - URL
                      - CALL
                  url:
                    type: string
                    description: URL for URL-type buttons
                  phones:
                    type: array
                    description: Phone number for CALL-type buttons
                    items:
                      type: string
    MessageResponse:
      type: object
      properties:
        messageId:
          type: string
          description: Sent message ID
    Error:
      type: object
      properties:
        error:
          type: integer
        message:
          type: string
  responses:
    MessageSuccess:
      description: Message sent successfully
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MessageResponse'
          example:
            messageId: wamid.HBgNNTU0NDk3MDUwNzg1FQIAERgSM0
    Unauthorized:
      description: Invalid or missing token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: 401
            message: Unauthorized
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Secret Key generated in the Hub Message Security panel

````