WA.cr APP - API v2
  1. Messages
WA.cr APP - API v2
  • API v2 Documentation
    • Account
      • Get Account Info
      • Get Usage Statistics
      • Get Plan Limits
    • Authentication (OTP Verification)
      • Send OTP/Verification Code
      • Resend OTP
      • Verify OTP
      • Check OTP Status
      • List Authentication Templates
    • Comments
      • Get Comments
      • Add Comment
    • Contacts
      • List Contacts
      • Create Contact
      • Get Contact
      • Update Contact
      • Delete Contact
      • Batch Create Contacts
      • Batch Delete Contacts
    • Groups
      • List Groups
      • Create Group
      • Get Group
      • Update Group
      • Delete Group
      • Add Contacts to Group
      • Remove Contacts from Group
    • Messages
      • Send Text Message
        POST
      • Send Template Message
        POST
      • Send Media Message
        POST
      • Send Interactive Message
        POST
      • List Messages
        GET
      • Get Message
        GET
    • Sources
      • List Sources
      • Create Source
      • Get Source
      • Update Source
      • Delete Source
    • Statuses
      • List Statuses
      • Create Status
      • Get Status
      • Update Status
      • Delete Status
    • Templates
      • List Templates
      • Sync Templates from WhatsApp
      • Get Template
  1. Messages

Send Interactive Message

POST
/messages/interactive
Send an interactive message (buttons or list) via WhatsApp.
Interactive messages allow recipients to select options, making conversations more structured and efficient.
Required Scope: messages:send

Request Body#

FieldTypeRequiredValidationDescription
phonestringYesRecipient phone number with country code
typestringYesin: button, listInteractive message type
body_textstringYesmax:1024Main message body text
header_textstringNomax:60Optional header text
footer_textstringNomax:60Optional footer text
contact_idintegerNoMust exist in contactsExisting contact ID

Button Type Fields (required when type=button)#

FieldTypeRequiredValidationDescription
buttonsarrayYesmax:3 itemsArray of reply buttons
buttons[].idstringYesUnique button identifier
buttons[].titlestringYesmax:20Button display text

List Type Fields (required when type=list)#

FieldTypeRequiredValidationDescription
list_button_textstringYesmax:20Text on the list menu button
sectionsarrayYesmax:10Array of list sections
sections[].titlestringYesSection heading
sections[].rowsarrayYesArray of selectable rows
sections[].rows[].idstringYesUnique row identifier
sections[].rows[].titlestringYesmax:24Row display text
sections[].rows[].descriptionstringNomax:72Row description text

Response Fields#

FieldTypeDescription
message_idstringWhatsApp message ID
contact_idintegerContact ID
phonestringCleaned phone number
typestringInteractive type used (button/list)
statusstringMessage status (sent)
sent_atstringISO 8601 send timestamp
chat_idintegerInternal chat interaction ID
chat_message_idintegerInternal chat message record ID

Common Error Responses (All Send Endpoints)#

StatusError CodeDescription
401UNAUTHORIZEDInvalid or missing API token
403INSUFFICIENT_SCOPEToken missing messages:send scope
403FEATURE_LIMIT_EXCEEDEDContact limit or conversation limit reached
403CONTACT_OPTED_OUTContact has opted out of receiving messages
404NOT_FOUNDContact not found (when contact_id provided)
422VALIDATION_ERRORRequest validation failed or missing config for auto-contact creation
422WHATSAPP_NOT_CONFIGUREDWhatsApp not configured for this account
429RATE_LIMIT_EXCEEDEDToo many requests
500MESSAGE_SEND_FAILEDFailed to send via WhatsApp API
500INTERNAL_ERRORUnexpected server error

Validation Error Messages#

FieldMessage
phonePhone number is required
typeInteractive message type is required / Type must be either button or list
body_textBody text is required
buttonsButtons are required for button type messages
list_button_textList button text is required for list type messages
sectionsSections are required for list type messages

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Header Params

Body Params application/json

Examples

Responses

🟢200
application/json
Successful response
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/messages/interactive' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "phone": "+919999999999",
    "type": "button",
    "body_text": "Would you like to schedule a demo?",
    "header_text": "Product Demo",
    "footer_text": "Click a button below",
    "buttons": [
        {
            "id": "btn_yes",
            "title": "Yes, please!"
        },
        {
            "id": "btn_no",
            "title": "Not now"
        },
        {
            "id": "btn_later",
            "title": "Maybe later"
        }
    ]
}'
Response Response Example
{}
Modified at 2026-02-25 01:06:20
Previous
Send Media Message
Next
List Messages
Built with