/api/auth handle user identity. Most do not require an existing session, but a few require a valid bearer token (indicated below).
The default credentials are email:
admin and password: admin. Change them after first login.POST /api/auth/login
Exchange credentials for a JWT bearer token. Request bodyThe user’s email address (or username for the default admin account).
The user’s password.
JWT bearer token. Pass this as
Authorization: Bearer <token> on protected endpoints.POST /api/auth/signup
Register a new user account. Areferrer token is required (obtained from an existing user or admin).
Request body
Referrer token provided by an existing user.
New user’s email address.
New user’s password.
Optional display name.
/login: a LoginResponse with token and user.
GET /api/auth/me
Return the currently authenticated user’s details.Requires a valid bearer token.
User object (same fields as the user object in the login response).
PUT /api/auth/me/name
Update the display name of the current user.Requires a valid bearer token.
New display name.
true on success.
PUT /api/auth/me/password
Change the current user’s password.Requires a valid bearer token.
Current password.
New password.
true on success.
POST /api/auth/send-password-reset-link
Send a password-reset link to the given email address. Request bodyEmail address of the account to reset.
true on success.
POST /api/auth/reset-password-with-token
Reset a password using the token received in the reset email. Pass the reset token as a bearer token in theAuthorization header.
Requires the password-reset bearer token from the reset email.
The new password.
true on success.
POST /api/auth/me/send-otp
Send a one-time password (OTP) to the current user’s email for verification.Requires a valid bearer token.
An OTP session token to be passed to
/verify-otp.POST /api/auth/verify-otp
Verify an OTP code and mark the user’s email as verified. Submit asmultipart/form-data.
Form fields
The one-time password received by email.
The OTP session token returned by
/me/send-otp.true on success.
POST /api/auth/me/create-token
Generate a long-lived user API token (distinct from the JWT session token).Requires a valid bearer token.
The new API token string.
GET /api/auth/verify-token
Check whether a given user API token is valid and the account is active. Query parametersThe user token to verify.
true if the token is valid and the account is active, false otherwise.
POST /api/auth/me/tokens
List all API tokens belonging to the current user.Requires a valid bearer token.
UserToken objects.
The 10-character token string.
ID of the owning user.
Expiry time (UNIX ms).
Using the token
Include the JWT from/login in every protected request: