Skip to main content
POST
/
v1
/
whatsapp
/
messages
/
interactive
Send an interactive message
curl --request POST \
  --url https://karibu.briq.tz/v1/whatsapp/messages/interactive \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "interactive": {
    "type": "button",
    "body": {
      "text": "Did this resolve your issue?"
    },
    "action": {
      "buttons": [
        {
          "type": "reply",
          "reply": {
            "id": "yes",
            "title": "Yes"
          }
        },
        {
          "type": "reply",
          "reply": {
            "id": "no",
            "title": "No"
          }
        }
      ]
    }
  }
}
'
{
  "success": true,
  "data": {
    "message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "sender_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "sender": "1107264639145282",
    "provider_message_id": "<string>",
    "status": "pending"
  },
  "errors": [
    {
      "code": "<string>",
      "message": "<string>",
      "field": "<string>"
    }
  ],
  "request_id": "<string>"
}
Send interactive reply buttons or a list. Pass a WhatsApp interactive object as-is; its type (e.g. button, list) is required. Target with to and sender (or just to if you have one active sender), or pass conversation_id to send into a specific existing thread. Needs an open 24-hour window. Async: returns 202 { message_id, status: "pending" }. The customer’s choice arrives as an inbound message — read it via List messages or a webhook.

Authorizations

X-API-Key
string
header
required

Body

application/json
interactive
object
required

WhatsApp interactive object; its type (e.g. button, list) is required.

to
string

Recipient phone in E.164 digits (optional leading +), e.g. 255712345678. The number you are messaging. Pair with sender.

Required string length: 7 - 20
Pattern: ^\+?[1-9]\d{6,17}$
sender
string

Which of your WhatsApp numbers to send from (number or phone_number_id). Pair with to to target the conversation. Optional when your workspace has a single active sender. Preferred over sender_id.

Maximum string length: 64
conversation_id
string<uuid>

Alternative to sender. The id of an existing one-to-one thread; recipient and sender are taken from it, so to / sender / sender_id are ignored. Use this to pin a precise conversation when the same recipient can be reached through more than one of your senders.

sender_id
string<uuid>

Deprecated: use sender.

Response

Sent immediately (provider acknowledged).

success
boolean
data
object
errors
object[] | null
request_id
string