Appearance
Profile API
5 operations. Paths are relative to the API host (http://localhost:5080 in local development). Every operation accepts an OIDC bearer token (Authorization: Bearer …) or a workspace API key (X-Api-Key: keel_live_…); errors are RFC 9457 Problem Details with a code (error codes). Permissions: matrix.
| Method | Path | Summary |
|---|---|---|
| PUT | /api/v1/me/preferences | Save the caller's theme, time zone and number format. |
| GET | /api/v1/me/profile | The caller's identity (from the IdP, read-only), role, sign-in method and preferences. |
| GET | /api/v1/me/sessions | The caller's own sign-in sessions in the IdP (Available is false when another IdP manages them). |
| POST | /api/v1/me/sessions:sign-out-others | End every session of the caller except the current one; returns how many ended. |
| DELETE | /api/v1/me/sessions/{sessionId} | End one of the caller's other sessions (never another person's, never the current one). |
UpdateMyPreferences
http
PUT /api/v1/me/preferencesSave the caller's theme, time zone and number format.
Request body (application/json): UpdatePreferencesRequest
| Field | Type | Notes |
|---|---|---|
numberFormat | NumberFormatPreference | One of DotDecimal, CommaDecimal |
theme | ThemePreference | One of System, Light, Dark |
timeZone | string? |
| Status | Description | Body |
|---|---|---|
| 204 | No Content | — |
GetMyProfile
http
GET /api/v1/me/profileThe caller's identity (from the IdP, read-only), role, sign-in method and preferences.
| Status | Description | Body |
|---|---|---|
| 200 | OK | MyProfileResponse |
Response 200: MyProfileResponse
| Field | Type | Notes |
|---|---|---|
displayName | string | |
email | string | |
preferences | UserPreferencesDto | |
role | string? | |
sessionsAvailable | boolean | |
signInMethod | string | |
userId | uuid |
ListMySessions
http
GET /api/v1/me/sessionsThe caller's own sign-in sessions in the IdP (Available is false when another IdP manages them).
| Status | Description | Body |
|---|---|---|
| 200 | OK | MySessionsResponse |
Response 200: MySessionsResponse
| Field | Type | Notes |
|---|---|---|
available | boolean | |
sessions | MySessionDto[] |
SignOutOtherSessions
http
POST /api/v1/me/sessions:sign-out-othersEnd every session of the caller except the current one; returns how many ended.
| Status | Description | Body |
|---|---|---|
| 200 | OK | int32 |
SignOutMySession
http
DELETE /api/v1/me/sessions/{sessionId}End one of the caller's other sessions (never another person's, never the current one).
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
sessionId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 204 | No Content | — |