From 93df79ea6118ea02bf7711349eb435455c943f0b Mon Sep 17 00:00:00 2001 From: AjdinDev Date: Tue, 12 Aug 2025 21:02:04 +0200 Subject: [PATCH 1/2] Correct account and server management documentation with improved examples and accurate responses --- docs/api/client/account.md | 3 ++- docs/api/client/databases.md | 24 +++--------------- docs/api/client/files.md | 6 ++--- docs/api/client/servers.md | 48 ++++++++++++++++++++++-------------- 4 files changed, 39 insertions(+), 42 deletions(-) diff --git a/docs/api/client/account.md b/docs/api/client/account.md index 14ad55f..b73113f 100644 --- a/docs/api/client/account.md +++ b/docs/api/client/account.md @@ -167,7 +167,8 @@ curl "https://your-panel.com/api/client/account/two-factor" \ ```json { "data": { - "image_url_data": "otpauth://totp/Pterodactyl:user%40example.com?secret=LGYOWJEGVRPPGPWATP5ZHOYC7DHAYQ6S&issuer=Pterodactyl" + "image_url_data": "otpauth://totp/Pterodactyl:admin%40example.com?secret=XHL4JKY746CH46YJCHA25JWAUDBAM24I&issuer=Pterodactyl", + "secret": "XHL4JKY746CH46YJCHA25JWAUDBAM24I" } } ``` diff --git a/docs/api/client/databases.md b/docs/api/client/databases.md index 234eb79..fd4b7f2 100644 --- a/docs/api/client/databases.md +++ b/docs/api/client/databases.md @@ -105,16 +105,8 @@ func main() { }, "name": "s4_gamedata", "username": "u4_gKGSzC8x9M", - "remote": "%", - "max_connections": 0, - "relationships": { - "password": { - "object": "database_password", - "attributes": { - "password": "aP$9gH#x2Kw8" - } - } - } + "connections_from": "%", + "max_connections": 0 } }, { @@ -127,16 +119,8 @@ func main() { }, "name": "s4_website", "username": "u4_hN7jL4mP6Q", - "remote": "127.0.0.1", - "max_connections": 10, - "relationships": { - "password": { - "object": "database_password", - "attributes": { - "password": "xR$7nM#k9Lp3" - } - } - } + "connections_from": "127.0.0.1", + "max_connections": 10 } } ] diff --git a/docs/api/client/files.md b/docs/api/client/files.md index afd2478..189d797 100644 --- a/docs/api/client/files.md +++ b/docs/api/client/files.md @@ -99,7 +99,7 @@ print_r($data['data']); "attributes": { "name": "server.jar", "mode": "-rw-r--r--", - "mode_bits": "0644", + "mode_bits": "644", "size": 47698923, "is_file": true, "is_symlink": false, @@ -113,7 +113,7 @@ print_r($data['data']); "attributes": { "name": "logs", "mode": "drwxr-xr-x", - "mode_bits": "0755", + "mode_bits": "755", "size": 4096, "is_file": false, "is_symlink": false, @@ -127,7 +127,7 @@ print_r($data['data']); "attributes": { "name": "world", "mode": "drwxr-xr-x", - "mode_bits": "0755", + "mode_bits": "755", "size": 4096, "is_file": false, "is_symlink": false, diff --git a/docs/api/client/servers.md b/docs/api/client/servers.md index cf16759..607a2b8 100644 --- a/docs/api/client/servers.md +++ b/docs/api/client/servers.md @@ -355,16 +355,22 @@ func main() { "internal_id": 4, "uuid": "d3aac109-e5e0-4331-b03e-3454f7e136dc", "name": "Survival Server", - "description": "A vanilla Minecraft survival server", - "status": "running", - "is_suspended": false, - "is_installing": false, - "is_transferring": false, "node": "Node 1", + "is_node_under_maintenance": false, "sftp_details": { "ip": "node.example.com", "port": 2022 }, + "description": "A vanilla Minecraft survival server", + "limits": { + "memory": 1024, + "swap": 0, + "disk": 5120, + "io": 500, + "cpu": 200, + "threads": null, + "oom_disabled": true + }, "invocation": "java -Xms128M -Xmx1024M -jar server.jar", "docker_image": "ghcr.io/pterodactyl/yolks:java_17", "egg_features": [ @@ -377,20 +383,26 @@ func main() { "allocations": 1, "backups": 10 }, - "user_permissions": [ - "control.console", - "control.start", - "control.stop", - "control.restart" - ], - "limits": { - "memory": 1024, - "swap": 0, - "disk": 5120, - "io": 500, - "cpu": 200, - "threads": null + "status": "running", + "is_suspended": false, + "is_installing": false, + "is_transferring": false, + "relationships": { + "allocations": { + "object": "list", + "data": [] + }, + "variables": { + "object": "list", + "data": [] + } } + }, + "meta": { + "is_server_owner": true, + "user_permissions": [ + "*" + ] } } ``` From 7e95c8b70d4827acad490659b9bd13dc5c0ef0a0 Mon Sep 17 00:00:00 2001 From: AjdinDev Date: Tue, 12 Aug 2025 21:18:46 +0200 Subject: [PATCH 2/2] Fix Tabs syntax issue resulting in incorrect content --- docs/api/application/nodes.md | 141 +++++++++++++++++++++++++++++++++- 1 file changed, 137 insertions(+), 4 deletions(-) diff --git a/docs/api/application/nodes.md b/docs/api/application/nodes.md index 6336b79..ff63140 100644 --- a/docs/api/application/nodes.md +++ b/docs/api/application/nodes.md @@ -1120,6 +1120,12 @@ GET /api/application/nodes/{node}/configuration This endpoint returns the complete Wings configuration that should be placed in the Wings configuration file. +### Path Parameters + +| Parameter | Type | Description | +|-----------|------|-------------| +| `node` | integer | Node ID | + ### Example Request @@ -1147,9 +1153,136 @@ const response = await axios.get(`https://your-panel.com/api/application/nodes/$ console.log(response.data); ``` + + + +```python +import requests + +node_id = 1 +headers = { + 'Authorization': 'Bearer ptla_YOUR_API_KEY', + 'Accept': 'Application/vnd.pterodactyl.v1+json' +} +response = requests.get(f'https://your-panel.com/api/application/nodes/{node_id}/configuration', + headers=headers) +print(response.json()) +``` + + +```php +get("https://your-panel.com/api/application/nodes/{$nodeId}/configuration", [ + 'headers' => [ + 'Authorization' => 'Bearer ptla_YOUR_API_KEY', + 'Accept' => 'Application/vnd.pterodactyl.v1+json' + ] +]); + +$data = json_decode($response->getBody(), true); +print_r($data); +?> +``` + + + +```go +package main + +import ( + "encoding/json" + "fmt" + "net/http" +) + +func main() { + nodeId := 1 + url := fmt.Sprintf("https://your-panel.com/api/application/nodes/%d/configuration", nodeId) + + client := &http.Client{} + req, _ := http.NewRequest("GET", url, nil) + req.Header.Add("Authorization", "Bearer ptla_YOUR_API_KEY") + req.Header.Add("Accept", "Application/vnd.pterodactyl.v1+json") + + resp, _ := client.Do(req) + defer resp.Body.Close() + + var result map[string]interface{} + json.NewDecoder(resp.Body).Decode(&result) + fmt.Println(result) +} +``` + + + +```java +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.net.URI; + +int nodeId = 1; +String url = String.format("https://your-panel.com/api/application/nodes/%d/configuration", nodeId); + +HttpClient client = HttpClient.newHttpClient(); +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create(url)) + .header("Authorization", "Bearer ptla_YOUR_API_KEY") + .header("Accept", "Application/vnd.pterodactyl.v1+json") + .GET() + .build(); + +HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); +``` + + + +```csharp +using System.Net.Http; +using System.Threading.Tasks; + +var client = new HttpClient(); +client.DefaultRequestHeaders.Add("Authorization", "Bearer ptla_YOUR_API_KEY"); +client.DefaultRequestHeaders.Add("Accept", "Application/vnd.pterodactyl.v1+json"); + +int nodeId = 1; +var response = await client.GetAsync($"https://your-panel.com/api/application/nodes/{nodeId}/configuration"); +var content = await response.Content.ReadAsStringAsync(); +Console.WriteLine(content); +``` + + + +```ruby +require 'net/http' +require 'json' + +node_id = 1 +uri = URI("https://your-panel.com/api/application/nodes/#{node_id}/configuration") + +http = Net::HTTP.new(uri.host, uri.port) +http.use_ssl = true + +request = Net::HTTP::Get.new(uri) +request['Authorization'] = 'Bearer ptla_YOUR_API_KEY' +request['Accept'] = 'Application/vnd.pterodactyl.v1+json' + +response = http.request(request) +puts JSON.parse(response.body) +``` + + + + +### Response + +Returns HTTP 200 OK with the Wings configuration. ### Example Response @@ -1384,16 +1517,16 @@ DELETE /api/application/nodes/{node} ### Example Request - - + + ```bash curl -X DELETE "https://your-panel.com/api/application/nodes/2" \ -H "Authorization: Bearer ptla_YOUR_API_KEY" \ -H "Accept: Application/vnd.pterodactyl.v1+json" ``` + - - + ```javascript const axios = require('axios');