Sign in
POST /auth/signin
Authenticates a registered user and returns a JWT access token together with a refresh token.
Request body
The user’s email address. Must be a valid email format. Leading and trailing
whitespace is stripped automatically.
The user’s password.
Response
HTTP status code.
200 on success.Human-readable result message.
Examples
200 response
Error responses
| Status | Description |
|---|---|
400 Bad Request | Request body is missing or malformed. |
401 Unauthorized | Email or password is incorrect, or the email is not verified. |
Refresh token
POST /auth/refresh-token
Generates a new access token using a valid refresh token. Use this endpoint when the current access token has expired.
Request body
The refresh token received at sign-in.
Examples
200 response
Sign out
POST /auth/signout
Invalidates the current session. Requires a valid Bearer token.
This endpoint requires the
Authorization: Bearer <token> header.Request body
Optional list of specific session IDs to invalidate. When omitted, the
current session is invalidated.
Examples
200 response
Forgot password
POST /auth/forgot-password
Sends a password-reset link to the user’s email address.
Request body
Email address of the account for which to initiate a password reset.
Optional URL of a brand logo to include in the reset email. Must include a
protocol and a valid TLD (for example,
https://example.com/logo.png).Optional display name of the platform, used in the reset email body.
Optional base URL the reset link should point back to (for example,
https://app.example.com).Optional client alias to scope the reset link to a specific front-end client
(for example,
"VERIFIER").Examples
200 response
Reset password (token-based)
POST /auth/password-reset/:email
Completes the password-reset flow by setting a new password using the token delivered by email.
Path parameters
The email address of the account whose password is being reset.
Request body
The new password to set for the account.
The verification token received in the password-reset email.
Examples
200 response
Reset password (authenticated)
POST /auth/reset-password
Allows a signed-in user to change their password by providing their current password.
Request body
The user’s email address.
The user’s current password.
The new password. Must be different from
oldPassword.Examples
200 response
Get all sessions
GET /auth/:userId/sessions
Returns all active sessions for the specified user. Requires a valid Bearer token. Users may only retrieve their own sessions.
This endpoint requires the
Authorization: Bearer <token> header.Path parameters
UUID of the user whose sessions to retrieve. Must match the authenticated
user’s ID.
Examples
| Status | Description |
|---|---|
401 Unauthorized | No or invalid Bearer token. |
403 Forbidden | The authenticated user is trying to access another user’s sessions. |
Delete a session
DELETE /auth/:sessionId/sessions
Deletes a specific session by its ID. Requires a valid Bearer token.
This endpoint requires the
Authorization: Bearer <token> header.Path parameters
UUID of the session record to delete.
Examples
200 response
| Status | Description |
|---|---|
400 Bad Request | The session ID is not a valid UUID. |
401 Unauthorized | No or invalid Bearer token. |
403 Forbidden | The authenticated user does not own the session. |