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
| Field | Type | Required | Description |
|---|---|---|---|
token | string (UUID) | Yes | Verification 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
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_PAYLOAD | Token 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
| Field | Type | Required | Description |
|---|---|---|---|
email | string (email) | Yes | Email 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.