Introduction

Getting Started

Learn how to integrate SecureOTP into your application in under 5 minutes.

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 accountcreate 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:

bash
SECUREOTP_KEY=sk_live_your_api_key_here

Step 2 — Send an OTP

All API requests use Bearer token authentication. Include your key in the Authorization header.

bash
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:

json
{
  "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:

bash
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:

json
{
  "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:

  • SMSPOST /api/v1/otp/sms/send — Delivered via SMS carrier
  • WhatsAppPOST /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