Send a Single SMS
Send one SMS message to a single recipient.
Last updated · Markdown version
Bulkit provides a dedicated single-send SMS endpoint for transactional alerts and OTPs, as well as single-recipient dispatch via the bulk endpoint.
Primary Endpoint: Single SMS
HTTP
POST /api/v2/messages/smsSend a single SMS using mobile as a single phone string.
Authorization
Pass your API token using the standard HTTP Authorization header:
HTTP
Authorization: Bearer bk_live_8n6JQv3K1h9Lp0MdRequest body
JSON
{
"sender": "BULK_IT",
"mobile": "254700000001",
"message": "Welcome to Bulkit. Your OTP is 584920."
}Sender Name: Supply your sender ID name directly via "sender": "BULK_IT" (or your custom brand). For backward compatibility, "sender_id" with your UUID or legacy integer ID is also accepted.
Scheduled Single SMS
To schedule delivery for a specific time, supply scheduled_at in ISO 8601 format:
JSON
{
"sender": "BULK_IT",
"mobile": "254700000001",
"message": "Your appointment is tomorrow at 9:00 AM.",
"scheduled_at": "2026-03-10T08:00:00+03:00"
}Success Response
JSON
{
"status": "success",
"message": "SMS queued successfully",
"data": {
"id": "c1f72a6b-8b5d-4f76-92f5-b3c1d94f2910",
"cost": 0.40,
"units": 1
}
}Alternative: Single Send via Bulk Endpoint
You can also send a single message using the bulk route with one number in mobiles:
HTTP
POST /api/v2/messages/sms/bulkRequest body
JSON
{
"sender": "BULK_IT",
"mobiles": ["254700000001"],
"message": "Welcome to Bulkit."
}Success response
JSON
{
"status": "success",
"message": "Bulk SMS processed",
"data": {
"requested": 1,
"queued": 1,
"failed": []
}
}Error Response
JSON
{
"status": "error",
"message": "Invalid sender ID"
}Common Errors
Invalid credentialsInsufficient balanceInvalid numberInvalid sender IDInvalid messageRestricted send time