Register Your Application
Enter your application name and developer email to provision secure verification credentials.
Verify Your Email
We have sent a 6-digit verification code to . Please enter it below to complete registration.
Application Registered!
Your secure credentials have been successfully provisioned. Store them safely.
Application ID
Copied!
X-API-KEY
Copied!
⚠️ Security Warning: The X-API-KEY is hashed in the database and is shown here only once. If lost, you must re-register your application.
Integration Guide & API Docs
Connect this verification microservice to your apps in less than 5 minutes.
Send OTP Endpoint
curl -X POST http://127.0.0.1:3000/api/v1/verify/send \
-H "Content-Type: application/json" \
-H "X-API-KEY: <YOUR-API-KEY>" \
-d '{
"email": "user@example.com",
"appId": "<YOUR-APP-ID>"
}'
Confirm OTP Endpoint
curl -X POST http://127.0.0.1:3000/api/v1/verify/confirm \
-H "Content-Type: application/json" \
-H "X-API-KEY: <YOUR-API-KEY>" \
-d '{
"email": "user@example.com",
"appId": "<YOUR-APP-ID>",
"otp": "123456"
}'
Send OTP Example (Backend Express/Node)
import fetch from 'node-fetch';
async function sendVerificationOTP(email) {
const response = await fetch('http://127.0.0.1:3000/api/v1/verify/send', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': process.env.VERIFICATION_API_KEY
},
body: JSON.stringify({
email: email,
appId: process.env.VERIFICATION_APP_ID
})
});
return await response.json();
}
Confirm OTP Example (Backend Express/Node)
async function confirmVerificationOTP(email, otp) {
const response = await fetch('http://127.0.0.1:3000/api/v1/verify/confirm', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': process.env.VERIFICATION_API_KEY
},
body: JSON.stringify({
email: email,
appId: process.env.VERIFICATION_APP_ID,
otp: otp
})
});
const result = await response.json();
if (response.ok) {
// result.token contains signed verification JWT
return { verified: true, token: result.token };
}
return { verified: false, error: result.error };
}
Send Verification (Requests library)
import requests
def send_verification(email):
headers = {
"Content-Type": "application/json",
"X-API-KEY": "YOUR-API-KEY"
}
payload = {
"email": email,
"appId": "YOUR-APP-ID"
}
response = requests.post(
"http://127.0.0.1:3000/api/v1/verify/send",
json=payload,
headers=headers
)
return response.json()
Confirm Verification (Requests library)
def confirm_verification(email, otp):
headers = {
"Content-Type": "application/json",
"X-API-KEY": "YOUR-API-KEY"
}
payload = {
"email": email,
"appId": "YOUR-APP-ID",
"otp": otp
}
response = requests.post(
"http://127.0.0.1:3000/api/v1/verify/confirm",
json=payload,
headers=headers
)
return response.json()
Go HTTP Client Integration
package main
import (
"bytes"
"encoding/json"
"net/http"
)
func SendOTP(email string) (*http.Response, error) {
url := "http://127.0.0.1:3000/api/v1/verify/send"
payload, _ := json.Marshal(map[string]string{
"email": email,
"appId": "YOUR-APP-ID",
})
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-KEY", "YOUR-API-KEY")
client := &http.Client{}
return client.Do(req)
}
PHP cURL Integration
<?php
function sendOTP($email) {
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "http://127.0.0.1:3000/api/v1/verify/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode([
"email" => $email,
"appId" => "YOUR-APP-ID"
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: YOUR-API-KEY"
],
]);
$response = curl_exec($curl);
curl_close($curl);
return json_decode($response, true);
}