Authevo documentation
Verify your users on WhatsApp in two API calls, or with any authenticator app via TOTP. Raw REST endpoints for both methods — no SDK required (an official Node.js/TypeScript SDK is also available).
Introduction
Authevo is a WhatsApp OTP + TOTP verification API for Egypt and the wider MENA region. Send a one-time code to a phone number over WhatsApp and verify what your user typed back, or enroll a phone for TOTP two-factor and verify codes from any authenticator app — two independent methods, one account.
Every request is a plain HTTPS call against a single base URL. Responses come back as JSON, wrapped in a predictable envelope, so the same two calls work in any language your backend already speaks.
https://api.authevo.devThe two-call model
POST /v1/otp/send- Send a one-time code to a phone number.
POST /v1/otp/verify- Check the code the user entered.
Codes are delivered over WhatsApp, with Telegram as a fallback if WhatsApp can't be reached. Link each recipient's Telegram once — a one-tap step, ideally right after they sign up — and every fallback after that is automatic; your integration code never changes.
Quickstart
Integrate the two-call flow in a couple of minutes. WhatsApp sending starts immediately on Authevo's shared number, to Egypt and the other MENA destinations listed on our pricing page — no WhatsApp Business setup required. Connect your own WhatsApp Business Account anytime for your own branded sender, or link Telegram as an automatic fallback.
Get an API key
Create an account and copy your secret key from the dashboard. Secret keys are prefixed with sk_ and authenticate every request. Your first 50 successful verifications are free — WhatsApp and Telegram OTP to every shared-number destination currently listed on our pricing page, to any country once you connect your own WhatsApp number, or TOTP to any number. After that, a $2 minimum balance is required before you can send.
Get your API keySend and verify a code
Call the send endpoint with a phone number, then the verify endpoint with the code your user received. Pick your stack:
# 1. Send a one-time code over WhatsApp
curl -X POST https://api.authevo.dev/v1/otp/send \
-H "Authorization: Bearer sk_…" \
-H "Content-Type: application/json" \
-d '{ "phone": "+201234567890" }'
# 2. Verify the code your user entered
curl -X POST https://api.authevo.dev/v1/otp/verify \
-H "Authorization: Bearer sk_…" \
-H "Content-Type: application/json" \
-d '{ "phone": "+201234567890", "code": "123456" }'Authentication
Authevo uses bearer authentication. Pass your secret key in the Authorization header on every request.
Authorization: Bearer sk_…There are no other auth schemes — no OAuth, no sessions, no logins. A valid secret key is all a request needs.
Keep your secret key on the server
Official SDK
A typed, zero-dependency Node.js/TypeScript SDK covers the OTP send/verify/deliver, TOTP and webhook-signature surface — the calls a verification flow makes. Everything else (API keys, billing, analytics, Telegram linking) is REST-only for now. Node 18+.
npm install authevoNative mobile SDKs
Where to go next
Every endpoint — send, verify, Telegram link, and TOTP — with request/response examples.
WebhooksGet notified the moment a message's delivery status changes, with a signed payload.
Errors, rate limits & idempotencyEvery error code, the real numeric limits, and how to make retries safe.
Sandbox modeBuild and test your whole integration without sending a real message or spending a cent.
ChangelogWhat's shipped, dated and in order.