From 91d2ac284c8e1ed38d0776f5e350ea41b26f5d74 Mon Sep 17 00:00:00 2001 From: Two <26689496+real2two@users.noreply.github.com> Date: Sat, 27 Dec 2025 18:47:28 -0500 Subject: [PATCH 01/10] feat: POST /api/deauthorize-user --- wings/server.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/wings/server.md b/wings/server.md index 20c7d11..02a2e33 100644 --- a/wings/server.md +++ b/wings/server.md @@ -139,8 +139,31 @@ Sources: - [router/router_server.go#L142](https://github.com/pterodactyl/wings/blob/release/v1.11.2/router/router_server.go#L142) +### `POST /api/deauthorize-user` + +Disconnects user from server websockets and SFTP sessions. + +### Body + +| Field | Visibility | Type | Description | +| -------- | ---------- | --------------- | -------------------------- | +| user | required | string | A user to deny. | +| servers | required | array of string | A list of servers to deny. | + +### Responses + +| Code | Description | +| ---- | ------------------------------------- | +| 204 | The request was successful. | + +Sources: + +- [router/router_system.go#L159](https://github.com/pterodactyl/wings/blob/a97e8ae09fd682057ef229d4940d6dcb0cdaf3af/router/router_system.go#L159) + ### `POST /api/servers/:uuid/ws/deny` +> Deprecated. Use `POST /api/deauthorize-user` instead. + Adds the given JWT IDs (or "jti"s) to the server websocket's deny list, preventing tokens with the JTIs from connecting or interacting with the server websocket. ### Body From ef8561ca7e472bf34a4b0768ed828d2bfa8cabfb Mon Sep 17 00:00:00 2001 From: Two <26689496+real2two@users.noreply.github.com> Date: Sat, 27 Dec 2025 18:47:49 -0500 Subject: [PATCH 02/10] fix: Fixed incorrect response code in POST /api/application/users --- pterodactyl/application/users.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pterodactyl/application/users.md b/pterodactyl/application/users.md index cfc0e47..416fe3d 100644 --- a/pterodactyl/application/users.md +++ b/pterodactyl/application/users.md @@ -157,7 +157,7 @@ Creates a user. | Code | Description | | ---- | ------------------------------------ | -| 200 | The request was successful. | +| 201 | The request was successful. | | 422 | One or more validation rules failed. | ### Sources From a8e5c54aedd98ba89f825389c743eb9809f1345f Mon Sep 17 00:00:00 2001 From: Two <26689496+real2two@users.noreply.github.com> Date: Sun, 28 Dec 2025 12:33:57 -0500 Subject: [PATCH 03/10] fix: fixed incorrect "data" in body (POST /api/remote/backups/:backup) --- pterodactyl/remote/server_backups.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/pterodactyl/remote/server_backups.md b/pterodactyl/remote/server_backups.md index c504769..d536055 100644 --- a/pterodactyl/remote/server_backups.md +++ b/pterodactyl/remote/server_backups.md @@ -39,16 +39,15 @@ Handles updating the state of a backup. ### Body -| Name | Visibility | Type | Description | -| ------------------------ | --------------------------- | ------- | ------------------------------------------------------------------------------------------------------ | -| data | required | object | An object containing the checksum, checksum type, backup size, success state, and parts of the backup. | -| data.successful | required | boolean | The success state of the backup. | -| data.checksum | required if success is true | string | The checksum. | -| data.checksum_type | required if success is true | string | The checksum type. | -| data.size | required if success is true | number | The size of the backup. | -| data.parts | optional | array | An array containing the etag and part number for each part. | -| data.parts[].etag | required | string | The entity tag of an upload part. (for S3) | -| data.parts[].part_number | required | number | The part number of an upload part. (for S3) | +| Name | Visibility | Type | Description | +| ------------------- | --------------------------- | ------- | ------------------------------------------------------------- | +| successful | required | boolean | The success state of the backup. | +| checksum | required if success is true | string | The checksum. | +| checksum_type | required if success is true | string | The checksum type. | +| size | required if success is true | number | The size of the backup. | +| parts | optional | array | An array containing the etag and part number for each part. | +| parts[].etag | required | string | The entity tag of an upload part. (for S3) | +| parts[].part_number | required | number | The part number of an upload part. (for S3) | ### Example Body From f36b53ac7cb6c2b5ec930df7e8389e7ea5326289 Mon Sep 17 00:00:00 2001 From: Two <26689496+real2two@users.noreply.github.com> Date: Sun, 28 Dec 2025 12:35:43 -0500 Subject: [PATCH 04/10] feat: include tip for "mounts" (GET /api/remote/servers) --- pterodactyl/remote/servers.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pterodactyl/remote/servers.md b/pterodactyl/remote/servers.md index 4edb49f..177c091 100644 --- a/pterodactyl/remote/servers.md +++ b/pterodactyl/remote/servers.md @@ -159,6 +159,9 @@ Lists all servers with their configurations that are assigned to the requesting } ``` +> [!TIP] +> The `mounts` field can also be defined as an array of objects with the fields `source` (string), `target` (string) and `read_only` (boolean). + ### Sources - [ServerDetailsController.php#L48](https://github.com/pterodactyl/panel/blob/43f7c106172a68f9d81c84af34735373dc900395/app/Http/Controllers/Api/Remote/Servers/ServerDetailsController.php#L48) From af3448f81dcfc99cb7f578687681f39ed15140e8 Mon Sep 17 00:00:00 2001 From: Two <26689496+real2two@users.noreply.github.com> Date: Mon, 29 Dec 2025 20:13:42 -0500 Subject: [PATCH 05/10] feat: added tip for deleting local backups + updated description to include "local" --- wings/server_backups.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wings/server_backups.md b/wings/server_backups.md index 362b9ba..556f722 100644 --- a/wings/server_backups.md +++ b/wings/server_backups.md @@ -39,7 +39,7 @@ Sources: ### `DELETE /api/servers/:uuid/backup/:id` -Deletes a specified backup from a server. +Deletes a specified local backup from a server. ### Responses @@ -51,3 +51,6 @@ Deletes a specified backup from a server. Sources: - [router_server_backup.go#L178](https://github.com/pterodactyl/wings/blob/release/v1.11.2/router/router_server_backup.go#L178) + +> [!TIP] +> This is only used when the backup adapter is `wings`. If you're looking for how `s3` backups are deleted, check out [/app/Services/Backups/DeleteBackupService.php](https://github.com/pterodactyl/panel/blob/1570ff250939b75b3ba8cd03e5025d8293544ed4/app/Services/Backups/DeleteBackupService.php#L68) on the panel instead. From 70a57525845c81ccba5839c99f9b21e5f3ad8a08 Mon Sep 17 00:00:00 2001 From: Two <26689496+real2two@users.noreply.github.com> Date: Sun, 11 Jan 2026 23:29:13 -0500 Subject: [PATCH 06/10] fix: accepted devnote's suggestion to wings/server.md Co-authored-by: Devonte --- wings/server.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wings/server.md b/wings/server.md index 02a2e33..42c43cf 100644 --- a/wings/server.md +++ b/wings/server.md @@ -147,8 +147,8 @@ Disconnects user from server websockets and SFTP sessions. | Field | Visibility | Type | Description | | -------- | ---------- | --------------- | -------------------------- | -| user | required | string | A user to deny. | -| servers | required | array of string | A list of servers to deny. | +| user | required | string | The UUID of the user to deny. | +| servers | required | array of string | A list of server UUIDs to deny. | ### Responses From 43be35dd6d35c5b0f52547f6c00ec99bedfeb325 Mon Sep 17 00:00:00 2001 From: Two <26689496+real2two@users.noreply.github.com> Date: Sun, 11 Jan 2026 23:29:34 -0500 Subject: [PATCH 07/10] fix: accepted devnote's suggestion to wings/server_backups.md Co-authored-by: Devonte --- wings/server_backups.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wings/server_backups.md b/wings/server_backups.md index 556f722..f2ca9db 100644 --- a/wings/server_backups.md +++ b/wings/server_backups.md @@ -52,5 +52,5 @@ Sources: - [router_server_backup.go#L178](https://github.com/pterodactyl/wings/blob/release/v1.11.2/router/router_server_backup.go#L178) -> [!TIP] +> [!INFORMATION] > This is only used when the backup adapter is `wings`. If you're looking for how `s3` backups are deleted, check out [/app/Services/Backups/DeleteBackupService.php](https://github.com/pterodactyl/panel/blob/1570ff250939b75b3ba8cd03e5025d8293544ed4/app/Services/Backups/DeleteBackupService.php#L68) on the panel instead. From d0a1b4c52f0afbc8ffc6f8281cde1a4c69299e3b Mon Sep 17 00:00:00 2001 From: Two <26689496+real2two@users.noreply.github.com> Date: Sun, 11 Jan 2026 23:47:15 -0500 Subject: [PATCH 08/10] fix: updated example responses for pterodactyl/remote/server_backups.md --- pterodactyl/remote/server_backups.md | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/pterodactyl/remote/server_backups.md b/pterodactyl/remote/server_backups.md index d536055..2a89604 100644 --- a/pterodactyl/remote/server_backups.md +++ b/pterodactyl/remote/server_backups.md @@ -27,6 +27,17 @@ Returns the required presigned urls to upload a backup to S3 cloud storage. | 404 | The backup was not found. | | 409 | The backup is already in completed state. | +### Example Response + +```json +{ + "parts": [ + "https://example.com/s3_url_here" + ], + "part_size": 1234 +} +``` + ### Sources - [BackupRemoteUploadController.php#L33](https://github.com/pterodactyl/panel/blob/43f7c106172a68f9d81c84af34735373dc900395/app/Http/Controllers/Api/Remote/Backups/BackupRemoteUploadController.php#L33) @@ -53,13 +64,16 @@ Handles updating the state of a backup. ```json { - "data": { - "checksum": "a0b124c3def45g67890h12i3j4567k8l9mn01234", - "checksum_type": "sha1", - "size": 1234, - "successful": true, - "parts": null - } + "checksum": "a0b124c3def45g67890h12i3j4567k8l9mn01234", + "checksum_type": "sha1", + "size": 1234, + "successful": true, + "parts": [ + { + "etag": "\"fad65ead865d78b768d313644d411c16\"", + "part_number": 1 + } + ] } ``` From b6088951c7f066bdf59c778bf2e5b3bc0b95c69c Mon Sep 17 00:00:00 2001 From: Two <26689496+real2two@users.noreply.github.com> Date: Sun, 11 Jan 2026 23:51:36 -0500 Subject: [PATCH 09/10] fix: updated example response in pterodactyl/remote/servers.md --- pterodactyl/remote/servers.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pterodactyl/remote/servers.md b/pterodactyl/remote/servers.md index 177c091..ddbcd2c 100644 --- a/pterodactyl/remote/servers.md +++ b/pterodactyl/remote/servers.md @@ -75,7 +75,13 @@ Lists all servers with their configurations that are assigned to the requesting "192.168.228.1": [25565] } }, - "mounts": [], + "mounts": [ + { + "source": "/root/mnt", + "target": "/root/mnt", + "read_only": false + } + ], "egg": { "id": "b3e7a6b9-1cc9-4d3e-9372-88b6d96c6b0f", "file_denylist": [] From 75721fcadf388bff39ac59854bbc30a94ce0f1cf Mon Sep 17 00:00:00 2001 From: Two <26689496+real2two@users.noreply.github.com> Date: Sun, 11 Jan 2026 23:55:45 -0500 Subject: [PATCH 10/10] chore: fixed table formatting --- pterodactyl/remote/server_backups.md | 18 +++++++++--------- wings/server.md | 10 +++++----- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/pterodactyl/remote/server_backups.md b/pterodactyl/remote/server_backups.md index 2a89604..2c5993e 100644 --- a/pterodactyl/remote/server_backups.md +++ b/pterodactyl/remote/server_backups.md @@ -50,15 +50,15 @@ Handles updating the state of a backup. ### Body -| Name | Visibility | Type | Description | -| ------------------- | --------------------------- | ------- | ------------------------------------------------------------- | -| successful | required | boolean | The success state of the backup. | -| checksum | required if success is true | string | The checksum. | -| checksum_type | required if success is true | string | The checksum type. | -| size | required if success is true | number | The size of the backup. | -| parts | optional | array | An array containing the etag and part number for each part. | -| parts[].etag | required | string | The entity tag of an upload part. (for S3) | -| parts[].part_number | required | number | The part number of an upload part. (for S3) | +| Name | Visibility | Type | Description | +| ------------------- | --------------------------- | ------- | ----------------------------------------------------------- | +| successful | required | boolean | The success state of the backup. | +| checksum | required if success is true | string | The checksum. | +| checksum_type | required if success is true | string | The checksum type. | +| size | required if success is true | number | The size of the backup. | +| parts | optional | array | An array containing the etag and part number for each part. | +| parts[].etag | required | string | The entity tag of an upload part. (for S3) | +| parts[].part_number | required | number | The part number of an upload part. (for S3) | ### Example Body diff --git a/wings/server.md b/wings/server.md index 42c43cf..2af489d 100644 --- a/wings/server.md +++ b/wings/server.md @@ -145,16 +145,16 @@ Disconnects user from server websockets and SFTP sessions. ### Body -| Field | Visibility | Type | Description | -| -------- | ---------- | --------------- | -------------------------- | +| Field | Visibility | Type | Description | +| -------- | ---------- | --------------- | ------------------------------- | | user | required | string | The UUID of the user to deny. | | servers | required | array of string | A list of server UUIDs to deny. | ### Responses -| Code | Description | -| ---- | ------------------------------------- | -| 204 | The request was successful. | +| Code | Description | +| ---- | --------------------------- | +| 204 | The request was successful. | Sources: