Send Bulk Messages
POST /api/send-bulk-message
Send one message to many recipients. Same fields as Send a Message, but with numbers: string[] instead of number. The request is enqueued onto a worker that sends to each recipient with a configurable anti-ban delay — protecting your number from rate-based bans.
- Auth: Bearer Device Key
- Cost: debited per recipient as each send runs (1 text / 2 media)
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
numbers | string[] | ✔ | 1–1000 recipients |
| …all send-message fields | message_type, message, media_url, etc. |
Request
curl -X POST https://app.rapiwa.com/api/send-bulk-message \
-H "Authorization: Bearer YOUR_DEVICE_KEY" \
-H "Content-Type: application/json" \
-d '{
"numbers": ["8801234567890", "8801987654321"],
"message_type": "text",
"message": "Weekend sale — 20% off!"
}'
Response
An immediate per-recipient acknowledgement that the job was queued:
{
"success": true,
"results": [
{ "to": "8801234567890", "success": true, "queued": true },
{ "to": "8801987654321", "success": true, "queued": true }
]
}
Where are the real message ids?
Bulk sends complete asynchronously. The actual message_id and delivery outcome for each recipient arrive via the Delivery Status webhook, not in this immediate response.
Related: Send a Message · Delivery Status