Skip to main content
POST

Payload Structure

  • title (optional): Title displayed above the option list.
  • buttonText (optional): Button object that opens the list. Supports the fields:
    • type: button content type (defaults to "text").
    • text: visible button label (defaults to "Options").
  • options[] (required): List of selectable options. Each option supports:
    • id (optional): Stable identifier returned when the user selects the option. If omitted, a UUID is generated automatically.
    • title (required): Visible option text.
    • description (optional): Secondary text shown below the title.

Restrictions

  • Options: Minimum 1, maximum 10 options per message
  • Option Title: Maximum 24 characters
  • Option Description: Maximum 72 characters
  • Button Text (buttonText.text): Defaults to “Options” if not specified

Use Cases

  • Creating navigation menus
  • Providing multiple-choice options
  • Guiding users through a flow
  • Collecting structured responses

Authorizations

Authorization
string
header
required

Basic authentication using Base64 encoded clientId:clientSecret

Path Parameters

botId
string
required

The unique identifier of the bot

Body

application/json

Message payload. The structure varies based on the message type.

type
enum<string>
required

Type of message to send

Available options:
text
Example:

"text"

userId
string
required

Unique identifier of the user receiving the message. Accepts either a phone number in E.164 format without the leading '+' (e.g. '593999999999') or a BSUID (Business-Scoped User ID, e.g. 'US.13491208655302741918') for users who have enabled phone number privacy in WhatsApp.

Example:

"593999999999"

text
string
required

Text content of the message

Example:

"Hello, this is a text message"

botId
string

Unique identifier of the bot sending the message

Example:

"BOT_ID"

Response

Message sent successfully

success
boolean
Example:

true

messageId
string
Example:

"msg_123456789"