Skip to main content
POST
https://api.stablepay.global
/
v2
/
users
/
{userId}
/
verify
/
email
/
send
Send Email OTP
curl --request POST \
  --url https://api.stablepay.global/v2/users/{userId}/verify/email/send \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "message": "OTP sent to your email",
  "data": {
    "maskedEmail": "ra****@example.com",
    "expiresIn": 600
  }
}

Send Email OTP

Sends a 6-digit OTP to the user’s registered email address.
userId
string
required
The unique user ID

Request

curl -X POST https://api.stablepay.global/v2/users/usr_abc123/verify/email/send \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "message": "OTP sent to your email",
  "data": {
    "maskedEmail": "ra****@example.com",
    "expiresIn": 600
  }
}
  • OTP is valid for 10 minutes
  • Maximum 3 OTP requests per 10 minutes (rate limited)
  • Previous OTPs are invalidated when a new one is sent
  • User must have an email address on file

Errors

CodeDescription
Not FoundUser not found
No EmailUser does not have an email address
Already VerifiedEmail is already verified
Too Many RequestsRate limit exceeded (max 3 per 10 min)
{
  "success": true,
  "message": "OTP sent to your email",
  "data": {
    "maskedEmail": "ra****@example.com",
    "expiresIn": 600
  }
}