Email Verification
Verify email addresses via OTP. Confirms email ownership through the same verification lifecycle used by the core VerifyHQ API.
POST
/verifications/emailInitiate an email verification by sending an OTP to the specified address.
Request Body
| Parameter | Type | Description |
|---|---|---|
emailrequired | string | Email address to verify |
userIdrequired | string | Your internal user identifier |
Code Examples
curl -X POST https://api.verifyhq.wejoona.com/verifications/email \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"userId": "user_123"
}'Response
201 Createdjson
{
"id": "ev_abc123",
"userId": "user_123",
"email": "user@example.com",
"status": "PENDING",
"expiresAt": "2026-02-18T13:15:00Z",
"createdAt": "2026-02-18T13:00:00Z"
}POST
/verifications/email/verifySubmit the verification ID and OTP code to complete email verification.
Request Body
| Parameter | Type | Description |
|---|---|---|
verificationIdrequired | string | Verification ID returned by POST /verifications/email |
coderequired | string | The 6-digit OTP code |
curl -X POST https://api.verifyhq.wejoona.com/verifications/email/verify \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{ "verificationId": "ev_abc123", "code": "739201" }'Response
200 OKjson
{
"id": "ev_abc123",
"status": "VERIFIED",
"email": "user@example.com",
"verifiedAt": "2026-02-18T13:01:45Z"
}GET
/verifications/email/:idRetrieve the current status of an email verification.
curl https://api.verifyhq.wejoona.com/verifications/email/ev_abc123 \
-H "X-API-Key: your_api_key"Response
200 OKjson
{
"id": "ev_abc123",
"userId": "user_123",
"email": "user@example.com",
"status": "VERIFIED",
"verifiedAt": "2026-02-18T13:01:45Z",
"createdAt": "2026-02-18T13:00:00Z"
}Verification Statuses
| Parameter | Type | Description |
|---|---|---|
PENDING | status | OTP sent, awaiting user action |
VERIFIED | status | Email ownership confirmed |
FAILED | status | Max attempts exceeded or invalid code |
EXPIRED | status | OTP expired |
Webhook Events
| Parameter | Type | Description |
|---|---|---|
email.verified | event | Email address successfully verified |
email.failed | event | Email verification failed |