API Documentation

Everything you need to integrate ExtremeVerify into your stack.

đŸ‡ŽđŸ‡ŗ

India Only Geo-Restriction Active

ExtremeVerify strictly works for **Indian mobile numbers (+91)** only. You cannot send OTPs or messages to other countries. Please make sure that you do not add spaces or the '+' sign in the phone numbers.

Integration Guidelines

Ensure a smooth integration by following these critical security and performance practices.

Do NOT store OTP

OTP verification is handled securely by ExtremeVerify. Storing it in your own DB can cause sync errors and security risks.

Verify via API Only

Always use the /verify-otp endpoint to validate codes. Never compare them manually in your own backend logic.

Clean Phone Numbers

Send only 10-digit mobiloe numbers (e.g. 91XXXXXXXXXX). Do not send email addresses or formatted strings.

Recommended Flow

  • 1. Register user & store meta in session
  • 2. Call /send-otp via API
  • 3. Call /verify-otp via API
  • 4. On success, commit to database

Common Mistakes

  • ❌ Storing OTP in your own database
  • ❌ Verifying OTP manually (offline)
  • ❌ Using unstable cURL on shared hosts
  • ❌ Using "verified" string check

PHP Pro-Tip: For Shared Hosting (like Hostinger), use file_get_contents() for more stable API calls if your cURL configuration is locked.

Endpoints

POST
/api/send-otp

Dispatches a high-priority Verification OTP to a specified WhatsApp number.

â„šī¸
Automatic Branding Watermark: All verification messages sent via this endpoint automatically include a default footer watermark (- Team ExtremeVerify) to establish authenticity and customer trust.
Parameter Type Description
apiKey Required String Your unique API key.
number Required String Target phone number with country code (e.g., 91XXXXXXXXXX). No '+' or spaces.
{
  "apiKey": "ev_xxxxxxxxxxxxxxxxxxxxxxxx",
  "number": "91XXXXXXXXXX"
}
POST
/api/verify-otp

Validates a user-provided OTP against the stored record for a specific number.

Parameter Type Description
number Required String Target phone number (e.g., 91XXXXXXXXXX).
otp Required String/Number The 6-digit OTP provided by the user.
{
  "number": "91XXXXXXXXXX",
  "otp": "123456"
}
POST
/api/send-message

Sends a custom message or alert to a specified WhatsApp number.

💡
Custom Branding Freedom: ExtremeVerify does not append any system watermarks or default footers to your custom messages. You can append your own customized watermark or signature directly inside the message payload!
Parameter Type Description
apiKey Required String Your unique API key.
number Required String Target phone number with country code.
message Required String The custom message content to deliver.
{
  "apiKey": "ev_xxxxxxxxxxxxxxxxxxxxxxxx",
  "number": "91XXXXXXXXXX",
  "message": "Hello from ExtremeVerify! Your order #1234 has been shipped."
}

Success Response

{
  "success": true,
  "message": "OTP sent successfully",
  "logId": "-O83h..."
}

Error Responses

401 Unauthorized: Invalid or missing API key.

400 Bad Request: Missing number or message.

400 OTP Expired: The provided OTP is no longer valid (10-minute limit reached).

503 Service Unavailable: WhatsApp engine not connected or busy.

Daily Usage & Rate Limiting

To ensure platform stability, Sandbox accounts are limited to 50 successful OTPs/messages per day. Once this limit is reached, all subsequent API calls will fail until the daily reset.

Daily Reset Policy

Your quota automatically resets every day at 12:00 AM (Midnight). You can monitor your real-time usage on the Dashboard's "Daily Load" card.

Limit Exceeded Response (429)

When you reach your daily limit, the API will return a 429 Too Many Requests status code:

{
  "success": false,
  "error": "Daily limit reached",
  "message": "Quota exceeded. Resets at 12:00 AM (Midnight)."
}

Bulk Campaign Dispatcher

ExtremeVerify features a robust bulk message campaign dispatcher directly from the dashboard. This allows administrators to broadcast notifications, updates, or custom alerts to multiple recipients efficiently.

Up to 50 Recipients

Broadcast messages to up to 50 phone numbers in a single campaign batch. Enter comma-separated 10-digit numbers with country codes.

5s Delay Safety Throttle

To protect your WhatsApp account from being flagged or banned, messages are sent sequentially with a mandatory 5-second interval delay.

Emergency Stop Control

Admins can instantly halt an active campaign mid-run with the 'Stop Campaign' emergency control, ensuring complete management oversight.

Campaign History & Logging

The campaign workspace provides a highly responsive 3-Day Campaign History panel. Every single broadcast, success message, fail log, and target recipient is logged inside Firebase in real-time.

  • ✔ Dynamic Log Tracking: Instantly view success/failure statistics per number.
  • ✔ Responsive Layout: Custom visual feedback tags and professional badge colors.
  • ✔ Smooth Scrollbar Integration: Easily navigate lengthy lists of numbers and histories without cluttering the screen.