Skip to main content
After registering, the API queues a verification email containing a single-use token link. You must verify your email address to unlock features that require a confirmed identity. If the original email expires or never arrives, you can request a new one while authenticated.

Verify Your Email

Submit the token from the verification email to confirm your address. The token is opaque, single-use, and valid for 24 hours.

Endpoint

This endpoint is public — no session cookie is required, so users can click the link from any browser.

Request Body

string
required
The verification token from your email, e.g. vrf_abc123. Tokens are single-use and expire after 24 hours.

Example Request

Success Response — 200 OK

Your email address is now verified. Subsequent calls to GET /auth/session or GET /users/me will return email_verified: true.

Error Responses

410 Gone means the token is no longer valid — either you already clicked the link, or the 24-hour expiry has passed. Use the Resend Verification Email endpoint below to get a fresh token.

Resend Verification Email

Request a new verification email if you did not receive the original or if your token expired. This endpoint requires you to be authenticated.

Endpoint

Requires an active session cookie. Because this is a state-changing POST request, you must also pass an x-csrf-token header obtained from GET /auth/csrf-token. This endpoint is rate-limited to 5 requests per 15-minute window per account.

Example Request

Success Response — 202 Accepted

The response body is empty. A new verification email has been queued for delivery. Check your inbox (and spam folder) within a few minutes.

Error Responses

Verification tokens expire after 24 hours. If you request a new token, any previously issued token for the same account is invalidated immediately. Always use the link from the most recent email.

Verification Flow Summary

1

Register or log in

Create an account via POST /auth/register. The API immediately queues a verification email.
2

Check your inbox

Open the email and copy the token from the verification link. It looks like vrf_abc123.
3

Submit the token

Call POST /auth/email-verification/verify with { "token": "vrf_abc123" }. On success your email_verified flag becomes true.
4

Resend if needed

If the email never arrived or the token expired, call POST /auth/email-verification/resend (requires a valid session) to queue a fresh token.

Register

Create a new account — triggers the initial verification email.

Login

Log in to get a session before resending a verification email.