Skip to main content
POST
/
v1
/
whatsapp
/
messages
/
template
Send a template message
curl --request POST \
  --url https://karibu.briq.tz/v1/whatsapp/messages/template \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "template_name": "order_update"
}
'
{
  "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 an approved template. Templates are always allowed and reopen the 24-hour window, so they are how you start or re-engage a conversation. 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. Async: returns 202 { message_id, status: "pending" }.
Templates with a media header (image/video/document) carry the header media on the template itself; the backend resolves it at send time. You do not pass header media in this body.

Authorizations

X-API-Key
string
header
required

Body

application/json
template_name
string
required

Name of an APPROVED template.

Maximum string length: 512
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.

variables
object

Template variable values, e.g. {"1": "Asha"}.

Response

Sent immediately (provider acknowledged).

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