Developers
An API that gets out of your way
Send SMS over HTTPS, authenticate with a JWT or API key, and receive delivery events on your webhook. Full guides, error codes, and the OpenAPI specification live in the developer docs.
REST over HTTPS
JSON request and response bodies
Bearer auth
JWT or API key (nn_…)
Webhooks
HMAC-signed delivery events
Sender IDs
Branded originators per org
Prepaid wallet
Debit on accepted send
OpenAPI 3
Downloadable machine-readable spec
POST /v1/sms/send
curl -X POST https://api.netnaunse.com/v1/sms/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "255712345678",
"message": "Your OTP is 847201. Valid for 5 minutes.",
"senderId": "MyBrand"
}'202 Accepted
{
"data": {
"id": "cmexample123",
"status": "queued",
"to": "255712345678",
"queuedAt": "2026-09-03T10:43:11.000Z",
"pricing": {
"unitPrice": 25,
"currency": "TZS",
"segments": 1,
"estimatedTotal": 25
}
}
}Webhook · message.sent
{
"event": "message.sent",
"timestamp": "2026-09-03T10:43:16.000Z",
"data": {
"id": "cmexample123",
"to": "255712345678",
"status": "sent"
}
}Core endpoints
Base URL: https://api.netnaunse.com
POST/v1/sms/send
GET/v1/sms
GET/v1/sms/{id}
GET/v1/wallet
POST/v1/wallet/deposits
POST/v1/webhooks
POST/v1/auth/api-keys
Full reference
Authentication, SMS lifecycle, wallet charges, webhooks, and the downloadable OpenAPI 3 specification — written for production integrations, not marketing stubs.