Send Batch SMS Messages
Send SMS messages to multiple recipients in a single request. This is commonly referred to as sending a campaign.
Batch messages support:
Multiple recipients
Per-recipient metadata for message personalisation
Optional per-recipient overrides (text and originator)
Mailing list recipients
POST /send/batch
POST /send/batch Required Permission
create:BatchSMSYour API key must have this permission enabled in order to use this endpoint.
Message Personalisation
You can include meta fields for each recipient and reference them within your message using template tags.
For example:
Hello {{NAME}}, how is the weather in {{CITY}}?Each recipient’s meta object determines how the message is rendered.
Example Request
Replace YOUR_API_KEY with your API key.
All endpoints shown in this documentation use a sample base URL. The production API endpoint is provided by our team upon request.
Request Parameters
text
string
Yes
The SMS message content.
originator
string
Yes
The sender ID displayed on the recipient’s handset.
recipient
string
Yes
The destination phone number in international format.
shortenUrls
boolean
No
Whether URLs in the message should be automatically shortened.
excludeOptouts
boolean
No
Whether opted-out recipients should be excluded from delivery.
spreadHours
number
No
Spread message delivery evenly over the specified number of hours.
scheduleDateTime
string (ISO 8601 datetime)
No
Schedules the message or campaign to be sent at a future date and time. The value must be provided in ISO 8601 format (e.g. 2025-03-01T14:30:00Z). If omitted, the message or campaign is sent immediately.
Responses
Authentication Error (HTTP 403)
Returned when the API key is invalid or does not have the required permission.
Validation Error (HTTP 400)
Returned if the API key is invalid or missing the required permission.
Success (HTTP 200)
Returned when the campaign has been successfully accepted for delivery.
A successful response confirms that the campaign has been queued. Message delivery and delivery receipts are processed asynchronously.
Last updated