AppScan
Browse all 61 articles
API

Auth and account

Registering, signing in, refreshing, two-factor, verification, passwords and personal notification preferences.

MethodPathNeedsReturns
POST/auth/registerpublic201 { userId, organizationId, session }
POST/auth/loginpublic{ userId, session } or { mfaRequired, challengeToken }
POST/auth/mfapublic{ challengeToken, code } → { userId, session }
POST/auth/refreshpublic{ session }, rotated
POST/auth/logoutpublic204, idempotent
GET/users/meauthenticated{ id, email, emailVerified, createdAt }
GET/account/2faauthenticated{ enabled, enabledAt, recoveryCodesRemaining }
POST/account/2fa/setupauthenticated{ secret, otpauthUrl }
POST/account/2fa/enableauthenticated{ recoveryCodes[10] }, once
POST/account/2fa/disableauthenticated{ password, code }
POST/account/2fa/recovery-codesauthenticatedten new codes
POST/account/verify-email/requestauthenticated202, at most five an hour
POST/account/verify-emailpublic{ token } → { verified: true }
POST/account/password/forgotpublic202, always
POST/account/password/resetpublic{ token, password }; revokes every session
POST/account/password/changeauthenticatedrevokes every session
GET/account/notificationsauthenticatedyour preferences in this organization
PATCH/account/notificationsauthenticated{ instantEmail?, digestEmail?, minSeverity? }

A session is { accessToken, tokenType, expiresIn, refreshToken, refreshTokenExpiresAt }. Passwords are at least ten characters and hashed with Argon2id. The forgot-password route answers 202 whether or not the address exists.

Something here wrong, missing or out of date? Tell us and we will fix the page.