Developers
Connect SMS to your software.
Send transactional messages from your system, check your balance and receive delivery updates. API messages use the same credits, sender approval and opt-out checks as the dashboard.
Send a message
curl -X POST https://sms.frostwood.co.ke/api/v1/messages \
-H "Authorization: Bearer fw_live_xxxx_..." \
-H "Idempotency-Key: order-10482-otp" \
-H "Content-Type: application/json" \
-d '{
"sender_id": "YOURBRAND",
"category": "transactional",
"recipients": ["0712345678"],
"body": "Your verification code is 482913.",
"client_reference": "order-10482"
}'
The response is 202 Accepted with the reserved credits and a message id for each recipient. Accepted means queued, not delivered.
What you get
- Scoped API keys (send, read status, read balance), shown once and revocable at any time
- Idempotency keys so a retried request never sends twice
- Delivery webhooks signed with HMAC-SHA256, retried for 24 hours
- Request logs and usage in your dashboard
- Rate limit of 60 requests per minute, up to 100 recipients per request, with Retry-After on throttling
- Clear error codes such as insufficient_credits and sender_not_approved