Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/calagopus/panel/llms.txt

Use this file to discover all available pages before exploring further.

The user management endpoints under /api/admin/users let administrators list, inspect, create, update, and delete panel accounts. All endpoints require a valid admin session or API key with the appropriate users.* permission.
Admin API endpoints are accessible at /api/admin/users. Both session cookies and API keys are supported. An API key must include the relevant admin permission in its admin_permissions scope.

List users

Returns a paginated list of all users.
GET /api/admin/users
page
integer
default:"1"
Page number.
per_page
integer
default:"10"
Items per page (1–100).
Filter by username, email, or name.
Required admin permission: users.read
curl https://your-panel.example.com/api/admin/users \
  -H "Authorization: Bearer ptlc_YourAdminKey"

Get a user

Returns a single user by UUID.
GET /api/admin/users/{user}
user
string (UUID)
required
The user’s UUID.
Required admin permission: users.read

Create a user

Creates a new panel account.
POST /api/admin/users
username
string
required
Username. 3–15 alphanumeric/underscore characters.
email
string
required
Email address. Must be unique.
name_first
string
required
First name. 2–255 characters.
name_last
string
required
Last name. 2–255 characters.
password
string
Initial password. If omitted, the user can set one via the password-reset flow.
admin
boolean
default:"false"
Grant global admin rights.
language
string
UI language code.
role_uuid
string (UUID)
Optional role to assign.
external_id
string
Optional external identifier for integration with third-party systems.
Required admin permission: users.create Returns 409 Conflict if the username or email is already taken.
curl -X POST https://your-panel.example.com/api/admin/users \
  -H "Authorization: Bearer ptlc_YourAdminKey" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "newuser",
    "email": "newuser@example.com",
    "name_first": "New",
    "name_last": "User",
    "admin": false
  }'

Update a user

Updates one or more fields on an existing user. All body fields are optional.
PATCH /api/admin/users/{user}
user
string (UUID)
required
The user’s UUID.
username
string
New username.
email
string
New email address.
name_first
string
New first name.
name_last
string
New last name.
password
string
New password.
admin
boolean
Grant or revoke global admin rights.
language
string
UI language code.
role_uuid
string (UUID)
Assign or change role. Pass null to remove the role.
external_id
string
External identifier.
Required admin permission: users.update Returns 409 Conflict if the new email, username, or external_id is already used by another account.

Delete a user

Permanently deletes a user account.
DELETE /api/admin/users/{user}
user
string (UUID)
required
The user’s UUID.
Required admin permission: users.delete
Deletion fails with 400 Bad Request if the user owns any servers. Transfer or delete those servers first.

User object fields

uuid
string
Unique identifier (UUID v4).
external_id
string | null
Optional external identifier for third-party integrations.
username
string
Display username.
email
string
Email address.
name_first
string
First name.
name_last
string
Last name.
admin
boolean
Whether the user has global administrator rights.
totp_enabled
boolean
Whether two-factor authentication is active.
language
string
UI language code.
role
object | null
Assigned role object or null.
created
string
ISO 8601 creation timestamp.

Build docs developers (and LLMs) love