Skip to main content

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

ChannelDelivery Method
smsSMS text message with the code
whatsappWhatsApp message with the code
voiceAutomated voice call that reads the code aloud
emailEmail 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

ParameterTypeDefaultDescription
code_lengthinteger6Number of digits (4–8)
expiryinteger300Seconds until code expires (60–600)
localestringenLanguage for the message template
fallback_channelstringChannel to try if primary delivery fails
custom_messagestringCustom message template (must include {{code}})

Webhook Events

EventDescription
verify.startedVerification code was sent
verify.approvedCode was verified successfully
verify.failedCode verification failed (wrong code)
verify.expiredCode expired without being verified