Use case
OTP delivery that actually arrives.
Send one-time codes from your own SIM under your carrier's normal terms. No SMSKit per-code fee.
Why teams switch
- Codes were arriving late, or not at all. Aggregator short codes get filtered; a 30-second delay on a 5-minute OTP is lost users.
- Per-message billing on auth traffic adds up fast.
- Carrier registration slowed launch. Approval took time before you could even send.
How SMSKit fits
Real local number, typically delivered within seconds (carrier-dependent). Priority routing pushes OTPs ahead of bulk. Reuse an idempotency key when you retry a request and the API returns the original job instead of queuing a second code (while that job is retained). Delivery retries can still duplicate an SMS.
Acme · Login
+254 712 345 678
Example
bash
curl https://api.smskit.cloud/api/v1/sms/send \
-H "X-Api-Key: sk_live_your_key" -H "Content-Type: application/json" \
-d '{ "recipient": "+254712345678", "message": "Your verification code is 481920", "priority": 0, "idempotencyKey": "signup-8841" }'