Send Bulk WhatsApp Broadcast
Send personalized WhatsApp broadcast campaigns to multiple mobile numbers simultaneously.
Last updated · Markdown version
Endpoint
HTTP
POST /api/v2/messages/whatsapp/bulkAuthorization
HTTP
Authorization: Bearer bk_live_8n6JQv3K1h9Lp0Md
Content-Type: application/jsonRequest Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
mobiles | Yes | array of strings | List of recipient phone numbers in international format (e.g. ["254700000001", "254711111111"]). |
message | Yes | string | Broadcast message content. You can include placeholders in {tag} syntax (e.g. {first_name}, {account}, {amount}). |
custom_data | No | array of objects | Optional per-recipient data matching the order of the mobiles array. Each key replaces {key} in the message. |
Request Examples
1. Simple Broadcast (Identical Message)
cURL / Bash
curl -X POST "https://api.bulkitsms.com/api/v2/messages/whatsapp/bulk" \
-H "Authorization: Bearer bk_live_8n6JQv3K1h9Lp0Md" \
-H "Content-Type: application/json" \
-d '{
"mobiles": ["254700000001", "254711111111", "254722222222"],
"message": "Dear customer, our offices will be closed on Monday for the public holiday."
}'2. Personalized Broadcast with Custom Data
cURL / Bash
curl -X POST "https://api.bulkitsms.com/api/v2/messages/whatsapp/bulk" \
-H "Authorization: Bearer bk_live_8n6JQv3K1h9Lp0Md" \
-H "Content-Type: application/json" \
-d '{
"mobiles": [
"254700000001",
"254711111111"
],
"message": "Hello {first_name}, your policy #{policy_no} renewal of KES {amount} is due on {due_date}.",
"custom_data": [
{
"first_name": "Alice",
"policy_no": "POL-9921",
"amount": "3,500",
"due_date": "25th Sep"
},
{
"first_name": "Bob",
"policy_no": "POL-4410",
"amount": "5,200",
"due_date": "28th Sep"
}
]
}'Success Response Example
JSON
{
"status": "success",
"message": "Bulk WhatsApp messages queued for delivery",
"data": {
"total_recipients": 2,
"cost_per_message": 0.03,
"total_cost": 0.06,
"currency": "KES"
}
}How Delivery Works
- Bulkit calculates the total required credits and checks your wallet balance.
- The broadcast job queues asynchronously in the background.
- Bulkit renders each personalized message dynamically and dispatches them through your paired WhatsApp session.
- As messages are delivered and read by recipients, delivery receipts are forwarded to your configured DLR Webhook URL.