Skip to main content
OTP.ID gives you a single API to send and verify one-time passwords across five delivery channels — WhatsApp, SMS, Email, Missed Call, and user-initiated WhatsApp Inbound. Integrate in minutes, handle verification server-side, and receive real-time webhooks when users confirm their identity.

Quickstart

Send your first OTP in under 5 minutes

Authentication

Get your API key and authenticate requests

API Reference

Explore all endpoints with request and response examples

Webhooks

Get notified instantly when an OTP is verified

How it works

OTP.ID follows a simple request → verify flow. You call the API to create an OTP transaction, the platform delivers the code through your chosen channel, and then your app calls the verify endpoint when the user submits their code.
1

Get your API key

Sign in to the OTP.ID dashboard and copy your API key from the settings page.
2

Send an OTP

Call POST /v3/request with a channel and destination. OTP.ID generates and delivers the code automatically.
3

Verify the code

When the user enters the code, call POST /v3/verify with the otp_id and the code they provided.
4

React to the result

Check data.verified in the response — true means success. Set up a webhook to receive an async notification as well.

Explore by topic

Channels

WhatsApp, SMS, Email, Missed Call, WhatsApp Inbound

OTP Lifecycle

Status flow from creation to verification

Billing

Prepaid balance and per-transaction pricing

Idempotency

Safe retries with external_id

Error Codes

Full catalogue of API error codes

Rate Limits

Per-key and per-destination limits