Endpoint
Headers
| Header | Value |
|---|---|
Accept | application/json |
Authorization | Bearer {API_TOKEN} |
Content-Type | application/json |
Body parameters
SMS text content. Up to 3 pages (approximately 480 characters).
Approved Sender ID. Pass the sender label or sender ID record ID.
Sender ID route. Accepted values:
transactional, promotional, otp. Defaults to transactional. Messages containing OTP or One Time are forced to transactional.Public HTTPS URL that receives delivery updates.
Custom message ID. When provided, this value is used in place of the auto-generated
message_id.ISO datetime to schedule the message.
Label applied to multi-recipient campaigns.
Recipient (provide exactly one)
Recipient phone number. Accepts local format (
08140363541), country code (2348140363541), or + prefix (+2348140363541).Saved contact ID.
Array of saved contact IDs.
Single group ID. Use
0 for standalone (ungrouped) contacts.Array of group IDs. Use
"standalone" to include ungrouped contacts.Newline-separated raw phone numbers.
Response fields
Single recipient
"success" when the message is accepted.Delivery state, such as
"delivered", "pending", or "failed".Unique message ID. Use it with Message Status.
Sender ID used for delivery.
Message text.
Normalized recipient phone number.
Credits deducted for this message.
Multi-recipient
"success" when the campaign is accepted.Bulk message ID, prefixed with
m-.Sender ID used for delivery.
Message text.
Total credits deducted for the campaign.
Bulk log ID for the campaign.
Error responses
| Status | Meaning |
|---|---|
400 | Missing or invalid request fields |
400 | Insufficient credit |
400 | Sender not approved for SMS |
400 | Payload must contain to, contact, contacts, group, groups, or numbers |
400 | Message contains a blocked keyword for the sender |
