Skip to main content
Version: v0.7 (Legacy)

Node Management

Administrative functions for managing nodes (Wings daemons).

List Nodes

GET /api/application/nodes

List all nodes in the panel.

Include Parameters:

  • allocations - Include node allocations
  • location - Include location information
  • servers - Include servers on this node

Filters:

  • filter[uuid] - Filter by node UUID
  • filter[name] - Filter by node name
curl -X GET "https://your-panel.com/api/application/nodes?include=location,servers" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"

Get Node Details

GET /api/application/nodes/{node}

Get details of a specific node.

Create Node

POST /api/application/nodes

Create a new node.

FieldTypeRequiredDescription
namestringYesNode name
location_idintegerYesLocation ID
fqdnstringYesFully qualified domain name
schemestringYesConnection scheme (http/https)
memoryintegerYesTotal memory (MB)
memory_overallocateintegerYesMemory overallocation (%)
diskintegerYesTotal disk space (MB)
disk_overallocateintegerYesDisk overallocation (%)
upload_sizeintegerYesMax upload size (MB)
daemon_listenintegerYesDaemon listen port
daemon_sftpintegerYesSFTP port
daemon_basestringYesBase daemon directory
curl -X POST "https://your-panel.com/api/application/nodes" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "Node 1",
"location_id": 1,
"fqdn": "node1.example.com",
"scheme": "https",
"memory": 8192,
"memory_overallocate": 0,
"disk": 102400,
"disk_overallocate": 0,
"upload_size": 100,
"daemon_listen": 8080,
"daemon_sftp": 2022,
"daemon_base": "/var/lib/pterodactyl/volumes"
}'

Update Node

PATCH /api/application/nodes/{node}

Update an existing node.

Delete Node

DELETE /api/application/nodes/{node}

Delete a node. All servers must be moved off the node first.

Get Deployable Nodes

GET /api/application/nodes/deployable

Get a list of nodes that can have servers deployed to them.

curl -X GET "https://your-panel.com/api/application/nodes/deployable" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"

Get Node Configuration

GET /api/application/nodes/{node}/configuration

Get the Wings configuration for a node.

Response:

{
"debug": false,
"uuid": "node-uuid-here",
"token_id": "token-id",
"token": "node-token",
"api": {
"host": "0.0.0.0",
"port": 8080,
"ssl": {
"enabled": true,
"cert": "/etc/letsencrypt/live/node.example.com/fullchain.pem",
"key": "/etc/letsencrypt/live/node.example.com/privkey.pem"
}
},
"system": {
"data": "/var/lib/pterodactyl/volumes"
},
"allowed_mounts": [],
"remote": "https://panel.example.com"
}

Node Allocations

List Node Allocations

GET /api/application/nodes/{node}/allocations

List all allocations for a node.

curl -X GET "https://your-panel.com/api/application/nodes/{node}/allocations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"

Create Allocations

POST /api/application/nodes/{node}/allocations

Create new allocations for a node.

FieldTypeRequiredDescription
ipstringYesIP address
aliasstringNoIP alias
portsarrayYesArray of ports
curl -X POST "https://your-panel.com/api/application/nodes/{node}/allocations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"ip": "192.168.1.100",
"ports": ["25565", "25566", "25567-25570"]
}'

Delete Allocation

DELETE /api/application/nodes/{node}/allocations/{allocation}

Delete an allocation from a node.

curl -X DELETE "https://your-panel.com/api/application/nodes/{node}/allocations/{allocation}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"