Settings
Per-user settings stored as JSONB. New keys are merged; existing keys not in the update request are preserved.
Get Settings
GET /api/v1/settings
Get the authenticated user's settings.
Response: 200 OK
{
"user_id": "uuid",
"settings": {
"icon_pack": "default",
"label_mode": "hostname",
"theme": "dark"
},
"updated_at": "2024-01-01T00:00:00Z"
}
If no settings row exists, an empty settings object is returned.
Update Settings
PUT /api/v1/settings
Merge-update the authenticated user's settings. Only keys present in the request are updated; other keys are preserved.
Request body:
{
"settings": {
"icon_pack": "industrial",
"theme": "light"
}
}
Response: 200 OK (updated settings object)
Error: 400 Bad Request — Missing settings field