X
XionID
OTP & SMS Verification API
API-first identity & OTP infrastructure

XionID — Secure OTP (SMS) verification API for your app

XionID provides an API you can integrate into your codebase to send OTP codes and verify users. Built for production: secure code lifecycle, rate limits, and clear delivery reporting.

OTP
SMS
Integration
API
Controls
Limits
Logs
Delivery
Auth Dashboard — Overview
Last 30 days
SMS sent
2,764
Avg/day: 92
Delivery rate
98.7%
Undelivered: 36
Verified OTPs
2,143
Verification rate: 77.6%
Blocked attempts
128
Rate-limit / abuse protection
Latest OTP request
+374 9X XXX XXX
Request ID: OTP-24F19A • TTL: 120s
Delivered
Country
Armenia
Route
Primary SMS
Latency
4.2s
Usage vs plan
Plan: 3,000 SMS / month
Used: 2,764Remaining: 236

Features you need for OTP in production

Security + reliability + visibility — without complexity.

Secure OTP lifecycle

Time-limited codes, one-time verification, and safe invalidation.

  • Configurable TTL
  • Single-use verification
  • Hash storage for codes
Rate limits & abuse protection

Prevent spam and brute-force attempts.

  • Per phone number limits
  • Per IP / app limits
  • Cooldowns & lockouts
Delivery logs & analytics

Track sent, delivered, failed — with timestamps.

  • Delivery status
  • Error reasons
  • Monthly usage

How it works

Two endpoints (send + verify). Easy integration.

Step 1
Create API key

We provide credentials for your project.

Step 2
Send OTP

Call our endpoint with phone number and OTP settings.

Step 3
Verify code

Confirm OTP and complete login/signup flow.

Step 4
Monitor

Track usage and delivery logs in the dashboard.

Pricing

Simple monthly packages based on SMS volume.

Starter
$30
/ month
1,000 SMS
OTP send + verify endpoints included
  • Basic rate limits
  • Delivery logs
  • Email support
Choose Starter
Growth
$80
/ month
3,000 SMS
Higher throughput for active apps
  • Higher rate limits
  • Delivery + error reasons
  • Priority support
Choose Growth
Custom
Let’s talk
High volume / multi-app / special routing
Custom SMS volume
Flexible limits and terms
  • Volume discounts
  • Dedicated routing options
  • SLA by agreement
Request Custom

* Pricing covers the service and dashboard. SMS carrier pricing may vary by destination in custom plans.

API integration

Use your API key and call send then verify. Below is a sample (replace base URL and key).

Auth

Use Authorization: Bearer '<API_KEY>' for server-to-server calls.

Recommended usage
  • Call from your backend (not directly from mobile/web)
  • Apply your own per-user rate limits in addition to ours
  • Store verification state in your DB after success
Example requests
Send OTP
curl -X POST "https://api.YOURDOMAIN.com/v1/otp/send" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+374XXXXXXXX",
    "channel": "sms",
    "ttlSeconds": 120
  }'
Verify OTP
curl -X POST "https://api.YOURDOMAIN.com/v1/otp/verify" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+374XXXXXXXX",
    "code": "123456"
  }'
Response (example)
{
    "ok": true,
    "status": "verified",
    "verifiedAt": "2026-02-12T12:00:00Z"
}
Want a full OpenAPI/Swagger file? We can provide it during onboarding.

Get started with XionID

Tell us your app type, expected SMS volume, and countries — we’ll set up your API key and plan.

OTP APIRate limitsDelivery logsCustom plans