VerifyHQ Docs

Email Verification

Verify email addresses via OTP. Confirms email ownership through the same verification lifecycle used by the core VerifyHQ API.

POST/verifications/email

Initiate an email verification by sending an OTP to the specified address.

Request Body

ParameterTypeDescription
emailrequiredstringEmail address to verify
userIdrequiredstringYour 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/verify

Submit the verification ID and OTP code to complete email verification.

Request Body

ParameterTypeDescription
verificationIdrequiredstringVerification ID returned by POST /verifications/email
coderequiredstringThe 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/:id

Retrieve 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

ParameterTypeDescription
PENDINGstatusOTP sent, awaiting user action
VERIFIEDstatusEmail ownership confirmed
FAILEDstatusMax attempts exceeded or invalid code
EXPIREDstatusOTP expired

Webhook Events

ParameterTypeDescription
email.verifiedeventEmail address successfully verified
email.failedeventEmail verification failed