Getting Started
Welcome to SecureOTP — a flexible OTP delivery platform for modern applications. This guide walks you through everything you need to start sending verification codes via SMS and WhatsApp.
Prerequisites
Before you begin, make sure you have:
- A SecureOTP account — create one for free
- Sufficient credit balance to cover your sends
- A valid phone number to test message delivery
Quick Start
Step 1 — Get your API key
Log in to the Console and navigate to API Tokens. Create a new token and copy the full key — it is only shown once at creation.
SecureOTP uses two key types:
sk_test_...— Sandbox key. Simulates delivery without sending real messages. Free, no balance required.sk_live_...— Live key. Sends real messages and deducts credits from your balance.
Store your key in an environment variable — never commit it to source control:
SECUREOTP_KEY=sk_live_your_api_key_hereStep 2 — Send an OTP
All API requests use Bearer token authentication. Include your key in the Authorization header.
curl -X POST https://otp.applicanity.com/api/v1/otp/sms/send \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "phone": "+628123456789" }'A successful response:
{
"message": "OTP sent successfully",
"expiresAt": "2026-06-09T10:05:00.000Z"
}The recipient receives a message like: YourApp: A1B2C3. Valid for 5 minutes.
Step 3 — Verify the code
When the user submits their code, verify it by sending the phone number and the code together:
curl -X POST https://otp.applicanity.com/api/v1/otp/sms/verify \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "phone": "+628123456789", "code": "A1B2C3" }'A successful verification:
{
"success": true,
"message": "OTP verified successfully",
"phone": "+628123456789"
}Once verified, the code is marked as used and cannot be reused.
Choosing a Channel
SecureOTP supports two delivery channels:
- SMS —
POST /api/v1/otp/sms/send— Delivered via SMS carrier - WhatsApp —
POST /api/v1/otp/whatsapp/send— Delivered via WhatsApp
Both channels share the same verification pattern. Choose based on your audience and use case.
What's Next
- Pricing — Understand the credit system and how to top up
- Authentication — Manage API keys, rotate secrets, and set allowed domains
- SMS — Full guide to sending and verifying SMS OTPs
- WhatsApp — Full guide to WhatsApp delivery including custom accounts
- API Reference — Complete endpoint reference