Skip to content

Verify Email

Endpoints for confirming a user's email address and re-sending the verification email. Both are public, pre-auth flows.

Verify Email

POST /wallethero-api/verify-email

Verify a user's email address using the token sent to them by email. On success the user is marked verified and granted the workspace admin role.

Auth: Public (no token required — pre-auth flow).

Request Body

FieldTypeRequiredDescription
tokenstring (UUID)YesVerification token from the email

Example Request

bash
curl -X POST "https://api.wallethero.app/wallethero-api/verify-email" \
  -H "Content-Type: application/json" \
  -d '{
    "token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }'

Response (200)

json
{
  "message": "Email verified successfully. Please sign in to continue.",
  "requires_login": true,
  "user": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "email_verified": true
  }
}

Errors

StatusCodeDescription
400INVALID_PAYLOADToken missing, not a valid UUID, or invalid/expired (no matching unverified active user)

Notes

  • Each token can only be used once; it is cleared after a successful verification.
  • A welcome email is sent after verification.
  • After verifying, the user must sign in (requires_login: true).

SDK

No SDK method — call the REST endpoint directly.


Resend Verification Email

POST /wallethero-api/resend-verification

Generate and send a fresh verification email for an unverified account.

Auth: Public (no token required — pre-auth flow).

Request Body

FieldTypeRequiredDescription
emailstring (email)YesEmail address to resend verification to

Example Request

bash
curl -X POST "https://api.wallethero.app/wallethero-api/resend-verification" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]"
  }'

Response (200)

Always returns success to prevent email enumeration, regardless of whether the account exists or is already verified:

json
{
  "message": "If an unverified account with this email exists, a new verification email has been sent."
}

Notes

  • A new verification token is generated, invalidating any previous one.
  • The success message is returned even if the email cannot be sent.

SDK

No SDK method — call the REST endpoint directly.

WalletHero Documentation