Skip to main content
POST
/
v1
/
whatsapp
/
messages
curl --request POST \
  --url https://karibu.briq.tz/v1/whatsapp/messages \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "type": "template"
}
'
{
  "success": true,
  "data": {
    "message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "sender_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "provider_message_id": "<string>",
    "status": "pending"
  },
  "errors": [
    {
      "code": "<string>",
      "message": "<string>",
      "field": "<string>"
    }
  ],
  "request_id": "<string>"
}

Authorizations

X-API-Key
string
header
required

Body

application/json
type
enum<string>
required

Message kind. Determines which other fields are required.

Available options:
text,
template,
media,
interactive
body
string

Required when type=text.

Maximum string length: 4096
template_name
string

Required when type=template.

Maximum string length: 512
variables
object

Template variable values keyed by parameter name.

media_kind
enum<string>

Required when type=media.

Available options:
IMAGE,
DOCUMENT,
VIDEO
media_url
string

Publicly reachable URL. Required when type=media.

caption
string
Maximum string length: 1024
filename
string
Maximum string length: 255
interactive
object

Required when type=interactive.

to
string

Destination phone in E.164 digits (optional leading +), e.g. 255712000000. Required for first contact; omit when replying with conversation_id.

Required string length: 7 - 20
Pattern: ^\+?[1-9]\d{6,17}$
sender_id
string<uuid> | null

Optional. Ignored when conversation_id is set; otherwise the backend resolves a sender when omitted.

conversation_id
string<uuid> | null

Reply target. When set, recipient and sender come from the thread and to / sender_id are ignored.

Response

Sent immediately (provider acknowledged).

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