Skip to main content

Profile & Preferences

User settings, themes, and customization.

PUT /api/users/{username}/theme

Set user's theme preference.

Authentication: Required

Path Parameters:

ParameterTypeDescription
usernamestringUsername

Request Body:

{
"theme": "dark"
}

Supported Themes:

  • light - Light theme
  • dark - Dark theme
  • auto - System preference

Response:

Returns updated user object with theme saved in settings.


GET /api/top-menu-templates

Get available top menu templates for users.

Authentication: Required

Response:

{
"templates": [
{
"id": "default",
"name": "Default Menu",
"items": []
}
]
}

Use Case:

Configure user's navigation menu preferences.


User Settings

User settings are stored in the settings JSONB field and can include:

Common Settings

{
"theme": "dark",
"language": "en",
"dateFormat": "MM/DD/YYYY",
"timeFormat": "12h",
"pageSize": 50,
"notifications": {
"email": true,
"inApp": true
},
"dashboard": {
"layout": "grid",
"widgets": []
}
}

Update via PUT /api/users/\{username\} or PUT /api/me with settings object.


GET /api/users/{username}/memberships

Get user's team memberships.

Authentication: Required

Path Parameters:

ParameterTypeDescription
usernamestringUsername

Response:

{
"_links": {
"self": { "href": "/api/users/{username}/memberships" }
},
"_embedded": {
"inf:membership": [
{
"teamId": "team:analytics",
"userId": "john.doe",
"role": "member",
"joinedAt": "2024-01-15T10:00:00Z",
"_links": {
"inf:team": { "href": "/api/teams/team:analytics" }
}
}
]
},
"start": 0,
"count": 1,
"total": 1
}

Use Case:

Display all teams a user belongs to and their roles.