Auth — Sessions & Tokens
Authenticate users, mint access + refresh token pairs, and manage the session lifecycle. Every non-public endpoint on the Zoniqx platform depends on tokens issued here.
What you can do
- Log in with email + password — receive
accessToken+refreshToken - Refresh an expired access token without re-entering credentials
- Log out — revoke the current session server-side
- Rotate credentials — password change and MFA flows
Endpoints
GET
Handle Google OAuth callback and exchange code for tokens
/auth/google/callback
GET
Initiate Google OAuth login flow
/auth/google
POST
Register a new user with email and password
/auth/email
POST
Login with email and password
/auth/email/login
GET
Verify a user email address (legacy link-based flow)
/auth/email/verify
POST
Verify email with a one-time token (Anka signup flow)
/auth/email/verify-token
POST
Resend email verification link
/auth/email/resend-verification
POST
Verify email with a one-time OTP (FIUSS signup flow)
/auth/email/verify-otp
POST
Resend the email-verification OTP (FIUSS signup flow)
/auth/email/resend-otp
POST
Send a password reset email
/auth/forgot-password
POST
Request a password-reset OTP (FIUSS)
/auth/forgot-password/request-otp
POST
Verify a password-reset OTP (FIUSS)
/auth/forgot-password/verify-otp
GET
Get the current 2FA status for the logged-in user
/auth/2fa/status
POST
Begin enabling 2FA (email method)
/auth/2fa/setup
POST
Confirm and activate 2FA
/auth/2fa/enable
POST
Disable 2FA
/auth/2fa/disable
POST
Complete login with a 2FA code
/auth/2fa/verify
POST
Check if a password reset token is still valid
/auth/token-status
PUT
Reset password using a reset token
/auth/reset-password
POST
Refresh an access token using a refresh token
/auth/refresh
POST
Mint User Token
/auth/users/{userId}/token