View .md

API schemas

The 307 named request and response models in the FeatherPanel OpenAPI document, with every field, its type and the endpoints that use it.

Last synced from FeatherPanel 15b94e9 on .

These models come from the OpenAPI annotations on the panel controllers (exported with php backend/scripts/export-openapi.php). Endpoint pages link here when their body or response uses a named model. A model with no fields is declared but has no documented properties.

307 schemas

Schemas

ActivityPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

AdminUserServer

FieldTypeDescription
idintegerServer ID
uuidstringServer UUID
uuidShortstringShort server UUID
namestringServer name
descriptionstringServer description
statusstringServer status
created_atstring (date-time)Creation timestamp

Allocation

FieldTypeDescription
idintegerAllocation ID
node_idintegerNode ID
ipstringIP address
ip_aliasstringIP alias
portintegerPort number
server_idintegerAssigned server ID
notesstringAllocation notes
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

AllocationDeleteResponse

FieldTypeDescription
messagestringSuccess message
deleted_allocation_idintegerID of the deleted allocation

Used by DELETE /api/user/servers/{uuidShort}/allocations/{allocationId}

AllocationResponse

FieldTypeDescription
serverServerAllocationInfo
allocationsServerAllocation[]

Used by GET /api/user/servers/{uuidShort}/allocations

ApiClient

FieldTypeDescription
idintegerAPI client ID
user_uuidstringUser UUID
namestringAPI client name
public_keystringPublic API key
private_keystringPrivate API key (only shown on creation)
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp
allowed_ipsstringAllowed client IPs/CIDR (newline or comma separated); empty = no restriction
notify_foreign_ipstringEmail owner when a non-allowed IP attempts to use this key

Used by POST /api/user/api-clients, GET /api/user/api-clients/{id}, PUT /api/user/api-clients/{id}, POST /api/user/api-clients/{id}/regenerate

ApiClientActivity

FieldTypeDescription
idintegerActivity ID
user_uuidstringUser UUID
namestringActivity name
contextstringActivity context
ip_addressstringIP address
created_atstring (date-time)Creation timestamp

ApiClientCreateRequest

FieldTypeDescription
namerequiredstringAPI client name
allowed_ipsstringAllowed IPs/CIDR (newline or comma); omit or empty for no restriction
notify_foreign_ipbooleanEmail when the key is used from a non-allowed IP (requires allowed_ips)

Used by POST /api/user/api-clients

ApiClientList

FieldTypeDescription
idintegerAPI client ID
user_uuidstringUser UUID
namestringAPI client name
public_keystringPublic API key (truncated)
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp
allowed_ipsstringAllowed client IPs/CIDR list
notify_foreign_ipstring

ApiClientPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

ApiClientSearch

FieldTypeDescription
querystringSearch query
has_resultsbooleanWhether search returned results

ApiClientUpdateRequest

FieldTypeDescription
namestringAPI client name
allowed_ipsstringAllowed IPs/CIDR; empty/null clears restriction
notify_foreign_ipbooleanEmail when the key is used from a off-list IP

Used by PUT /api/user/api-clients/{id}

ApiClientValidationRequest

FieldTypeDescription
public_keyrequiredstringPublic API key to validate

Used by POST /api/user/api-clients/validate

ApiClientValidationResponse

FieldTypeDescription
validbooleanWhether the API client is valid

Used by POST /api/user/api-clients/validate

AutoAllocationResponse

FieldTypeDescription
assigned_allocationServerAllocation
messagestringSuccess message

Used by POST /api/user/servers/{uuidShort}/allocations/auto

Backup

FieldTypeDescription
idintegerBackup ID
server_idintegerServer ID
uuidstringBackup UUID
namestringBackup name
ignored_filesstringJSON string of ignored files
diskstringStorage disk type
is_successfulintegerWhether backup was successful (0 or 1)
is_stalebooleanIncomplete backup older than 24 hours; eligible for manual interruption recovery
is_lockedintegerWhether backup is locked (0 or 1)
created_atstring (date-time)Backup creation timestamp
updated_atstring (date-time)Backup update timestamp

Used by GET /api/user/servers/{uuidShort}/backups/{backupUuid}

BackupCompletion

FieldTypeDescription
checksumstringBackup file checksum, required on success
checksum_typestringType of checksum algorithm, required on success
sizeintegerBackup file size in bytes, required on success
successfulrequiredbooleanWhether backup was successful
upload_idstringUpload ID for multipart uploads

Used by POST /api/remote/backups/{backupUuid}

BackupCreateRequest

FieldTypeDescription
uuidstringCustom backup UUID (optional)
namestringBackup name (optional)
ignorestringJSON string of files to ignore (optional)

Used by POST /api/user/servers/{uuidShort}/backups

BackupCreateResponse

FieldTypeDescription
idintegerBackup ID
uuidstringBackup UUID
namestringBackup name
adapterstringBackup adapter used

Used by POST /api/user/servers/{uuidShort}/backups

BackupDownloadResponse

FieldTypeDescription
download_urlstringBackup download URL
expires_inintegerToken expiration time in seconds

Used by GET /api/user/servers/{uuidShort}/backups/{backupUuid}/download

BackupPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
totalintegerTotal number of records
last_pageintegerLast page number
fromintegerStarting record number
tointegerEnding record number

BackupRestoration

FieldTypeDescription
successfulrequiredbooleanWhether restoration was successful

Used by POST /api/remote/backups/{backupUuid}/restore

BackupRestoreRequest

FieldTypeDescription
truncate_directorybooleanWhether to truncate directory before restore (optional)
download_urlstringDownload URL for restore (optional)

Used by POST /api/user/servers/{uuidShort}/backups/{backupUuid}/restore

BackupUploadInfo

FieldTypeDescription
partsstring[]Array of upload URLs for each part
part_sizeintegerSize of each part in bytes

Used by GET /api/remote/backups/{backupUuid}

BlockedEmailDomainRow

FieldTypeDescription
idinteger
domainstring
sourcestring
created_atstring

BlockedIpRow

FieldTypeDescription
idinteger
ipstring
reasonstring
expires_atstringUTC datetime; null = permanent
created_by_uuidstring
created_atstring
is_activeboolean
is_permanentboolean

ChatbotRequest

FieldTypeDescription
messagerequiredstringUser message
historyobject[]Chat history

Used by POST /api/user/chatbot/chat

ChatbotResponse

FieldTypeDescription
responsestringAI assistant response

CompressRequest

FieldTypeDescription
filesrequiredstring[]Array of file paths
rootrequiredstringRoot directory path
namestringArchive name (optional, auto-generated if not provided)
extensionstringArchive type: zip, tar.gz, tgz, tar.bz2, tbz2, tar.xz, txz

Used by POST /api/user/servers/{uuidShort}/compress-files

ConnectionTest

FieldTypeDescription
database_typerequiredstringDatabase type
database_portrequiredintegerDatabase port
database_usernamerequiredstringDatabase username
database_passwordrequiredstringDatabase password
database_hostrequiredstringDatabase host

Used by POST /api/admin/databases/test-connection

ConnectionTestResponse

FieldTypeDescription
database_host_idintegerDatabase host ID
healthybooleanConnection health status
messagestringConnection test message
response_timenumberResponse time in milliseconds

Used by POST /api/user/servers/{uuidShort}/databases/hosts/{databaseHostId}/test

CopyRequest

FieldTypeDescription
filesrequiredstring[]Array of file paths to copy
locationrequiredstringDestination location
namestringOptional destination name (Calagopus)
overwritebooleanOverwrite existing destination (Calagopus)

Used by POST /api/user/servers/{uuidShort}/copy-files

CountryCode

FieldTypeDescription
codestringISO 3166-1 alpha-2 country code
namestringCountry name

CreateDirectoryRequest

FieldTypeDescription
namerequiredstringDirectory name
pathrequiredstringParent directory path

Used by POST /api/user/servers/{uuidShort}/create-directory

Database

FieldTypeDescription
idintegerDatabase ID
namestringDatabase name
node_idintegerNode ID (optional)
database_typestringDatabase type
database_portintegerDatabase port
database_usernamestringDatabase username
database_hoststringDatabase host
database_subdomainstringOptional custom hostname shown to users for database access (e.g. db1.node.domain.de)
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

DatabaseCreate

FieldTypeDescription
namerequiredstringDatabase name
node_idintegerNode ID (optional)
database_typerequiredstringDatabase type
database_portrequiredintegerDatabase port
database_usernamerequiredstringDatabase username
database_passwordrequiredstringDatabase password
database_hostrequiredstringDatabase host
database_subdomainstringOptional custom hostname shown to users for database access
idintegerOptional database ID (useful for migrations from other platforms)

Used by PUT /api/admin/databases

DatabaseCreateRequest

FieldTypeDescription
database_host_idrequiredintegerDatabase host ID
database_namerequiredstringDatabase name (without server prefix)
remotestringRemote access pattern
max_connectionsintegerMaximum connections

Used by POST /api/user/servers/{uuidShort}/databases

DatabaseCreateResponse

FieldTypeDescription
idintegerCreated database ID
database_namestringGenerated database name
usernamestringGenerated username
passwordstringGenerated password
messagestringSuccess message

Used by POST /api/user/servers/{uuidShort}/databases

DatabaseHost

FieldTypeDescription
idintegerDatabase host ID
namestringDatabase host name
database_hoststringDatabase host address
database_portintegerDatabase host port
database_typestringDatabase type
database_usernamestringDatabase host username
node_namestringAssociated node name
healthybooleanHealth status

DatabasePagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
totalintegerTotal number of records
last_pageintegerLast page number
fromintegerStarting record number
tointegerEnding record number

DatabaseUpdate

FieldTypeDescription
namestringDatabase name
node_idintegerNode ID
database_typestringDatabase type
database_portintegerDatabase port
database_usernamestringDatabase username
database_passwordstringDatabase password
database_hoststringDatabase host
database_subdomainstringOptional custom hostname shown to users for database access

Used by PATCH /api/admin/databases/{id}

DatabaseUpdateRequest

FieldTypeDescription
remotestringRemote access pattern
max_connectionsintegerMaximum connections

Used by PATCH /api/user/servers/{uuidShort}/databases/{databaseId}

DebugInfoResponse

FieldTypeDescription
ip_infoobjectIP detection debug information
headersobjectAll HTTP headers
server_varsobjectRelevant $_SERVER variables

Used by GET /api/debug/ip

DecompressRequest

FieldTypeDescription
filerequiredstringArchive file path
rootrequiredstringRoot directory path

Used by POST /api/user/servers/{uuidShort}/decompress-archive

DownloadProcess

FieldTypeDescription
idstringDownload process ID
urlstringDownload URL
statusstringDownload status
progressnumberDownload progress percentage
created_atstring (date-time)Process creation time

EmailLoginCodeSentResponse

FieldTypeDescription
messagestringSuccess message
emailstringEmail address where code was sent

Used by POST /api/user/auth/email-login/request

EmailLoginRequest

FieldTypeDescription
emailrequiredstring (email)User email address
turnstile_tokenstringCloudFlare Turnstile token (required if Turnstile is enabled)

Used by POST /api/user/auth/email-login/request

EmailLoginVerifyRequest

FieldTypeDescription
emailrequiredstring (email)User email address
coderequiredstring6-digit login code sent to email

Used by POST /api/user/auth/email-login/verify

FastDlConfig

FieldTypeDescription
enabledbooleanWhether FastDL is enabled
directorystringSubdirectory within server data directory (e.g., "fastdl")
urlstringFull FastDL URL when enabled
commandstringReady-to-use sv_downloadurl command

FastDlEnableRequest

FieldTypeDescription
directorystringOptional subdirectory within server data directory (e.g., "csgo")

Used by POST /api/user/servers/{uuidShort}/fastdl/enable

FastDlUpdateRequest

FieldTypeDescription
enabledbooleanWhether FastDL is enabled
directorystringOptional subdirectory within server data directory

Used by PUT /api/user/servers/{uuidShort}/fastdl

FeatherCloudCredentialPair

FieldTypeDescription
public_keystring
private_keystring
last_rotated_atstring (date-time)Timestamp when the keypair was last rotated or updated

FeatherCloudCredentials

FieldTypeDescription
panel_credentialsFeatherCloudCredentialPair
cloud_credentialsFeatherCloudCredentialPair

Used by GET /api/admin/cloud/credentials, PUT /api/admin/cloud/credentials/panel, PUT /api/admin/cloud/credentials/cloud, POST /api/admin/cloud/credentials/rotate

FileContent

FieldTypeDescription
pathstringFile path
contentstringFile content (null for binary files)
isBinarybooleanWhether the file is binary
mimeTypestringMIME type of the file
extensionstringFile extension
sizeintegerFile size in bytes
modifiedintegerLast modification timestamp

Used by GET /api/admin/file-manager/read

FileCreate

FieldTypeDescription
pathrequiredstringPath for the new file or directory
isDirectorybooleanWhether to create a directory (default: false)

Used by POST /api/admin/file-manager/create

FileDelete

FieldTypeDescription
pathrequiredstringPath of the file or directory to delete

Used by POST /api/admin/file-manager/delete

FileItem

FieldTypeDescription
namestringFile or directory name
pathstringRelative path from project root
isDirectorybooleanWhether the item is a directory
sizeintegerFile size in bytes (null for directories)
modifiedintegerLast modification timestamp
permissionsstringFile permissions in octal format

FileOperationRequest

FieldTypeDescription
filesrequiredstring[]Array of file paths
rootrequiredstringRoot directory path

Used by DELETE /api/user/servers/{uuidShort}/delete-files, POST /api/user/servers/{uuidShort}/change-permissions

FileSave

FieldTypeDescription
pathrequiredstringFile path to save
contentrequiredstringFile content to write

Used by POST /api/admin/file-manager/save

FirewallRule

FieldTypeDescription
idinteger
created_atstring (date-time)
updated_atstring (date-time)
server_uuidstring (uuid)
remote_ipstring
server_portinteger
priorityinteger
typestring
protocolstring

FirewallRuleCreateRequest

FieldTypeDescription
remote_iprequiredstringIP address or CIDR
server_portrequiredintegerAllocated port (1-65535)
priorityintegerRule priority (0-10000)
typerequiredstring
protocolstring

Used by POST /api/user/servers/{uuidShort}/firewall

FirewallRuleUpdateRequest

FieldTypeDescription
remote_ipstringIP address or CIDR
server_portintegerAllocated port (1-65535)
priorityintegerRule priority (0-10000)
typestring
protocolstring

Used by PUT /api/user/servers/{uuidShort}/firewall/{ruleId}

ForgotPasswordRequest

FieldTypeDescription
emailrequiredstring (email)User email address
turnstile_tokenstringCloudFlare Turnstile token (required if Turnstile is enabled)

Used by PUT /api/user/auth/forgot-password

ForgotPasswordResponse

FieldTypeDescription
messagestringSuccess message

Used by PUT /api/user/auth/forgot-password

Image

FieldTypeDescription
idintegerImage ID
namestringImage name
urlstringImage URL
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

ImageCreate

FieldTypeDescription
namerequiredstringImage name
urlrequiredstringImage URL

Used by POST /api/admin/images

ImagePagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

ImageUpdate

FieldTypeDescription
namestringImage name
urlstringImage URL

Used by PATCH /api/admin/images/{id}

ImageUpload

FieldTypeDescription
namerequiredstringImage name
imagestring (binary)Image file (JPG, PNG, GIF, WebP, max 10MB)

InstallLogsResponse

FieldTypeDescription
responsestring[]Array of installation log lines from the server

Used by GET /api/user/servers/{uuidShort}/install-logs

JwtResponse

FieldTypeDescription
tokenstringJWT token
expires_atintegerToken expiration timestamp
server_uuidstringServer UUID
user_uuidstringUser UUID
permissionsstring[]User permissions
connection_stringstringWebSocket connection string

Used by POST /api/user/servers/{uuidShort}/jwt

KnowledgebaseArticle

FieldTypeDescription
idintegerArticle ID
category_idintegerCategory ID
titlestringArticle title
slugstringArticle slug
iconstringArticle icon/logo URL
contentstringArticle content
author_idintegerAuthor user ID
statusstringArticle status
pinnedstringWhether article is pinned
sort_orderintegerArticle sort order for positioning
published_atstring (date-time)Publication timestamp
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

KnowledgebaseArticleCreate

FieldTypeDescription
category_idrequiredintegerCategory ID
titlerequiredstringArticle title
slugstringArticle slug
iconstringArticle icon/logo URL
contentrequiredstringArticle content
author_idrequiredintegerAuthor user ID
statusstringArticle status
pinnedbooleanWhether article is pinned
sort_orderintegerArticle sort order for positioning
published_atstring (date-time)Publication timestamp

Used by PUT /api/admin/knowledgebase/articles

KnowledgebaseArticleReorder

FieldTypeDescription
articlesrequiredobject[]Array of articles with their new sort orders

Used by POST /api/admin/knowledgebase/articles/reorder

KnowledgebaseArticleUpdate

FieldTypeDescription
category_idintegerCategory ID
titlestringArticle title
slugstringArticle slug
iconstringArticle icon/logo URL
contentstringArticle content
author_idintegerAuthor user ID
statusstringArticle status
pinnedbooleanWhether article is pinned
sort_orderintegerArticle sort order for positioning
published_atstring (date-time)Publication timestamp

Used by PATCH /api/admin/knowledgebase/articles/{id}

KnowledgebaseCategory

FieldTypeDescription
idintegerCategory ID
namestringCategory name
slugstringCategory slug
iconstringCategory icon URL
descriptionstringCategory description
positionintegerCategory position for sorting
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

KnowledgebaseCategoryCreate

FieldTypeDescription
namerequiredstringCategory name
slugstringCategory slug
iconrequiredstringCategory icon URL
descriptionstringCategory description
positionintegerCategory position for sorting

Used by PUT /api/admin/knowledgebase/categories

KnowledgebaseCategoryUpdate

FieldTypeDescription
namestringCategory name
slugstringCategory slug
iconstringCategory icon URL
descriptionstringCategory description
positionintegerCategory position for sorting

Used by PATCH /api/admin/knowledgebase/categories/{id}

KnowledgebasePagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

LanguageStat

FieldTypeDescription
localestringLocale code
namestringLanguage name
user_countintegerNumber of users
percentagenumber (float)Percentage of total users

LanguageTrend

FieldTypeDescription
localestringLocale code
monthstringMonth (YYYY-MM)
countintegerNumber of new users

LdapLoginRequest

FieldTypeDescription
provider_uuidrequiredstringLDAP provider UUID
usernamerequiredstringLDAP username
passwordrequiredstringLDAP password
turnstile_tokenstringCloudFlare Turnstile token (required if Turnstile is enabled)

Used by PUT /api/user/auth/ldap/login

LdapProvider

FieldTypeDescription
idinteger
uuidstring
namestring
hoststring
portinteger
use_tlsstring
use_sslstring
bind_dnstring
base_dnstring
user_filterstring
username_attributestring
email_attributestring
auto_provisionstring
enabledstring

Used by PUT /api/admin/ldap/providers, POST /api/admin/ldap/providers/{uuid}

Location

FieldTypeDescription
idintegerLocation ID
namestringLocation name
descriptionstringLocation description
flag_codestringISO 3166-1 alpha-2 country code for flag display
typestringLocation purpose type (immutable after creation)
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

LocationCreate

FieldTypeDescription
namerequiredstringLocation name
descriptionstringLocation description
flag_codestringISO 3166-1 alpha-2 country code (e.g., "us", "ua") for flag display
typerequiredstringLocation purpose: game hosting, VPS/VDS, or web hosting (immutable after creation)
webhosting_alpha_acceptedbooleanRequired to be true when creating a Web Hosting location
idintegerOptional location ID (useful for migrations from other platforms)

Used by PUT /api/admin/locations

LocationPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

LocationUpdate

FieldTypeDescription
namestringLocation name
descriptionstringLocation description
flag_codestringISO 3166-1 alpha-2 country code (e.g., "us", "ua") for flag display. Set to null to remove the flag.
typestringLocation purpose: game hosting, VPS/VDS, or web hosting (immutable after creation)

Used by PATCH /api/admin/locations/{id}

LogClear

FieldTypeDescription
typerequiredstringLog type to clear

Used by POST /api/admin/log-viewer/clear

LogContent

FieldTypeDescription
logsstringLog content as string
filestringLog file name
typestringLog type
lines_countintegerNumber of lines in the log content

Used by GET /api/admin/log-viewer/get

LogFile

FieldTypeDescription
namestringLog file name
sizeintegerFile size in bytes
modifiedintegerLast modification timestamp
typestringLog type (web, app, mail, runner, unknown)

LoginRequest

FieldTypeDescription
username_or_emailrequiredstringUser email address or username
passwordrequiredstringUser password
turnstile_tokenstringCloudFlare Turnstile token (required if Turnstile is enabled)

Used by PUT /api/user/auth/login

LoginResponse

FieldTypeDescription
userobjectUser information
preferencesobjectUser preferences
messagestringSuccess message

Used by POST /api/user/auth/email-login/verify, PUT /api/user/auth/ldap/login

LogoutResponse

FieldTypeDescription
messagestringLogout success message

Used by GET /api/user/auth/logout, DELETE /api/user/auth/logout

MailTemplate

FieldTypeDescription
idintegerMail template ID
namestringTemplate name
subjectstringEmail subject
bodystringEmail body content
deletedstringSoft delete status
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

MailTemplateCreate

FieldTypeDescription
namerequiredstringTemplate name
subjectrequiredstringEmail subject
bodyrequiredstringEmail body content

Used by POST /api/admin/mail-templates

MailTemplatePagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

MailTemplateUpdate

FieldTypeDescription
namestringTemplate name
subjectstringEmail subject
bodystringEmail body content

Used by PATCH /api/admin/mail-templates/{id}

MassEmail

FieldTypeDescription
subjectrequiredstringEmail subject
bodyrequiredstringEmail body content

Used by POST /api/admin/mail-templates/mass-email

MassEmailResult

FieldTypeDescription
queued_countintegerNumber of emails successfully queued
failed_countintegerNumber of emails that failed to queue
total_usersintegerTotal number of valid users found

Used by POST /api/admin/mail-templates/mass-email

Node

FieldTypeDescription
idintegerNode ID
uuidstringNode UUID
namestringNode name
fqdnstringFully qualified domain name
location_idintegerLocation ID
daemon_token_idstringDaemon token ID
daemon_tokenstringDaemon authentication token
daemon_typestringNode daemon implementation (FeatherWings or Calagopus wings-rs)
capabilitiesobjectFeature capability flags for this daemon type
public_ip_v4stringPublic IPv4 address reachable by clients. Required when using the subdomain manager.
public_ip_v6stringPublic IPv6 address reachable by clients.
sftp_subdomainstringCustom subdomain for SFTP access (e.g., sftp.node.domain.de). DNS must be configured externally.
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

NodeCreate

FieldTypeDescription
namerequiredstringNode name
fqdnrequiredstringFully qualified domain name
location_idrequiredintegerLocation ID
daemon_typestringDaemon implementation for this node
public_ip_v4stringPublic IPv4 address reachable by clients. Set this if you plan to use the subdomain manager.
public_ip_v6stringPublic IPv6 address reachable by clients.
sftp_subdomainstringOptional custom hostname for SFTP connections shown to users.
idintegerOptional node ID (useful for migrations from other platforms)

Used by PUT /api/admin/nodes

NodeDockerDiskUsage

FieldTypeDescription
nodeobjectNode information
dockerDiskUsageobjectDocker disk usage data

Used by GET /api/wings/admin/node/{id}/docker/disk

NodeDockerPrune

FieldTypeDescription
nodeobjectNode information
dockerPruneobjectDocker prune results

Used by DELETE /api/wings/admin/node/{id}/docker/prune

NodeIps

FieldTypeDescription
nodeobjectNode information
ipsstring[]Available IP addresses

Used by GET /api/wings/admin/node/{id}/ips

NodePagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

NodeSystemInfo

FieldTypeDescription
nodeobjectNode information
wingsobjectDetailed system information from Wings

Used by GET /api/wings/admin/node/{id}/system

NodeUpdate

FieldTypeDescription
namestringNode name
fqdnstringFully qualified domain name
location_idintegerLocation ID
uuidstringNode UUID (must be valid UUID format)
daemon_typestringDaemon implementation for this node
public_ip_v4stringPublic IPv4 address reachable by clients. Set this if you plan to use the subdomain manager.
public_ip_v6stringPublic IPv6 address reachable by clients.
sftp_subdomainstringOptional custom hostname for SFTP connections shown to users.

Used by PATCH /api/admin/nodes/{id}

NodeUtilization

FieldTypeDescription
nodeobjectNode information
utilizationobjectSystem utilization data

Used by GET /api/wings/admin/node/{id}/utilization

Notification

FieldTypeDescription
idintegerNotification ID
user_idintegerTarget user ID (null = global)
server_idintegerTarget server ID (null = account/global)
titlestringNotification title
message_markdownstringNotification message in Markdown format
typestringNotification type
is_dismissiblebooleanWhether the notification can be dismissed
is_stickybooleanWhether the notification stays until explicitly closed
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

NotificationCreate

FieldTypeDescription
titlerequiredstringNotification title
message_markdownrequiredstringNotification message in Markdown format
typerequiredstringNotification type
user_idintegerTarget user ID (null = all users)
server_idintegerTarget server ID (optional; implies owner)
send_emailbooleanAlso email the target user (requires user or server target)
is_dismissiblebooleanWhether the notification can be dismissed (default: true)
is_stickybooleanWhether the notification stays until explicitly closed (default: false)

Used by PUT /api/admin/notifications

NotificationPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

NotificationUpdate

FieldTypeDescription
titlestringNotification title
message_markdownstringNotification message in Markdown format
typestringNotification type
user_idintegerTarget user ID (null = all users)
server_idintegerTarget server ID
is_dismissiblebooleanWhether the notification can be dismissed
is_stickybooleanWhether the notification stays until explicitly closed

Used by PATCH /api/admin/notifications/{id}

OidcLoginState

FieldTypeDescription
statestringCSRF state parameter
noncestringOIDC nonce for ID token

OidcProvider

FieldTypeDescription
uuidstring (uuid)Provider UUID
namestringDisplay name
issuer_urlstringOIDC issuer URL
client_idstringOIDC client ID
scopesstringSpace-separated scopes
email_claimstringEmail claim name
subject_claimstringSubject claim name
group_claimstringGroup/role claim name
group_valuestringRequired group/role value
auto_provisionstringAuto provision users
require_email_verifiedstringRequire email_verified
enabledstringWhether this provider is enabled

Used by PUT /api/admin/oidc/providers, PATCH /api/admin/oidc/providers/{uuid}

OnlineAddon

FieldTypeDescription
idintegerAddon ID
identifierstringAddon identifier
namestringAddon display name
descriptionstringAddon description
iconstringAddon icon URL
websitestringAddon website URL
authorstringAddon author
author_emailstringAuthor email
maintainersstring[]Addon maintainers
tagsstring[]Addon tags
verifiedbooleanWhether addon is verified
premiumintegerWhether addon is premium (0 = free, 1 = premium)
premium_linkstringPurchase link for premium addon
premium_pricestringPrice for premium addon in EUR
downloadsintegerDownload count
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp
latest_versionobjectLatest published version metadata when available

OnlineInstall

FieldTypeDescription
identifierrequiredstringAddon identifier to install
queued_identifiersstring[]Identifiers selected for the same install session; plugin= dependencies in this list are installed automatically before this addon when missing.

Used by POST /api/admin/plugins/online/install

OnlineSpell

FieldTypeDescription
idintegerSpell ID
identifierstringSpell identifier
namestringSpell display name
descriptionstringSpell description
iconstringSpell icon URL
websitestringSpell website
authorstringSpell author
author_emailstringAuthor email
maintainersstring[]Maintainers
tagsstring[]Spell tags
verifiedbooleanVerified status
downloadsintegerDownload count
created_atstringCreation timestamp
updated_atstringLast update timestamp
latest_versionobjectLatest version information

OnlineSpellInstall

FieldTypeDescription
identifierrequiredstringSpell identifier
realm_idrequiredintegerRealm ID

Used by POST /api/admin/spells/online/install

Pagination

FieldTypeDescription
current_pageinteger
per_pageinteger
total_recordsinteger
total_pagesinteger
has_nextboolean
has_prevboolean
frominteger
tointeger

Permission

FieldTypeDescription
idintegerPermission ID
role_idintegerRole ID
permissionstringPermission name
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

PermissionCreate

FieldTypeDescription
role_idrequiredintegerRole ID
permissionrequiredstringPermission name

Used by PUT /api/admin/permissions

PermissionPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

PermissionsResponse

FieldTypeDescription
permissionsstring[]Array of available permissions
totalintegerTotal number of permissions

Used by GET /api/user/servers/{uuidShort}/subusers/permissions

PermissionUpdate

FieldTypeDescription
role_idintegerRole ID
permissionstringPermission name

Used by PATCH /api/admin/permissions/{id}

Plugin

FieldTypeDescription
namestringPlugin name
identifierstringPlugin identifier
descriptionstringPlugin description
versionstringPlugin version
targetstringTarget FeatherPanel version
authorstring[]Plugin authors
iconstringPlugin icon URL
flagsstring[]Plugin flags
dependenciesstring[]Plugin dependencies
requiredConfigsstring[]Required configuration keys
statusstringPlugin status
dependencies_metbooleanWhether dependencies are met
required_configs_setbooleanWhether required configs are set
settingsobjectPlugin settings
configobject[]Plugin configuration schema

Used by GET /api/admin/plugin-manager/{identifier}

PluginCreate

FieldTypeDescription
identifierrequiredstringPlugin identifier
namerequiredstringPlugin name
descriptionstringPlugin description
versionstringPlugin version
authorstring[]Plugin authors
flagsstring[]Plugin flags
dependenciesstring[]Plugin dependencies
requiredConfigsstring[]Required configuration keys
configSchemaobject[]Configuration schema

Used by POST /api/admin/plugin-manager

PluginCreationOptions

FieldTypeDescription
migrationobject
cronobject
commandobject
public_fileobject

Used by GET /api/admin/plugin-tools/creation-options

PluginFileCreate

FieldTypeDescription
plugin_idrequiredstringPlugin identifier
file_typerequiredstringFile type to create
namestringFile name (required for migration, cron, command)
descriptionstringFile description
schedulestringSchedule for cron jobs
filestring (binary)File to upload (for public_file type)

Used by POST /api/admin/plugin-tools/create-file

PluginInfo

FieldTypeDescription
pluginobject
configSchemaobject[]Plugin configuration schema

PluginSettingRemove

FieldTypeDescription
keyrequiredstringSetting key to remove

Used by POST /api/admin/plugins/{identifier}/settings/remove

PluginSettingsUpdate

FieldTypeDescription
settingsrequiredobjectPlugin settings key-value pairs

Used by PUT /api/admin/plugin-manager/{identifier}/settings, PATCH /api/admin/plugin-manager/{identifier}/settings

PluginSettingUpdate

FieldTypeDescription
keyrequiredstringSetting key
valuerequiredstringSetting value

Used by POST /api/admin/plugins/{identifier}/settings/set

PluginSidebar

FieldTypeDescription
sidebarobjectComplete sidebar structure with plugin items

Used by GET /api/system/plugin-sidebar

PluginUpdate

FieldTypeDescription
namestringPlugin name
descriptionstringPlugin description
versionstringPlugin version
targetstringTarget FeatherPanel version
authorstring[]Plugin authors
flagsstring[]Plugin flags
dependenciesstring[]Plugin dependencies
requiredConfigsstring[]Required configuration keys
configSchemaobject[]Configuration schema

Used by PUT /api/admin/plugin-manager/{identifier}, PATCH /api/admin/plugin-manager/{identifier}

PluginValidation

FieldTypeDescription
config_validbooleanWhether plugin configuration is valid
dependencies_metbooleanWhether dependencies are met
required_configs_setbooleanWhether required configs are set
identifier_validbooleanWhether identifier is valid
flags_validbooleanWhether flags are valid
files_existbooleanWhether required files exist
overall_validbooleanOverall validation status

Used by GET /api/admin/plugin-manager/{identifier}/validate

PluginWidget

FieldTypeDescription
idstringWidget identifier
pluginstringPlugin identifier
pluginNamestringPlugin display name
componentstringComponent file path
enabledbooleanWhether widget is enabled
hiddenbooleanWhether widget is hidden by plugin frontend visibility rules
priorityintegerDisplay priority (higher = first)
pagestringTarget page identifier
locationstringWidget placement location
useRawRenderingbooleanWhether to render the widget without a card container and with full transparency
borderlessbooleanWhen true, skip Card/header/footer wrapper (embed iframe only; same effect as useRawRendering)
titlestringOptional title to display above the widget content
descriptionstringOptional description text for the widget
iconstringOptional icon identifier used in the widget header
sizestring | objectWidget size preset or explicit responsive column configuration
layoutobjectAdvanced layout overrides (columns, breakpoints, row span)
cardobjectCard presentation options
behaviorobjectBehavior overrides for loading and error states
iframeobjectIframe attribute overrides
classesobjectOptional CSS class overrides

PluginWidgetConfig

FieldTypeDescription
idrequiredstringUnique widget identifier
componentrequiredstringWidget HTML component file path
pagerequiredstringTarget page identifier
locationrequiredstringWidget location on page
enabledbooleanWhether widget is enabled
priorityintegerRendering priority (higher = first)
sizestringWidget size: full, half, third, or quarter

PluginWidgetsResponse

FieldTypeDescription
widgetsobjectWidgets organized by page and location

Used by GET /api/system/plugin-widgets

PowerActionResponse

FieldTypeDescription
responseobjectResponse from Wings daemon

Used by POST /api/user/servers/{uuidShort}/power/{action}

PreferencesResponse

FieldTypeDescription
preferencesUserPreferences

Used by GET /api/user/preferences

PrimaryAllocationResponse

FieldTypeDescription
messagestringSuccess message
new_primary_allocation_idintegerID of the new primary allocation

Used by POST /api/user/servers/{uuidShort}/allocations/{allocationId}/primary

ProxyCreateRequest

FieldTypeDescription
domainrequiredstringThe domain name for the proxy
iprequiredstringThe target IP address to proxy to
portrequiredstringThe target port to proxy to
sslrequiredbooleanWhether to enable SSL/TLS
use_lets_encryptbooleanWhether to use Let's Encrypt for SSL
client_emailstringEmail for Let's Encrypt registration
ssl_certstringSSL certificate content
ssl_keystringSSL private key content

Used by POST /api/user/servers/{uuidShort}/proxy/create

ProxyDeleteRequest

FieldTypeDescription
domainrequiredstringThe domain name of the proxy to delete
portrequiredstringThe port associated with the proxy configuration

Used by POST /api/user/servers/{uuidShort}/proxy/delete

PublicSettings

FieldTypeDescription
settingsobjectPublic application settings with default values

Used by GET /api/system/settings

PullFileRequest

FieldTypeDescription
urlrequiredstring (uri)URL to download from
rootrequiredstringDestination directory path
fileNamestringCustom filename
foregroundbooleanRun in foreground
useHeaderbooleanUse headers

Used by POST /api/user/servers/{uuidShort}/pull-file

RateLimitRoute

FieldTypeDescription
route_namestringThe route name
per_secondintegerRate limit per second
per_minuteintegerRate limit per minute
per_hourintegerRate limit per hour
per_dayintegerRate limit per day
namespacestringNamespace for rate limiting

Used by GET /api/admin/rate-limits/{routeName}

Realm

FieldTypeDescription
idintegerRealm ID
namestringRealm name
descriptionstringRealm description
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

RealmCreate

FieldTypeDescription
namerequiredstringRealm name
descriptionstringRealm description
idintegerOptional realm ID (useful for migrations from other platforms)

Used by PUT /api/admin/realms

RealmPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

RealmUpdate

FieldTypeDescription
namestringRealm name
descriptionstringRealm description

Used by PATCH /api/admin/realms/{id}

RegisterRequest

FieldTypeDescription
usernamerequiredstringUsername (alphanumeric and underscores only)
emailrequiredstring (email)User email address
passwordrequiredstringUser password
first_namerequiredstringUser first name
last_namerequiredstringUser last name
turnstile_tokenstringCloudFlare Turnstile token (required if Turnstile is enabled)

Used by PUT /api/user/auth/register

RegisterResponse

FieldTypeDescription
userobjectUser information
preferencesobjectUser preferences
messagestringSuccess message

Used by PUT /api/user/auth/register

RegistrationTrend

FieldTypeDescription
datestring (date)Date
countintegerNumber of registrations

RemoteServersResponse

FieldTypeDescription
dataWingsServerConfig[]Array of server configurations
linksobject
metaobject

Used by GET /api/remote/servers

RenameRequest

FieldTypeDescription
filesrequiredobject[]Array of rename operations
rootrequiredstringRoot directory path

Used by PUT /api/user/servers/{uuidShort}/rename

ResetPasswordRequest

FieldTypeDescription
tokenrequiredstringPassword reset token from email
passwordrequiredstringNew password
turnstile_tokenstringCloudFlare Turnstile token (required if Turnstile is enabled)

Used by PUT /api/user/auth/reset-password

ResetPasswordResponse

FieldTypeDescription
messagestringSuccess message

Used by PUT /api/user/auth/reset-password

Role

FieldTypeDescription
idintegerRole ID
namestringRole name
display_namestringRole display name
colorstringRole color
custom_badgestringOptional short label shown on user badges instead of the display name
badge_iconstringOptional icon or image URL shown on role badges
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

RoleCreate

FieldTypeDescription
namerequiredstringRole name
display_namerequiredstringRole display name
colorrequiredstringRole color
custom_badgestringOptional short label shown on user badges
badge_iconstringOptional icon or image URL shown on role badges

Used by PUT /api/admin/roles

RoleDistribution

FieldTypeDescription
role_idintegerRole ID
role_namestringRole name
role_display_namestringRole display name
role_colorstringRole color
user_countintegerNumber of users with this role
percentagenumber (float)Percentage of total users

RolePagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

RoleUpdate

FieldTypeDescription
namestringRole name
display_namestringRole display name
colorstringRole color
custom_badgestringOptional short label shown on user badges
badge_iconstringOptional icon or image URL shown on role badges

Used by PATCH /api/admin/roles/{id}

ScheduleCreateRequest

FieldTypeDescription
namerequiredstringSchedule name
cron_day_of_weekrequiredstringCron day of week expression
cron_monthrequiredstringCron month expression
cron_day_of_monthrequiredstringCron day of month expression
cron_hourrequiredstringCron hour expression
cron_minuterequiredstringCron minute expression
timezonestringIANA timezone the cron expression is authored in (default: "UTC")
is_activebooleanWhether schedule is active
only_when_onlinebooleanWhether to run only when server is online

Used by POST /api/user/servers/{uuidShort}/schedules

ScheduleCreateResponse

FieldTypeDescription
idintegerCreated schedule ID
namestringSchedule name
next_run_atstring (date-time)Next scheduled run time

Used by POST /api/user/servers/{uuidShort}/schedules

SchedulePagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
totalintegerTotal number of records
last_pageintegerLast page number
fromintegerStarting record number
tointegerEnding record number

ScheduleToggleResponse

FieldTypeDescription
is_activebooleanNew active status
statusstringStatus description

Used by POST /api/user/servers/{uuidShort}/schedules/{scheduleId}/toggle

ScheduleUpdateRequest

FieldTypeDescription
namestringSchedule name
cron_day_of_weekstringCron day of week expression
cron_monthstringCron month expression
cron_day_of_monthstringCron day of month expression
cron_hourstringCron hour expression
cron_minutestringCron minute expression
timezonestringIANA timezone the cron expression is authored in
is_activebooleanWhether schedule is active
only_when_onlinebooleanWhether to run only when server is online

Used by PUT /api/user/servers/{uuidShort}/schedules/{scheduleId}

SelftestResponse

FieldTypeDescription
statusstringOverall system status
checksobjectIndividual check results
timestampintegerThis check timestamp
cachedbooleanIf the response is cached

Used by GET /api/selftest

Server

FieldTypeDescription
idintegerServer ID
uuidstringServer UUID
uuidShortstringShort server UUID
namestringServer name
descriptionstringServer description
startupstringServer startup command
imagestringServer Docker image
statusstringServer status
node_idintegerNode ID
owner_idintegerOwner user ID
memoryintegerMemory limit in MB
swapintegerSwap limit in MB
diskintegerDisk limit in MB
iointegerIO limit
cpuintegerCPU limit percentage
allocation_idintegerAllocation ID
realms_idintegerRealm ID
spell_idintegerSpell ID
allocation_limitintegerAllocation limit
database_limitintegerDatabase limit
backup_limitintegerBackup limit
external_idstringExternal ID
threadsstringSpecific CPU threads this process can run on. Single number, comma list, or ranges like 0,1,3 or 0-1,3
skip_scriptsbooleanSkip scripts flag
show_on_statusbooleanWhether this server appears on the public status page
auto_startbooleanAutomatically start this server after the node reconnects (default off)
auto_start_delayintegerExtra seconds to wait before auto-starting this server after reconnect
manually_stoppedbooleanWhether the server was intentionally stopped (auto-start skips these)
oom_killerbooleanWhether the OOM killer is enabled (true) or disabled (false)
suspendedbooleanSuspended flag
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

ServerActivity

FieldTypeDescription
idintegerActivity ID
server_idintegerServer ID
node_idintegerNode ID
user_idintegerUser ID
activity_typestringType of activity
activity_descriptionstringActivity description
metadataobjectActivity metadata
ip_addressstringIP address
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

ServerActivityPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

ServerAllocation

FieldTypeDescription
idintegerAllocation ID
server_idintegerServer ID
node_idintegerNode ID
ipstringIP address
portintegerPort number
notesstringAllocation notes
is_primarybooleanWhether this is the primary allocation
created_atstring (date-time)Allocation creation timestamp
updated_atstring (date-time)Allocation update timestamp

ServerAllocationInfo

FieldTypeDescription
idintegerServer ID
namestringServer name
uuidstringServer UUID
allocation_limitintegerMaximum number of allocations allowed
current_allocationsintegerCurrent number of allocations
can_add_morebooleanWhether more allocations can be added
primary_allocation_idintegerID of the primary allocation

ServerCreate

FieldTypeDescription
node_idrequiredintegerNode ID
namerequiredstringServer name
descriptionstringServer description (optional)
owner_idrequiredintegerOwner user ID
memoryrequiredintegerMemory limit in MB
swaprequiredintegerSwap limit in MB (-1 = unlimited, 0 = disabled)
diskrequiredintegerDisk limit in MB
iorequiredintegerIO limit
cpurequiredintegerCPU limit percentage
allocation_idrequiredintegerAllocation ID
realms_idrequiredintegerRealm ID
spell_idrequiredintegerSpell ID
startuprequiredstringServer startup command
imagerequiredstringServer Docker image
statusstringServer status
allocation_limitintegerAllocation limit
database_limitintegerDatabase limit
backup_limitintegerBackup limit
external_idstringExternal ID
threadsstringSpecific CPU threads this process can run on. Single number, comma list, or ranges like 0,1,3 or 0-1,3
skip_scriptsbooleanSkip scripts flag
show_on_statusbooleanWhether this server appears on the public status page
auto_startbooleanAutomatically start this server after the node reconnects (default off)
auto_start_delayintegerExtra seconds to wait before auto-starting this server after reconnect
oom_disabledbooleanOOM disabled flag
variablesobjectServer variables as key-value pairs
mount_idsinteger[]Optional: Wings bind mounts to attach (validated against node/spell rules)

Used by PUT /api/admin/servers

ServerDatabase

FieldTypeDescription
idintegerDatabase ID
server_idintegerServer ID
database_host_idintegerDatabase host ID
databasestringDatabase name
usernamestringDatabase username
passwordstringDatabase password
remotestringRemote access pattern
max_connectionsintegerMaximum connections
database_host_namestringDatabase host name
database_hoststringDatabase host address
database_portintegerDatabase host port
database_typestringDatabase type
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

Used by GET /api/user/servers/{uuidShort}/databases/{databaseId}

ServerDetail

FieldTypeDescription
idintegerServer ID
uuidstringServer UUID
uuidShortstringServer short UUID
namestringServer name
descriptionstringServer description
statusstringServer status
memoryintegerMemory limit in MB
diskintegerDisk limit in MB
cpuintegerCPU limit percentage
swapintegerSwap limit in MB
iointegerIO limit
nodeobjectNode information
realmobjectRealm information
spellobjectSpell information
allocationobjectAllocation information
locationobjectLocation information
sftpobject
variablesobject[]Server variables

Used by GET /api/user/servers/{uuidShort}

ServerFileItem

FieldTypeDescription
namestringFile or directory name
typestringItem type
sizeintegerFile size in bytes (directory entry size for folders)
directory_sizeintegerRecursive size of folder contents in bytes (only when requested from Wings)
permissionsstringFile permissions
modified_atstring (date-time)Last modified timestamp
pathstringFull file path

ServerImportRequest

FieldTypeDescription
userrequiredstringUsername for SFTP/FTP authentication
passwordrequiredstringPassword for SFTP/FTP authentication
hoterequiredstringHostname or IP address of the remote server
portrequiredintegerPort number (1-65535). Typically 22 for SFTP, 21 for FTP
srclocationrequiredstringSource path on the remote server (absolute path)
dstlocationrequiredstringDestination path on the local server (relative to server root)
wipebooleanIf true, clears the destination directory before importing
typerequiredstringConnection type

Used by POST /api/user/servers/{uuidShort}/import

ServerInstallCompletion

FieldTypeDescription
successfulrequiredbooleanWhether installation was successful
reinstallbooleanWhether this was a reinstall

Used by POST /api/remote/servers/{uuid}/install

ServerInstallConfig

FieldTypeDescription
container_imagestringDocker container image
entrypointstringContainer entrypoint
scriptstringInstallation script

Used by GET /api/remote/servers/{uuid}/install

ServerLogsResponse

FieldTypeDescription
responsestring[]Array of log lines from the server

Used by GET /api/user/servers/{uuidShort}/logs

ServerPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

ServerSchedule

FieldTypeDescription
idintegerSchedule ID
server_idintegerServer ID
namestringSchedule name
cron_day_of_weekstringCron day of week expression
cron_monthstringCron month expression
cron_day_of_monthstringCron day of month expression
cron_hourstringCron hour expression
cron_minutestringCron minute expression
timezonestringIANA timezone the cron expression is authored in (e.g. "Europe/Paris", "UTC")
is_activebooleanWhether schedule is active
is_processingbooleanWhether schedule is currently processing
only_when_onlinebooleanWhether to run only when server is online
next_run_atstring (date-time)Next scheduled run time
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

Used by GET /api/user/servers/{uuidShort}/schedules/{scheduleId}

ServerSearch

FieldTypeDescription
querystringSearch query
has_resultsbooleanWhether search returned results

ServerSFTP

FieldTypeDescription
hoststringSFTP host
portintegerSFTP port
usernamestringSFTP username
passwordstringSFTP password placeholder
urlstringSFTP connection URL

ServersResetResponse

FieldTypeDescription
successbooleanWhether the reset was successful
messagestringSuccess message

Used by POST /api/remote/servers/reset

ServerStatusResponse

FieldTypeDescription
statestringCurrent server state
server_uuidstringServer UUID
node_idintegerNode ID

ServerStatusUpdate

FieldTypeDescription
dataobject
statestringServer state (fallback format)

Used by POST /api/remote/servers/{uuid}/container/status

ServerStatusUpdateResponse

FieldTypeDescription
messagestringSuccess message
statestringUpdated server state
server_uuidstringServer UUID

Used by POST /api/remote/servers/{uuid}/container/status

ServerSubdomainAvailableDomain

FieldTypeDescription
uuidstring
domainstring
protocol_servicestring
protocol_typestring
priorityinteger
weightinteger
ttlinteger

ServerSubdomainEntry

FieldTypeDescription
uuidstring
domainstring
subdomainstring
record_typestring
portinteger
created_atstring

ServerSubdomainOverview

FieldTypeDescription
max_allowedinteger
current_totalinteger
domainsServerSubdomainAvailableDomain[]
subdomainsServerSubdomainEntry[]

ServerUpdate

FieldTypeDescription
node_idintegerNode ID
namestringServer name
descriptionstringServer description
owner_idintegerOwner user ID
memoryintegerMemory limit in MB
swapintegerSwap limit in MB (-1 = unlimited, 0 = disabled)
diskintegerDisk limit in MB
iointegerIO limit
cpuintegerCPU limit percentage
allocation_idintegerAllocation ID
realms_idintegerRealm ID
spell_idintegerSpell ID
startupstringServer startup command
imagestringServer Docker image
statusstringServer status
allocation_limitintegerAllocation limit
database_limitintegerDatabase limit
backup_limitintegerBackup limit
external_idstringExternal ID
threadsstringSpecific CPU threads this process can run on. Single number, comma list, or ranges like 0,1,3 or 0-1,3
skip_scriptsbooleanSkip scripts flag
show_on_statusbooleanWhether this server appears on the public status page
auto_startbooleanAutomatically start this server after the node reconnects (default off)
auto_start_delayintegerExtra seconds to wait before auto-starting this server after reconnect
oom_disabledbooleanOOM disabled flag
variablesobjectServer variables as key-value pairs
mount_idsinteger[]Optional: replace Wings bind mounts for this server

Used by PATCH /api/admin/servers/{id}

ServerUpdateRequest

FieldTypeDescription
namestringServer name
descriptionstringServer description
startupstringStartup command
imagestringDocker image
spell_idintegerSpell ID to change server spell
wipe_filesbooleanWhether to delete all server files before reinstalling (only applies when changing spell_id)
auto_startbooleanStart automatically after node reboot/reconnect
auto_start_delayintegerExtra delay in seconds before auto-start
variablesobject[]Server variables

Used by PUT /api/user/servers/{uuidShort}

ServerUpdateResponse

FieldTypeDescription
serverobject

Used by PUT /api/user/servers/{uuidShort}

ServerVariable

FieldTypeDescription
idintegerVariable ID
server_idintegerServer ID
variable_idintegerSpell variable ID
variable_valuestringVariable value
namestringVariable name
descriptionstringVariable description
env_variablestringEnvironment variable name
default_valuestringDefault value
user_viewablebooleanUser viewable flag
user_editablebooleanUser editable flag
rulesstringValidation rules
field_typestringField type
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

SessionResponse

FieldTypeDescription
user_infoobjectUser information
permissionsstring[]User permissions
preferencesUserPreferences

Used by GET /api/user/session

SessionUpdateRequest

FieldTypeDescription
usernamestringUsername (alphanumeric and underscores only)
emailstring (email)User email address
first_namestringUser first name
last_namestringUser last name
passwordstringUser password
avatarstring (uri)Avatar URL (must start with https://)
ticket_signaturestringTicket signature (supports Markdown)
two_fa_enabledbooleanTwo-factor authentication enabled status
turnstile_tokenstringCloudFlare Turnstile token (required if Turnstile is enabled)

Used by PATCH /api/user/session

SessionUpdateResponse

FieldTypeDescription
messagestringSuccess message

Used by PATCH /api/user/session

Setting

FieldTypeDescription
namestringSetting name/key
valuestringCurrent setting value
descriptionstringSetting description
typestringSetting input type
requiredbooleanWhether the setting is required
placeholderstringPlaceholder text for the input
validationstringValidation rules
optionsstring[]Available options for select fields
categorystringSetting category

SettingCategory

FieldTypeDescription
idstringCategory ID
namestringCategory name
descriptionstringCategory description
iconstringCategory icon
settings_countintegerNumber of settings in this category

SftpAuthErrorResponse

FieldTypeDescription
errorstringError message

SftpAuthRequest

FieldTypeDescription
typerequiredstringAuthentication type
usernamerequiredstringUsername in format username.serverid
passwordrequiredstringPassword or public key content
iprequiredstringClient IP address
session_idstringSession ID
client_versionstringSFTP client version

Used by POST /api/remote/sftp/auth

SftpAuthSuccessResponse

FieldTypeDescription
serverstringServer UUID
userstringUser UUID
permissionsstring[]File permissions

Used by POST /api/remote/sftp/auth

SidebarItem

FieldTypeDescription
pluginstringPlugin identifier
pluginNamestringPlugin display name
titlestringSidebar item title
urlstringSidebar item URL
iconstringSidebar item icon (emoji or URL). Used as fallback if lucideIcon is not provided.
lucideIconstringLucide icon name (e.g., "camera", "search"). If provided, this will be used instead of the icon field. See https://lucide.dev/icons/ for available icons.
permissionstringRequired permission for this item
groupstringGroup name for organizing items (e.g., "Minecraft Java Edition"). Items with the same group name will be grouped together.
priorityintegerSort order within the sidebar group. Lower numbers render first.
hiddenbooleanHide this sidebar route when true or when a visibility setting evaluates true.

SignApiKeyRequest

FieldTypeDescription
api_keystringAPI key to sign

Used by POST /api/user/sign-api-key

SignApiKeyResponse

FieldTypeDescription
signaturestringSignature
api_keystringAPI key

Used by POST /api/user/sign-api-key

Spell

FieldTypeDescription
idintegerSpell ID
uuidstringSpell UUID
realm_idintegerRealm ID
authorstringSpell author
namestringSpell name
descriptionstringSpell description
featuresstringSpell features (JSON)
docker_imagesstringDocker images (JSON)
default_docker_imagestringDefault Docker image used on new server installs
file_denyliststringFile denylist (JSON)
update_urlstringUpdate URL
config_filesstringConfig files
config_startupstringConfig startup
config_logsstringConfig logs
config_stopstringConfig stop
startupstringStartup command
script_containerstringScript container
script_entrystringScript entry point
script_is_privilegedbooleanScript is privileged
script_installstringInstallation script
force_outgoing_ipbooleanForce outgoing IP
config_fromintegerConfig from spell ID
copy_script_fromintegerCopy script from spell ID
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

SpellCreate

FieldTypeDescription
realm_idrequiredintegerRealm ID
authorrequiredstringSpell author
namerequiredstringSpell name
descriptionstringSpell description
featuresstringSpell features (JSON)
docker_imagesstringDocker images (JSON)
default_docker_imagestringDefault Docker image used on new server installs
file_denyliststringFile denylist (JSON)
update_urlstringUpdate URL
config_filesstringConfig files
config_startupstringConfig startup
config_logsstringConfig logs
config_stopstringConfig stop
startupstringStartup command
script_containerstringScript container
script_entrystringScript entry point
script_is_privilegedbooleanScript is privileged
script_installstringInstallation script
force_outgoing_ipbooleanForce outgoing IP
config_fromintegerConfig from spell ID
copy_script_fromintegerCopy script from spell ID
uuidstringSpell UUID (auto-generated if not provided)
idintegerOptional spell ID (useful for migrations from other platforms)

Used by PUT /api/admin/spells

SpellImport

FieldTypeDescription
realm_idrequiredintegerRealm ID
filestring (binary)Spell JSON file

Used by POST /api/admin/spells/import

SpellPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

SpellUpdate

FieldTypeDescription
realm_idintegerRealm ID
authorstringSpell author
namestringSpell name
descriptionstringSpell description
featuresstringSpell features (JSON)
docker_imagesstringDocker images (JSON)
default_docker_imagestringDefault Docker image used on new server installs
file_denyliststringFile denylist (JSON)
update_urlstringUpdate URL
config_filesstringConfig files
config_startupstringConfig startup
config_logsstringConfig logs
config_stopstringConfig stop
startupstringStartup command
script_containerstringScript container
script_entrystringScript entry point
script_is_privilegedbooleanScript is privileged
script_installstringInstallation script
force_outgoing_ipbooleanForce outgoing IP
config_fromintegerConfig from spell ID
copy_script_fromintegerCopy script from spell ID
uuidstringSpell UUID

Used by PATCH /api/admin/spells/{id}

SpellVariable

FieldTypeDescription
idintegerVariable ID
spell_idintegerSpell ID
namestringVariable name
descriptionstringVariable description
env_variablestringEnvironment variable name
default_valuestringDefault value
user_viewablebooleanUser viewable flag
user_editablebooleanUser editable flag
rulesstringValidation rules
field_typestringField type
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

SpellVariableCreate

FieldTypeDescription
namerequiredstringVariable name
env_variablerequiredstringEnvironment variable name
descriptionrequiredstringVariable description
default_valuerequiredstringDefault value
user_viewablebooleanUser viewable flag
user_editablebooleanUser editable flag
rulesstringValidation rules
field_typestringField type

Used by POST /api/admin/spells/{spellId}/variables

SpellVariableUpdate

FieldTypeDescription
namestringVariable name
env_variablestringEnvironment variable name
descriptionstringVariable description
default_valuestringDefault value
user_viewablebooleanUser viewable flag
user_editablebooleanUser editable flag
rulesstringValidation rules
field_typestringField type

Used by PATCH /api/admin/spell-variables/{id}

SshKeyActivity

FieldTypeDescription
idintegerActivity ID
user_uuidstringUser UUID
namestringActivity name
contextstringActivity context
ip_addressstringIP address
created_atstring (date-time)Creation timestamp

SshKeyCreateRequest

FieldTypeDescription
namerequiredstringSSH key name
public_keyrequiredstringSSH public key

Used by POST /api/user/ssh-keys

SshKeyFingerprintRequest

FieldTypeDescription
public_keyrequiredstringSSH public key to generate fingerprint for

Used by POST /api/user/ssh-keys/generate-fingerprint

SshKeyFingerprintResponse

FieldTypeDescription
fingerprintstringGenerated fingerprint
public_keystringOriginal public key

Used by POST /api/user/ssh-keys/generate-fingerprint

SshKeyPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

SshKeySearch

FieldTypeDescription
querystringSearch query
has_resultsbooleanWhether search returned results

SshKeyUpdateRequest

FieldTypeDescription
namestringSSH key name
public_keystringSSH public key

Used by PUT /api/user/ssh-keys/{id}

SubdomainManagerDomain

FieldTypeDescription
uuidstring
domainstring
descriptionstring
is_activeinteger
cloudflare_zone_idstring
cloudflare_account_idstring
subdomain_countinteger
spellsSubdomainManagerSpellMapping[]
created_atstring
updated_atstring

SubdomainManagerSpellMapping

FieldTypeDescription
spell_idinteger
protocol_servicestring
protocol_typestring
priorityinteger
weightinteger
ttlinteger
spellobject

SubdomainManagerSubdomain

FieldTypeDescription
uuidstring
subdomainstring
record_typestring
portinteger
server_idinteger
spell_idinteger
cloudflare_record_idstring
created_atstring

Subuser

FieldTypeDescription
idintegerSubuser ID
user_idintegerUser ID
server_idintegerServer ID
permissionsstring[]Array of permission strings
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

Used by GET /api/user/servers/{uuidShort}/subusers/{subuserId}

SubuserCreateRequest

FieldTypeDescription
emailrequiredstring (email)Email address of user to add as subuser

Used by POST /api/user/servers/{uuidShort}/subusers

SubuserPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
totalintegerTotal number of records
last_pageintegerLast page number
fromintegerStarting record number
tointegerEnding record number

SubuserUpdateRequest

FieldTypeDescription
permissionsstring[]Array of permission strings

SubuserWithDetails

FieldTypeDescription
idintegerSubuser ID
user_idintegerUser ID
server_idintegerServer ID
permissionsstring[]Array of permission strings
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp
usernamestringUser username
emailstring (email)User email
first_namestringUser first name
last_namestringUser last name
uuidstringUser UUID

Used by POST /api/user/servers/{uuidShort}/subusers, GET /api/user/servers/{uuidShort}/subusers/{subuserId}/details

Task

FieldTypeDescription
idintegerTask ID
schedule_idintegerSchedule ID
sequence_idintegerTask sequence order
actionstringTask action type
payloadstringTask payload data
time_offsetintegerTime offset in seconds
is_queuedbooleanWhether task is queued
continue_on_failurebooleanWhether to continue on failure
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

Used by GET /api/user/servers/{uuidShort}/schedules/{scheduleId}/tasks/{taskId}

TaskCreateRequest

FieldTypeDescription
actionrequiredstringTask action type
payloadstringTask payload data
time_offsetintegerTime offset in seconds
continue_on_failurebooleanWhether to continue on failure

Used by POST /api/user/servers/{uuidShort}/schedules/{scheduleId}/tasks

TaskCreateResponse

FieldTypeDescription
idintegerCreated task ID
actionstringTask action type
sequence_idintegerTask sequence order

Used by POST /api/user/servers/{uuidShort}/schedules/{scheduleId}/tasks

TaskPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
totalintegerTotal number of records
last_pageintegerLast page number
fromintegerStarting record number
tointegerEnding record number

TaskSequenceUpdateRequest

FieldTypeDescription
sequence_idrequiredintegerNew sequence order for the task

Used by PUT /api/user/servers/{uuidShort}/schedules/{scheduleId}/tasks/{taskId}/sequence

TaskStatusToggleResponse

FieldTypeDescription
is_queuedintegerNew queued status
statusstringStatus description

Used by PUT /api/user/servers/{uuidShort}/schedules/{scheduleId}/tasks/{taskId}/queue

TaskUpdateRequest

FieldTypeDescription
actionstringTask action type
payloadstringTask payload data
time_offsetintegerTime offset in seconds
continue_on_failurebooleanWhether to continue on failure

Used by PUT /api/user/servers/{uuidShort}/schedules/{scheduleId}/tasks/{taskId}

Ticket

FieldTypeDescription
idintegerTicket ID
uuidstring (uuid)Ticket UUID
user_uuidstring (uuid)User UUID who created the ticket
server_idintegerServer ID if ticket is related to a server
category_idintegerCategory ID
priority_idintegerPriority ID
status_idintegerStatus ID
titlestringTicket title
descriptionstringTicket description
closed_atstring (date-time)Ticket closed timestamp
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

TicketAttachment

FieldTypeDescription
idintegerAttachment ID
ticket_idintegerTicket ID
message_idintegerMessage ID
file_namestringStored file name
file_pathstringRelative file path
file_sizeintegerFile size in bytes
file_typestringMIME type
user_downloadablebooleanWhether users can download this file
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

TicketCategory

FieldTypeDescription
idintegerCategory ID
namestringCategory name
iconstringCategory icon
colorstringCategory color
support_emailstringSupport email for this category
open_hoursstringOpen hours
descriptionstringCategory description
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

TicketCategoryCreate

FieldTypeDescription
namerequiredstringCategory name
iconstringCategory icon
colorstringCategory color
support_emailstringSupport email for this category
open_hoursstringOpen hours
descriptionstringCategory description

Used by PUT /api/admin/tickets/categories

TicketCategoryPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

TicketCategoryUpdate

FieldTypeDescription
namestringCategory name
iconstringCategory icon
colorstringCategory color
support_emailstringSupport email for this category
open_hoursstringOpen hours
descriptionstringCategory description

Used by PATCH /api/admin/tickets/categories/{id}

TicketCreate

FieldTypeDescription
user_uuidrequiredstring (uuid)User UUID who is creating the ticket
server_idintegerServer ID if ticket is related to a server
category_idrequiredintegerCategory ID
priority_idrequiredintegerPriority ID
status_idrequiredintegerStatus ID
titlerequiredstringTicket title
descriptionrequiredstringTicket description

Used by PUT /api/admin/tickets

TicketMessage

FieldTypeDescription
idintegerMessage ID
ticket_idintegerTicket ID
user_uuidstring (uuid)User UUID who sent the message
messagestringMessage content
is_internalbooleanWhether this is an internal note (staff only)
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

TicketMessageCreate

FieldTypeDescription
messagerequiredstringMessage content
is_internalbooleanWhether this is an internal note (staff only)

Used by POST /api/admin/tickets/{uuid}/messages

TicketMessageUpdate

FieldTypeDescription
messagestringMessage content
is_internalbooleanWhether this is an internal note (staff only)

Used by PATCH /api/admin/tickets/{uuid}/messages/{id}

TicketPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

TicketPriority

FieldTypeDescription
idintegerPriority ID
namestringPriority name
colorstringPriority color
sort_orderintegerDisplay order (lower appears first)
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

TicketPriorityCreate

FieldTypeDescription
namerequiredstringPriority name
colorstringPriority color
sort_orderintegerDisplay order (lower appears first)

Used by PUT /api/admin/tickets/priorities

TicketPriorityPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

TicketPriorityUpdate

FieldTypeDescription
namestringPriority name
colorstringPriority color
sort_orderintegerDisplay order (lower appears first)

Used by PATCH /api/admin/tickets/priorities/{id}

TicketReply

FieldTypeDescription
messagerequiredstringReply message
is_internalbooleanWhether this is an internal note (staff only)

Used by POST /api/admin/tickets/{uuid}/reply

TicketStatus

FieldTypeDescription
idintegerStatus ID
namestringStatus name
colorstringStatus color
sort_orderintegerDisplay order (lower appears first)
is_defaultintegerWhether new tickets use this status (0 or 1)
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

TicketStatusCreate

FieldTypeDescription
namerequiredstringStatus name
colorstringStatus color
sort_orderintegerDisplay order (lower appears first)
is_defaultbooleanAssign this status to newly created tickets

Used by PUT /api/admin/tickets/statuses

TicketStatusPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

TicketStatusUpdate

FieldTypeDescription
namestringStatus name
colorstringStatus color
sort_orderintegerDisplay order (lower appears first)
is_defaultbooleanAssign this status to newly created tickets

Used by PATCH /api/admin/tickets/statuses/{id}

TicketUpdate

FieldTypeDescription
server_idintegerServer ID if ticket is related to a server
category_idintegerCategory ID
priority_idintegerPriority ID
status_idintegerStatus ID
titlestringTicket title
descriptionstringTicket description
closed_atstring (date-time)Ticket closed timestamp

Used by PATCH /api/admin/tickets/{uuid}

TokenValidationResponse

FieldTypeDescription
messagestringToken validation message
tokenstringValidated token

Used by GET /api/user/auth/reset-password

TopUser

FieldTypeDescription
idintegerUser ID
uuidstringUser UUID
usernamestringUsername
emailstringEmail address
first_namestringFirst name
last_namestringLast name
server_countintegerNumber of servers owned

TranslationFile

FieldTypeDescription
codestring
namestring
filestring
sizeinteger
modifiedstring

TwoFactorEnableRequest

FieldTypeDescription
coderequiredstring6-digit TOTP code
secretrequiredstring16-character secret key
turnstile_tokenstringCloudFlare Turnstile token (required if Turnstile is enabled)

Used by PUT /api/user/auth/two-factor

TwoFactorEnableResponse

FieldTypeDescription
userobjectUser information
messagestringSuccess message

Used by PUT /api/user/auth/two-factor

TwoFactorRequiredResponse

FieldTypeDescription
emailstringUser email address
challengestringShort-lived token proving password auth succeeded; required for /two-factor
messagestring2FA required message

TwoFactorSetupResponse

FieldTypeDescription
qr_code_urlstringQR code URL for authenticator app
secretstringSecret key for manual entry
messagestringSuccess message

Used by GET /api/user/auth/two-factor

TwoFactorVerifyRequest

FieldTypeDescription
emailrequiredstring (email)User email address
coderequiredstring6-digit TOTP code
challengerequiredstringChallenge token from the password authentication step (TWO_FACTOR_REQUIRED)

Used by POST /api/user/auth/two-factor

TwoFactorVerifyResponse

FieldTypeDescription
userobjectUser information
messagestringSuccess message

Used by POST /api/user/auth/two-factor

UrlInstall

FieldTypeDescription
urlrequiredstring (uri)URL to download addon from

Used by POST /api/admin/plugins/upload/install-url

User

FieldTypeDescription
idintegerUser ID
uuidstringUser UUID
usernamestringUsername
first_namestringFirst name
last_namestringLast name
emailstring (email)Email address
email_verifiedbooleanWhether the user email is verified
avatarstring (uri)Avatar URL
last_seenstring (date-time)Last seen timestamp
bannedbooleanBanned status
two_fa_enabledbooleanTwo-factor authentication enabled
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp
roleobjectUser role information
activitiesobject[]User activities
mailsobject[]User mail history

UserActivity

FieldTypeDescription
namestringActivity name
contextstringActivity context
ip_addressstringIP address
created_atstring (date-time)Activity timestamp

UserAnalyticsOverview

FieldTypeDescription
totalintegerTotal user count
activeintegerActive users (not banned)
bannedintegerBanned users
verifiedintegerEmail verified users
two_fa_enabledintegerUsers with 2FA enabled
unverifiedintegerUnverified users
percentage_verifiednumber (float)Percentage of verified users
percentage_bannednumber (float)Percentage of banned users
percentage_two_fanumber (float)Percentage of users with 2FA

Used by GET /api/admin/analytics/users/overview

UserCreate

FieldTypeDescription
usernamerequiredstringUsername
first_namerequiredstringFirst name
last_namerequiredstringLast name
emailrequiredstring (email)Email address
passwordrequiredstringPassword
avatarstring (uri)Avatar URL
role_idintegerRole ID (defaults to 1)

Used by PUT /api/admin/users

UserMail

FieldTypeDescription
subjectstringMail subject
templatestringMail template
dataobjectMail data
statusstringMail status
created_atstring (date-time)Mail timestamp

UserNotification

FieldTypeDescription
idintegerNotification ID
user_idintegerTarget user ID (null = global)
server_idintegerTarget server ID (null = account/global)
titlestringNotification title
message_markdownstringNotification message in Markdown format
typestringNotification type
is_dismissiblebooleanWhether the notification can be dismissed
is_stickybooleanWhether the notification stays until explicitly closed
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

UserPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

UserPreferences

User preferences stored as localStorage key-value pairs

FieldTypeDescription
timezonestringIANA timezone identifier used for date rendering; null means browser default
favorite_server_uuidsstring (uuid)[]Pinned server UUIDs (max 50)
hide_server_ipsbooleanMask server IP addresses in the panel UI for this account only

Used by PATCH /api/user/preferences

UserSearchResponse

FieldTypeDescription
usersUserSearchResult[]
totalintegerTotal number of users found

Used by GET /api/user/servers/{uuidShort}/subusers/search-users

UserSearchResult

FieldTypeDescription
idintegerUser ID
usernamestringUsername
emailstring (email)Email address
uuidstringUser UUID
first_namestringFirst name
last_namestringLast name

UserServer

FieldTypeDescription
idintegerServer ID
uuidstringServer UUID
uuidShortstringServer short UUID
namestringServer name
descriptionstringServer description
statusstringServer status
memoryintegerMemory limit in MB
diskintegerDisk limit in MB
cpuintegerCPU limit percentage
swapintegerSwap limit in MB
iointegerIO limit
is_subuserbooleanWhether user is a subuser
subuser_permissionsstring[]Subuser permissions
subuser_idintegerSubuser ID if applicable
nodeobject
locationobject
realmobject
spellobject
allocationobject

UserServerActivity

FieldTypeDescription
idintegerActivity ID
server_idintegerServer ID
node_idintegerNode ID
user_idintegerUser ID (null for daemon events)
eventstringActivity event name
metadataobjectActivity metadata (parsed from JSON)
ipstringIP address
timestampstring (date-time)Activity timestamp
created_atstring (date-time)Created timestamp
updated_atstring (date-time)Updated timestamp
userobjectUser information (null for daemon events)

UserServerPagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

UserSshKey

FieldTypeDescription
idintegerSSH key ID
user_idintegerUser ID
namestringSSH key name
public_keystringSSH public key
fingerprintstringSSH key fingerprint
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp
deleted_atstring (date-time)Deletion timestamp

Used by POST /api/user/ssh-keys, GET /api/user/ssh-keys/{id}, PUT /api/user/ssh-keys/{id}, POST /api/user/ssh-keys/{id}/restore

UserSshKeyList

FieldTypeDescription
idintegerSSH key ID
user_idintegerUser ID
namestringSSH key name
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp
deleted_atstring (date-time)Deletion timestamp

UserUpdate

FieldTypeDescription
usernamestringUsername
first_namestringFirst name
last_namestringLast name
emailstring (email)Email address
passwordstringPassword
avatarstring (uri)Avatar URL
role_idintegerRole ID
bannedbooleanBanned status

Used by PATCH /api/admin/users/{uuid}

UserVmInstanceActivity

FieldTypeDescription
idintegerUser-facing VM instance activity log (separate table, like ServerActivityController for servers).
vm_instance_idinteger
vm_node_idinteger
user_idinteger
eventstring
metadataobject
ipstring
timestampstring (date-time)
userobject

VdsChatbotRequest

FieldTypeDescription
messagerequiredstringUser message
historyobject[]Chat history

Used by POST /api/user/vds-chatbot/chat

VdsChatbotResponse

FieldTypeDescription
responsestringVDS AI assistant response

VmInstance

FieldTypeDescription
idintegerVM Instance ID
vmidintegerProxmox VMID
vm_node_idintegerVM Node ID
user_uuidstringUser UUID
pve_nodestringProxmox node name
plan_idintegerPlan ID
template_idintegerTemplate ID
vm_typestringVM Type
hostnamestringHostname
statusstringVM Status
ip_addressstringIP Address
subnet_maskstringSubnet Mask
gatewaystringGateway
vm_ip_idintegerVM IP ID
notesstringNotes
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

VmInstanceActivityPagination

FieldTypeDescription
current_pageinteger
per_pageinteger
totalinteger
last_pageinteger
frominteger
tointeger

VmInstanceCreate

FieldTypeDescription
vm_node_idrequiredintegerVM Node ID
template_idrequiredintegerTemplate ID
pve_nodestringExplicit Proxmox cluster node to place the VM on
memoryintegerMemory in MB
cpusintegerNumber of CPU sockets
coresintegerNumber of CPU cores per socket
diskintegerDisk size in GB
storagestringStorage name
bridgestringNetwork bridge
on_bootintegerStart on boot
hostnamestringHostname
vm_ip_idintegerSpecific IP ID to assign
networksobject[]List of network IP assignments for this VM
user_uuidstringUser UUID
notesstringNotes
ci_userstringCloud-init user (required for KVM/QEMU)
ci_passwordstringCloud-init password (required for KVM/QEMU). Not used for LXC.

Used by PUT /api/admin/vm-instances

VmInstancePagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page

VmInstanceUpdate

FieldTypeDescription
hostnamestringHostname
notesstringNotes
user_uuidstringUser UUID
vm_ip_idintegerVM IP ID
memoryintegerMemory in MB
cpusintegerNumber of CPUs
coresintegerNumber of Cores
on_bootbooleanStart on boot
networksobject[]List of networks (LXC)
nameserverstringNameserver (LXC)
searchdomainstringSearch domain (LXC)
biosstringQEMU BIOS mode: seabios or ovmf (EFI)
efi_enabledbooleanEnable EFI disk (QEMU only)
efi_storagestringStorage for EFI disk (QEMU only)
tpm_enabledbooleanEnable TPM state disk (QEMU only)
tpm_storagestringStorage for TPM state disk (QEMU only)

Used by PATCH /api/admin/vm-instances/{id}

VmNode

FieldTypeDescription
idintegerVM Node ID
namestringVM Node name
descriptionstringVM Node description
location_idintegerLocation ID (must be type=vps)
fqdnstringProxmox host FQDN or IP
schemestringConnection scheme
portintegerProxmox API port
userstringProxmox API user (e.g. root@pam)
token_idstringProxmox API token ID
secretstringProxmox API token secret
tls_no_verifystringSkip TLS verification
timeoutintegerTimeout in seconds
addional_headersstringAdditional HTTP headers (JSON encoded, optional)
additional_paramsstringAdditional query parameters (JSON encoded, optional)
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

VmNodeCreate

FieldTypeDescription
namerequiredstringVM Node name
descriptionstringVM Node description
location_idrequiredintegerLocation ID (must be type=vps)
fqdnrequiredstringProxmox host FQDN or IP
schemestringConnection scheme
portintegerProxmox API port
userrequiredstringProxmox API user (e.g. root@pam)
token_idrequiredstringProxmox API token ID
secretrequiredstringProxmox API token secret
tls_no_verifystringSkip TLS verification
timeoutintegerTimeout in seconds
addional_headersstringAdditional HTTP headers (JSON encoded, optional)
additional_paramsstringAdditional query parameters (JSON encoded, optional)
idintegerOptional VM node ID (useful for migrations)

Used by PUT /api/admin/vm-nodes

VmNodePagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

VmNodeUpdate

FieldTypeDescription
namestringVM Node name
descriptionstringVM Node description
location_idintegerLocation ID (must be type=vps)
fqdnstringProxmox host FQDN or IP
schemestringConnection scheme
portintegerProxmox API port
userstringProxmox API user (e.g. root@pam)
token_idstringProxmox API token ID
secretstringProxmox API token secret
tls_no_verifystringSkip TLS verification
timeoutintegerTimeout in seconds
addional_headersstringAdditional HTTP headers (JSON encoded, optional)
additional_paramsstringAdditional query parameters (JSON encoded, optional)

Used by PATCH /api/admin/vm-nodes/{id}

WebAppManifest

FieldTypeDescription
namestringWebapp name
short_namestringWebapp short name
descriptionstringWebapp description
iconsobject[]
start_urlstring
scopestring
displaystring
theme_colorstring
background_colorstring

WebNode

FieldTypeDescription
idintegerWeb Node ID
uuidstring (uuid)Web Node UUID
namestringWeb Node name
descriptionstringWeb Node description
location_idintegerLocation ID (must be type=web)
fqdnstringFeatherQuilld host FQDN or IP
schemestringConnection scheme
publicintegerWhether the node is publicly visible
behind_proxyintegerWhether the node is behind a reverse proxy
maintenance_modeintegerWhether the node is in maintenance mode
memoryintegerMemory allocation in MB
memory_overallocateintegerMemory overallocation percentage
diskintegerDisk allocation in MB
disk_overallocateintegerDisk overallocation percentage
upload_sizeintegerMax upload size in MB
daemon_token_idstringFeatherQuilld daemon token ID
daemon_tokenstringFeatherQuilld daemon authentication token
daemonListenintegerFeatherQuilld daemon listen port
daemonBasestringFeatherQuilld daemon base path
websitesPathstringVolumes path (system.data); defaults to {daemonBase}/volumes
backupsPathstringBackup path (system.backup_directory); defaults to {daemonBase}/backups
backupsProviderstringBackup storage provider: local or s3
backupsS3EndpointstringS3-compatible endpoint URL (empty = AWS default)
backupsS3RegionstringS3 region
backupsS3BucketstringS3 bucket name
backupsS3AccessKeystringS3 access key
backupsS3SecretKeystringS3 secret key
backupsS3PrefixstringS3 object key prefix
backupsS3ForcePathStylebooleanForce path-style S3 addressing (MinIO, etc.)
addonsPathstringPlugins path (plugins.directory); only emitted in config when explicitly set
quilldConfigOverridesstringOptional JSON object merged into generated FeatherQuilld config (docker, api.ssl, etc.)
remoteTimeoutintegerPanel API request timeout in seconds
remoteRetryLimitintegerPanel API retry limit
remoteCustomHeadersstringOptional JSON object of custom HTTP headers sent to the panel (remote.custom_headers)
sftpEnabledintegerWhether SFTP is enabled on the daemon
sftpKeyAlgorithmstringSSH key algorithm for SFTP host keys
sftpPortintegerSFTP listen port
sftpDisablePasswordAuthintegerWhether SFTP password authentication is disabled
proxyEnabledbooleanWhether FeatherQuilld terminates HTTP(S) for WebSpaces
proxyProviderstringReverse proxy provider: caddy, nginx, or traefik
acmeEmailstringOptional ACME fallback email (site owner account email is preferred)
acmeStagingbooleanUse Let’s Encrypt staging ACME directory
backendPortMinintegerLoopback backend port range start (system.proxy.backend_port_min)
backendPortMaxintegerLoopback backend port range end (system.proxy.backend_port_max)
created_atstring (date-time)Creation timestamp
updated_atstring (date-time)Last update timestamp

WebNodeCreate

FieldTypeDescription
namerequiredstringWeb Node name
descriptionstringWeb Node description
location_idrequiredintegerLocation ID (must be type=web)
fqdnrequiredstringFeatherQuilld host FQDN or IP
schemestringConnection scheme
publicbooleanWhether the node is publicly visible
behind_proxybooleanWhether the node is behind a reverse proxy
maintenance_modebooleanWhether the node is in maintenance mode
memoryintegerMemory allocation in MB
memory_overallocateintegerMemory overallocation percentage
diskintegerDisk allocation in MB
disk_overallocateintegerDisk overallocation percentage
upload_sizeintegerMax upload size in MB
daemonListenintegerFeatherQuilld daemon listen port
daemonBasestringFeatherQuilld daemon base path
websitesPathstringPath where hosted websites are stored (defaults to {daemonBase}/websites)
backupsPathstringPath where website backups are stored (defaults to {daemonBase}/backups)
backupsProviderstringBackup storage provider: local or s3
backupsS3EndpointstringS3-compatible endpoint URL (empty = AWS default)
backupsS3RegionstringS3 region
backupsS3BucketstringS3 bucket name
backupsS3AccessKeystringS3 access key
backupsS3SecretKeystringS3 secret key
backupsS3PrefixstringS3 object key prefix
backupsS3ForcePathStylebooleanForce path-style S3 addressing (MinIO, etc.)
addonsPathstringPlugins path; only emitted in config when explicitly set
quilldConfigOverridesstringOptional JSON merged into generated FeatherQuilld config
remoteTimeoutintegerPanel API request timeout in seconds
remoteRetryLimitintegerPanel API retry limit
remoteCustomHeadersstringOptional JSON object of custom HTTP headers (remote.custom_headers)
sftpEnabledbooleanWhether SFTP is enabled
sftpKeyAlgorithmstringSSH key algorithm for SFTP
sftpPortintegerSFTP listen port
sftpDisablePasswordAuthbooleanDisable SFTP password authentication
proxyEnabledbooleanWhether FeatherQuilld terminates HTTP(S) for WebSpaces
proxyProviderstringReverse proxy provider: caddy, nginx, or traefik
acmeEmailstringOptional ACME fallback email (site owner account email is preferred)
acmeStagingbooleanUse Let’s Encrypt staging ACME directory
backendPortMinintegerLoopback backend port range start (system.proxy.backend_port_min)
backendPortMaxintegerLoopback backend port range end (system.proxy.backend_port_max)
idintegerOptional web node ID (useful for migrations)

Used by PUT /api/admin/web-nodes

WebNodePagination

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerRecords per page
total_recordsintegerTotal number of records
total_pagesintegerTotal number of pages
has_nextbooleanWhether there is a next page
has_prevbooleanWhether there is a previous page
fromintegerStarting record number
tointegerEnding record number

WebNodeUpdate

FieldTypeDescription
namestringWeb Node name
descriptionstringWeb Node description
location_idintegerLocation ID (must be type=web)
fqdnstringFeatherQuilld host FQDN or IP
schemestringConnection scheme
publicbooleanWhether the node is publicly visible
behind_proxybooleanWhether the node is behind a reverse proxy
maintenance_modebooleanWhether the node is in maintenance mode
memoryintegerMemory allocation in MB
memory_overallocateintegerMemory overallocation percentage
diskintegerDisk allocation in MB
disk_overallocateintegerDisk overallocation percentage
upload_sizeintegerMax upload size in MB
daemonListenintegerFeatherQuilld daemon listen port
daemonBasestringFeatherQuilld daemon base path
websitesPathstringVolumes path (system.data); defaults to {daemonBase}/volumes
backupsPathstringBackup path (system.backup_directory); defaults to {daemonBase}/backups
backupsProviderstringBackup storage provider: local or s3
backupsS3EndpointstringS3-compatible endpoint URL (empty = AWS default)
backupsS3RegionstringS3 region
backupsS3BucketstringS3 bucket name
backupsS3AccessKeystringS3 access key
backupsS3SecretKeystringS3 secret key
backupsS3PrefixstringS3 object key prefix
backupsS3ForcePathStylebooleanForce path-style S3 addressing (MinIO, etc.)
addonsPathstringPlugins path; only emitted in config when explicitly set
quilldConfigOverridesstringOptional JSON merged into generated FeatherQuilld config
remoteTimeoutintegerPanel API request timeout in seconds
remoteRetryLimitintegerPanel API retry limit
remoteCustomHeadersstringOptional JSON object of custom HTTP headers (remote.custom_headers)
sftpEnabledbooleanWhether SFTP is enabled
sftpKeyAlgorithmstringSSH key algorithm for SFTP
sftpPortintegerSFTP listen port
sftpDisablePasswordAuthbooleanDisable SFTP password authentication
proxyEnabledbooleanWhether FeatherQuilld terminates HTTP(S) for WebSpaces
proxyProviderstringReverse proxy provider: caddy, nginx, or traefik
acmeEmailstringOptional ACME fallback email (site owner account email is preferred)
acmeStagingbooleanUse Let’s Encrypt staging ACME directory
backendPortMinintegerLoopback backend port range start (system.proxy.backend_port_min)
backendPortMaxintegerLoopback backend port range end (system.proxy.backend_port_max)

Used by PATCH /api/admin/web-nodes/{id}

WingsActivityErrorResponse

FieldTypeDescription
messagestringError message
processed_countintegerNumber of activities processed successfully
error_countintegerNumber of activities that failed
errorsstring[]Array of error messages

WingsActivityLog

FieldTypeDescription
userstring (uuid)User UUID (nullable)
serverrequiredstring (uuid)Server UUID
eventrequiredstringActivity event name
metadataobjectAdditional activity metadata
ipstringIP address of the user
timestampstring (date-time)Activity timestamp

WingsActivityRequest

FieldTypeDescription
datarequiredWingsActivityLog[]Array of activity logs

Used by POST /api/remote/activity

WingsActivityResponse

FieldTypeDescription
messagestringSuccess message
processed_countintegerNumber of activities processed successfully

Used by POST /api/remote/activity

WingsAdminResponse

FieldTypeDescription
messagestringWelcome message

Used by GET /api/wings/admin

WingsServerConfig

FieldTypeDescription
settingsobject
process_configurationobject

Used by GET /api/remote/servers/{uuid}