Resend Verification Email API

Request a new verification email for users who haven't verified their email address yet

Email Verification

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

MUTATION/graphql

Request a new verification email for an unverified account. Sends a fresh verification code to the specified email address.

Authentication:No Auth Required

Request Parameters

emailString!Required

The 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

200Verification Email Sent
{
  "data": {
    "resendVerificationEmail": true
  }
}
400Email Not Found
{
  "errors": [
    {
      "message": "No account found with this email address",
      "path": ["resendVerificationEmail"],
      "extensions": {
        "code": "EMAIL_NOT_FOUND"
      }
    }
  ],
  "data": null
}
400Already Verified
{
  "errors": [
    {
      "message": "This email has already been verified",
      "path": ["resendVerificationEmail"],
      "extensions": {
        "code": "ALREADY_VERIFIED"
      }
    }
  ],
  "data": null
}
429Rate Limited
{
  "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

1

Show Resend Option

Display a 'Resend Code' button on the verification screen. Include a visible cooldown timer.

2

Implement Cooldown UI

Disable the resend button for 60 seconds after each click. Show countdown to next available resend.

3

Handle Rate Limits

If user exceeds limits, show friendly message with time until they can try again.

4

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


Complete the Verification Flow

Ensure users can always complete their registration, even if the original verification email was lost or expired.

View Verify Email API