Auth
Request a password reset email
Sends a password reset link to the specified email. Always returns 200 to avoid leaking account existence.
Request Body
application/jsonRequiredEmail address
emailstringOK
Authenticate with email and password
Validates credentials and returns user data with auth cookies. If TOTP is enabled, returns a partial token requiring 2FA verification.
Request Body
application/jsonRequiredLogin credentials
emailstringpasswordstringOK
Complete two-factor authentication login
Validates a TOTP code against a partial token to complete 2FA login. Sets auth cookies on success.
Request Body
application/jsonRequired2FA verification
codestringpartialTokenstringOK
Log out and invalidate session
Revokes the refresh token and clears auth cookies.
OK
Begin OAuth authentication flow
Redirects to the OAuth provider's authorization page. Supports login and account-linking flows.
Path Parameters
providerRequiredstringOAuth provider (github, google)
Query Parameters
flowstringFlow type: login or link
"login"Redirect to OAuth provider
Handle OAuth provider callback
Processes the OAuth provider's redirect with authorization code. Completes login or account linking. Redirects to frontend.
Path Parameters
providerRequiredstringOAuth provider (github, google)
Query Parameters
codeRequiredstringAuthorization code from provider
stateRequiredstringCSRF state parameter
Redirect to frontend
Refresh access token
Uses the refresh_token cookie to issue a new access token and refresh token pair.
OK
Reset password with token
Resets the user's password using a valid reset token obtained from forgot-password.
Request Body
application/jsonRequiredReset token and new password
passwordstringtokenstringOK
Register a new user account
Creates a new user account with name, email, and password. Sends a verification email if mail service is configured; otherwise auto-verifies.
Request Body
application/jsonRequiredSignup request
emailstringnamestringpasswordstringCreated
Verify email address
Validates the email verification token and redirects to the login page with a verified flag.
Query Parameters
tokenRequiredstringEmail verification token
Redirect to login page
Resend email verification link
Sends a new verification email to the specified address. Always returns 200 to avoid leaking account existence.
Request Body
application/jsonRequiredEmail address
emailstringOK