Voice
Place voice calls, convert text to speech, and deliver voice OTPs.
Send Voice
POST
/voice| Field | Example | Description |
|---|---|---|
| token* | api key | Your KudiSMS API key. |
| callerID* | 234xxxxxxxxxx | Approved Custom, Default, or Dedicated Caller ID — get it from /user/callerids. |
| recipients* | 234xxxxxxxxxx,234xxxxxxxxxx | Recipient phone numbers. |
| audio* | http://example.com/audio.mp3 | Audio URL. Max file size 2MB, max duration 120 seconds. |
Example response — 200 OK
{
"status": "success",
"error_code": "000",
"cost": "30.00",
"data": ["234703xxxxx|38e29805-8251-77ce-a5e7-0d20ac94d7e5"],
"msg": "Message received Successfully",
"balance": "102,857.90"
}Send TextToSpeech
POST
/texttospeech| Field | Example | Description |
|---|---|---|
| token* | xxxxx | Your KudiSMS API key. |
| callerID* | 234xxxxx | Approved Custom, Default, or Dedicated Caller ID — get it from /user/callerids. |
| recipients* | 234xxxxxxxxxx,234xxxxxxxxxx | Recipient phone numbers. |
| message* | xxxxx | Text to convert to speech and read out by a robot on the call. |
Example response — 200 OK
{
"status": "success",
"error_code": "000",
"cost": "30.00",
"data": ["234703xxxxx|a1b5de20-d0e5-8b72-460b-7bb1fd2a4f90"],
"msg": "Message sent Successfully"
}Voice OTP
POST
/voiceotp| Field | Example | Description |
|---|---|---|
| token* | xxxx | Your API token. |
| recipients* | 234xxxxxxxxxx | Recipient number. |
| otp* | xxxxxx | Numeric value, 4 to 6 digits only. |
Voice Webhooks (inbound)
POST
https://your-server.com/webhooks/kudismsKudiSMS sends a POST webhook to your configured callback URL when the voice provider reports a final delivery status. Set the URL in the dashboard, or via POST /callback (see Callback). Match webhooks to your send using api_reference — from the send response data field: recipient|api_reference.
Respond with HTTP 200
Acknowledge receipt of the webhook with a 200 response.
type values you may receive
| type | Send API | |
|---|---|---|
| voice | /voice, /sendrobocall | |
| tts | /texttospeech | |
| voice_otp | /voiceotp |
Status & codes
| Status | Code | Description |
|---|---|---|
| DELIVERED / completed | 000 | Call delivered successfully |
| UNDELIVRD (DND) | 99 | Recipient is on DND |
| UNDELIVRD | 100 | Call could not be delivered |
| EXPIRED | 101 | Call has expired |
| Other | 150 | Unrecognized or other provider status |
Example payload
{
"type": "voice",
"status": "DELIVERED",
"api_reference": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"data": {
"code": "000",
"cost": "15.50",
"recipient": "234XXXXXXXXXX",
"time": "2026-06-23 14:32:10",
"network": "mtn",
"country": "Nigeria",
"description": "Recipient has received message successfully"
},
"vendor": "Kudisms"
}Updated at, Sunday, July 19, 2026