reference to verify against. The| Field | Type | Required | Notes |
|---|---|---|---|
recipient | string | yes | E.164 (e.g. +2348012345678). |
sender_id | string (uuid) | no | Approved sender ID used as the OTP brand. Defaults to your approved/default sender ID. |
length | integer | no | Digits in the code, 4–8 (default 4). |
expiry_minutes | integer | no | Validity window, 1–30 (default 5). |
hash_string | string | no | 11-char app signature for Android SMS Retriever auto-fill. |
200 OK{
"success": true,
"message": "OTP sent successfully",
"data": { "reference": "a3d5f0c1-…", "expires_at": "2026-06-23T10:05:00.000Z", "status": "sent" }
}curl --location 'https://prod.your-api-server.com/api/sms/otp/send' \
--header 'x-api-key: {{x-api-key}}' \
--header 'Content-Type: application/json' \
--data '{
"recipient": "string",
"sender_id": "3194e023-c19f-4a42-9172-9e18d68e3a3a",
"length": 0,
"expiry_minutes": 0,
"hash_string": "string"
}'{
"success": true,
"message": "OTP sent successfully",
"data": { "reference": "a3d5f0c1-…", "expires_at": "2026-06-23T10:05:00.000Z", "status": "sent" }
}