Skip to content

Profile ​

The signed-in admin's own profile.

4 endpoints

GET /api/profile ​

Get Profile

my profile

Any admin

Response 200 Successful Response · Profile

Response fields
FieldTypeDescription
usernamestring
rolestring
display_namestring
biostring
contactstring
avatarstring
created_atstring (date-time)
updated_atstring (date-time)
usersinteger
users_limitinteger
traffic_limitinteger
traffic_usedinteger
expire_datestring (date-time)
json
{
  "username": "string",
  "role": "string",
  "display_name": "",
  "bio": "",
  "contact": "",
  "avatar": "string",
  "created_at": "2026-01-01T00:00:00Z",
  "updated_at": "2026-01-01T00:00:00Z",
  "users": 0,
  "users_limit": 0,
  "traffic_limit": 0,
  "traffic_used": 0,
  "expire_date": "2026-01-01T00:00:00Z"
}

Errors: 401 Unauthorized

bash
curl -X GET 'https://YOUR-PANEL/api/profile' \
  -H 'Authorization: Bearer $TOKEN'

PUT /api/profile ​

Edit Profile

change my picture, name, bio or contact (a field left out stays as it is)

Any admin

Request body application/json · ProfileEdit

FieldTypeRequiredDescription
display_namestringno
biostringno
contactstringno
avatarstringno
json
{
  "display_name": "string",
  "bio": "string",
  "contact": "string",
  "avatar": "string"
}

Response 200 Successful Response · Profile

Response fields
FieldTypeDescription
usernamestring
rolestring
display_namestring
biostring
contactstring
avatarstring
created_atstring (date-time)
updated_atstring (date-time)
usersinteger
users_limitinteger
traffic_limitinteger
traffic_usedinteger
expire_datestring (date-time)
json
{
  "username": "string",
  "role": "string",
  "display_name": "",
  "bio": "",
  "contact": "",
  "avatar": "string",
  "created_at": "2026-01-01T00:00:00Z",
  "updated_at": "2026-01-01T00:00:00Z",
  "users": 0,
  "users_limit": 0,
  "traffic_limit": 0,
  "traffic_used": 0,
  "expire_date": "2026-01-01T00:00:00Z"
}

Errors: 401 Unauthorized

bash
curl -X PUT 'https://YOUR-PANEL/api/profile' \
  -H 'Authorization: Bearer $TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"display_name": "string", "bio": "string", "contact": "string", "avatar": "string"}'

POST /api/profile/password ​

Change Password

my own password: the current one first; my other sessions end, this one goes on

Any admin

Request body application/json · PasswordChange

FieldTypeRequiredDescription
currentstringyes
newstringyes
json
{
  "current": "string",
  "new": "string"
}

Response 200 Successful Response

Errors: 401 Unauthorized

bash
curl -X POST 'https://YOUR-PANEL/api/profile/password' \
  -H 'Authorization: Bearer $TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"current": "string", "new": "string"}'

GET /api/profiles ​

List Profiles

the admins' names and pictures, for the admins list (the ones this admin may see)

Sudo admin only

Response 200 Successful Response · object

json
{
  "key": {
    "display_name": "",
    "avatar": "string"
  }
}

Errors: 401 Unauthorized

bash
curl -X GET 'https://YOUR-PANEL/api/profiles' \
  -H 'Authorization: Bearer $TOKEN'

Alexen v2.3.14 · 204 API endpoints