Skip to content

Profile

Authenticated profile helpers for the dashboard.

GET /v1/profile/self

Returns the authenticated user's profile basics.

json
{
  "userId": "c959d9f9-dcbd-4054-8c4c-d5c305997bc0",
  "name": "Uebliche",
  "highestRoleLabel": "Moderator",
  "permissions": ["service:verify"]
}

GET /v1/profile/settings

Returns the authenticated user's profile settings.

json
{
  "allowFriendRequests": true,
  "privacy": {
    "serverListVisibility": "PRIVATE"
  }
}

PATCH /v1/profile/settings

Updates profile settings for the authenticated user.

Body:

json
{
  "allowFriendRequests": false,
  "privacy": {
    "serverListVisibility": "FRIENDS"
  }
}

Response:

json
{
  "allowFriendRequests": false,
  "privacy": {
    "serverListVisibility": "FRIENDS"
  }
}

privacy.serverListVisibility accepts PUBLIC, FRIENDS, or PRIVATE.

GET /v1/profile/servers

Lists servers the authenticated user owns or has access to (including Connect-managed servers). Use the tag query parameter to filter to servers running Uebliche software (for example tag=uebliche).

json
[
  {
    "id": "8a6f5f5d-2a5b-4f6a-9d4a-6c9c9a2a3e71",
    "displayName": "hub-eu-1",
    "category": "paper",
    "tags": ["uebliche"],
    "favorite": false
  }
]

Public server payloads now expose relation state for the authenticated user:

  • saved: whether the server is in the synced saved-server list.
  • savedPosition: the canonical cross-device order when saved=true.
  • favorite: whether the saved entry is marked as a favorite.
  • favoriteCount: denormalized favorite counter for the server.

GET /v1/profile/public-servers/saved

Returns the authenticated user's synced saved-server list.

json
{
  "items": [
    {
      "id": "680188af2d0e5b1594f42331",
      "address": "play.example.net:25565",
      "displayName": "Example Server",
      "saved": true,
      "savedPosition": 0,
      "favorite": true,
      "favoriteCount": 42
    }
  ],
  "serverIds": ["680188af2d0e5b1594f42331"],
  "counts": {
    "total": 1,
    "favorites": 1
  }
}

POST /v1/profile/public-servers/saved

Adds a server to the authenticated user's synced saved-server list. Provide exactly one of serverId or address.

json
{
  "serverId": "680188af2d0e5b1594f42331"
}
json
{
  "address": "play.example.net"
}

Response:

json
{
  "id": "680188af2d0e5b1594f42331",
  "address": "play.example.net:25565",
  "displayName": "Example Server",
  "saved": true,
  "savedPosition": 2,
  "favorite": false,
  "favoriteCount": 42
}

DELETE /v1/profile/public-servers/saved/{serverId}

Removes a server from the authenticated user's saved-server list and compacts the canonical order.

json
{
  "saved": false,
  "favorite": false,
  "favoriteCount": 41
}

PUT /v1/profile/public-servers/saved/order

Rewrites the canonical cross-device order for the full saved-server list.

Body:

json
{
  "serverIds": [
    "680188af2d0e5b1594f42331",
    "680188af2d0e5b1594f42332"
  ]
}

The request must contain the complete saved-server id list exactly once. The response matches GET /v1/profile/public-servers/saved.