Get the authenticated identity
Returns the current user, their org memberships, the active org, and realm roles. Dashboard-only - requires a Keycloak session. External API-key callers get 401.
Get the authenticated identity › Responses
Session payload consumed by the frontend useSession hook
active_orgactive_workspacerealm_rolesGet the caller's enrolled Keycloak credential types
Returns the list of credential types the user has enrolled - "password", "otp", "webauthn", "webauthn-passwordless", "recovery-authn-codes". Used by the /settings/account/2fa page to render Connected/Setup state per row. API-key callers receive an empty list (no Keycloak user). Returns an empty list when the Keycloak admin client isn't configured (deployment-config gap; the page renders correctly for the empty case).
Get the caller's enrolled Keycloak credential types › Responses
OK
typesGet the caller's resolved permission set
Returns the permissions the current request would pass through RequirePermission gates. Computed from the JWT claims (Keycloak path) or the API-key all-assignable bundle. The frontend <Can> component reads this to render permission-gated UI.
Get the caller's resolved permission set › Responses
Resolved permission set for this request
is_system_adminpermissionsGet the current user's preferences
Returns the authenticated user's dashboard preferences. The row is created with schema defaults on first access.
Get the current user's preferences › Responses
OK
created_atcurrencyCurrency: per-user override of the org's default_currency. ISO 4217
code, e.g. "EUR". Drives
date_formatfirst_day_of_weeklanguageLanguage: UI translation key (e.g. "de", "en"). Distinct from Locale, which drives number/date format grammar — a user may legitimately want German UI with Swiss number formatting.
localenumber_formatthemetimezoneupdated_atuser_idUpdate the current user's preferences
Partial-update. Fields omitted from the body remain unchanged. The locale and timezone fields mirror onto users.locale/timezone so the per-request locale resolver sees the new value immediately.
Update the current user's preferences › Request Body
currencydate_formatfirst_day_of_weeklanguagelocalenumber_formatthemetimezoneUpdate the current user's preferences › Responses
OK
created_atcurrencyCurrency: per-user override of the org's default_currency. ISO 4217
code, e.g. "EUR". Drives
date_formatfirst_day_of_weeklanguageLanguage: UI translation key (e.g. "de", "en"). Distinct from Locale, which drives number/date format grammar — a user may legitimately want German UI with Swiss number formatting.
localenumber_formatthemetimezoneupdated_atuser_id