Skip to content

Profile API

This page covers the current signed-in user's profile and runtime preferences. Broader user-management workflows are intentionally not documented in the public API reference.

Get profile

http
GET /api/auth/me
Authorization: Bearer <token>
bash
curl -sS \
  -H "Authorization: Bearer $OMNILUX_TOKEN" \
  "http://your-server:4000/api/auth/me"

Response:

json
{
  "id": 1,
  "username": "your-username",
  "role": "user",
  "displayName": "Your Name",
  "avatarUrl": null,
  "expiresAt": "2026-07-01T00:00:00Z"
}

Get all preferences

http
GET /api/user/preferences
Authorization: Bearer <token>
json
{
  "preferences": {
    "defaultQuality": "original",
    "defaultSubtitleLanguage": "en",
    "defaultAudioLanguage": "en",
    "theme": "dark"
  }
}

Replace preferences

http
PUT /api/user/preferences
Authorization: Bearer <token>
Content-Type: application/json

{
  "defaultQuality": "1080p",
  "defaultSubtitleLanguage": "es",
  "theme": "dark"
}
bash
curl -sS \
  -X PUT \
  -H "Authorization: Bearer $OMNILUX_TOKEN" \
  -H "Content-Type: application/json" \
  --data @- \
  "http://your-server:4000/api/user/preferences" <<'EOF'
{
  "defaultQuality": "1080p",
  "defaultSubtitleLanguage": "es",
  "theme": "dark"
}
EOF

Response:

json
{
  "preferences": {
    "defaultQuality": "1080p",
    "defaultSubtitleLanguage": "es",
    "theme": "dark"
  }
}

Single preference key

Read, update, or delete one preference key:

http
GET /api/user/preferences/:key
PUT /api/user/preferences/:key
DELETE /api/user/preferences/:key
Authorization: Bearer <token>

PUT /api/user/preferences/:key accepts:

json
{
  "value": "dark"
}