View .md

Nodes endpoints (Daemon-facing)

12 FeatherPanel Daemon-facing endpoints from wings/nodes.php: methods, paths, auth, permissions, rate limits, parameters and responses.

Last synced from FeatherPanel 15b94e9 on .

On this page

Defined in backend/app/routes/wings/nodes.php. Authentication used here: Admin. Read Authentication for how to send credentials and Rate limits and errors for the response envelope.

Paths, methods, permissions and rate limits come from the route file. Summaries, parameters and response codes come from the OpenAPI annotations on the controllers; endpoints without annotations show only what the route file declares.

Endpoints

GET/api/wings/admin

Auth: AdminPermission: admin.nodes.viewRoute name: wings-admin-indexController: WingsAdminController::indexroute source

Wings admin index Welcome endpoint for Wings admin functionality. Requires Wings node token authentication (token ID and secret).

Response data: WingsAdminResponse

Response data fieldTypeDescription
messagestringWelcome message
curl -X GET "$PANEL_URL/api/wings/admin" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Responses: 200 Welcome message · 401 Unauthorized - Invalid authentication · 403 Forbidden - Insufficient permissions · 500 Internal server error

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

Auth: AdminPermission: admin.nodes.viewRoute name: wings-node-systemController: WingsAdminController::systemroute source

Get node system information Retrieve detailed system information for a specific node from Wings daemon. Requires Wings node token authentication (token ID and secret).

ParameterInTypeRequiredDescription
idpathintegeryesNode ID

Response data: NodeSystemInfo

Response data fieldTypeDescription
nodeobjectNode information
wingsobjectDetailed system information from Wings
curl -X GET "$PANEL_URL/api/wings/admin/node/$ID/system" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Plugin events: featherpanel:wings:node:system:info:retrieved

Responses: 200 Node system information retrieved successfully · 400 Bad request - Missing or invalid node ID · 401 Unauthorized - Invalid authentication · 403 Forbidden - Insufficient permissions · 404 Not found - Node not found · 500 Internal server error - Wings connection failed

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

Auth: AdminPermission: admin.nodes.viewRoute name: wings-node-utilizationController: WingsAdminController::utilizationroute source

Get node utilization Retrieve system utilization data for a specific node from Wings daemon. Requires Wings node token authentication (token ID and secret).

ParameterInTypeRequiredDescription
idpathintegeryesNode ID

Response data: NodeUtilization

Response data fieldTypeDescription
nodeobjectNode information
utilizationobjectSystem utilization data
curl -X GET "$PANEL_URL/api/wings/admin/node/$ID/utilization" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Plugin events: featherpanel:wings:node:utilization:retrieved

Responses: 200 Node utilization retrieved successfully · 400 Bad request - Missing or invalid node ID · 401 Unauthorized - Invalid authentication · 403 Forbidden - Insufficient permissions · 404 Not found - Node not found · 500 Internal server error - Wings connection failed

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

Auth: AdminPermission: admin.nodes.viewRoute name: wings-node-ipsController: WingsAdminController::getIpsroute source

Get node IPs Retrieve available IP addresses for a specific node from Wings daemon. Requires Wings node token authentication (token ID and secret).

ParameterInTypeRequiredDescription
idpathintegeryesNode ID

Response data: NodeIps

Response data fieldTypeDescription
nodeobjectNode information
ipsstring[]Available IP addresses
curl -X GET "$PANEL_URL/api/wings/admin/node/$ID/ips" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Plugin events: featherpanel:wings:node:ips:retrieved

Responses: 200 Node IPs retrieved successfully · 400 Bad request - Missing or invalid node ID · 401 Unauthorized - Invalid authentication · 403 Forbidden - Insufficient permissions · 404 Not found - Node not found · 500 Internal server error - Wings connection failed

GET/api/wings/admin/node/{id}/network

Auth: AdminPermission: admin.nodes.viewRoute name: wings-node-networkController: WingsAdminController::getNetworkroute source
ParameterInTypeRequiredDescription
idpath-yes
curl -X GET "$PANEL_URL/api/wings/admin/node/$ID/network" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

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

Auth: AdminPermission: admin.nodes.viewRoute name: wings-node-docker-diskController: WingsAdminController::getDockerDiskUsageroute source

Get Docker disk usage Retrieve Docker disk usage information for a specific node from Wings daemon. Requires Wings node token authentication (token ID and secret).

ParameterInTypeRequiredDescription
idpathintegeryesNode ID

Response data: NodeDockerDiskUsage

Response data fieldTypeDescription
nodeobjectNode information
dockerDiskUsageobjectDocker disk usage data
curl -X GET "$PANEL_URL/api/wings/admin/node/$ID/docker/disk" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Plugin events: featherpanel:wings:docker:disk:usage:retrieved

Responses: 200 Docker disk usage retrieved successfully · 400 Bad request - Missing or invalid node ID · 401 Unauthorized - Invalid authentication · 403 Forbidden - Insufficient permissions · 404 Not found - Node not found · 500 Internal server error - Wings connection failed

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

Auth: AdminPermission: admin.nodes.editRoute name: wings-node-docker-pruneController: WingsAdminController::getDockerPruneroute source

Prune Docker images Execute Docker image pruning on a specific node to free up disk space. Requires Wings node token authentication (token ID and secret).

ParameterInTypeRequiredDescription
idpathintegeryesNode ID

Response data: NodeDockerPrune

Response data fieldTypeDescription
nodeobjectNode information
dockerPruneobjectDocker prune results
curl -X DELETE "$PANEL_URL/api/wings/admin/node/$ID/docker/prune" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Plugin events: featherpanel:wings:docker:prune:completed

Responses: 200 Docker prune completed successfully · 400 Bad request - Missing or invalid node ID · 401 Unauthorized - Invalid authentication · 403 Forbidden - Insufficient permissions · 404 Not found - Node not found · 500 Internal server error - Wings connection failed

GET/api/wings/admin/node/{id}/modules

Auth: AdminPermission: admin.nodes.viewRoute name: wings-node-modules-listController: WingsAdminController::listModulesroute source

List all modules Retrieve a list of all registered modules and their current status. Requires Wings node token authentication.

ParameterInTypeRequiredDescription
idpathintegeryesNode ID
Response data fieldTypeDescription
dataobject[]
curl -X GET "$PANEL_URL/api/wings/admin/node/$ID/modules" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Responses: 200 Modules listed successfully

GET/api/wings/admin/node/{id}/modules/{module}/config

Auth: AdminPermission: admin.nodes.viewRoute name: wings-node-module-config-getController: WingsAdminController::getModuleConfigroute source

Get module configuration Retrieve the current configuration for a specific module. Requires Wings node token authentication.

ParameterInTypeRequiredDescription
idpathintegeryesNode ID
modulepathstringyesModule name
curl -X GET "$PANEL_URL/api/wings/admin/node/$ID/modules/$MODULE/config" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Responses: 200 Module configuration retrieved successfully

PUT/api/wings/admin/node/{id}/modules/{module}/config

Auth: AdminPermission: admin.nodes.editRoute name: wings-node-module-config-updateController: WingsAdminController::updateModuleConfigroute source

Update module configuration Update the configuration for a specific module. The module must be disabled before configuration changes can be applied. Requires Wings node token authentication.

ParameterInTypeRequiredDescription
idpathintegeryesNode ID
modulepathstringyesModule name
curl -X PUT "$PANEL_URL/api/wings/admin/node/$ID/modules/$MODULE/config" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Responses: 200 Module configuration updated successfully

POST/api/wings/admin/node/{id}/modules/{module}/enable

Auth: AdminPermission: admin.nodes.editRoute name: wings-node-module-enableController: WingsAdminController::enableModuleroute source

Enable module Enable a module. This will start the module and make it active. Requires Wings node token authentication.

ParameterInTypeRequiredDescription
idpathintegeryesNode ID
modulepathstringyesModule name
curl -X POST "$PANEL_URL/api/wings/admin/node/$ID/modules/$MODULE/enable" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Responses: 200 Module enabled successfully

POST/api/wings/admin/node/{id}/modules/{module}/disable

Auth: AdminPermission: admin.nodes.editRoute name: wings-node-module-disableController: WingsAdminController::disableModuleroute source

Disable module Disable a module. This will stop the module and make it inactive. Requires Wings node token authentication.

ParameterInTypeRequiredDescription
idpathintegeryesNode ID
modulepathstringyesModule name
curl -X POST "$PANEL_URL/api/wings/admin/node/$ID/modules/$MODULE/disable" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Responses: 200 Module disabled successfully