Resend Verification Email API
Request a new verification email for users who haven't verified their email address yet
Resend Verification Email API
Allow users to request a new verification code if their original code expired or they didn't receive the email. Essential for completing the registration flow.
Fresh Code
Generates a new 6-digit code and invalidates any previous codes.
Rate Limited
Built-in protection against abuse with cooldown periods.
15-Minute Validity
New codes are valid for 15 minutes from generation.
Endpoint Overview
/graphqlRequest a new verification email for an unverified account. Sends a fresh verification code to the specified email address.
Request Parameters
emailString!RequiredThe email address associated with the unverified account. Must be a registered email that hasn't been verified yet.
GraphQL Mutation
mutation resendVerificationEmail($email: String!) {
resendVerificationEmail(email: $email)
}Variables:
{
"email": "user@example.com"
}HTTP Request:
curl -X POST https://api.orbnet.com/graphql \
-H "Content-Type: application/json" \
-d '{
"query": "mutation resendVerificationEmail($email: String!) { resendVerificationEmail(email: $email) }",
"variables": {
"email": "user@example.com"
}
}'Response
{
"data": {
"resendVerificationEmail": true
}
}{
"errors": [
{
"message": "No account found with this email address",
"path": ["resendVerificationEmail"],
"extensions": {
"code": "EMAIL_NOT_FOUND"
}
}
],
"data": null
}{
"errors": [
{
"message": "This email has already been verified",
"path": ["resendVerificationEmail"],
"extensions": {
"code": "ALREADY_VERIFIED"
}
}
],
"data": null
}{
"errors": [
{
"message": "Please wait before requesting another verification email",
"path": ["resendVerificationEmail"],
"extensions": {
"code": "RATE_LIMITED",
"retryAfter": 60
}
}
],
"data": null
}Rate Limiting
To prevent abuse and email spam, this endpoint has built-in rate limiting:
60-Second Cooldown
Users must wait at least 60 seconds between resend requests for the same email.
5 Requests per Hour
Maximum of 5 resend requests per email address within a 1-hour window.
Graceful Response
Rate limit errors include retryAfter value indicating when user can try again.
IP-Based Limits
Additional limits per IP address to prevent bulk abuse across multiple accounts.
Implementation Guide
Show Resend Option
Display a 'Resend Code' button on the verification screen. Include a visible cooldown timer.
Implement Cooldown UI
Disable the resend button for 60 seconds after each click. Show countdown to next available resend.
Handle Rate Limits
If user exceeds limits, show friendly message with time until they can try again.
Check Spam Folder
Remind users to check spam/junk folders before requesting additional resends.
Best Practices
Visible Cooldown
Show a countdown timer after resend. Users appreciate knowing when they can request again.
Spam Folder Hint
Before allowing resend, suggest checking spam/junk folders. Many verification emails land there.
Alternative Contact
Offer support contact for users who consistently don't receive emails (possible typo in email).
Confirm Email Display
Show the email address the code was sent to. Highlight option to change if incorrect.
Error Handling
EMAIL_NOT_FOUND
No account with this email exists. User may need to sign up first.
ALREADY_VERIFIED
Email already verified. Redirect user to login instead.
RATE_LIMITED
Too many requests. Wait for retryAfter seconds before trying again.
EMAIL_DELIVERY_FAILED
Failed to send email. May be temporary; try again later.
Email Troubleshooting
Email Not Arriving?
Common reasons verification emails don't arrive:
- Spam/Junk folder: Check spam folder and mark as "not spam"
- Email typo: Verify the email address is spelled correctly
- Corporate filters: Work emails may have strict filters; try personal email
- Delay: Some email providers have delays; wait a few minutes
Related Endpoints
Complete the Verification Flow
Ensure users can always complete their registration, even if the original verification email was lost or expired.