Skip to main content
Sends are async. After a 202 { message_id, status: "pending" }, track outcomes by polling or via webhooks, and mark inbound messages read.

Check status

message_id is the id returned at send time. Status walks pending -> sent -> delivered -> read, or failed with a derived reason. For outbound messages, a paired inbound reply is included once it arrives.
curl "https://karibu.briq.tz/v1/whatsapp/messages/MESSAGE_ID" -H "X-API-Key: YOUR_API_KEY"
# -> { "data": { "status": "delivered", "provider_message_id": "wamid....", "reply": null } }
See the Get message status reference.

Poll messages and responses

List newest-first across the workspace, or scope to one thread. Filter to inbound to read responses without webhooks.
curl "https://karibu.briq.tz/v1/whatsapp/messages?conversation_id=CONVERSATION_ID&direction=inbound&since=2026-06-24T00:00:00Z" \
  -H "X-API-Key: YOUR_API_KEY"
See the List messages reference.

Read receipt

Mark an inbound message read on WhatsApp (the blue ticks), by its internal message_id (the id from the list above). The provider id is resolved for you.
curl -X POST "https://karibu.briq.tz/v1/whatsapp/messages/MESSAGE_ID/read" -H "X-API-Key: YOUR_API_KEY"
See the Send read receipt reference.