Skip to content
Developers

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.

Base URLhttps://api.authevo.dev

The 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 key

Send 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

Secret keys grant full access to send and verify on your account. Never ship one in client-side or mobile app code, and never commit it to version control. Make Authevo calls from your backend, and rotate a key immediately if it leaks.

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+.

Installnpm install authevo

Native mobile SDKs

iOS, Android, Flutter, and React Native SDKs aren't built yet — raw REST already works from any mobile app's own backend today. Watch the changelog for native SDK support.

Where to go next