Generate or supply a code
Generate a numeric code of 4–8 digits, or supply a custom code of 4–16 letters, numbers, hyphens, or underscores. Set expiry from 1 to 60 minutes.
Send and verify one-time passcodes by email, SMS, or WhatsApp. Configure a delivery channel, then use the same API for generation, expiry, resend, and verification.
Generate a numeric code of 4–8 digits, or supply a custom code of 4–16 letters, numbers, hyphens, or underscores. Set expiry from 1 to 60 minutes.
Each request selects email, SMS, or WhatsApp. Configure the channel first; switching channels is an application decision, not an automatic cascade.
Codes expire, verification attempts are capped, and resend cooldowns and recipient and tenant send limits help control repeated requests.
Call the verify endpoint from your server. Successful verification invalidates the code and returns a verification result with a token and timestamp.
POST /api/v1/otp/send
Authorization: Bearer <SENDRIN_API_KEY>
Content-Type: application/json
{
"channel": "sms",
"recipient_phone": "+919876543210",
"purpose": "login",
"ttl_seconds": 300
}
POST /api/v1/otp/verify
Authorization: Bearer <SENDRIN_API_KEY>
Content-Type: application/json
{
"channel": "sms",
"recipient_phone": "+919876543210",
"purpose": "login",
"code": "482913"
}Use an application API key on your server. SMS needs provider credentials; email needs a verified sending domain; WhatsApp needs a connected business number, approved authentication template, and recipient consent. See the OTP guide for setup and limits.
One API, every channel, full delivery visibility. Start free, no credit card required.