Files
dualfroz 2e78dfef1e Validate upload size against the node limit before uploading
Expose the node's upload_size on the client server resource and reject
files over it in the file manager before any bytes are sent.
2026-10-14 18:16:57 +02:00

1006 lines
46 KiB
JSON

[
{
"request": "GET /api/client",
"status": 200,
"body": {
"object": "list",
"data": [
{
"object": "server",
"attributes": {
"server_owner": true,
"identifier": "5e7f0001",
"__deprecated_uuid_short": "5e7f0001",
"server_identifier": "serv_lz7qaaiaabaabaaaaaaaaaaaae",
"internal_id": 1,
"uuid": "5e7f0001-0000-4000-8000-000000000001",
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
},
"description": "Main survival world",
"limits": {
"memory": 2048,
"swap": 512,
"disk": 10240,
"io": 500,
"cpu": 200,
"threads": "0-3",
"oom_disabled": true
},
"invocation": "java -Xms128M -Xmx2048M -jar paper.jar",
"docker_image": "ghcr.io/pterodactyl/yolks:java_21",
"egg_features": [
"eula",
"java_version"
],
"egg_tags": [
"minecraft",
"premium"
],
"feature_limits": {
"databases": 5,
"allocations": 5,
"backups": 5
},
"status": null,
"is_suspended": false,
"is_installing": false,
"is_transferring": false,
"skip_scripts": false,
"relationships": {
"allocations": {
"object": "list",
"data": [
{
"object": "allocation",
"attributes": {
"id": 1,
"ip": "192.0.2.10",
"ip_alias": "play.example.test",
"port": 25565,
"notes": "Primary <game> port",
"is_default": true
}
},
{
"object": "allocation",
"attributes": {
"id": 2,
"ip": "192.0.2.10",
"ip_alias": null,
"port": 25566,
"notes": "Query/RCON",
"is_default": false
}
}
]
},
"variables": {
"object": "list",
"data": [
{
"object": "egg_variable",
"attributes": {
"name": "Server Jar File",
"description": "The name of the server jarfile to run.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"server_value": "paper.jar",
"is_editable": true,
"rules": "required|regex:/^([\\w\\d._-]+)(\\.jar)$/"
}
},
{
"object": "egg_variable",
"attributes": {
"name": "Build Number",
"description": "The build to download, or \"latest\".",
"env_variable": "BUILD_NUMBER",
"default_value": "latest",
"server_value": null,
"is_editable": false,
"rules": "required|string|max:20"
}
}
]
}
}
}
},
{
"object": "server",
"attributes": {
"server_owner": true,
"identifier": "5e7f0002",
"__deprecated_uuid_short": "5e7f0002",
"server_identifier": "serv_lz7qaaqaabaabaaaaaaaaaaaai",
"internal_id": 2,
"uuid": "5e7f0002-0000-4000-8000-000000000002",
"name": "Creative",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
},
"description": "",
"limits": {
"memory": 1024,
"swap": 0,
"disk": 5120,
"io": 500,
"cpu": 0,
"threads": null,
"oom_disabled": false
},
"invocation": "java -jar child.jar",
"docker_image": "ghcr.io/pterodactyl/yolks:java_17",
"egg_features": [
"eula",
"java_version"
],
"egg_tags": [
"minecraft"
],
"feature_limits": {
"databases": 0,
"allocations": null,
"backups": 0
},
"status": "installing",
"is_suspended": false,
"is_installing": true,
"is_transferring": true,
"skip_scripts": true,
"relationships": {
"allocations": {
"object": "list",
"data": [
{
"object": "allocation",
"attributes": {
"id": 3,
"ip": "192.0.2.10",
"ip_alias": null,
"port": 25567,
"notes": null,
"is_default": true
}
}
]
},
"variables": {
"object": "list",
"data": [
{
"object": "egg_variable",
"attributes": {
"name": "Server Jar File",
"description": "The jar the child egg runs.",
"env_variable": "SERVER_JARFILE",
"default_value": "child.jar",
"server_value": "child.jar",
"is_editable": true,
"rules": "required|string"
}
}
]
}
}
}
}
],
"meta": {
"pagination": {
"total": 2,
"count": 2,
"per_page": 50,
"current_page": 1,
"total_pages": 1,
"links": {}
}
}
}
},
{
"request": "GET /api/client?include=egg,subusers",
"status": 200,
"body": {
"object": "list",
"data": [
{
"object": "server",
"attributes": {
"server_owner": true,
"identifier": "5e7f0001",
"__deprecated_uuid_short": "5e7f0001",
"server_identifier": "serv_lz7qaaiaabaabaaaaaaaaaaaae",
"internal_id": 1,
"uuid": "5e7f0001-0000-4000-8000-000000000001",
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
},
"description": "Main survival world",
"limits": {
"memory": 2048,
"swap": 512,
"disk": 10240,
"io": 500,
"cpu": 200,
"threads": "0-3",
"oom_disabled": true
},
"invocation": "java -Xms128M -Xmx2048M -jar paper.jar",
"docker_image": "ghcr.io/pterodactyl/yolks:java_21",
"egg_features": [
"eula",
"java_version"
],
"egg_tags": [
"minecraft",
"premium"
],
"feature_limits": {
"databases": 5,
"allocations": 5,
"backups": 5
},
"status": null,
"is_suspended": false,
"is_installing": false,
"is_transferring": false,
"skip_scripts": false,
"relationships": {
"allocations": {
"object": "list",
"data": [
{
"object": "allocation",
"attributes": {
"id": 1,
"ip": "192.0.2.10",
"ip_alias": "play.example.test",
"port": 25565,
"notes": "Primary <game> port",
"is_default": true
}
},
{
"object": "allocation",
"attributes": {
"id": 2,
"ip": "192.0.2.10",
"ip_alias": null,
"port": 25566,
"notes": "Query/RCON",
"is_default": false
}
}
]
},
"variables": {
"object": "list",
"data": [
{
"object": "egg_variable",
"attributes": {
"name": "Server Jar File",
"description": "The name of the server jarfile to run.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"server_value": "paper.jar",
"is_editable": true,
"rules": "required|regex:/^([\\w\\d._-]+)(\\.jar)$/"
}
},
{
"object": "egg_variable",
"attributes": {
"name": "Build Number",
"description": "The build to download, or \"latest\".",
"env_variable": "BUILD_NUMBER",
"default_value": "latest",
"server_value": null,
"is_editable": false,
"rules": "required|string|max:20"
}
}
]
},
"egg": {
"object": "egg",
"attributes": {
"uuid": "e9900001-0000-4000-8000-000000000001",
"name": "Paper"
}
},
"subusers": {
"object": "list",
"data": [
{
"object": "server_subuser",
"attributes": {
"uuid": "00000000-0000-4000-8000-000000000003",
"identifier": "user_aaaaaaaaabaabaaaaaaaaaaaam",
"username": "helper",
"email": "helper@example.test",
"image": "https://gravatar.com/avatar/db133fd5a01229dc12009a42eaa2e3c3",
"2fa_enabled": false,
"created_at": "2026-01-02T03:04:05+00:00",
"permissions": [
"websocket.connect",
"control.console",
"control.start",
"allocation.read",
"startup.read",
"user.read",
"database.read",
"database.view_password",
"backup.read",
"schedule.read",
"activity.read",
"file.read"
]
}
},
{
"object": "server_subuser",
"attributes": {
"uuid": "00000000-0000-4000-8000-000000000004",
"identifier": "user_aaaaaaaaabaabaaaaaaaaaaaaq",
"username": "limited",
"email": "limited@example.test",
"image": "https://gravatar.com/avatar/6a005a5825ef8aa17b476a64d40e7aab",
"2fa_enabled": false,
"created_at": "2026-01-02T03:04:05+00:00",
"permissions": [
"websocket.connect",
"control.console",
"database.read",
"database.create",
"database.update",
"backup.read",
"schedule.read",
"activity.read",
"file.read"
]
}
}
]
}
}
}
},
{
"object": "server",
"attributes": {
"server_owner": true,
"identifier": "5e7f0002",
"__deprecated_uuid_short": "5e7f0002",
"server_identifier": "serv_lz7qaaqaabaabaaaaaaaaaaaai",
"internal_id": 2,
"uuid": "5e7f0002-0000-4000-8000-000000000002",
"name": "Creative",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
},
"description": "",
"limits": {
"memory": 1024,
"swap": 0,
"disk": 5120,
"io": 500,
"cpu": 0,
"threads": null,
"oom_disabled": false
},
"invocation": "java -jar child.jar",
"docker_image": "ghcr.io/pterodactyl/yolks:java_17",
"egg_features": [
"eula",
"java_version"
],
"egg_tags": [
"minecraft"
],
"feature_limits": {
"databases": 0,
"allocations": null,
"backups": 0
},
"status": "installing",
"is_suspended": false,
"is_installing": true,
"is_transferring": true,
"skip_scripts": true,
"relationships": {
"allocations": {
"object": "list",
"data": [
{
"object": "allocation",
"attributes": {
"id": 3,
"ip": "192.0.2.10",
"ip_alias": null,
"port": 25567,
"notes": null,
"is_default": true
}
}
]
},
"variables": {
"object": "list",
"data": [
{
"object": "egg_variable",
"attributes": {
"name": "Server Jar File",
"description": "The jar the child egg runs.",
"env_variable": "SERVER_JARFILE",
"default_value": "child.jar",
"server_value": "child.jar",
"is_editable": true,
"rules": "required|string"
}
}
]
},
"egg": {
"object": "egg",
"attributes": {
"uuid": "e9900002-0000-4000-8000-000000000002",
"name": "Paper Child"
}
},
"subusers": {
"object": "list",
"data": []
}
}
}
}
],
"meta": {
"pagination": {
"total": 2,
"count": 2,
"per_page": 50,
"current_page": 1,
"total_pages": 1,
"links": {}
}
}
}
},
{
"request": "GET /api/client?filter[name]=none",
"status": 200,
"body": {
"object": "list",
"data": [],
"meta": {
"pagination": {
"total": 0,
"count": 0,
"per_page": 50,
"current_page": 1,
"total_pages": 1,
"links": {}
}
}
}
},
{
"request": "GET /api/client?per_page=1",
"status": 200,
"body": {
"object": "list",
"data": [
{
"object": "server",
"attributes": {
"server_owner": true,
"identifier": "5e7f0001",
"__deprecated_uuid_short": "5e7f0001",
"server_identifier": "serv_lz7qaaiaabaabaaaaaaaaaaaae",
"internal_id": 1,
"uuid": "5e7f0001-0000-4000-8000-000000000001",
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
},
"description": "Main survival world",
"limits": {
"memory": 2048,
"swap": 512,
"disk": 10240,
"io": 500,
"cpu": 200,
"threads": "0-3",
"oom_disabled": true
},
"invocation": "java -Xms128M -Xmx2048M -jar paper.jar",
"docker_image": "ghcr.io/pterodactyl/yolks:java_21",
"egg_features": [
"eula",
"java_version"
],
"egg_tags": [
"minecraft",
"premium"
],
"feature_limits": {
"databases": 5,
"allocations": 5,
"backups": 5
},
"status": null,
"is_suspended": false,
"is_installing": false,
"is_transferring": false,
"skip_scripts": false,
"relationships": {
"allocations": {
"object": "list",
"data": [
{
"object": "allocation",
"attributes": {
"id": 1,
"ip": "192.0.2.10",
"ip_alias": "play.example.test",
"port": 25565,
"notes": "Primary <game> port",
"is_default": true
}
},
{
"object": "allocation",
"attributes": {
"id": 2,
"ip": "192.0.2.10",
"ip_alias": null,
"port": 25566,
"notes": "Query/RCON",
"is_default": false
}
}
]
},
"variables": {
"object": "list",
"data": [
{
"object": "egg_variable",
"attributes": {
"name": "Server Jar File",
"description": "The name of the server jarfile to run.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"server_value": "paper.jar",
"is_editable": true,
"rules": "required|regex:/^([\\w\\d._-]+)(\\.jar)$/"
}
},
{
"object": "egg_variable",
"attributes": {
"name": "Build Number",
"description": "The build to download, or \"latest\".",
"env_variable": "BUILD_NUMBER",
"default_value": "latest",
"server_value": null,
"is_editable": false,
"rules": "required|string|max:20"
}
}
]
}
}
}
}
],
"meta": {
"pagination": {
"total": 2,
"count": 1,
"per_page": 1,
"current_page": 1,
"total_pages": 2,
"links": {
"next": "https://panel.example.test/api/client?per_page=1&page=2"
}
}
}
}
},
{
"request": "GET /api/client?per_page=1&page=2",
"status": 200,
"body": {
"object": "list",
"data": [
{
"object": "server",
"attributes": {
"server_owner": true,
"identifier": "5e7f0002",
"__deprecated_uuid_short": "5e7f0002",
"server_identifier": "serv_lz7qaaqaabaabaaaaaaaaaaaai",
"internal_id": 2,
"uuid": "5e7f0002-0000-4000-8000-000000000002",
"name": "Creative",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
},
"description": "",
"limits": {
"memory": 1024,
"swap": 0,
"disk": 5120,
"io": 500,
"cpu": 0,
"threads": null,
"oom_disabled": false
},
"invocation": "java -jar child.jar",
"docker_image": "ghcr.io/pterodactyl/yolks:java_17",
"egg_features": [
"eula",
"java_version"
],
"egg_tags": [
"minecraft"
],
"feature_limits": {
"databases": 0,
"allocations": null,
"backups": 0
},
"status": "installing",
"is_suspended": false,
"is_installing": true,
"is_transferring": true,
"skip_scripts": true,
"relationships": {
"allocations": {
"object": "list",
"data": [
{
"object": "allocation",
"attributes": {
"id": 3,
"ip": "192.0.2.10",
"ip_alias": null,
"port": 25567,
"notes": null,
"is_default": true
}
}
]
},
"variables": {
"object": "list",
"data": [
{
"object": "egg_variable",
"attributes": {
"name": "Server Jar File",
"description": "The jar the child egg runs.",
"env_variable": "SERVER_JARFILE",
"default_value": "child.jar",
"server_value": "child.jar",
"is_editable": true,
"rules": "required|string"
}
}
]
}
}
}
}
],
"meta": {
"pagination": {
"total": 2,
"count": 1,
"per_page": 1,
"current_page": 2,
"total_pages": 2,
"links": {
"previous": "https://panel.example.test/api/client?per_page=1&page=1"
}
}
}
}
},
{
"request": "GET /api/client?per_page=1&page=99",
"status": 200,
"body": {
"object": "list",
"data": [],
"meta": {
"pagination": {
"total": 2,
"count": 0,
"per_page": 1,
"current_page": 99,
"total_pages": 2,
"links": {
"previous": "https://panel.example.test/api/client?per_page=1&page=98"
}
}
}
}
},
{
"request": "GET /api/client?per_page=1&page=1&filter[uuid]=5e7f&include=egg",
"status": 200,
"body": {
"object": "list",
"data": [
{
"object": "server",
"attributes": {
"server_owner": true,
"identifier": "5e7f0001",
"__deprecated_uuid_short": "5e7f0001",
"server_identifier": "serv_lz7qaaiaabaabaaaaaaaaaaaae",
"internal_id": 1,
"uuid": "5e7f0001-0000-4000-8000-000000000001",
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
},
"description": "Main survival world",
"limits": {
"memory": 2048,
"swap": 512,
"disk": 10240,
"io": 500,
"cpu": 200,
"threads": "0-3",
"oom_disabled": true
},
"invocation": "java -Xms128M -Xmx2048M -jar paper.jar",
"docker_image": "ghcr.io/pterodactyl/yolks:java_21",
"egg_features": [
"eula",
"java_version"
],
"egg_tags": [
"minecraft",
"premium"
],
"feature_limits": {
"databases": 5,
"allocations": 5,
"backups": 5
},
"status": null,
"is_suspended": false,
"is_installing": false,
"is_transferring": false,
"skip_scripts": false,
"relationships": {
"allocations": {
"object": "list",
"data": [
{
"object": "allocation",
"attributes": {
"id": 1,
"ip": "192.0.2.10",
"ip_alias": "play.example.test",
"port": 25565,
"notes": "Primary <game> port",
"is_default": true
}
},
{
"object": "allocation",
"attributes": {
"id": 2,
"ip": "192.0.2.10",
"ip_alias": null,
"port": 25566,
"notes": "Query/RCON",
"is_default": false
}
}
]
},
"variables": {
"object": "list",
"data": [
{
"object": "egg_variable",
"attributes": {
"name": "Server Jar File",
"description": "The name of the server jarfile to run.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"server_value": "paper.jar",
"is_editable": true,
"rules": "required|regex:/^([\\w\\d._-]+)(\\.jar)$/"
}
},
{
"object": "egg_variable",
"attributes": {
"name": "Build Number",
"description": "The build to download, or \"latest\".",
"env_variable": "BUILD_NUMBER",
"default_value": "latest",
"server_value": null,
"is_editable": false,
"rules": "required|string|max:20"
}
}
]
},
"egg": {
"object": "egg",
"attributes": {
"uuid": "e9900001-0000-4000-8000-000000000001",
"name": "Paper"
}
}
}
}
}
],
"meta": {
"pagination": {
"total": 2,
"count": 1,
"per_page": 1,
"current_page": 1,
"total_pages": 2,
"links": {
"next": "https://panel.example.test/api/client?per_page=1&filter%5Buuid%5D=5e7f&include=egg&page=2"
}
}
}
}
},
{
"request": "GET /api/client?type=owner&per_page=1&page=2&include=subusers",
"status": 200,
"body": {
"object": "list",
"data": [
{
"object": "server",
"attributes": {
"server_owner": true,
"identifier": "5e7f0002",
"__deprecated_uuid_short": "5e7f0002",
"server_identifier": "serv_lz7qaaqaabaabaaaaaaaaaaaai",
"internal_id": 2,
"uuid": "5e7f0002-0000-4000-8000-000000000002",
"name": "Creative",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
},
"description": "",
"limits": {
"memory": 1024,
"swap": 0,
"disk": 5120,
"io": 500,
"cpu": 0,
"threads": null,
"oom_disabled": false
},
"invocation": "java -jar child.jar",
"docker_image": "ghcr.io/pterodactyl/yolks:java_17",
"egg_features": [
"eula",
"java_version"
],
"egg_tags": [
"minecraft"
],
"feature_limits": {
"databases": 0,
"allocations": null,
"backups": 0
},
"status": "installing",
"is_suspended": false,
"is_installing": true,
"is_transferring": true,
"skip_scripts": true,
"relationships": {
"allocations": {
"object": "list",
"data": [
{
"object": "allocation",
"attributes": {
"id": 3,
"ip": "192.0.2.10",
"ip_alias": null,
"port": 25567,
"notes": null,
"is_default": true
}
}
]
},
"variables": {
"object": "list",
"data": [
{
"object": "egg_variable",
"attributes": {
"name": "Server Jar File",
"description": "The jar the child egg runs.",
"env_variable": "SERVER_JARFILE",
"default_value": "child.jar",
"server_value": "child.jar",
"is_editable": true,
"rules": "required|string"
}
}
]
},
"subusers": {
"object": "list",
"data": []
}
}
}
}
],
"meta": {
"pagination": {
"total": 2,
"count": 1,
"per_page": 1,
"current_page": 2,
"total_pages": 2,
"links": {
"previous": "https://panel.example.test/api/client?type=owner&per_page=1&include=subusers&page=1"
}
}
}
}
}
]