Vylo OTP delivers verification codes over WhatsApp — and sends ordinary messages from the very same number. No SMS fees, no gateway to run. Send a code, verify it, notify your customer. You're billed only for messages the gateway accepts.
Three steps between you and a verified user.
Your backend calls POST /otp/send with the user's phone. We generate a secure random code and store only its hash.
The code is sent from your connected WhatsApp number through our gateway. Your user reads it in WhatsApp.
Your backend calls POST /otp/verify with the phone + code. Single-use, time-limited. Done.
The same connected number sends ordinary WhatsApp messages too.
POST /messages/send takes a phone and up to 1000 characters — order updates, reminders, receipts. One request, one recipient.
Messages go out from your own WhatsApp number and cost exactly what a code costs. Refused sends are never billed.
GET /messages lists everything that left your number — who, when, accepted or refused, and what it cost. The text itself is never stored.
Messaging is switched on per account: ask us to enable it once you are set up. You are the sender of record, so recipient consent is yours to hold.
Pay only for what you send.
Failed deliveries are never billed. Prices can be tailored per account.
No monthly fee, no setup cost. Create an account and try it.
Track usage, cost, and balance any time from your dashboard.
Authenticate with your API key (starts with otpsk_) in the Authorization header. Server-side only — never ship the key to a browser or app.
# 1) Send a code curl -X POST https://otp.vylo-tech.com/otp/send \ -H "Authorization: Bearer otpsk_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"phone":"9647501234567"}' # 2) Verify what the user typed curl -X POST https://otp.vylo-tech.com/otp/verify \ -H "Authorization: Bearer otpsk_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"phone":"9647501234567","code":"482913"}' # 3) Send an ordinary WhatsApp message from the same number curl -X POST https://otp.vylo-tech.com/messages/send \ -H "Authorization: Bearer otpsk_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"phone":"9647501234567","message":"Your order #1042 has shipped."}' # 4) Read your message log (who, when, status, cost) curl https://otp.vylo-tech.com/messages?source=message \ -H "Authorization: Bearer otpsk_YOUR_API_KEY"
| Method | Path | What it does |
|---|---|---|
| POST | /otp/send | Generate + deliver a code to a phone. |
| POST | /otp/verify | Check the code the user entered. |
| POST | /messages/send | Send an ordinary WhatsApp message (1-1000 chars). |
| GET | /messages | Your message log — who, when, status, cost. |
| GET | /usage | Your send counts, cost, and balance. |