POST /api/v1/auth/register
Register a new user account. Creates a user, a personal playground tenant, and a default API key. Auto-verifies the email — no separate verification email is sent on the playground build. Rate limited to 5 requests per IP per hour.Request Body
Response
Always returns the same generic message regardless of whether the email already exists, to prevent email enumeration.GET /api/v1/auth/verify
Verify a user’s email address via the link sent during registration. Redirects to the login page.Query Parameters
Redirect Outcomes
POST /api/v1/auth/mfa
Manage multi-factor authentication (TOTP, RFC 6238). Supportssetup, enable, verify, and disable actions.
Enforcement status. The MFA endpoints described below are implemented
and functional — secrets are encrypted at rest, backup codes are one-way
hashed, verification is timing-safe and rate-limited. Session-level
enforcement in middleware is staged but not yet active:
session.mfaVerified
is hardcoded to false today, so a successful verify call does not yet
gate protected routes at the middleware layer. Wiring the verify response
into the session is the remaining work. Callers that want to require MFA
can check the verified response themselves until enforcement ships.Request Body
Actions
setup — Generate a TOTP secret and backup codes. MFA is not yet active.
enable — Verify a TOTP token to activate MFA. Returns fresh backup codes.
verify — Verify a TOTP token or backup code during login. Rate limited to 3 attempts per 60 seconds.
disable — Disable MFA (requires valid TOTP token).
API Keys
POST /api/v1/api-keys
Generate a new API key. Admin only.Keys are data-plane-only by default: a key minted without scopes can call
POST /recommend, POST /respond, POST /respond/bulk, and POST /capture,
but gets 403 on management endpoints. Management access requires a key
minted with the control-plane scope — keep such keys internal and never
embed them in client apps. Full scope model: API Keys.Response
GET /api/v1/api-keys
List active API keys (prefix only, never the full key). Admin only.DELETE /api/v1/api-keys
Revoke an API key (soft delete). Admin only.SSO
GET /api/v1/sso
Get SSO configuration for the tenant. Sensitive fields are redacted. Admin only.POST /api/v1/sso
Configure SSO or get an auth URL.SSO Configuration Fields
Roles
See also: Authentication