Documentation Index
Fetch the complete documentation index at: https://orbit-docs.devotel.io/llms.txt
Use this file to discover all available pages before exploring further.
Verify
Orbit Verify is a turnkey OTP (one-time password) verification service. Send verification codes via SMS, WhatsApp, Voice, or Email — Orbit handles code generation, delivery, expiration, and validation so you don’t have to.
Send a Verification Code
curl -X POST https://orbit-api.devotel.io/api/v1/verify \
-H "X-API-Key: dv_live_sk_..." \
-H "Content-Type: application/json" \
-d '{
"to": "+14155552671",
"channel": "sms",
"code_length": 6,
"expiry": 300
}'
Response
{
"data": {
"verification_id": "ver_abc123",
"status": "pending",
"channel": "sms",
"expires_at": "2026-03-08T00:05:00Z"
}
}
Check a Verification Code
curl -X POST https://orbit-api.devotel.io/api/v1/verify/check \
-H "X-API-Key: dv_live_sk_..." \
-H "Content-Type: application/json" \
-d '{
"verification_id": "ver_abc123",
"code": "482901"
}'
Response
{
"data": {
"verification_id": "ver_abc123",
"status": "approved",
"channel": "sms"
}
}
Supported Channels
| Channel | Delivery Method |
|---|
sms | SMS text message with the code |
whatsapp | WhatsApp message with the code |
voice | Automated voice call that reads the code aloud |
email | Email with the code and branded template |
Features
- Auto-generated codes — secure random codes (4–8 digits)
- Multi-channel delivery — SMS, WhatsApp, Voice, Email
- Channel fallback — automatic retry on a different channel if the first fails
- Rate limiting — built-in protection against brute-force attacks
- Expiration — configurable TTL (default 5 minutes, max 10 minutes)
- Attempt limits — max 5 verification attempts per code
- Locale support — localized message templates in 30+ languages
- Fraud detection — blocks known VoIP numbers and high-risk destinations
Configuration Options
| Parameter | Type | Default | Description |
|---|
code_length | integer | 6 | Number of digits (4–8) |
expiry | integer | 300 | Seconds until code expires (60–600) |
locale | string | en | Language for the message template |
fallback_channel | string | — | Channel to try if primary delivery fails |
custom_message | string | — | Custom message template (must include {{code}}) |
Webhook Events
| Event | Description |
|---|
verify.started | Verification code was sent |
verify.approved | Code was verified successfully |
verify.failed | Code verification failed (wrong code) |
verify.expired | Code expired without being verified |