Integrate Bulk SMS Portal into your application using our REST API.
Authentication
Include your API Key and Secret in request headers:
X-API-Key: YOUR_API_KEY
X-API-Secret: YOUR_API_SECRET
POST
/api/v1/auth/token
Exchange credentials for a Bearer token (valid 24 hours).
curl -X POST https://dev.sms.dreamguys.africa/api/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"api_key":"KEY","api_secret":"SECRET"}'
SMS Endpoints
All require Bearer token in Authorization header.
POST
/api/v1/sms/send
Send to a single phone number.
| Field | Type | Required | Description |
| sender_id | string | required | Registered sender ID |
| phone | string | required | Recipient (e.g. 254712345678) |
| message | string | required | SMS content (max 1600 chars) |
curl -X POST https://dev.sms.dreamguys.africa/api/v1/sms/send \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{"sender_id":"MySender","phone":"254712345678","message":"Hello"}'
POST
/api/v1/sms/send-bulk
Send to multiple numbers in one request.
curl -X POST https://dev.sms.dreamguys.africa/api/v1/sms/send-bulk \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{"sender_id":"MySender","phones":["254712345678","254723456789"],"message":"Hello"}'
POST
/api/v1/sms/send-group
Send to a contact group by its UUID.
| Field | Type | Required | Description |
| sender_id | string | required | Registered sender ID |
| group_id | UUID | required | Contact group UUID |
| message | string | required | SMS content (max 1600 chars) |
curl -X POST https://dev.sms.dreamguys.africa/api/v1/sms/send-group \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{"sender_id":"MySender","group_id":"019f8b3e-...","message":"Hello Group"}'
GET
/api/v1/balance
Check your SMS balance.
curl https://dev.sms.dreamguys.africa/api/v1/balance \
-H "Authorization: Bearer TOKEN"
GET
/api/v1/groups
List your contact groups with contact counts.
curl https://dev.sms.dreamguys.africa/api/v1/groups \
-H "Authorization: Bearer TOKEN"