WhatsApp Reply Message API

During an active Service Conversation Window, you can send free-form WhatsApp messages to users without using templates. This includes text messages, media, and interactive message types.

⚠️ Important: Free-form messages can only be sent within 24 hours of the user’s last message. Outside this window, you must use the Template Sending API.

Supported Message Types

The Free-Form Message API supports the following WhatsApp message types:

  • Text Message
  • Text with Media
  • Button Messages
  • List Messages
  • Flow/Form Message
  • Address Collection Message
  • Website CTA Button
  • Voice Call Button

All message types are sent using the same API endpoint with different payload structures.

API Endpoint

POST: https://app.cunnekt.com/api/v1/whatsapp/replymessage

Authentication

All requests must be authenticated using an API key.

API-KEY: your_api_key
Content-Type: application/json

Message Types and Payloads:

Text Message API

Method: POST
curl 'https://app.cunnekt.com/api/v1/whatsapp/replymessage' \
-H 'Content-Type: application/json' \
-H 'API-KEY: {your_api_key}' \
-d '
{
"messaging_product": "whatsapp",
  "recipient_type": "individual",  
"to": "{WHATSAPP_USER_PHONE_NUMBER}",
  "type": "text",
  "text": {
    "body": "{YOUT_BODY_TEXT_HERE}"
  }
}'

API Response (Standard API response on successful request to the replymessage endpoint)
{
  "messaging_product": "whatsapp",
  "contacts": [
    {
      "input": "{WHATSAPP_USER_PHONE_NUMBER}",
      "wa_id": "{WHATSAPP_USER_ID}"
    }
  ],
  "messages": [
    {
      "id": "{WHATSAPP_MESSAGE_ID}",
    }
  ]
}

Media with Caption

Supported Media Types:

Type Supported Extensions MIME type Max File Size
image .jpeg , .png image/jpeg, image/png 5 MB
video .3gp, .mp4 video/3gpp, video/mp4 16 MB
audio .aac, .amr, .mp3, .m4a, .ogg audio/aac, audio/amr, audio/mpeg, audio/mp4, audio/ogg (OPUS codecs only; base audio/ogg not supported; mono input only) 10 MB
document .txt , .xls, .xlsx, .doc, .docx, .ppt, .pptx, .pdf text/plain, application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheetm application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/pdf 25 MB

Image Note: Images must be 8-bit, RGB or RGBA.

Video Note: Only H.264 video codec and AAC audio codec supported. Single audio stream or no audio stream only.
Note that videos encoded with the H.264 “High” profile and B-frames are not supported by Android WhatsApp clients. We recommend that you use H.264 “Main” profile without B-frames, or the H.264 “Baseline” profile when encoding (or re-encoding with a tool like ffmpeg), and place moov boxes before mdat boxes, for broader compatibility. If you are using ffmpeg, you can use the -movflags faststart flag to place moov boxes before mdata boxes.

Method: POST
curl 'https://app.cunnekt.com/api/v1/whatsapp/replymessage' \
-H 'Content-Type: application/json' \
-H 'API-KEY: {your_api_key}' \
-d '
{
"messaging_product": "whatsapp",
  "recipient_type": "individual",  
"to": "{WHATSAPP_USER_PHONE_NUMBER}",
  "type": "image/audio/video/document",
  "image/audio/video/document": {
    "id": "{MEDIA_ID}", {Only if using uploaded media}
    "link": "{MEDIA_URL}", {Only if using hosted media (not recommended)}
    "caption": "{your_text_body}",{Only if using type: image/video/document}
    "filename": "{your_displayed_filename}"{Only if using type: document}

  }
}'

Placeholder Description Example Value
your_api_key Mandatory. Get your API Key from your Cunnekt Account Usjhssd23kajsd1222Keysk
whatsapp_user_phone_number WhatsApp business phone number ID. 919999999999
image/audio/video/document Mandatory. Use any one of the media types “type”: “image”
media_id Optional. If you’re using media_url. Recommended for reliable sending 1056598878988785
media_url Optional. If you’re using media_id. Recommended for reliable sending. Learn how to create media_id https://www.cunnekt.com/wp-content/uploads/2026/01/whatsapp-voice-call-image.jpg
your_text_body Optional. This is the caption of your message. Only available when type = image/video/document Please check the media attached.
your_displayed_filename Optional. This is the displayed filename when a user sees the message on WhatsApp. Only available when type = document Cunnekt Pitch Deck

Example of sending a video:

Method: POST
curl 'https://app.cunnekt.com/api/v1/whatsapp/replymessage' \
-H 'Content-Type: application/json' \
-H 'API-KEY: {your_api_key}' \
-d '
{
"messaging_product": "whatsapp",
  "recipient_type": "individual",  
"to": "919999999999",
  "type": "image",
  "image": {
    "link": "https://www.cunnekt.com/wp-content/uploads/2026/01/whatsapp-voice-call-image.jpg",
    "caption": "Thanks for reaching out. You will receive a call from our team shorty. ",
  }
}'

Reply Button Messages

Method: POST
curl 'https://app.cunnekt.com/api/v1/whatsapp/replymessage' \
-H 'Content-Type: application/json' \
-H 'API-KEY: {your_api_key}' \
-d '
{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "{WHATSAPP_USER_PHONE_NUMBER}",
  "type": "interactive",
  "interactive": {
    "type": "button",
    "header": {MESSAGE_HEADER},
    "body": {
      "text": ""
    },
    "footer": {
      "text": ""
    },
    "action": {
      "buttons": [
        {
          "type": "reply",
          "reply": {
            "id": "",
            "title": ""
          }
        }
        
      ]
    }
  }
}'

List Messages

Method: POST
curl 'https://app.cunnekt.com/api/v1/whatsapp/replymessage' \
-H 'Content-Type: application/json' \
-H 'API-KEY: {your_api_key}' \
-d '
{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "{WHATSAPP_USER_PHONE_NUMBER}",
  "type": "interactive",
  "interactive": {
    "type": "list",
    "header": {
      "type": "text",
      "text": "{MESSAGE_HEADER_TEXT}"
    },
    "body": {
      "text": "{MESSAGE_BODY_TEXT"
    },
    "footer": {
      "text": "{MESSAGE_FOOTER_TEXT}"
    },
    "action": {
      "button": "{BUTTON_TEXT}",
      "sections": [
        {
          "title": "{SECTION_TITLE_TEXT}",
          "rows": [
            {
              "id": "{ROW_ID}",
              "title": "{ROW_TITLE_TEXT}",
              "description": "{ROW_DESCRIPTION_TEXT}"
            }
            {!-- Additional rows would go here --}
          ]
        }
        {!-- Additional sections would go here --}
      ]
    }
  }
}'

Website CTA Button

Method: POST
curl 'https://app.cunnekt.com/api/v1/whatsapp/replymessage' \
-H 'Content-Type: application/json' \
-H 'API-KEY: {your_api_key}' \
-d '
{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "{WHATSAPP_USER_PHONE_NUMBER}",
  "type": "interactive",
  "interactive": {
    "type": "cta_url",

    {!-- If using document header, otherwise omit --}
    "header": {
      "type": "document",
      "document": {
        "link": "{ASSET_URL}"
      }
    },

    {!-- If using image header, otherwise omit --}
    "header": {
      "type": "image",
      "image": {
        "link": "{ASSET_URL}"
      }
    },

    {!-- If using text header, otherwise omit --}
    "header": {
      "type": "text",
      "text": "{HEADER_TEXT}"
      }
    },

    {!-- If using video header, otherwise omit --}
    "header": {
      "type": "video",
      "video": {
        "link": "{ASSET_URL}"
      }
    },

    "body": {
      "text": "{BODY_TEXT}"
    },
    "action": {
      "name": "cta_url",
      "parameters": {
        "display_text": "{BUTTON_LABEL_TEXT}",
        "url": "{BUTTON_URL}"
      }
    },

    {!-- If using footer text, otherwise omit --}
    "footer": {
      "text": "{FOOTER_TEXT}"
    }
  }
}'

Fill Flow/Form Button Message

Method: POST
curl 'https://app.cunnekt.com/api/v1/whatsapp/replymessage' \
-H 'Content-Type: application/json' \
-H 'API-KEY: {your_api_key}' \
-d '
{
  "recipient_type": "individual",
  "messaging_product": "whatsapp",
  "to": "whatsapp-id",
  "type": "interactive",
  "interactive": {
    "type": "flow",
    "header": {
      "type": "text",
      "text": "Flow message header"
    },
    "body": {
      "text": "Flow message body"
    },
    "footer": {
      "text": "Flow message footer"
    },
    "action": {
      "name": "flow",
      "parameters": {
        "flow_message_version": "3",
        "flow_name": "appointment_booking_v1", //or flow_id
        "flow_cta": "Book!"
      }
    }
  }
}'

Address collection message

Method: POST
curl 'https://app.cunnekt.com/api/v1/whatsapp/replymessage' \
-H 'Content-Type: application/json' \
-H 'API-KEY: {your_api_key}' \
-d '
{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "",
  "type": "interactive",
  "interactive": {
    "type": "address_message",
    "body": {
      "text": "Thanks for your order! Tell us what address you’d like this order delivered to."
    },
    "action": {
      "name": "address_message",
      "parameters": {
        "country": ""
      }
    }
  }
}'

Voice Call Button

Method: POST
curl 'https://app.cunnekt.com/api/v1/whatsapp/replymessage' \
-H 'Content-Type: application/json' \
-H 'API-KEY: {your_api_key}' \
-d '
{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "14085551234",
  "type": "interactive",
  "interactive" : {
    "type" : "voice_call",
    "body" : {
      "text": "You can call us on WhatsApp now for faster service!"
    },
    "action": {
      "name": "voice_call",
      "parameters": {
        "display_text": "Call on WhatsApp",
        "ttl_minutes": 100,
        "payload": "payload data"
      }
    }
  }
}'