mirror of
https://github.com/pterodactyl/documentation.git
synced 2026-05-30 18:00:32 -05:00
12986 lines
463 KiB
JSON
12986 lines
463 KiB
JSON
{
|
|
"openapi": "3.0.3",
|
|
"info": {
|
|
"title": "Pterodactyl Panel API v1",
|
|
"version": "1.0.0",
|
|
"description": "REST API for the Pterodactyl Panel. Uses two authentication scopes: **Application API** keys (admin, created in the panel admin area) and **Client API** keys (per-user, created in account settings). All requests must include an `Authorization: Bearer <token>` header. Responses are JSON."
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "{panel}",
|
|
"description": "Pterodactyl Panel",
|
|
"variables": {
|
|
"panel": {
|
|
"default": "https://pterodactyl.file.properties",
|
|
"description": "Your panel URL"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
{
|
|
"name": "Application - Servers",
|
|
"description": "Create, update, and delete servers. Requires an application API key."
|
|
},
|
|
{
|
|
"name": "Application - Servers - Database Management",
|
|
"description": "Manage databases attached to servers. Requires an application API key."
|
|
},
|
|
{
|
|
"name": "Application - Nests",
|
|
"description": "List and view nests. Requires an application API key."
|
|
},
|
|
{
|
|
"name": "Application - Nests - Eggs Management",
|
|
"description": "List and view eggs within a nest. Requires an application API key."
|
|
},
|
|
{
|
|
"name": "Client - Server - Startup",
|
|
"description": "View and update server startup variables."
|
|
},
|
|
{
|
|
"name": "Client - General",
|
|
"description": "List servers the authenticated user can access, and view global permissions."
|
|
},
|
|
{
|
|
"name": "Client - Server",
|
|
"description": "Server details, console WebSocket, resource usage, power actions, and command execution."
|
|
},
|
|
{
|
|
"name": "Client - Server - Databases",
|
|
"description": "Create, delete, and rotate passwords for server databases."
|
|
},
|
|
{
|
|
"name": "Client - Server - File Manager",
|
|
"description": "Browse, read, write, copy, rename, compress, and delete server files."
|
|
},
|
|
{
|
|
"name": "Client - Server - Schedules",
|
|
"description": "Manage scheduled tasks (cron jobs) for a server."
|
|
},
|
|
{
|
|
"name": "Client - Server - Network",
|
|
"description": "View and manage server network allocations."
|
|
},
|
|
{
|
|
"name": "Client - Server - Users",
|
|
"description": "Manage subusers and their permissions on a server."
|
|
},
|
|
{
|
|
"name": "Client - Server - Backups",
|
|
"description": "Create, view, download, and delete server backups."
|
|
},
|
|
{
|
|
"name": "Application - Users",
|
|
"description": "Create, update, and delete panel users. Requires an application API key."
|
|
},
|
|
{
|
|
"name": "Application - Nodes",
|
|
"description": "Create, update, and delete nodes. Requires an application API key."
|
|
},
|
|
{
|
|
"name": "Application - Locations",
|
|
"description": "Create, update, and delete locations. Requires an application API key."
|
|
},
|
|
{
|
|
"name": "Application - Nodes - Allocations",
|
|
"description": "Manage port allocations on a node. Requires an application API key."
|
|
},
|
|
{
|
|
"name": "Client - Server - Settings",
|
|
"description": "Rename or reinstall a server."
|
|
},
|
|
{
|
|
"name": "Client - Account",
|
|
"description": "View and update account details, two-factor auth, email, password, and API keys."
|
|
}
|
|
],
|
|
"paths": {
|
|
"/api/application/servers": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "List servers",
|
|
"operationId": "get-list-servers",
|
|
"description": "Retrieves all servers",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"external_id": {
|
|
"type": "string"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"identifier": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"suspended": {
|
|
"type": "boolean"
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"swap": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"io": {
|
|
"type": "integer"
|
|
},
|
|
"cpu": {
|
|
"type": "integer"
|
|
},
|
|
"threads": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
},
|
|
"feature_limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "integer"
|
|
},
|
|
"allocations": {
|
|
"type": "integer"
|
|
},
|
|
"backups": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"user": {
|
|
"type": "integer"
|
|
},
|
|
"node": {
|
|
"type": "integer"
|
|
},
|
|
"allocation": {
|
|
"type": "integer"
|
|
},
|
|
"nest": {
|
|
"type": "integer"
|
|
},
|
|
"egg": {
|
|
"type": "integer"
|
|
},
|
|
"pack": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"container": {
|
|
"type": "object",
|
|
"properties": {
|
|
"startup_command": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"installed": {
|
|
"type": "boolean"
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"SERVER_JARFILE": {
|
|
"type": "string"
|
|
},
|
|
"VANILLA_VERSION": {
|
|
"type": "string"
|
|
},
|
|
"STARTUP": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_LOCATION": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_UUID": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"relationships": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"server": {
|
|
"type": "integer"
|
|
},
|
|
"host": {
|
|
"type": "integer"
|
|
},
|
|
"database": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"remote": {
|
|
"type": "string"
|
|
},
|
|
"max_connections": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pagination": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
},
|
|
"per_page": {
|
|
"type": "integer"
|
|
},
|
|
"current_page": {
|
|
"type": "integer"
|
|
},
|
|
"total_pages": {
|
|
"type": "integer"
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "server",
|
|
"attributes": {
|
|
"id": 5,
|
|
"external_id": "RemoteId1",
|
|
"uuid": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"identifier": "1a7ce997",
|
|
"name": "Wuhu Island",
|
|
"description": "Matt from Wii Sports",
|
|
"suspended": false,
|
|
"limits": {
|
|
"memory": 512,
|
|
"swap": 0,
|
|
"disk": 200,
|
|
"io": 500,
|
|
"cpu": 0,
|
|
"threads": null
|
|
},
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"allocations": 5,
|
|
"backups": 2
|
|
},
|
|
"user": 1,
|
|
"node": 1,
|
|
"allocation": 1,
|
|
"nest": 1,
|
|
"egg": 5,
|
|
"pack": null,
|
|
"container": {
|
|
"startup_command": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"image": "quay.io/pterodactyl/core:java",
|
|
"installed": true,
|
|
"environment": {
|
|
"SERVER_JARFILE": "server.jar",
|
|
"VANILLA_VERSION": "latest",
|
|
"STARTUP": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"P_SERVER_LOCATION": "Test",
|
|
"P_SERVER_UUID": "1a7ce997-259b-452e-8b4e-cecc464142ca"
|
|
}
|
|
},
|
|
"updated_at": "2020-06-13T04:20:53+00:00",
|
|
"created_at": "2019-12-23T06:46:27+00:00",
|
|
"relationships": {
|
|
"databases": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "databases",
|
|
"attributes": {
|
|
"id": 1,
|
|
"server": 5,
|
|
"host": 4,
|
|
"database": "s5_perms",
|
|
"username": "u5_QsIAp1jhvS",
|
|
"remote": "%",
|
|
"max_connections": 0,
|
|
"created_at": "2020-06-12T23:00:13+01:00",
|
|
"updated_at": "2020-06-12T23:00:13+01:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "databases",
|
|
"attributes": {
|
|
"id": 2,
|
|
"server": 5,
|
|
"host": 4,
|
|
"database": "s5_coreprotect",
|
|
"username": "u5_2jtJx1nO1d",
|
|
"remote": "%",
|
|
"max_connections": 0,
|
|
"created_at": "2020-06-12T23:00:20+01:00",
|
|
"updated_at": "2020-06-12T23:00:20+01:00"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"meta": {
|
|
"pagination": {
|
|
"total": 1,
|
|
"count": 1,
|
|
"per_page": 50,
|
|
"current_page": 1,
|
|
"total_pages": 1,
|
|
"links": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "Create server",
|
|
"operationId": "post-create-server",
|
|
"description": "Creates a new server",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"user": {
|
|
"type": "integer"
|
|
},
|
|
"egg": {
|
|
"type": "integer"
|
|
},
|
|
"docker_image": {
|
|
"type": "string"
|
|
},
|
|
"startup": {
|
|
"type": "string"
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"BUNGEE_VERSION": {
|
|
"type": "string"
|
|
},
|
|
"SERVER_JARFILE": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"swap": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"io": {
|
|
"type": "integer"
|
|
},
|
|
"cpu": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"feature_limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "integer"
|
|
},
|
|
"backups": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"allocation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"default": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"name": "Building",
|
|
"user": 1,
|
|
"egg": 1,
|
|
"docker_image": "quay.io/pterodactyl/core:java",
|
|
"startup": "java -Xms128M -Xmx128M -jar server.jar",
|
|
"environment": {
|
|
"BUNGEE_VERSION": "latest",
|
|
"SERVER_JARFILE": "server.jar"
|
|
},
|
|
"limits": {
|
|
"memory": 128,
|
|
"swap": 0,
|
|
"disk": 512,
|
|
"io": 500,
|
|
"cpu": 100
|
|
},
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"backups": 1
|
|
},
|
|
"allocation": {
|
|
"default": 17
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"external_id": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"identifier": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"suspended": {
|
|
"type": "boolean"
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"swap": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"io": {
|
|
"type": "integer"
|
|
},
|
|
"cpu": {
|
|
"type": "integer"
|
|
},
|
|
"threads": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
},
|
|
"feature_limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "integer"
|
|
},
|
|
"allocations": {
|
|
"type": "integer"
|
|
},
|
|
"backups": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"user": {
|
|
"type": "integer"
|
|
},
|
|
"node": {
|
|
"type": "integer"
|
|
},
|
|
"allocation": {
|
|
"type": "integer"
|
|
},
|
|
"nest": {
|
|
"type": "integer"
|
|
},
|
|
"egg": {
|
|
"type": "integer"
|
|
},
|
|
"container": {
|
|
"type": "object",
|
|
"properties": {
|
|
"startup_command": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"installed": {
|
|
"type": "boolean"
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"BUNGEE_VERSION": {
|
|
"type": "string"
|
|
},
|
|
"SERVER_JARFILE": {
|
|
"type": "string"
|
|
},
|
|
"STARTUP": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_LOCATION": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_UUID": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_ALLOCATION_LIMIT": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server",
|
|
"attributes": {
|
|
"id": 7,
|
|
"external_id": null,
|
|
"uuid": "d557c19c-8b21-4456-a9e5-181beda429f4",
|
|
"identifier": "d557c19c",
|
|
"name": "Building",
|
|
"description": "",
|
|
"suspended": false,
|
|
"limits": {
|
|
"memory": 128,
|
|
"swap": 0,
|
|
"disk": 512,
|
|
"io": 500,
|
|
"cpu": 100,
|
|
"threads": null
|
|
},
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"allocations": 0,
|
|
"backups": 1
|
|
},
|
|
"user": 1,
|
|
"node": 1,
|
|
"allocation": 17,
|
|
"nest": 1,
|
|
"egg": 1,
|
|
"container": {
|
|
"startup_command": "java -Xms128M -Xmx128M -jar server.jar",
|
|
"image": "quay.io/pterodactyl/core:java",
|
|
"installed": false,
|
|
"environment": {
|
|
"BUNGEE_VERSION": "latest",
|
|
"SERVER_JARFILE": "server.jar",
|
|
"STARTUP": "java -Xms128M -Xmx128M -jar server.jar",
|
|
"P_SERVER_LOCATION": "GB",
|
|
"P_SERVER_UUID": "d557c19c-8b21-4456-a9e5-181beda429f4",
|
|
"P_SERVER_ALLOCATION_LIMIT": 0
|
|
}
|
|
},
|
|
"updated_at": "2020-10-29T01:38:59+00:00",
|
|
"created_at": "2020-10-29T01:38:59+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/{id}/databases": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Servers - Database Management"
|
|
],
|
|
"summary": "List databases",
|
|
"operationId": "get-list-databases",
|
|
"description": "Retrieves all databases on a server\n\n## Available include parameters\n| Parameter | Description |\n|-----------|-------------------------------------|\n| password | Includes the database user password |\n| host | Information about the database host |",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
},
|
|
{
|
|
"name": "include",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"example": "password,host"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"server": {
|
|
"type": "integer"
|
|
},
|
|
"host": {
|
|
"type": "integer"
|
|
},
|
|
"database": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"remote": {
|
|
"type": "string"
|
|
},
|
|
"max_connections": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"relationships": {
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"host": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"node": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "server_database",
|
|
"attributes": {
|
|
"id": 1,
|
|
"server": 5,
|
|
"host": 4,
|
|
"database": "s5_perms",
|
|
"username": "u5_QsIAp1jhvS",
|
|
"remote": "%",
|
|
"max_connections": 0,
|
|
"created_at": "2020-06-12T23:00:13+01:00",
|
|
"updated_at": "2020-06-12T23:00:13+01:00",
|
|
"relationships": {
|
|
"password": {
|
|
"object": "database_password",
|
|
"attributes": {
|
|
"password": ".FjJ!5w945L3tuG4DrSxF+T@"
|
|
}
|
|
},
|
|
"host": {
|
|
"object": "database_host",
|
|
"attributes": {
|
|
"id": 4,
|
|
"name": "MariaDB",
|
|
"host": "127.0.0.1",
|
|
"port": 3306,
|
|
"username": "pterodactyluser",
|
|
"node": 1,
|
|
"created_at": "2020-06-12T22:59:25+01:00",
|
|
"updated_at": "2020-06-12T22:59:25+01:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"object": "server_database",
|
|
"attributes": {
|
|
"id": 2,
|
|
"server": 5,
|
|
"host": 4,
|
|
"database": "s5_coreprotect",
|
|
"username": "u5_2jtJx1nO1d",
|
|
"remote": "%",
|
|
"max_connections": 0,
|
|
"created_at": "2020-06-12T23:00:20+01:00",
|
|
"updated_at": "2020-06-12T23:00:20+01:00",
|
|
"relationships": {
|
|
"password": {
|
|
"object": "database_password",
|
|
"attributes": {
|
|
"password": "4=rv^0vHuOPSHCfj!tM1OlMC"
|
|
}
|
|
},
|
|
"host": {
|
|
"object": "database_host",
|
|
"attributes": {
|
|
"id": 4,
|
|
"name": "MariaDB",
|
|
"host": "127.0.0.1",
|
|
"port": 3306,
|
|
"username": "pterodactyluser",
|
|
"node": 1,
|
|
"created_at": "2020-06-12T22:59:25+01:00",
|
|
"updated_at": "2020-06-12T22:59:25+01:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Application - Servers - Database Management"
|
|
],
|
|
"summary": "Create database",
|
|
"operationId": "post-create-database",
|
|
"description": "Creates a new database on the specified server",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"database": {
|
|
"type": "string",
|
|
"description": "Name for database"
|
|
},
|
|
"remote": {
|
|
"type": "string",
|
|
"description": "Permitted remotes that can access the database"
|
|
},
|
|
"host": {
|
|
"type": "integer",
|
|
"description": "ID of the database host to use"
|
|
}
|
|
},
|
|
"required": [
|
|
"database"
|
|
]
|
|
},
|
|
"example": {
|
|
"database": "matches",
|
|
"remote": "%",
|
|
"host": 4
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"server": {
|
|
"type": "integer"
|
|
},
|
|
"host": {
|
|
"type": "integer"
|
|
},
|
|
"database": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"remote": {
|
|
"type": "string"
|
|
},
|
|
"max_connections": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"resource": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server_database",
|
|
"attributes": {
|
|
"id": 6,
|
|
"server": 5,
|
|
"host": 4,
|
|
"database": "s5_matches",
|
|
"username": "u5_LhG3aGWBtk",
|
|
"remote": "%",
|
|
"max_connections": null,
|
|
"created_at": "2020-11-04T21:00:42+00:00",
|
|
"updated_at": "2020-11-04T21:00:42+00:00"
|
|
},
|
|
"meta": {
|
|
"resource": "https://pterodactyl.file.properties/api/application/servers/5/databases/6"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/{id}/databases/{database}": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Servers - Database Management"
|
|
],
|
|
"summary": "Database details",
|
|
"operationId": "get-database-details",
|
|
"description": "Retrieves the specified database\n\n## Available include parameters\n| Parameter | Description |\n|-----------|-------------------------------------|\n| password | Includes the database user password |\n| host | Information about the database host |",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
},
|
|
{
|
|
"name": "database",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Database ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"server": {
|
|
"type": "integer"
|
|
},
|
|
"host": {
|
|
"type": "integer"
|
|
},
|
|
"database": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"remote": {
|
|
"type": "string"
|
|
},
|
|
"max_connections": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server_database",
|
|
"attributes": {
|
|
"id": 1,
|
|
"server": 5,
|
|
"host": 4,
|
|
"database": "s5_perms",
|
|
"username": "u5_QsIAp1jhvS",
|
|
"remote": "%",
|
|
"max_connections": 0,
|
|
"created_at": "2020-06-12T23:00:13+01:00",
|
|
"updated_at": "2020-06-12T23:00:13+01:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"Application - Servers - Database Management"
|
|
],
|
|
"summary": "Delete database",
|
|
"operationId": "delete-delete-database",
|
|
"description": "Deletes the specified database",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
},
|
|
{
|
|
"name": "database",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Database ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/{id}": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "Server details",
|
|
"operationId": "get-server-details",
|
|
"description": "Retrieves the specified server\n\n## Available include parameters\n| Parameter | Description |\n|-------------|--------------------------------------------|\n| allocations | List of allocations assigned to the server |\n| user | Information about the server owner |\n| subusers | List of users added to the server |\n| nest | Information about the server's egg nest |\n| egg | Information about the server's egg |\n| variables | List of server variables |\n| location | Information about server's node location |\n| node | Information about the server's node |\n| databases | List of databases on the server |",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"external_id": {
|
|
"type": "string"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"identifier": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"suspended": {
|
|
"type": "boolean"
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"swap": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"io": {
|
|
"type": "integer"
|
|
},
|
|
"cpu": {
|
|
"type": "integer"
|
|
},
|
|
"threads": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
},
|
|
"feature_limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "integer"
|
|
},
|
|
"allocations": {
|
|
"type": "integer"
|
|
},
|
|
"backups": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"user": {
|
|
"type": "integer"
|
|
},
|
|
"node": {
|
|
"type": "integer"
|
|
},
|
|
"allocation": {
|
|
"type": "integer"
|
|
},
|
|
"nest": {
|
|
"type": "integer"
|
|
},
|
|
"egg": {
|
|
"type": "integer"
|
|
},
|
|
"pack": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"container": {
|
|
"type": "object",
|
|
"properties": {
|
|
"startup_command": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"installed": {
|
|
"type": "boolean"
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"SERVER_JARFILE": {
|
|
"type": "string"
|
|
},
|
|
"VANILLA_VERSION": {
|
|
"type": "string"
|
|
},
|
|
"STARTUP": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_LOCATION": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_UUID": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_ALLOCATION_LIMIT": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server",
|
|
"attributes": {
|
|
"id": 5,
|
|
"external_id": "RemoteId1",
|
|
"uuid": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"identifier": "1a7ce997",
|
|
"name": "Gaming",
|
|
"description": "Matt from Wii Sports",
|
|
"suspended": false,
|
|
"limits": {
|
|
"memory": 512,
|
|
"swap": 0,
|
|
"disk": 200,
|
|
"io": 500,
|
|
"cpu": 0,
|
|
"threads": null
|
|
},
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"allocations": 5,
|
|
"backups": 2
|
|
},
|
|
"user": 1,
|
|
"node": 1,
|
|
"allocation": 1,
|
|
"nest": 1,
|
|
"egg": 5,
|
|
"pack": null,
|
|
"container": {
|
|
"startup_command": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"image": "quay.io/pterodactyl/core:java",
|
|
"installed": true,
|
|
"environment": {
|
|
"SERVER_JARFILE": "server.jar",
|
|
"VANILLA_VERSION": "latest",
|
|
"STARTUP": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"P_SERVER_LOCATION": "GB",
|
|
"P_SERVER_UUID": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"P_SERVER_ALLOCATION_LIMIT": 5
|
|
}
|
|
},
|
|
"updated_at": "2020-07-19T15:22:39+00:00",
|
|
"created_at": "2019-12-23T06:46:27+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "Delete server",
|
|
"operationId": "delete-delete-server",
|
|
"description": "Deletes the specified server",
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/external/{external_id}": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "Server details",
|
|
"operationId": "get-server-details",
|
|
"description": "Retrieves a server by its external ID\n\n## Available include parameters\n| Parameter | Description |\n|-------------|--------------------------------------------|\n| allocations | List of allocations assigned to the server |\n| user | Information about the server owner |\n| subusers | List of users added to the server |\n| nest | Information about the server's egg nest |\n| egg | Information about the server's egg |\n| variables | List of server variables |\n| location | Information about server's node location |\n| node | Information about the server's node |\n| databases | List of databases on the server |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"external_id": {
|
|
"type": "string"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"identifier": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"suspended": {
|
|
"type": "boolean"
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"swap": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"io": {
|
|
"type": "integer"
|
|
},
|
|
"cpu": {
|
|
"type": "integer"
|
|
},
|
|
"threads": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
},
|
|
"feature_limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "integer"
|
|
},
|
|
"allocations": {
|
|
"type": "integer"
|
|
},
|
|
"backups": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"user": {
|
|
"type": "integer"
|
|
},
|
|
"node": {
|
|
"type": "integer"
|
|
},
|
|
"allocation": {
|
|
"type": "integer"
|
|
},
|
|
"nest": {
|
|
"type": "integer"
|
|
},
|
|
"egg": {
|
|
"type": "integer"
|
|
},
|
|
"pack": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"container": {
|
|
"type": "object",
|
|
"properties": {
|
|
"startup_command": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"installed": {
|
|
"type": "boolean"
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"SERVER_JARFILE": {
|
|
"type": "string"
|
|
},
|
|
"VANILLA_VERSION": {
|
|
"type": "string"
|
|
},
|
|
"STARTUP": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_LOCATION": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_UUID": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_ALLOCATION_LIMIT": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server",
|
|
"attributes": {
|
|
"id": 5,
|
|
"external_id": "RemoteId1",
|
|
"uuid": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"identifier": "1a7ce997",
|
|
"name": "Gaming",
|
|
"description": "Matt from Wii Sports",
|
|
"suspended": false,
|
|
"limits": {
|
|
"memory": 512,
|
|
"swap": 0,
|
|
"disk": 200,
|
|
"io": 500,
|
|
"cpu": 0,
|
|
"threads": null
|
|
},
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"allocations": 5,
|
|
"backups": 2
|
|
},
|
|
"user": 1,
|
|
"node": 1,
|
|
"allocation": 1,
|
|
"nest": 1,
|
|
"egg": 5,
|
|
"pack": null,
|
|
"container": {
|
|
"startup_command": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"image": "quay.io/pterodactyl/core:java",
|
|
"installed": true,
|
|
"environment": {
|
|
"SERVER_JARFILE": "server.jar",
|
|
"VANILLA_VERSION": "latest",
|
|
"STARTUP": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"P_SERVER_LOCATION": "GB",
|
|
"P_SERVER_UUID": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"P_SERVER_ALLOCATION_LIMIT": 5
|
|
}
|
|
},
|
|
"updated_at": "2020-07-19T15:22:39+00:00",
|
|
"created_at": "2019-12-23T06:46:27+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "external_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "External identifier",
|
|
"example": "RemoteId1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/{id}/details": {
|
|
"patch": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "Update details",
|
|
"operationId": "patch-update-details",
|
|
"description": "Updates the server details",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Name for the server"
|
|
},
|
|
"user": {
|
|
"type": "integer",
|
|
"description": "ID of the user which the server belongs to"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"user"
|
|
]
|
|
},
|
|
"example": {
|
|
"name": "Gaming",
|
|
"user": 1,
|
|
"external_id": "RemoteID1",
|
|
"description": "Matt from Wii Sports"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"external_id": {
|
|
"type": "string"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"identifier": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"suspended": {
|
|
"type": "boolean"
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"swap": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"io": {
|
|
"type": "integer"
|
|
},
|
|
"cpu": {
|
|
"type": "integer"
|
|
},
|
|
"threads": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
},
|
|
"feature_limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "integer"
|
|
},
|
|
"allocations": {
|
|
"type": "integer"
|
|
},
|
|
"backups": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"user": {
|
|
"type": "integer"
|
|
},
|
|
"node": {
|
|
"type": "integer"
|
|
},
|
|
"allocation": {
|
|
"type": "integer"
|
|
},
|
|
"nest": {
|
|
"type": "integer"
|
|
},
|
|
"egg": {
|
|
"type": "integer"
|
|
},
|
|
"container": {
|
|
"type": "object",
|
|
"properties": {
|
|
"startup_command": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"installed": {
|
|
"type": "boolean"
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"SERVER_JARFILE": {
|
|
"type": "string"
|
|
},
|
|
"VANILLA_VERSION": {
|
|
"type": "string"
|
|
},
|
|
"STARTUP": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_LOCATION": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_UUID": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_ALLOCATION_LIMIT": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server",
|
|
"attributes": {
|
|
"id": 5,
|
|
"external_id": "RemoteID1",
|
|
"uuid": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"identifier": "1a7ce997",
|
|
"name": "Gaming",
|
|
"description": "Matt from Wii Sports",
|
|
"suspended": false,
|
|
"limits": {
|
|
"memory": 512,
|
|
"swap": 0,
|
|
"disk": 200,
|
|
"io": 500,
|
|
"cpu": 0,
|
|
"threads": null
|
|
},
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"allocations": 5,
|
|
"backups": 2
|
|
},
|
|
"user": 1,
|
|
"node": 1,
|
|
"allocation": 1,
|
|
"nest": 1,
|
|
"egg": 5,
|
|
"container": {
|
|
"startup_command": "java -Xms128M -Xmx2014M -jar server.jar",
|
|
"image": "quay.io/pterodactyl/core:java",
|
|
"installed": true,
|
|
"environment": {
|
|
"SERVER_JARFILE": "server.jar",
|
|
"VANILLA_VERSION": "latest",
|
|
"STARTUP": "java -Xms128M -Xmx2048M -jar server.jar",
|
|
"P_SERVER_LOCATION": "GB",
|
|
"P_SERVER_UUID": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"P_SERVER_ALLOCATION_LIMIT": 5
|
|
}
|
|
},
|
|
"updated_at": "2020-11-04T21:11:26+00:00",
|
|
"created_at": "2019-12-23T06:46:27+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/{id}/build": {
|
|
"patch": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "Update build",
|
|
"operationId": "patch-update-build",
|
|
"description": "Updates the server build information",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allocation": {
|
|
"type": "integer",
|
|
"description": "ID of primary allocation"
|
|
},
|
|
"memory": {
|
|
"type": "integer",
|
|
"description": "The maximum amount of memory allowed for this container. Setting this to 0 will allow unlimited memory in a container."
|
|
},
|
|
"swap": {
|
|
"type": "integer",
|
|
"description": "Setting this to 0 will disable swap space on this server. Setting to -1 will allow unlimited swap."
|
|
},
|
|
"io": {
|
|
"type": "integer",
|
|
"description": "IO performance of this server relative to other running containers"
|
|
},
|
|
"cpu": {
|
|
"type": "integer",
|
|
"description": "Each physical core on the system is considered to be 100%. Setting this value to 0 will allow a server to use CPU time without restrictions."
|
|
},
|
|
"disk": {
|
|
"type": "integer",
|
|
"description": "This server will not be allowed to boot if it is using more than this amount of space. If a server goes over this limit while running it will be safely stopped and locked until enough space is available. Set to 0 to allow unlimited disk usage."
|
|
},
|
|
"feature_limits.databases": {
|
|
"type": "integer",
|
|
"description": "The total number of databases a user is allowed to create for this server."
|
|
},
|
|
"feature_limits.backups": {
|
|
"type": "integer",
|
|
"description": "The total number of allocations a user is allowed to create for this server."
|
|
}
|
|
},
|
|
"required": [
|
|
"allocation",
|
|
"memory",
|
|
"swap",
|
|
"io",
|
|
"cpu",
|
|
"disk"
|
|
]
|
|
},
|
|
"example": {
|
|
"allocation": 1,
|
|
"memory": 512,
|
|
"swap": 0,
|
|
"disk": 200,
|
|
"io": 500,
|
|
"cpu": 0,
|
|
"threads": null,
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"allocations": 5,
|
|
"backups": 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"external_id": {
|
|
"type": "string"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"identifier": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"suspended": {
|
|
"type": "boolean"
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"swap": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"io": {
|
|
"type": "integer"
|
|
},
|
|
"cpu": {
|
|
"type": "integer"
|
|
},
|
|
"threads": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
},
|
|
"feature_limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "integer"
|
|
},
|
|
"allocations": {
|
|
"type": "integer"
|
|
},
|
|
"backups": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"user": {
|
|
"type": "integer"
|
|
},
|
|
"node": {
|
|
"type": "integer"
|
|
},
|
|
"allocation": {
|
|
"type": "integer"
|
|
},
|
|
"nest": {
|
|
"type": "integer"
|
|
},
|
|
"egg": {
|
|
"type": "integer"
|
|
},
|
|
"container": {
|
|
"type": "object",
|
|
"properties": {
|
|
"startup_command": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"installed": {
|
|
"type": "boolean"
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"SERVER_JARFILE": {
|
|
"type": "string"
|
|
},
|
|
"VANILLA_VERSION": {
|
|
"type": "string"
|
|
},
|
|
"STARTUP": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_LOCATION": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_UUID": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_ALLOCATION_LIMIT": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server",
|
|
"attributes": {
|
|
"id": 5,
|
|
"external_id": "RemoteID1",
|
|
"uuid": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"identifier": "1a7ce997",
|
|
"name": "Gaming",
|
|
"description": "Matt from Wii Sports",
|
|
"suspended": false,
|
|
"limits": {
|
|
"memory": 512,
|
|
"swap": 0,
|
|
"disk": 200,
|
|
"io": 500,
|
|
"cpu": 0,
|
|
"threads": null
|
|
},
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"allocations": 5,
|
|
"backups": 2
|
|
},
|
|
"user": 1,
|
|
"node": 1,
|
|
"allocation": 1,
|
|
"nest": 1,
|
|
"egg": 5,
|
|
"container": {
|
|
"startup_command": "java -Xms128M -Xmx2014M -jar server.jar",
|
|
"image": "quay.io/pterodactyl/core:java",
|
|
"installed": true,
|
|
"environment": {
|
|
"SERVER_JARFILE": "server.jar",
|
|
"VANILLA_VERSION": "latest",
|
|
"STARTUP": "java -Xms128M -Xmx2048M -jar server.jar",
|
|
"P_SERVER_LOCATION": "GB",
|
|
"P_SERVER_UUID": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"P_SERVER_ALLOCATION_LIMIT": 5
|
|
}
|
|
},
|
|
"updated_at": "2020-11-04T21:11:26+00:00",
|
|
"created_at": "2019-12-23T06:46:27+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/{id}/startup": {
|
|
"patch": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "Update startup",
|
|
"operationId": "patch-update-startup",
|
|
"description": "Updates the server startup information",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"startup": {
|
|
"type": "string",
|
|
"description": "Edit your server's startup command here."
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"description": "Environment variables that the egg requires/supports"
|
|
},
|
|
"egg": {
|
|
"type": "string",
|
|
"description": "ID of the egg to use"
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"description": "The Docker image to use for this server"
|
|
},
|
|
"skip_scripts": {
|
|
"type": "string",
|
|
"description": "If enabled, if the Egg has an install script, it will NOT be ran during install."
|
|
}
|
|
},
|
|
"required": [
|
|
"startup",
|
|
"egg",
|
|
"image"
|
|
]
|
|
},
|
|
"example": {
|
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"environment": {
|
|
"SERVER_JARFILE": "server.jar",
|
|
"VANILLA_VERSION": "latest"
|
|
},
|
|
"egg": 5,
|
|
"image": "quay.io/pterodactyl/core:java",
|
|
"skip_scripts": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"external_id": {
|
|
"type": "string"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"identifier": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"suspended": {
|
|
"type": "boolean"
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"swap": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"io": {
|
|
"type": "integer"
|
|
},
|
|
"cpu": {
|
|
"type": "integer"
|
|
},
|
|
"threads": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
},
|
|
"feature_limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "integer"
|
|
},
|
|
"allocations": {
|
|
"type": "integer"
|
|
},
|
|
"backups": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"user": {
|
|
"type": "integer"
|
|
},
|
|
"node": {
|
|
"type": "integer"
|
|
},
|
|
"allocation": {
|
|
"type": "integer"
|
|
},
|
|
"nest": {
|
|
"type": "integer"
|
|
},
|
|
"egg": {
|
|
"type": "integer"
|
|
},
|
|
"container": {
|
|
"type": "object",
|
|
"properties": {
|
|
"startup_command": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"installed": {
|
|
"type": "boolean"
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"SERVER_JARFILE": {
|
|
"type": "string"
|
|
},
|
|
"VANILLA_VERSION": {
|
|
"type": "string"
|
|
},
|
|
"STARTUP": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_LOCATION": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_UUID": {
|
|
"type": "string"
|
|
},
|
|
"P_SERVER_ALLOCATION_LIMIT": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server",
|
|
"attributes": {
|
|
"id": 5,
|
|
"external_id": "RemoteID1",
|
|
"uuid": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"identifier": "1a7ce997",
|
|
"name": "Gaming",
|
|
"description": "Matt from Wii Sports",
|
|
"suspended": false,
|
|
"limits": {
|
|
"memory": 512,
|
|
"swap": 0,
|
|
"disk": 200,
|
|
"io": 500,
|
|
"cpu": 0,
|
|
"threads": null
|
|
},
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"allocations": 5,
|
|
"backups": 2
|
|
},
|
|
"user": 1,
|
|
"node": 1,
|
|
"allocation": 1,
|
|
"nest": 1,
|
|
"egg": 5,
|
|
"container": {
|
|
"startup_command": "java -Xms128M -Xmx2014M -jar server.jar",
|
|
"image": "quay.io/pterodactyl/core:java",
|
|
"installed": true,
|
|
"environment": {
|
|
"SERVER_JARFILE": "server.jar",
|
|
"VANILLA_VERSION": "latest",
|
|
"STARTUP": "java -Xms128M -Xmx2048M -jar server.jar",
|
|
"P_SERVER_LOCATION": "GB",
|
|
"P_SERVER_UUID": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"P_SERVER_ALLOCATION_LIMIT": 5
|
|
}
|
|
},
|
|
"updated_at": "2020-11-04T21:11:26+00:00",
|
|
"created_at": "2019-12-23T06:46:27+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/{id}/suspend": {
|
|
"post": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "Suspend server",
|
|
"operationId": "post-suspend-server",
|
|
"description": "Suspends the specified server",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/{id}/unsuspend": {
|
|
"post": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "Unsuspend server",
|
|
"operationId": "post-unsuspend-server",
|
|
"description": "Unuspends the specified",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/{id}/reinstall": {
|
|
"post": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "Reinstall server",
|
|
"operationId": "post-reinstall-server",
|
|
"description": "Reinstalls the specified server",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/{id}/force": {
|
|
"delete": {
|
|
"tags": [
|
|
"Application - Servers"
|
|
],
|
|
"summary": "Force delete server",
|
|
"operationId": "delete-force-delete-server",
|
|
"description": "Forcefully deletes the specified server",
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/servers/{id}/databases/{database}/reset-password": {
|
|
"post": {
|
|
"tags": [
|
|
"Application - Servers - Database Management"
|
|
],
|
|
"summary": "Reset password",
|
|
"operationId": "post-reset-password",
|
|
"description": "Rotates the password of the database",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Server ID (internal numeric ID)",
|
|
"example": 5
|
|
},
|
|
{
|
|
"name": "database",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Database ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/nests": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Nests"
|
|
],
|
|
"summary": "List nests",
|
|
"operationId": "get-list-nests",
|
|
"description": "Retrieves all nests\n\n# Available include parameters\n| Parameter | Description |\n|-----------|---------------------------------|\n| eggs | List of eggs in the location |\n| servers | List of servers in the location |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"author": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pagination": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
},
|
|
"per_page": {
|
|
"type": "integer"
|
|
},
|
|
"current_page": {
|
|
"type": "integer"
|
|
},
|
|
"total_pages": {
|
|
"type": "integer"
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "nest",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "58bde975-ec57-4af2-b241-1426ac6d6d59",
|
|
"author": "support@pterodactyl.io",
|
|
"name": "Minecraft",
|
|
"description": "Minecraft - the classic game from Mojang. With support for Vanilla MC, Spigot, and many others!",
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "nest",
|
|
"attributes": {
|
|
"id": 2,
|
|
"uuid": "5246d226-e8e8-46f5-b624-e99cf1a68c9a",
|
|
"author": "support@pterodactyl.io",
|
|
"name": "Source Engine",
|
|
"description": "Includes support for most Source Dedicated Server games.",
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "nest",
|
|
"attributes": {
|
|
"id": 3,
|
|
"uuid": "0eb05bf7-3a00-4b1d-bef5-a6d8d7375e44",
|
|
"author": "support@pterodactyl.io",
|
|
"name": "Voice Servers",
|
|
"description": "Voice servers such as Mumble and Teamspeak 3.",
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "nest",
|
|
"attributes": {
|
|
"id": 4,
|
|
"uuid": "e2a21c82-7175-4db0-9510-8d1ed525b2bf",
|
|
"author": "support@pterodactyl.io",
|
|
"name": "Rust",
|
|
"description": "Rust - A game where you must fight to survive.",
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00"
|
|
}
|
|
}
|
|
],
|
|
"meta": {
|
|
"pagination": {
|
|
"total": 4,
|
|
"count": 4,
|
|
"per_page": 50,
|
|
"current_page": 1,
|
|
"total_pages": 1,
|
|
"links": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/nests/{nest}/eggs": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Nests - Eggs Management"
|
|
],
|
|
"summary": "List eggs",
|
|
"operationId": "get-list-eggs",
|
|
"description": "Retrieves a list of eggs\n\n## Available include parameters\n| Parameter | Description |\n|-----------|----------------------------------------------|\n| nest | Information about the nest that owns the egg |\n| servers | List of servers using the egg |\n| config | Config options of the egg |\n| script | Egg install script |\n| variables | List of egg variables |",
|
|
"parameters": [
|
|
{
|
|
"name": "include",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"example": "nest,servers"
|
|
},
|
|
{
|
|
"name": "nest",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Nest ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"nest": {
|
|
"type": "integer"
|
|
},
|
|
"author": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"docker_image": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"files": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config.yml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"parser": {
|
|
"type": "string"
|
|
},
|
|
"find": {
|
|
"type": "object",
|
|
"properties": {
|
|
"listeners[0].query_enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"listeners[0].query_port": {
|
|
"type": "string"
|
|
},
|
|
"listeners[0].host": {
|
|
"type": "string"
|
|
},
|
|
"servers.*.address": {
|
|
"type": "object",
|
|
"properties": {
|
|
"127.0.0.1": {
|
|
"type": "string"
|
|
},
|
|
"localhost": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"startup": {
|
|
"type": "object",
|
|
"properties": {
|
|
"done": {
|
|
"type": "string"
|
|
},
|
|
"userInteraction": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"stop": {
|
|
"type": "string"
|
|
},
|
|
"logs": {
|
|
"type": "object",
|
|
"properties": {
|
|
"custom": {
|
|
"type": "boolean"
|
|
},
|
|
"location": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"extends": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
},
|
|
"startup": {
|
|
"type": "string"
|
|
},
|
|
"script": {
|
|
"type": "object",
|
|
"properties": {
|
|
"privileged": {
|
|
"type": "boolean"
|
|
},
|
|
"install": {
|
|
"type": "string"
|
|
},
|
|
"entry": {
|
|
"type": "string"
|
|
},
|
|
"container": {
|
|
"type": "string"
|
|
},
|
|
"extends": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"relationships": {
|
|
"type": "object",
|
|
"properties": {
|
|
"nest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"author": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"servers": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "egg",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "695648dd-01a3-4ced-b075-d4ec4fb9fbf4",
|
|
"name": "Bungeecord",
|
|
"nest": 1,
|
|
"author": "support@pterodactyl.io",
|
|
"description": "For a long time, Minecraft server owners have had a dream that encompasses a free, easy, and reliable way to connect multiple Minecraft servers together. BungeeCord is the answer to said dream. Whether you are a small server wishing to string multiple game-modes together, or the owner of the ShotBow Network, BungeeCord is the ideal solution for you. With the help of BungeeCord, you will be able to unlock your community's full potential.",
|
|
"docker_image": "quay.io/pterodactyl/core:java",
|
|
"config": {
|
|
"files": {
|
|
"config.yml": {
|
|
"parser": "yaml",
|
|
"find": {
|
|
"listeners[0].query_enabled": true,
|
|
"listeners[0].query_port": "{{server.build.default.port}}",
|
|
"listeners[0].host": "0.0.0.0:{{server.build.default.port}}",
|
|
"servers.*.address": {
|
|
"127.0.0.1": "{{config.docker.interface}}",
|
|
"localhost": "{{config.docker.interface}}"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"startup": {
|
|
"done": "Listening on ",
|
|
"userInteraction": [
|
|
"Listening on /0.0.0.0:25577"
|
|
]
|
|
},
|
|
"stop": "end",
|
|
"logs": {
|
|
"custom": false,
|
|
"location": "proxy.log.0"
|
|
},
|
|
"extends": null
|
|
},
|
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"script": {
|
|
"privileged": true,
|
|
"install": "#!/bin/ash\n# Bungeecord Installation Script\n#\n# Server Files: /mnt/server\napk update\napk add curl\n\ncd /mnt/server\n\nif [ -z \"${BUNGEE_VERSION}\" ] || [ \"${BUNGEE_VERSION}\" == \"latest\" ]; then\n BUNGEE_VERSION=\"lastStableBuild\"\nfi\n\ncurl -o ${SERVER_JARFILE} https://ci.md-5.net/job/BungeeCord/${BUNGEE_VERSION}/artifact/bootstrap/target/BungeeCord.jar",
|
|
"entry": "ash",
|
|
"container": "alpine:3.9",
|
|
"extends": null
|
|
},
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00",
|
|
"relationships": {
|
|
"nest": {
|
|
"object": "nest",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "58bde975-ec57-4af2-b241-1426ac6d6d59",
|
|
"author": "support@pterodactyl.io",
|
|
"name": "Minecraft",
|
|
"description": "Minecraft - the classic game from Mojang. With support for Vanilla MC, Spigot, and many others!",
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00"
|
|
}
|
|
},
|
|
"servers": {
|
|
"object": "list",
|
|
"data": []
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"object": "egg",
|
|
"attributes": {
|
|
"id": 2,
|
|
"uuid": "7f8736d8-fd99-465f-8c3e-cb4d42c18541",
|
|
"name": "Forge Minecraft",
|
|
"nest": 1,
|
|
"author": "support@pterodactyl.io",
|
|
"description": "Minecraft Forge Server. Minecraft Forge is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other.",
|
|
"docker_image": "quay.io/pterodactyl/core:java",
|
|
"config": {
|
|
"files": {
|
|
"server.properties": {
|
|
"parser": "properties",
|
|
"find": {
|
|
"server-ip": "0.0.0.0",
|
|
"enable-query": "true",
|
|
"server-port": "{{server.build.default.port}}",
|
|
"query.port": "{{server.build.default.port}}"
|
|
}
|
|
}
|
|
},
|
|
"startup": {
|
|
"done": ")! For help, type ",
|
|
"userInteraction": [
|
|
"Go to eula.txt for more info."
|
|
]
|
|
},
|
|
"stop": "stop",
|
|
"logs": {
|
|
"custom": false,
|
|
"location": "logs/latest.log"
|
|
},
|
|
"extends": null
|
|
},
|
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"script": {
|
|
"privileged": true,
|
|
"install": "#!/bin/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: /mnt/server\r\napt update\r\napt install -y curl\r\n\r\n#Fetching version\r\nif [ -z \"$MC_VERSION\" ] || [ \"$MC_VERSION\" == \"latest\" ]; then\r\n echo \"Fetching latest\"\r\n MC_VERSION=$(curl -sl https://files.minecraftforge.net/maven/net/minecraftforge/forge/index.html | grep -A 2 \"Latest\" | awk NF=NF RS= OFS=\" \" | grep -o -e '[1].[0-9]*.[0-9]* - [0-9]*.[0-9]*.[0-9]*.[0-9]*' | sed 's/ //g')\r\nelif [[ ! \"$MC_VERSION\" =~ - ]]; then\r\n echo \"Fetching latest from version $MC_VERSION\"\r\n MC_VERSION=$(curl -sl https://files.minecraftforge.net/maven/net/minecraftforge/forge/index_$MC_VERSION.html | grep -A 2 \"Latest\" | awk NF=NF RS= OFS=\" \" | grep -o -e '[1].[0-9]*.[0-9]* - [0-9]*.[0-9]*.[0-9]*.[0-9]*' | sed 's/ //g')\r\nfi\r\n\r\n#Checking if forge version valid\r\nif [[ ! \"$MC_VERSION\" =~ [1].[0-9]*.[0-9]*-[0-9]*.[0-9]*.[0-9]*.[0-9]* ]]; then\r\n echo \"!!! Invalid forge version \\\"$MC_VERSION\\\" !!!\"\r\n exit\r\nfi\r\n\r\n#Go into main direction\r\ncd /mnt/server\r\n\r\n#Adding .jar when not eding by SERVER_JARFILE\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Downloading forge version \\\"$MC_VERSION\\\"\"\r\ncurl -o installer.jar -sS https://files.minecraftforge.net/maven/net/minecraftforge/forge/$MC_VERSION/forge-$MC_VERSION-installer.jar\r\ncurl -o $SERVER_JARFILE -sS https://files.minecraftforge.net/maven/net/minecraftforge/forge/$MC_VERSION/forge-$MC_VERSION-universal.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f ./installer.jar ] || [ ! -f ./$SERVER_JARFILE ]; then\r\n echo \"!!! Error by downloading forge version \\\"$MC_VERSION\\\" !!!\"\r\n exit\r\nfi\r\n\r\n#Installing server\r\necho -e \"Installing forge server.\\n\"\r\njava -jar installer.jar --installServer\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar",
|
|
"entry": "bash",
|
|
"container": "openjdk:8",
|
|
"extends": null
|
|
},
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00",
|
|
"relationships": {
|
|
"nest": {
|
|
"object": "nest",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "58bde975-ec57-4af2-b241-1426ac6d6d59",
|
|
"author": "support@pterodactyl.io",
|
|
"name": "Minecraft",
|
|
"description": "Minecraft - the classic game from Mojang. With support for Vanilla MC, Spigot, and many others!",
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00"
|
|
}
|
|
},
|
|
"servers": {
|
|
"object": "list",
|
|
"data": []
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"object": "egg",
|
|
"attributes": {
|
|
"id": 3,
|
|
"uuid": "2ad75dfd-892d-4441-a452-6d7be7cc895a",
|
|
"name": "Paper",
|
|
"nest": 1,
|
|
"author": "parker@pterodactyl.io",
|
|
"description": "High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.",
|
|
"docker_image": "quay.io/pterodactyl/core:java",
|
|
"config": {
|
|
"files": {
|
|
"server.properties": {
|
|
"parser": "properties",
|
|
"find": {
|
|
"server-ip": "0.0.0.0",
|
|
"server-port": "{{server.build.default.port}}"
|
|
}
|
|
}
|
|
},
|
|
"startup": {
|
|
"done": ")! For help, type ",
|
|
"userInteraction": [
|
|
"Go to eula.txt for more info."
|
|
]
|
|
},
|
|
"stop": "stop",
|
|
"logs": [],
|
|
"extends": null
|
|
},
|
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
|
|
"script": {
|
|
"privileged": true,
|
|
"install": "#!/bin/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: /mnt/server\r\napk add --no-cache --update curl jq\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n echo -e \"using supplied download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's/{{/${/g' -e 's/}}/}/g')`\r\nelse\r\n VER_EXISTS=`curl -s https://papermc.io/api/v1/paper | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | IN($VERSION)' | grep true`\r\n LATEST_PAPER_VERSION=`curl -s https://papermc.io/api/v1/paper | jq -r '.versions' | jq -r '.[0]'`\r\n \r\n if [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n else\r\n echo -e \"Using the latest paper version\"\r\n MINECRAFT_VERSION=${LATEST_PAPER_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=`curl -s https://papermc.io/api/v1/paper/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | IN($BUILD)' | grep true`\r\n LATEST_PAPER_BUILD=`curl -s https://papermc.io/api/v1/paper/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n \r\n if [ \"${BUILD_EXISTS}\" == \"true\" ] || [ ${BUILD_NUMBER} == \"latest\" ]; then\r\n echo -e \"Build is valid. Using version ${BUILD_NUMBER}\"\r\n else\r\n echo -e \"Using the latest paper build\"\r\n BUILD_NUMBER=${LATEST_PAPER_BUILD}\r\n fi\r\n \r\n echo \"Version being downloaded\"\r\n echo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n echo -e \"Build: ${BUILD_NUMBER}\"\r\n DOWNLOAD_URL=https://papermc.io/api/v1/paper/${MINECRAFT_VERSION}/${BUILD_NUMBER}/download \r\nfi\r\n\r\ncd /mnt/server\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https://raw.githubusercontent.com/parkervcp/eggs/master/minecraft_java/server.properties\r\nfi",
|
|
"entry": "ash",
|
|
"container": "alpine:3.9",
|
|
"extends": null
|
|
},
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00",
|
|
"relationships": {
|
|
"nest": {
|
|
"object": "nest",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "58bde975-ec57-4af2-b241-1426ac6d6d59",
|
|
"author": "support@pterodactyl.io",
|
|
"name": "Minecraft",
|
|
"description": "Minecraft - the classic game from Mojang. With support for Vanilla MC, Spigot, and many others!",
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00"
|
|
}
|
|
},
|
|
"servers": {
|
|
"object": "list",
|
|
"data": []
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"object": "egg",
|
|
"attributes": {
|
|
"id": 4,
|
|
"uuid": "00274063-5d21-439f-80b9-c4cc0dba8188",
|
|
"name": "Sponge (SpongeVanilla)",
|
|
"nest": 1,
|
|
"author": "support@pterodactyl.io",
|
|
"description": "SpongeVanilla is the SpongeAPI implementation for Vanilla Minecraft.",
|
|
"docker_image": "quay.io/pterodactyl/core:java-glibc",
|
|
"config": {
|
|
"files": {
|
|
"server.properties": {
|
|
"parser": "properties",
|
|
"find": {
|
|
"server-ip": "0.0.0.0",
|
|
"enable-query": "true",
|
|
"server-port": "{{server.build.default.port}}",
|
|
"query.port": "{{server.build.default.port}}"
|
|
}
|
|
}
|
|
},
|
|
"startup": {
|
|
"done": ")! For help, type ",
|
|
"userInteraction": [
|
|
"Go to eula.txt for more info."
|
|
]
|
|
},
|
|
"stop": "stop",
|
|
"logs": {
|
|
"custom": false,
|
|
"location": "logs/latest.log"
|
|
},
|
|
"extends": null
|
|
},
|
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"script": {
|
|
"privileged": true,
|
|
"install": "#!/bin/ash\n# Sponge Installation Script\n#\n# Server Files: /mnt/server\n\napk update\napk add curl\n\ncd /mnt/server\n\ncurl -sSL \"https://repo.spongepowered.org/maven/org/spongepowered/spongevanilla/${SPONGE_VERSION}/spongevanilla-${SPONGE_VERSION}.jar\" -o ${SERVER_JARFILE}",
|
|
"entry": "ash",
|
|
"container": "alpine:3.9",
|
|
"extends": null
|
|
},
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00",
|
|
"relationships": {
|
|
"nest": {
|
|
"object": "nest",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "58bde975-ec57-4af2-b241-1426ac6d6d59",
|
|
"author": "support@pterodactyl.io",
|
|
"name": "Minecraft",
|
|
"description": "Minecraft - the classic game from Mojang. With support for Vanilla MC, Spigot, and many others!",
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00"
|
|
}
|
|
},
|
|
"servers": {
|
|
"object": "list",
|
|
"data": []
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"object": "egg",
|
|
"attributes": {
|
|
"id": 5,
|
|
"uuid": "cd4cc5cf-de80-4a50-b458-dbd7d3193175",
|
|
"name": "Vanilla Minecraft",
|
|
"nest": 1,
|
|
"author": "support@pterodactyl.io",
|
|
"description": "Minecraft is a game about placing blocks and going on adventures. Explore randomly generated worlds and build amazing things from the simplest of homes to the grandest of castles. Play in Creative Mode with unlimited resources or mine deep in Survival Mode, crafting weapons and armor to fend off dangerous mobs. Do all this alone or with friends.",
|
|
"docker_image": "quay.io/pterodactyl/core:java",
|
|
"config": {
|
|
"files": {
|
|
"server.properties": {
|
|
"parser": "properties",
|
|
"find": {
|
|
"server-ip": "0.0.0.0",
|
|
"enable-query": "true",
|
|
"server-port": "{{server.build.default.port}}",
|
|
"query.port": "{{server.build.default.port}}"
|
|
}
|
|
}
|
|
},
|
|
"startup": {
|
|
"done": ")! For help, type ",
|
|
"userInteraction": [
|
|
"Go to eula.txt for more info."
|
|
]
|
|
},
|
|
"stop": "stop",
|
|
"logs": {
|
|
"custom": false,
|
|
"location": "logs/latest.log"
|
|
},
|
|
"extends": null
|
|
},
|
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"script": {
|
|
"privileged": true,
|
|
"install": "#!/bin/ash\r\n# Vanilla MC Installation Script\r\n#\r\n# Server Files: /mnt/server\r\napk update\r\napk add curl jq\r\n\r\ncd /mnt/server\r\n\r\nLATEST_VERSION=`curl https://launchermeta.mojang.com/mc/game/version_manifest.json | jq -r '.latest.release'`\r\n\r\nif [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; then\r\n MANIFEST_URL=$(curl https://launchermeta.mojang.com/mc/game/version_manifest.json | jq .versions | jq -r '.[] | select(.id == \"'$LATEST_VERSION'\") | .url')\r\nelse\r\n MANIFEST_URL=$(curl https://launchermeta.mojang.com/mc/game/version_manifest.json | jq .versions | jq -r '.[] | select(.id == \"'$VANILLA_VERSION'\") | .url')\r\nfi\r\n\r\nDOWNLOAD_URL=`curl $MANIFEST_URL | jq .downloads.server | jq -r '. | .url'`\r\n\r\ncurl -o ${SERVER_JARFILE} $DOWNLOAD_URL",
|
|
"entry": "ash",
|
|
"container": "alpine:3.9",
|
|
"extends": null
|
|
},
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00",
|
|
"relationships": {
|
|
"nest": {
|
|
"object": "nest",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "58bde975-ec57-4af2-b241-1426ac6d6d59",
|
|
"author": "support@pterodactyl.io",
|
|
"name": "Minecraft",
|
|
"description": "Minecraft - the classic game from Mojang. With support for Vanilla MC, Spigot, and many others!",
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00"
|
|
}
|
|
},
|
|
"servers": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "server",
|
|
"attributes": {
|
|
"id": 5,
|
|
"external_id": "RemoteId1",
|
|
"uuid": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"identifier": "1a7ce997",
|
|
"name": "Wuhu Island",
|
|
"description": "Matt from Wii Sports",
|
|
"suspended": false,
|
|
"limits": {
|
|
"memory": 512,
|
|
"swap": 0,
|
|
"disk": 200,
|
|
"io": 500,
|
|
"cpu": 0,
|
|
"threads": null
|
|
},
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"allocations": 5,
|
|
"backups": 2
|
|
},
|
|
"user": 1,
|
|
"node": 1,
|
|
"allocation": 1,
|
|
"nest": 1,
|
|
"egg": 5,
|
|
"pack": null,
|
|
"container": {
|
|
"startup_command": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"image": "quay.io/pterodactyl/core:java",
|
|
"installed": true,
|
|
"environment": {
|
|
"SERVER_JARFILE": "server.jar",
|
|
"VANILLA_VERSION": "latest",
|
|
"STARTUP": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"P_SERVER_LOCATION": "Test",
|
|
"P_SERVER_UUID": "1a7ce997-259b-452e-8b4e-cecc464142ca"
|
|
}
|
|
},
|
|
"updated_at": "2020-06-13T04:20:53+00:00",
|
|
"created_at": "2019-12-23T06:46:27+00:00"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/nests/{nest}/eggs/{egg}": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Nests - Eggs Management"
|
|
],
|
|
"summary": "Egg details",
|
|
"operationId": "get-egg-details",
|
|
"description": "Retrieves the specified egg\n\n## Available include parameters\n| Parameter | Description |\n|-----------|----------------------------------------------|\n| nest | Information about the nest that owns the egg |\n| servers | List of servers using the egg |\n| config | Config options of the egg |\n| script | Egg install script |\n| variables | List of egg variables |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"nest": {
|
|
"type": "integer"
|
|
},
|
|
"author": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"docker_image": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"files": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config.yml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"parser": {
|
|
"type": "string"
|
|
},
|
|
"find": {
|
|
"type": "object",
|
|
"properties": {
|
|
"listeners[0].query_enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"listeners[0].query_port": {
|
|
"type": "string"
|
|
},
|
|
"listeners[0].host": {
|
|
"type": "string"
|
|
},
|
|
"servers.*.address": {
|
|
"type": "object",
|
|
"properties": {
|
|
"127.0.0.1": {
|
|
"type": "string"
|
|
},
|
|
"localhost": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"startup": {
|
|
"type": "object",
|
|
"properties": {
|
|
"done": {
|
|
"type": "string"
|
|
},
|
|
"userInteraction": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"stop": {
|
|
"type": "string"
|
|
},
|
|
"logs": {
|
|
"type": "object",
|
|
"properties": {
|
|
"custom": {
|
|
"type": "boolean"
|
|
},
|
|
"location": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"extends": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
},
|
|
"startup": {
|
|
"type": "string"
|
|
},
|
|
"script": {
|
|
"type": "object",
|
|
"properties": {
|
|
"privileged": {
|
|
"type": "boolean"
|
|
},
|
|
"install": {
|
|
"type": "string"
|
|
},
|
|
"entry": {
|
|
"type": "string"
|
|
},
|
|
"container": {
|
|
"type": "string"
|
|
},
|
|
"extends": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "egg",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "695648dd-01a3-4ced-b075-d4ec4fb9fbf4",
|
|
"name": "Bungeecord",
|
|
"nest": 1,
|
|
"author": "support@pterodactyl.io",
|
|
"description": "For a long time, Minecraft server owners have had a dream that encompasses a free, easy, and reliable way to connect multiple Minecraft servers together. BungeeCord is the answer to said dream. Whether you are a small server wishing to string multiple game-modes together, or the owner of the ShotBow Network, BungeeCord is the ideal solution for you. With the help of BungeeCord, you will be able to unlock your community's full potential.",
|
|
"docker_image": "quay.io/pterodactyl/core:java",
|
|
"config": {
|
|
"files": {
|
|
"config.yml": {
|
|
"parser": "yaml",
|
|
"find": {
|
|
"listeners[0].query_enabled": true,
|
|
"listeners[0].query_port": "{{server.build.default.port}}",
|
|
"listeners[0].host": "0.0.0.0:{{server.build.default.port}}",
|
|
"servers.*.address": {
|
|
"127.0.0.1": "{{config.docker.interface}}",
|
|
"localhost": "{{config.docker.interface}}"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"startup": {
|
|
"done": "Listening on ",
|
|
"userInteraction": [
|
|
"Listening on /0.0.0.0:25577"
|
|
]
|
|
},
|
|
"stop": "end",
|
|
"logs": {
|
|
"custom": false,
|
|
"location": "proxy.log.0"
|
|
},
|
|
"extends": null
|
|
},
|
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
|
"script": {
|
|
"privileged": true,
|
|
"install": "#!/bin/ash\n# Bungeecord Installation Script\n#\n# Server Files: /mnt/server\napk update\napk add curl\n\ncd /mnt/server\n\nif [ -z \"${BUNGEE_VERSION}\" ] || [ \"${BUNGEE_VERSION}\" == \"latest\" ]; then\n BUNGEE_VERSION=\"lastStableBuild\"\nfi\n\ncurl -o ${SERVER_JARFILE} https://ci.md-5.net/job/BungeeCord/${BUNGEE_VERSION}/artifact/bootstrap/target/BungeeCord.jar",
|
|
"entry": "ash",
|
|
"container": "alpine:3.9",
|
|
"extends": null
|
|
},
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "nest",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Nest ID",
|
|
"example": 1
|
|
},
|
|
{
|
|
"name": "egg",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Egg ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/nests/{nest}": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Nests"
|
|
],
|
|
"summary": "Nest details",
|
|
"operationId": "get-nest-details",
|
|
"description": "Retrieves the specified nests\n\n# Available include parameters\n| Parameter | Description |\n|-----------|---------------------------------|\n| eggs | List of eggs in the location |\n| servers | List of servers in the location |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"author": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "nest",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "58bde975-ec57-4af2-b241-1426ac6d6d59",
|
|
"author": "support@pterodactyl.io",
|
|
"name": "Minecraft",
|
|
"description": "Minecraft - the classic game from Mojang. With support for Vanilla MC, Spigot, and many others!",
|
|
"created_at": "2019-12-22T04:42:51+00:00",
|
|
"updated_at": "2019-12-22T04:42:51+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "nest",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Nest ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/startup": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - Startup"
|
|
],
|
|
"summary": "List Variables",
|
|
"operationId": "get-list-variables",
|
|
"description": "Lists all variables on the server",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "{\n \"object\": \"list\",\n \"data\": [\n {\n \"object\": \"egg_variable\",\n \"attributes\": {\n \"name\": \"Server Jar File\",\n \"description\": \"The name of the server jarfile to run the server with.\",\n \"env_variable\": \"SERVER_JARFILE\",\n \"default_value\": \"server.jar\",\n \"server_value\": \"server.jar\",\n \"is_editable\": true,\n \"rules\": \"required|regex:\\/^([\\\\w\\\\d._-]+)(\\\\.jar)$\\/\"\n }\n },\n {\n \"object\": \"egg_variable\",\n \"attributes\": {\n \"name\": \"Server Version\",\n \"description\": \"The version of Minecraft Vanilla to install. Use \\\"latest\\\" to install the latest version.\",\n \"env_variable\": \"VANILLA_VERSION\",\n \"default_value\": \"latest\",\n \"server_value\": \"latest\",\n \"is_editable\": true,\n \"rules\": \"required|string|between:3,15\"\n }\n }\n ],\n \"meta\": {\n \"startup_command\": \"java -Xms128M -Xmx512M -jar server.jar\",\n \"raw_startup_command\": \"java -Xms128M -Xmx\\{\\{ SERVER_MEMORY }}M -jar {\\{ SERVER_JARFILE }}\"\n }\n}"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - General"
|
|
],
|
|
"summary": "List servers",
|
|
"operationId": "get-list-servers",
|
|
"description": "Lists all servers\n\n## Include parameters\n| Parameter | Description |\n|-----------|-------------------------------------------|\n| egg | Information about the egg the server uses |\n| subusers | List of subusers on the server |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"server_owner": {
|
|
"type": "boolean"
|
|
},
|
|
"identifier": {
|
|
"type": "string"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"node": {
|
|
"type": "string"
|
|
},
|
|
"sftp_details": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"swap": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"io": {
|
|
"type": "integer"
|
|
},
|
|
"cpu": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"feature_limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "integer"
|
|
},
|
|
"allocations": {
|
|
"type": "integer"
|
|
},
|
|
"backups": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"is_suspended": {
|
|
"type": "boolean"
|
|
},
|
|
"is_installing": {
|
|
"type": "boolean"
|
|
},
|
|
"relationships": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allocations": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"ip_alias": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"is_default": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pagination": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
},
|
|
"per_page": {
|
|
"type": "integer"
|
|
},
|
|
"current_page": {
|
|
"type": "integer"
|
|
},
|
|
"total_pages": {
|
|
"type": "integer"
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "server",
|
|
"attributes": {
|
|
"server_owner": true,
|
|
"identifier": "1a7ce997",
|
|
"uuid": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"name": "Gaming",
|
|
"node": "Test",
|
|
"sftp_details": {
|
|
"ip": "pterodactyl.file.properties",
|
|
"port": 2022
|
|
},
|
|
"description": "Matt from Wii Sports",
|
|
"limits": {
|
|
"memory": 512,
|
|
"swap": 0,
|
|
"disk": 200,
|
|
"io": 500,
|
|
"cpu": 0
|
|
},
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"allocations": 5,
|
|
"backups": 2
|
|
},
|
|
"is_suspended": false,
|
|
"is_installing": false,
|
|
"relationships": {
|
|
"allocations": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 1,
|
|
"ip": "45.86.168.218",
|
|
"ip_alias": null,
|
|
"port": 25565,
|
|
"notes": null,
|
|
"is_default": true
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 2,
|
|
"ip": "45.86.168.218",
|
|
"ip_alias": null,
|
|
"port": 25566,
|
|
"notes": "Votifier",
|
|
"is_default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"meta": {
|
|
"pagination": {
|
|
"total": 1,
|
|
"count": 1,
|
|
"per_page": 50,
|
|
"current_page": 1,
|
|
"total_pages": 1,
|
|
"links": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server"
|
|
],
|
|
"summary": "Server details",
|
|
"operationId": "get-server-details",
|
|
"description": "Retrieves information about the specified server\n\n## Include parameters\n| Parameter | Description |\n|-----------|-------------------------------------------|\n| egg | Information about the egg the server uses |\n| subusers | List of subusers on the server |",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"server_owner": {
|
|
"type": "boolean"
|
|
},
|
|
"identifier": {
|
|
"type": "string"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"node": {
|
|
"type": "string"
|
|
},
|
|
"sftp_details": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"swap": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"io": {
|
|
"type": "integer"
|
|
},
|
|
"cpu": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"feature_limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "integer"
|
|
},
|
|
"allocations": {
|
|
"type": "integer"
|
|
},
|
|
"backups": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"is_suspended": {
|
|
"type": "boolean"
|
|
},
|
|
"is_installing": {
|
|
"type": "boolean"
|
|
},
|
|
"relationships": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allocations": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"ip_alias": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"is_default": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"is_server_owner": {
|
|
"type": "boolean"
|
|
},
|
|
"user_permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server",
|
|
"attributes": {
|
|
"server_owner": true,
|
|
"identifier": "1a7ce997",
|
|
"uuid": "1a7ce997-259b-452e-8b4e-cecc464142ca",
|
|
"name": "Wuhu Island",
|
|
"node": "Test",
|
|
"sftp_details": {
|
|
"ip": "pterodactyl.file.properties",
|
|
"port": 2022
|
|
},
|
|
"description": "Matt from Wii Sports",
|
|
"limits": {
|
|
"memory": 512,
|
|
"swap": 0,
|
|
"disk": 200,
|
|
"io": 500,
|
|
"cpu": 0
|
|
},
|
|
"feature_limits": {
|
|
"databases": 5,
|
|
"allocations": 5,
|
|
"backups": 2
|
|
},
|
|
"is_suspended": false,
|
|
"is_installing": false,
|
|
"relationships": {
|
|
"allocations": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 1,
|
|
"ip": "45.86.168.218",
|
|
"ip_alias": null,
|
|
"port": 25565,
|
|
"notes": null,
|
|
"is_default": true
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 2,
|
|
"ip": "45.86.168.218",
|
|
"ip_alias": null,
|
|
"port": 25566,
|
|
"notes": "Votifier",
|
|
"is_default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"is_server_owner": true,
|
|
"user_permissions": [
|
|
"*",
|
|
"admin.websocket.errors",
|
|
"admin.websocket.install"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/websocket": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server"
|
|
],
|
|
"summary": "Console details",
|
|
"operationId": "get-console-details",
|
|
"description": "Generates credentials to establish a websocket\n\n## How to connect\n1. Connect to the websocket address (in this example \"wss://pterodactyl.file.properties:8080/api/servers/1a7ce997-259b-452e-8b4e-cecc464142ca/ws\")\n2. Send the token to the websocket like this: `{\"event\":\"auth\",\"args\":[\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6Ij...\"]}`\n\n* Tokens last about 10-15 minutes, and the websocket will notify you once you need to send a new token with `{\"event\":\"token expiring\"}` and `{\"event\":\"token expired\"}`\n\n## Things you can send\n* `{\"event\":\"auth\",\"args\":[\"<token>\"]}` # Authenticate with websocket\n* `{\"event\":\"send stats\",\"args\":[null]}` # Request stats\n* `{\"event\":\"send logs\",\"args\":[null]}` # Request logs\n* `{\"event\":\"set state\",\"args\":[\"<power-action>\"]}` # Send power action\n* `{\"event\":\"send command\",\"args\":[\"<command>\"]}` # Send command\n\n## Things you'll receive\n* `{\"event\":\"auth success\"}` # Upon successful websocket authentication\n* `{\"event\":\"status\",\"args\":[\"offline\"]}` # Status updates of the server\n* `{\"event\":\"console output\",\"args\":[\"[14:07:12] [Query Listener #1/INFO]: Query running on 0.0.0.0:25565\"]}` # Logs from server\n* `{\"event\":\"stats\",\"args\":[\"{\\\"memory_bytes\\\":526626816,\\\"memory_limit_bytes\\\":588800000,\\\"cpu_absolute\\\":588.815,\\\"network\\\":{\\\"rx_bytes\\\":1126,\\\"tx_bytes\\\":1126},\\\"state\\\":\\\"stopping\\\",\\\"disk_bytes\\\":128118626}\"]}` # Stats from server\n* `{\"event\":\"token expiring\"}` # Token is expiring soon so request a new one and send it to the websocket\n* `{\"event\":\"token expired\"}` # Token has expired",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"socket": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"data": {
|
|
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6Ij...",
|
|
"socket": "wss://pterodactyl.file.properties:8080/api/servers/1a7ce997-259b-452e-8b4e-cecc464142ca/ws"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/resources": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server"
|
|
],
|
|
"summary": "Resource usage",
|
|
"operationId": "get-resource-usage",
|
|
"description": "Retrieves resource utilization of the specified server",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_state": {
|
|
"type": "string"
|
|
},
|
|
"is_suspended": {
|
|
"type": "boolean"
|
|
},
|
|
"resources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory_bytes": {
|
|
"type": "integer"
|
|
},
|
|
"cpu_absolute": {
|
|
"type": "integer"
|
|
},
|
|
"disk_bytes": {
|
|
"type": "integer"
|
|
},
|
|
"network_rx_bytes": {
|
|
"type": "integer"
|
|
},
|
|
"network_tx_bytes": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "stats",
|
|
"attributes": {
|
|
"current_state": "starting",
|
|
"is_suspended": false,
|
|
"resources": {
|
|
"memory_bytes": 588701696,
|
|
"cpu_absolute": 0,
|
|
"disk_bytes": 130156361,
|
|
"network_rx_bytes": 694220,
|
|
"network_tx_bytes": 337090
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/command": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server"
|
|
],
|
|
"summary": "Send command",
|
|
"operationId": "post-send-command",
|
|
"description": "Sends a command to the server\n\nThe server must be online to send a command to it. You will get HTTP 502 is the server if not online.",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string",
|
|
"description": "Command to send"
|
|
}
|
|
},
|
|
"required": [
|
|
"command"
|
|
]
|
|
},
|
|
"example": {
|
|
"command": "say CodeCo says Hi!"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/power": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server"
|
|
],
|
|
"summary": "Change power state",
|
|
"operationId": "post-change-power-state",
|
|
"description": "Sends a power signal to the server\n\n## Signals\n| Signal | Description |\n|---------|----------------------------------|\n| start | Starts the server |\n| stop | Gracefully stops the server |\n| restart | Stops then starts the server |\n| kill | Instantly end the server process |",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"signal": {
|
|
"type": "string",
|
|
"description": "Power signal to send"
|
|
}
|
|
},
|
|
"required": [
|
|
"signal"
|
|
]
|
|
},
|
|
"example": {
|
|
"signal": "start"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/permissions": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - General"
|
|
],
|
|
"summary": "Show permissions",
|
|
"operationId": "get-show-permissions",
|
|
"description": "Retries all available permissions\n\nThis is used for the frontend",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"permissions": {
|
|
"type": "object",
|
|
"properties": {
|
|
"websocket": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"keys": {
|
|
"type": "object",
|
|
"properties": {
|
|
"connect": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"control": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"keys": {
|
|
"type": "object",
|
|
"properties": {
|
|
"console": {
|
|
"type": "string"
|
|
},
|
|
"start": {
|
|
"type": "string"
|
|
},
|
|
"stop": {
|
|
"type": "string"
|
|
},
|
|
"restart": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"user": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"keys": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "string"
|
|
},
|
|
"read": {
|
|
"type": "string"
|
|
},
|
|
"update": {
|
|
"type": "string"
|
|
},
|
|
"delete": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"file": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"keys": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "string"
|
|
},
|
|
"read": {
|
|
"type": "string"
|
|
},
|
|
"update": {
|
|
"type": "string"
|
|
},
|
|
"delete": {
|
|
"type": "string"
|
|
},
|
|
"archive": {
|
|
"type": "string"
|
|
},
|
|
"sftp": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"backup": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"keys": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "string"
|
|
},
|
|
"read": {
|
|
"type": "string"
|
|
},
|
|
"update": {
|
|
"type": "string"
|
|
},
|
|
"delete": {
|
|
"type": "string"
|
|
},
|
|
"download": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"allocation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"keys": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "string"
|
|
},
|
|
"create": {
|
|
"type": "string"
|
|
},
|
|
"update": {
|
|
"type": "string"
|
|
},
|
|
"delete": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"startup": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"keys": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "string"
|
|
},
|
|
"update": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"database": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"keys": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "string"
|
|
},
|
|
"read": {
|
|
"type": "string"
|
|
},
|
|
"update": {
|
|
"type": "string"
|
|
},
|
|
"delete": {
|
|
"type": "string"
|
|
},
|
|
"view_password": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"schedule": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"keys": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "string"
|
|
},
|
|
"read": {
|
|
"type": "string"
|
|
},
|
|
"update": {
|
|
"type": "string"
|
|
},
|
|
"delete": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"settings": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"keys": {
|
|
"type": "object",
|
|
"properties": {
|
|
"rename": {
|
|
"type": "string"
|
|
},
|
|
"reinstall": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "system_permissions",
|
|
"attributes": {
|
|
"permissions": {
|
|
"websocket": {
|
|
"description": "Allows the user to connect to the server websocket, giving them access to view console output and realtime server stats.",
|
|
"keys": {
|
|
"connect": "Allows a user to connect to the websocket instance for a server to stream the console."
|
|
}
|
|
},
|
|
"control": {
|
|
"description": "Permissions that control a user's ability to control the power state of a server, or send commands.",
|
|
"keys": {
|
|
"console": "Allows a user to send commands to the server instance via the console.",
|
|
"start": "Allows a user to start the server if it is stopped.",
|
|
"stop": "Allows a user to stop a server if it is running.",
|
|
"restart": "Allows a user to perform a server restart. This allows them to start the server if it is offline, but not put the server in a completely stopped state."
|
|
}
|
|
},
|
|
"user": {
|
|
"description": "Permissions that allow a user to manage other subusers on a server. They will never be able to edit their own account, or assign permissions they do not have themselves.",
|
|
"keys": {
|
|
"create": "Allows a user to create new subusers for the server.",
|
|
"read": "Allows the user to view subusers and their permissions for the server.",
|
|
"update": "Allows a user to modify other subusers.",
|
|
"delete": "Allows a user to delete a subuser from the server."
|
|
}
|
|
},
|
|
"file": {
|
|
"description": "Permissions that control a user's ability to modify the filesystem for this server.",
|
|
"keys": {
|
|
"create": "Allows a user to create additional files and folders via the Panel or direct upload.",
|
|
"read": "Allows a user to view the contents of a directory and read the contents of a file. Users with this permission can also download files.",
|
|
"update": "Allows a user to update the contents of an existing file or directory.",
|
|
"delete": "Allows a user to delete files or directories.",
|
|
"archive": "Allows a user to archive the contents of a directory as well as decompress existing archives on the system.",
|
|
"sftp": "Allows a user to connect to SFTP and manage server files using the other assigned file permissions."
|
|
}
|
|
},
|
|
"backup": {
|
|
"description": "Permissions that control a user's ability to generate and manage server backups.",
|
|
"keys": {
|
|
"create": "Allows a user to create new backups for this server.",
|
|
"read": "Allows a user to view all backups that exist for this server.",
|
|
"update": "",
|
|
"delete": "Allows a user to remove backups from the system.",
|
|
"download": "Allows a user to download backups."
|
|
}
|
|
},
|
|
"allocation": {
|
|
"description": "Permissions that control a user's ability to modify the port allocations for this server.",
|
|
"keys": {
|
|
"read": "Allows a user to view the allocations assigned to this server.",
|
|
"create": "Allows a user to assign additional allocations to the server.",
|
|
"update": "Allows a user to change the primary server allocation and attach notes to each allocation.",
|
|
"delete": "Allows a user to delete an allocation from the server."
|
|
}
|
|
},
|
|
"startup": {
|
|
"description": "Permissions that control a user's ability to view this server's startup parameters.",
|
|
"keys": {
|
|
"read": "",
|
|
"update": ""
|
|
}
|
|
},
|
|
"database": {
|
|
"description": "Permissions that control a user's access to the database management for this server.",
|
|
"keys": {
|
|
"create": "Allows a user to create a new database for this server.",
|
|
"read": "Allows a user to view the database associated with this server.",
|
|
"update": "Allows a user to rotate the password on a database instance. If the user does not have the view_password permission they will not see the updated password.",
|
|
"delete": "Allows a user to remove a database instance from this server.",
|
|
"view_password": "Allows a user to view the password associated with a database instance for this server."
|
|
}
|
|
},
|
|
"schedule": {
|
|
"description": "Permissions that control a user's access to the schedule management for this server.",
|
|
"keys": {
|
|
"create": "",
|
|
"read": "",
|
|
"update": "",
|
|
"delete": ""
|
|
}
|
|
},
|
|
"settings": {
|
|
"description": "Permissions that control a user's access to the settings for this server.",
|
|
"keys": {
|
|
"rename": "",
|
|
"reinstall": ""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/databases": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - Databases"
|
|
],
|
|
"summary": "List databases",
|
|
"operationId": "get-list-databases",
|
|
"description": "Lists all databases on a server\n\n## Include parameters\n| Parameter | Description |\n|-----------|-------------------------------------|\n| password | Includes the database user password |",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"host": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"connections_from": {
|
|
"type": "string"
|
|
},
|
|
"max_connections": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "server_database",
|
|
"attributes": {
|
|
"id": "bEY4yAD5",
|
|
"host": {
|
|
"address": "127.0.0.1",
|
|
"port": 3306
|
|
},
|
|
"name": "s5_perms",
|
|
"username": "u5_QsIAp1jhvS",
|
|
"connections_from": "%",
|
|
"max_connections": 0
|
|
}
|
|
},
|
|
{
|
|
"object": "server_database",
|
|
"attributes": {
|
|
"id": "E0A0Rw42",
|
|
"host": {
|
|
"address": "127.0.0.1",
|
|
"port": 3306
|
|
},
|
|
"name": "s5_coreprotect",
|
|
"username": "u5_2jtJx1nO1d",
|
|
"connections_from": "%",
|
|
"max_connections": 0
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Databases"
|
|
],
|
|
"summary": "Create database",
|
|
"operationId": "post-create-database",
|
|
"description": "Creates a new database",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"database": {
|
|
"type": "string"
|
|
},
|
|
"remote": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"database": "bans",
|
|
"remote": "%"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"host": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"connections_from": {
|
|
"type": "string"
|
|
},
|
|
"max_connections": {
|
|
"type": "integer"
|
|
},
|
|
"relationships": {
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server_database",
|
|
"attributes": {
|
|
"id": "y9YVxO4V",
|
|
"host": {
|
|
"address": "127.0.0.1",
|
|
"port": 3306
|
|
},
|
|
"name": "s5_punishments",
|
|
"username": "u5_aeZqbGdCM9",
|
|
"connections_from": "%",
|
|
"max_connections": 0,
|
|
"relationships": {
|
|
"password": {
|
|
"object": "database_password",
|
|
"attributes": {
|
|
"password": "=lR2orDOcwfKkM=BXb.BVF.C"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/list": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "List files",
|
|
"operationId": "get-list-files",
|
|
"description": "Lists all files of the server\n\n## Available parameters\n| Parameter | Description |\n|-----------|-------------------------------------|\n| directory | URL encoded path to list files from |",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"example": "/cache"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"type": "string"
|
|
},
|
|
"size": {
|
|
"type": "integer"
|
|
},
|
|
"is_file": {
|
|
"type": "boolean"
|
|
},
|
|
"is_symlink": {
|
|
"type": "boolean"
|
|
},
|
|
"is_editable": {
|
|
"type": "boolean"
|
|
},
|
|
"mimetype": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"modified_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "cache",
|
|
"mode": "drwxr-xr-x",
|
|
"size": 4096,
|
|
"is_file": false,
|
|
"is_symlink": false,
|
|
"is_editable": false,
|
|
"mimetype": "inode/directory",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2019-12-25T05:20:36+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "logs",
|
|
"mode": "drwxr-xr-x",
|
|
"size": 4096,
|
|
"is_file": false,
|
|
"is_symlink": false,
|
|
"is_editable": false,
|
|
"mimetype": "inode/directory",
|
|
"created_at": "2020-07-13T12:42:02+00:00",
|
|
"modified_at": "2020-07-13T12:42:02+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "plugins",
|
|
"mode": "drwxr-xr-x",
|
|
"size": 4096,
|
|
"is_file": false,
|
|
"is_symlink": false,
|
|
"is_editable": false,
|
|
"mimetype": "inode/directory",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2019-12-25T05:21:07+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "world",
|
|
"mode": "drwxr-xr-x",
|
|
"size": 4096,
|
|
"is_file": false,
|
|
"is_symlink": false,
|
|
"is_editable": false,
|
|
"mimetype": "inode/directory",
|
|
"created_at": "2020-07-13T13:26:22+00:00",
|
|
"modified_at": "2020-07-13T13:26:22+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "world_nether",
|
|
"mode": "drwxr-xr-x",
|
|
"size": 4096,
|
|
"is_file": false,
|
|
"is_symlink": false,
|
|
"is_editable": false,
|
|
"mimetype": "inode/directory",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2019-12-25T05:21:15+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "world_the_end",
|
|
"mode": "drwxr-xr-x",
|
|
"size": 4096,
|
|
"is_file": false,
|
|
"is_symlink": false,
|
|
"is_editable": false,
|
|
"mimetype": "inode/directory",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2019-12-25T05:21:15+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "whitelist.json",
|
|
"mode": "-rw-r--r--",
|
|
"size": 2,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "application/json",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2019-12-25T05:21:07+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "version_history.json",
|
|
"mode": "-rw-r--r--",
|
|
"size": 46,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "application/json",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2019-12-25T05:21:08+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "usercache.json",
|
|
"mode": "-rw-r--r--",
|
|
"size": 2,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "application/json",
|
|
"created_at": "2020-07-13T12:42:03+00:00",
|
|
"modified_at": "2020-07-13T12:42:03+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "spigot.yml",
|
|
"mode": "-rw-r--r--",
|
|
"size": 3567,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "text/plain",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2020-06-12T21:44:42+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "server.properties",
|
|
"mode": "-rw-r--r--",
|
|
"size": 955,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "text/plain",
|
|
"created_at": "2020-07-13T12:41:59+00:00",
|
|
"modified_at": "2020-07-13T12:41:59+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "server.jar",
|
|
"mode": "-rw-r--r--",
|
|
"size": 36175593,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": false,
|
|
"mimetype": "application/jar",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2020-06-12T22:38:46+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "permissions.yml",
|
|
"mode": "-rw-r--r--",
|
|
"size": 0,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "inode/x-empty",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2019-12-25T05:21:08+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "paper.yml",
|
|
"mode": "-rw-r--r--",
|
|
"size": 5310,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "text/plain",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2020-06-12T21:44:42+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "ops.json",
|
|
"mode": "-rw-r--r--",
|
|
"size": 2,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "application/json",
|
|
"created_at": "2020-07-13T12:42:03+00:00",
|
|
"modified_at": "2020-07-13T12:42:03+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "hs_err_pid25.log",
|
|
"mode": "-rw-r--r--",
|
|
"size": 57099,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "text/plain",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2020-06-12T20:36:55+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "help.yml",
|
|
"mode": "-rw-r--r--",
|
|
"size": 2576,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "text/plain",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2019-12-25T05:21:07+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "eula.txt",
|
|
"mode": "-rw-r--r--",
|
|
"size": 250,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "text/plain",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2019-12-25T05:20:57+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "commands.yml",
|
|
"mode": "-rw-r--r--",
|
|
"size": 598,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "text/plain",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2020-06-12T21:44:36+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "bukkit.yml",
|
|
"mode": "-rw-r--r--",
|
|
"size": 1053,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "text/plain",
|
|
"created_at": "2020-07-13T12:41:55+00:00",
|
|
"modified_at": "2020-06-12T21:44:36+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "banned-players.json",
|
|
"mode": "-rw-r--r--",
|
|
"size": 2,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "application/json",
|
|
"created_at": "2020-07-13T12:42:03+00:00",
|
|
"modified_at": "2020-07-13T12:42:03+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "banned-ips.json",
|
|
"mode": "-rw-r--r--",
|
|
"size": 2,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": true,
|
|
"mimetype": "application/json",
|
|
"created_at": "2020-07-13T12:42:03+00:00",
|
|
"modified_at": "2020-07-13T12:42:03+00:00"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/startup/variable": {
|
|
"put": {
|
|
"tags": [
|
|
"Client - Server - Startup"
|
|
],
|
|
"summary": "Update Variable",
|
|
"operationId": "put-update-variable",
|
|
"description": "Updates the specified variable",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"key": "SERVER_JARFILE",
|
|
"value": "server.jar"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"env_variable": {
|
|
"type": "string"
|
|
},
|
|
"default_value": {
|
|
"type": "string"
|
|
},
|
|
"server_value": {
|
|
"type": "string"
|
|
},
|
|
"is_editable": {
|
|
"type": "boolean"
|
|
},
|
|
"rules": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "egg_variable",
|
|
"attributes": {
|
|
"name": "Server Jar File",
|
|
"description": "The name of the server jarfile to run the server with.",
|
|
"env_variable": "SERVER_JARFILE",
|
|
"default_value": "server.jar",
|
|
"server_value": "server.jar",
|
|
"is_editable": true,
|
|
"rules": "required|regex:/^([\\w\\d._-]+)(\\.jar)$/"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/schedules": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - Schedules"
|
|
],
|
|
"summary": "List schedules",
|
|
"operationId": "get-list-schedules",
|
|
"description": "Lists all schedules added to the server",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"cron": {
|
|
"type": "object",
|
|
"properties": {
|
|
"day_of_week": {
|
|
"type": "string"
|
|
},
|
|
"day_of_month": {
|
|
"type": "string"
|
|
},
|
|
"hour": {
|
|
"type": "string"
|
|
},
|
|
"minute": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"is_active": {
|
|
"type": "boolean"
|
|
},
|
|
"is_processing": {
|
|
"type": "boolean"
|
|
},
|
|
"last_run_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"next_run_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"relationships": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tasks": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"sequence_id": {
|
|
"type": "integer"
|
|
},
|
|
"action": {
|
|
"type": "string"
|
|
},
|
|
"payload": {
|
|
"type": "string"
|
|
},
|
|
"time_offset": {
|
|
"type": "integer"
|
|
},
|
|
"is_queued": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "server_schedule",
|
|
"attributes": {
|
|
"id": 1,
|
|
"name": "Daily Reboot",
|
|
"cron": {
|
|
"day_of_week": "*",
|
|
"day_of_month": "*",
|
|
"hour": "0",
|
|
"minute": "0"
|
|
},
|
|
"is_active": true,
|
|
"is_processing": false,
|
|
"last_run_at": null,
|
|
"next_run_at": "2020-06-13T00:00:00+01:00",
|
|
"created_at": "2020-06-12T23:50:14+01:00",
|
|
"updated_at": "2020-06-12T23:53:07+01:00",
|
|
"relationships": {
|
|
"tasks": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "schedule_task",
|
|
"attributes": {
|
|
"id": 1,
|
|
"sequence_id": 1,
|
|
"action": "command",
|
|
"payload": "say Rebooting...",
|
|
"time_offset": 0,
|
|
"is_queued": false,
|
|
"created_at": "2020-06-12T23:50:46+01:00",
|
|
"updated_at": "2020-06-12T23:52:54+01:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "schedule_task",
|
|
"attributes": {
|
|
"id": 2,
|
|
"sequence_id": 2,
|
|
"action": "power",
|
|
"payload": "restart",
|
|
"time_offset": 5,
|
|
"is_queued": false,
|
|
"created_at": "2020-06-12T23:53:07+01:00",
|
|
"updated_at": "2020-06-12T23:53:07+01:00"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Schedules"
|
|
],
|
|
"summary": "Create schedule",
|
|
"operationId": "post-create-schedule",
|
|
"description": "Creates a new schedule",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Friendly name for the schedule"
|
|
},
|
|
"is_active": {
|
|
"type": "boolean",
|
|
"description": "Specifies whether the schedule is active"
|
|
},
|
|
"minute": {
|
|
"type": "string",
|
|
"description": "Cron minute syntax"
|
|
},
|
|
"hour": {
|
|
"type": "string",
|
|
"description": "Cron hour syntax"
|
|
},
|
|
"day\\_of\\_week": {
|
|
"type": "string",
|
|
"description": "Cron day-of-month syntax"
|
|
},
|
|
"day\\_of\\_month": {
|
|
"type": "string",
|
|
"description": "Cron day-of-month syntax"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"minute",
|
|
"hour",
|
|
"day\\_of\\_week",
|
|
"day\\_of\\_month"
|
|
]
|
|
},
|
|
"example": {
|
|
"name": "Minute Hello",
|
|
"minute": "*",
|
|
"hour": "*",
|
|
"day_of_month": "*",
|
|
"day_of_week": "*",
|
|
"is_active": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"cron": {
|
|
"type": "object",
|
|
"properties": {
|
|
"day_of_week": {
|
|
"type": "string"
|
|
},
|
|
"day_of_month": {
|
|
"type": "string"
|
|
},
|
|
"hour": {
|
|
"type": "string"
|
|
},
|
|
"minute": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"is_active": {
|
|
"type": "boolean"
|
|
},
|
|
"is_processing": {
|
|
"type": "boolean"
|
|
},
|
|
"last_run_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"next_run_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"relationships": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tasks": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server_schedule",
|
|
"attributes": {
|
|
"id": 4,
|
|
"name": "Minute Hello",
|
|
"cron": {
|
|
"day_of_week": "*",
|
|
"day_of_month": "*",
|
|
"hour": "*",
|
|
"minute": "*"
|
|
},
|
|
"is_active": true,
|
|
"is_processing": false,
|
|
"last_run_at": null,
|
|
"next_run_at": "2020-06-13T15:17:00+01:00",
|
|
"created_at": "2020-06-13T15:16:45+01:00",
|
|
"updated_at": "2020-06-13T15:16:45+01:00",
|
|
"relationships": {
|
|
"tasks": {
|
|
"object": "list",
|
|
"data": []
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/network/allocations": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - Network"
|
|
],
|
|
"summary": "List allocations",
|
|
"operationId": "get-list-allocations",
|
|
"description": "Retrieves the network information for the specified server",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"ip_alias": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"is_default": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 1,
|
|
"ip": "45.86.168.218",
|
|
"ip_alias": null,
|
|
"port": 25565,
|
|
"notes": null,
|
|
"is_default": true
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 2,
|
|
"ip": "45.86.168.218",
|
|
"ip_alias": null,
|
|
"port": 25566,
|
|
"notes": "Votifier",
|
|
"is_default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Network"
|
|
],
|
|
"summary": "Assign allocation",
|
|
"operationId": "post-assign-allocation",
|
|
"description": "Automatically assigns a new allocation if auto-assign is enabled on the instance",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"ip_alias": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"is_default": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 6,
|
|
"ip": "45.86.168.218",
|
|
"ip_alias": null,
|
|
"port": 25570,
|
|
"notes": null,
|
|
"is_default": false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/network/allocations/{allocation}": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Network"
|
|
],
|
|
"summary": "Set allocation note",
|
|
"operationId": "post-set-allocation-note",
|
|
"description": "Sets a note for the allocation\n\n# Fields\n| Name | Required? | Type | Description | Rules |\n|-------|-----------|--------|---------------------|-------|\n| notes | required | string | Note for allocation | |",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "allocation",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Allocation ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"notes": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"notes": "Votifier"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"ip_alias": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
},
|
|
"notes": {
|
|
"type": "string"
|
|
},
|
|
"is_default": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 2,
|
|
"ip": "45.86.168.218",
|
|
"ip_alias": null,
|
|
"port": 25566,
|
|
"notes": "Votifier",
|
|
"is_default": false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"Client - Server - Network"
|
|
],
|
|
"summary": "Unassign allocation",
|
|
"operationId": "delete-unassign-allocation",
|
|
"description": "Deletes the specified non-primary allocation",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "allocation",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Allocation ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"detail": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"errors": [
|
|
{
|
|
"code": "DisplayException",
|
|
"status": "400",
|
|
"detail": "Cannot delete the primary allocation for a server."
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/network/allocations/{allocation}/primary": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Network"
|
|
],
|
|
"summary": "Set primary allocation",
|
|
"operationId": "post-set-primary-allocation",
|
|
"description": "Sets the primary allocation",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "allocation",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Allocation ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"ip_alias": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
},
|
|
"notes": {
|
|
"type": "string"
|
|
},
|
|
"is_default": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 2,
|
|
"ip": "45.86.168.218",
|
|
"ip_alias": null,
|
|
"port": 25566,
|
|
"notes": "Votifier",
|
|
"is_default": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/users": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - Users"
|
|
],
|
|
"summary": "List Users",
|
|
"operationId": "get-list-users",
|
|
"description": "Lists all users added to the server, along with details about them and their permissions",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"2fa_enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "server_subuser",
|
|
"attributes": {
|
|
"uuid": "73f233ca-99e0-47a9-bd46-efd3296d7ad9",
|
|
"username": "subuser1uxk",
|
|
"email": "subuser1@example.com",
|
|
"image": "https://gravatar.com/avatar/c0da5391b64449c1ecbfd4349184377c",
|
|
"2fa_enabled": false,
|
|
"created_at": "2020-06-12T23:18:43+01:00",
|
|
"permissions": [
|
|
"control.console",
|
|
"control.start",
|
|
"control.stop",
|
|
"control.restart",
|
|
"user.create",
|
|
"user.update",
|
|
"user.delete",
|
|
"user.read",
|
|
"file.create",
|
|
"file.read",
|
|
"file.update",
|
|
"file.delete",
|
|
"file.archive",
|
|
"file.sftp",
|
|
"backup.create",
|
|
"backup.read",
|
|
"backup.delete",
|
|
"backup.update",
|
|
"backup.download",
|
|
"allocation.update",
|
|
"startup.update",
|
|
"startup.read",
|
|
"database.create",
|
|
"database.read",
|
|
"database.update",
|
|
"database.delete",
|
|
"database.view_password",
|
|
"schedule.create",
|
|
"schedule.read",
|
|
"schedule.update",
|
|
"settings.rename",
|
|
"schedule.delete",
|
|
"settings.reinstall",
|
|
"websocket.connect"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"object": "server_subuser",
|
|
"attributes": {
|
|
"uuid": "60a7aec3-e17d-4aa9-abb3-56d944d204b4",
|
|
"username": "subuser2jvc",
|
|
"email": "subuser2@example.com",
|
|
"image": "https://gravatar.com/avatar/3bb1c751a8b3488f4a4c70eddfe898d8",
|
|
"2fa_enabled": false,
|
|
"created_at": "2020-06-12T23:31:41+01:00",
|
|
"permissions": [
|
|
"control.console",
|
|
"control.start",
|
|
"websocket.connect"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"object": "server_subuser",
|
|
"attributes": {
|
|
"uuid": "1287632d-9224-40c0-906e-f543423400bc",
|
|
"username": "subuser3bvo",
|
|
"email": "subuser3@example.com",
|
|
"image": "https://gravatar.com/avatar/8b28d32aaa64a1564450d16f71a81f65",
|
|
"2fa_enabled": false,
|
|
"created_at": "2020-07-13T14:27:46+01:00",
|
|
"permissions": [
|
|
"control.console",
|
|
"control.start",
|
|
"websocket.connect"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"object": "server_subuser",
|
|
"attributes": {
|
|
"uuid": "2fcb6f7e-342a-423a-93a4-6111a237c0c7",
|
|
"username": "geboc70057d6r",
|
|
"email": "geboc70057@djemail.net",
|
|
"image": "https://gravatar.com/avatar/354d25d88e2c73b9f8d8e9bb8f1bf15e",
|
|
"2fa_enabled": false,
|
|
"created_at": "2020-07-13T14:36:44+01:00",
|
|
"permissions": [
|
|
"control.console",
|
|
"control.start",
|
|
"websocket.connect"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"object": "server_subuser",
|
|
"attributes": {
|
|
"uuid": "b20e4e11-550f-4c52-893d-94fc8bc46a06",
|
|
"username": "testidq",
|
|
"email": "test@example.com",
|
|
"image": "https://gravatar.com/avatar/55502f40dc8b7c769880b10874abc9d0",
|
|
"2fa_enabled": false,
|
|
"created_at": "2020-07-19T13:48:38+01:00",
|
|
"permissions": [
|
|
"control.*",
|
|
"websocket.connect"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Users"
|
|
],
|
|
"summary": "Create User",
|
|
"operationId": "post-create-user",
|
|
"description": "Adds a user to the server\n\n# Fields\n| Name | Required? | Type | Description | Rules |\n|-------------|-----------|--------|------------------------------------|-------|\n| email | required | string | Email address of the user | |\n| permissions | required | object | Permissions that user is permitted | |",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"email": "subuser2@example.com",
|
|
"permissions": [
|
|
"control.console",
|
|
"control.start"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"2fa_enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server_subuser",
|
|
"attributes": {
|
|
"uuid": "60a7aec3-e17d-4aa9-abb3-56d944d204b4",
|
|
"username": "subuser2jvc",
|
|
"email": "subuser2@example.com",
|
|
"image": "https://gravatar.com/avatar/3bb1c751a8b3488f4a4c70eddfe898d8",
|
|
"2fa_enabled": false,
|
|
"created_at": "2020-06-12T23:31:41+01:00",
|
|
"permissions": [
|
|
"control.console",
|
|
"control.start",
|
|
"websocket.connect"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/backups": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - Backups"
|
|
],
|
|
"summary": "List backups",
|
|
"operationId": "get-list-backups",
|
|
"description": "Retrieves a list of backups",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"ignored_files": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"sha256_hash": {
|
|
"type": "string"
|
|
},
|
|
"bytes": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"completed_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pagination": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
},
|
|
"per_page": {
|
|
"type": "integer"
|
|
},
|
|
"current_page": {
|
|
"type": "integer"
|
|
},
|
|
"total_pages": {
|
|
"type": "integer"
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "backup",
|
|
"attributes": {
|
|
"uuid": "904df120-a66f-4375-a4ae-40eedbeae630",
|
|
"name": "Quick Backup",
|
|
"ignored_files": [],
|
|
"sha256_hash": "7c20d6a269b441a9dfd044e3f8ad13d77c09c83af8832d29ad603084a9a63726",
|
|
"bytes": 114402862,
|
|
"created_at": "2020-06-13T05:21:01+01:00",
|
|
"completed_at": "2020-06-13T05:21:04+01:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "backup",
|
|
"attributes": {
|
|
"uuid": "63087048-eada-419c-ad72-803c1c949cac",
|
|
"name": "Backup at 2020-07-19 16:21:34",
|
|
"ignored_files": [],
|
|
"sha256_hash": "39bf93b9d8aee45316fa7ec8bbed0530904558851fa8e712452845c969873b16",
|
|
"bytes": 114567250,
|
|
"created_at": "2020-07-19T16:21:34+01:00",
|
|
"completed_at": "2020-07-19T16:21:35+01:00"
|
|
}
|
|
}
|
|
],
|
|
"meta": {
|
|
"pagination": {
|
|
"total": 2,
|
|
"count": 2,
|
|
"per_page": 20,
|
|
"current_page": 1,
|
|
"total_pages": 1,
|
|
"links": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Backups"
|
|
],
|
|
"summary": "Create backup",
|
|
"operationId": "post-create-backup",
|
|
"description": "Creates a new backup",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"ignored_files": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"sha256_hash": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"bytes": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"completed_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "backup",
|
|
"attributes": {
|
|
"uuid": "63087048-eada-419c-ad72-803c1c949cac",
|
|
"name": "Backup at 2020-07-19 16:21:34",
|
|
"ignored_files": [],
|
|
"sha256_hash": null,
|
|
"bytes": 0,
|
|
"created_at": "2020-07-19T16:21:34+01:00",
|
|
"completed_at": null
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/users": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Users"
|
|
],
|
|
"summary": "List users",
|
|
"operationId": "get-list-users",
|
|
"description": "Retrieves all users\n\n## Available Include parameters\n| Parameter | Description |\n|-----------|----------------------------------------|\n| servers | List of servers the user has access to |\n\n## Filters\n| Parameter |\n|-------------|\n| email |\n| uuid |\n| username |\n| external_id |\n\n## Sort by\n| Parameter |\n|-------------|\n| id |\n| uuid |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "// GET /api/application/users?filter%5Bemail%5D=dane%40daneeveritt.com\n{\n \"object\": \"list\",\n \"data\": [\n {\n \"object\": \"user\",\n \"attributes\": {\n \"id\": 27,\n \"external_id\": null,\n \"uuid\": \"18528bb9-8f60-45e2-adc6-f72611559fd7\",\n \"username\": \"hodor7wm\",\n \"email\": \"hodor@example.com\",\n \"first_name\": \"Server\",\n \"last_name\": \"Subuser\",\n \"language\": \"en\",\n \"root_admin\": false,\n \"2fa\": false,\n \"created_at\": \"2020-08-19T03:23:35+00:00\",\n \"updated_at\": \"2020-08-19T03:23:35+00:00\"\n }\n },\n {\n \"object\": \"user\",\n \"attributes\": {\n \"id\": 26,\n \"external_id\": null,\n \"uuid\": \"b83673f6-3387-4a37-97cd-dd3a4f508343\",\n \"username\": \"testfz0\",\n \"email\": \"test@example.com\",\n \"first_name\": \"Server\",\n \"last_name\": \"Subuser\",\n \"language\": \"en\",\n \"root_admin\": false,\n \"2fa\": false,\n \"created_at\": \"2020-08-19T03:15:51+00:00\",\n \"updated_at\": \"2020-08-19T03:15:51+00:00\"\n }\n }\n ],\n \"meta\": {\n \"pagination\": {\n \"total\": 2,\n \"count\": 2,\n \"per_page\": 100,\n \"current_page\": 1,\n \"total_pages\": 1,\n \"links\": {}\n }\n }\n}"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Application - Users"
|
|
],
|
|
"summary": "Create user",
|
|
"operationId": "post-create-user",
|
|
"description": "Creates a new user",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"email": "example10@example.com",
|
|
"username": "exampleuser",
|
|
"first_name": "Example",
|
|
"last_name": "User"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"external_id": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"root_admin": {
|
|
"type": "boolean"
|
|
},
|
|
"2fa": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"resource": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "user",
|
|
"attributes": {
|
|
"id": 9,
|
|
"external_id": null,
|
|
"uuid": "dac03ece-fd51-4e4b-bd4f-a79e3b2794f9",
|
|
"username": "exampleuser",
|
|
"email": "example10@example.com",
|
|
"first_name": "Example",
|
|
"last_name": "User",
|
|
"language": "en",
|
|
"root_admin": false,
|
|
"2fa": false,
|
|
"created_at": "2020-10-29T01:25:12+00:00",
|
|
"updated_at": "2020-10-29T01:25:12+00:00"
|
|
},
|
|
"meta": {
|
|
"resource": "https://pterodactyl.file.properties/api/application/users/9"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/nodes": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Nodes"
|
|
],
|
|
"summary": "List nodes",
|
|
"operationId": "get-list-nodes",
|
|
"description": "Retrieves a list of nodes\n\n## Available include parameters\n| Parameter | Description |\n|-------------|--------------------------------------------------------|\n| allocations | List of allocations added to the node |\n| location | Information about the location the node is assigned to |\n| servers | List of servers on the node |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"public": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"location_id": {
|
|
"type": "integer"
|
|
},
|
|
"fqdn": {
|
|
"type": "string"
|
|
},
|
|
"scheme": {
|
|
"type": "string"
|
|
},
|
|
"behind_proxy": {
|
|
"type": "boolean"
|
|
},
|
|
"maintenance_mode": {
|
|
"type": "boolean"
|
|
},
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"memory_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"disk_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"upload_size": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_listen": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_sftp": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_base": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pagination": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
},
|
|
"per_page": {
|
|
"type": "integer"
|
|
},
|
|
"current_page": {
|
|
"type": "integer"
|
|
},
|
|
"total_pages": {
|
|
"type": "integer"
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "node",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "1046d1d1-b8ef-4771-82b1-2b5946d33397",
|
|
"public": true,
|
|
"name": "Test",
|
|
"description": "Test",
|
|
"location_id": 1,
|
|
"fqdn": "pterodactyl.file.properties",
|
|
"scheme": "https",
|
|
"behind_proxy": false,
|
|
"maintenance_mode": false,
|
|
"memory": 2048,
|
|
"memory_overallocate": 0,
|
|
"disk": 5000,
|
|
"disk_overallocate": 0,
|
|
"upload_size": 100,
|
|
"daemon_listen": 8080,
|
|
"daemon_sftp": 2022,
|
|
"daemon_base": "/srv/daemon-data",
|
|
"created_at": "2019-12-22T04:44:51+00:00",
|
|
"updated_at": "2019-12-22T04:44:51+00:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "node",
|
|
"attributes": {
|
|
"id": 3,
|
|
"uuid": "71b15cf6-909a-4b60-aa04-abb4c8f98f61",
|
|
"public": true,
|
|
"name": "2",
|
|
"description": "e",
|
|
"location_id": 1,
|
|
"fqdn": "pterodactyl.file.properties",
|
|
"scheme": "https",
|
|
"behind_proxy": false,
|
|
"maintenance_mode": false,
|
|
"memory": 100,
|
|
"memory_overallocate": 0,
|
|
"disk": 100,
|
|
"disk_overallocate": 0,
|
|
"upload_size": 100,
|
|
"daemon_listen": 8080,
|
|
"daemon_sftp": 2022,
|
|
"daemon_base": "/var/lib/pterodactyl/volumes",
|
|
"created_at": "2020-06-23T04:50:37+00:00",
|
|
"updated_at": "2020-06-23T04:50:37+00:00"
|
|
}
|
|
}
|
|
],
|
|
"meta": {
|
|
"pagination": {
|
|
"total": 2,
|
|
"count": 2,
|
|
"per_page": 50,
|
|
"current_page": 1,
|
|
"total_pages": 1,
|
|
"links": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Application - Nodes"
|
|
],
|
|
"summary": "Create node",
|
|
"operationId": "post-create-node",
|
|
"description": "Creates a new node",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"location_id": {
|
|
"type": "integer"
|
|
},
|
|
"fqdn": {
|
|
"type": "string"
|
|
},
|
|
"scheme": {
|
|
"type": "string"
|
|
},
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"memory_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"disk_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"upload_size": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_sftp": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_listen": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"name": "New Node",
|
|
"location_id": 1,
|
|
"fqdn": "node2.example.com",
|
|
"scheme": "https",
|
|
"memory": 10240,
|
|
"memory_overallocate": 0,
|
|
"disk": 50000,
|
|
"disk_overallocate": 0,
|
|
"upload_size": 100,
|
|
"daemon_sftp": 2022,
|
|
"daemon_listen": 8080
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"public": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"location_id": {
|
|
"type": "integer"
|
|
},
|
|
"fqdn": {
|
|
"type": "string"
|
|
},
|
|
"scheme": {
|
|
"type": "string"
|
|
},
|
|
"behind_proxy": {
|
|
"type": "boolean"
|
|
},
|
|
"maintenance_mode": {
|
|
"type": "boolean"
|
|
},
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"memory_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"disk_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"upload_size": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_listen": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_sftp": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_base": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"allocated_resources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"resource": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "node",
|
|
"attributes": {
|
|
"id": 4,
|
|
"uuid": "4158cfe9-2aa8-4812-bf6e-d88beeb08e98",
|
|
"public": true,
|
|
"name": "New Node",
|
|
"description": null,
|
|
"location_id": 1,
|
|
"fqdn": "node2.example.com",
|
|
"scheme": "https",
|
|
"behind_proxy": false,
|
|
"maintenance_mode": false,
|
|
"memory": 10240,
|
|
"memory_overallocate": 0,
|
|
"disk": 50000,
|
|
"disk_overallocate": 0,
|
|
"upload_size": 100,
|
|
"daemon_listen": 8080,
|
|
"daemon_sftp": 2022,
|
|
"daemon_base": "/var/lib/pterodactyl/volumes",
|
|
"created_at": "2020-10-29T01:17:38+00:00",
|
|
"updated_at": "2020-10-29T01:17:38+00:00",
|
|
"allocated_resources": {
|
|
"memory": 0,
|
|
"disk": 0
|
|
}
|
|
},
|
|
"meta": {
|
|
"resource": "https://pterodactyl.file.properties/api/application/nodes/4"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/locations": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Locations"
|
|
],
|
|
"summary": "List locations",
|
|
"operationId": "get-list-locations",
|
|
"description": "Retrieves all locations\n\n# Available include parameters\n| Parameter | Description |\n|-----------|----------------------------------------|\n| nodes | List of nodes assigned to the location |\n| servers | List of servers in the location |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"short": {
|
|
"type": "string"
|
|
},
|
|
"long": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pagination": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
},
|
|
"per_page": {
|
|
"type": "integer"
|
|
},
|
|
"current_page": {
|
|
"type": "integer"
|
|
},
|
|
"total_pages": {
|
|
"type": "integer"
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "location",
|
|
"attributes": {
|
|
"id": 1,
|
|
"short": "GB",
|
|
"long": "London Datacenter",
|
|
"updated_at": "2020-06-13T21:16:58+00:00",
|
|
"created_at": "2019-12-22T04:44:18+00:00"
|
|
}
|
|
}
|
|
],
|
|
"meta": {
|
|
"pagination": {
|
|
"total": 1,
|
|
"count": 1,
|
|
"per_page": 50,
|
|
"current_page": 1,
|
|
"total_pages": 1,
|
|
"links": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Application - Locations"
|
|
],
|
|
"summary": "Create location",
|
|
"operationId": "post-create-location",
|
|
"description": "Creates a new location",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"short": {
|
|
"type": "string",
|
|
"description": "Location identifier"
|
|
},
|
|
"long": {
|
|
"type": "string",
|
|
"description": "Location description"
|
|
}
|
|
},
|
|
"required": [
|
|
"short"
|
|
]
|
|
},
|
|
"example": {
|
|
"short": "GB",
|
|
"long": "London Datacenter"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"short": {
|
|
"type": "string"
|
|
},
|
|
"long": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"resource": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "location",
|
|
"attributes": {
|
|
"id": 3,
|
|
"short": "G",
|
|
"long": "London Datacenter",
|
|
"updated_at": "2020-06-13T20:44:48+00:00",
|
|
"created_at": "2020-06-13T20:44:48+00:00"
|
|
},
|
|
"meta": {
|
|
"resource": "https://pterodactyl.file.properties/api/application/locations/3"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/locations/{location}": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Locations"
|
|
],
|
|
"summary": "Location details",
|
|
"operationId": "get-location-details",
|
|
"description": "Retrieves the specified location\n\n# Available include parameters\n| Parameter | Description |\n|-----------|----------------------------------------|\n| nodes | List of nodes assigned to the location |\n| servers | List of servers in the location |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"short": {
|
|
"type": "string"
|
|
},
|
|
"long": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "location",
|
|
"attributes": {
|
|
"id": 1,
|
|
"short": "Test",
|
|
"long": "Test",
|
|
"updated_at": "2019-12-22T04:44:18+00:00",
|
|
"created_at": "2019-12-22T04:44:18+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Location ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"tags": [
|
|
"Application - Locations"
|
|
],
|
|
"summary": "Update location",
|
|
"operationId": "patch-update-location",
|
|
"description": "Updates the specified location",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"short": {
|
|
"type": "string"
|
|
},
|
|
"long": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"short": "GB",
|
|
"long": "London Datacenter"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"short": {
|
|
"type": "string"
|
|
},
|
|
"long": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "location",
|
|
"attributes": {
|
|
"id": 1,
|
|
"short": "GB",
|
|
"long": "London Datacenter",
|
|
"updated_at": "2020-06-13T21:16:58+00:00",
|
|
"created_at": "2019-12-22T04:44:18+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Location ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"Application - Locations"
|
|
],
|
|
"summary": "Delete location",
|
|
"operationId": "delete-delete-location",
|
|
"description": "Deletes the specified location",
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Location ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/nodes/{node}": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Nodes"
|
|
],
|
|
"summary": "Node details",
|
|
"operationId": "get-node-details",
|
|
"description": "Retrieves the specified node\n\n## Available include parameters\n| Parameter | Description |\n|-------------|--------------------------------------------------------|\n| allocations | List of allocations added to the node |\n| location | Information about the location the node is assigned to |\n| servers | List of servers on the node |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"public": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"location_id": {
|
|
"type": "integer"
|
|
},
|
|
"fqdn": {
|
|
"type": "string"
|
|
},
|
|
"scheme": {
|
|
"type": "string"
|
|
},
|
|
"behind_proxy": {
|
|
"type": "boolean"
|
|
},
|
|
"maintenance_mode": {
|
|
"type": "boolean"
|
|
},
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"memory_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"disk_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"upload_size": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_listen": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_sftp": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_base": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "node",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "1046d1d1-b8ef-4771-82b1-2b5946d33397",
|
|
"public": true,
|
|
"name": "Test",
|
|
"description": "Test",
|
|
"location_id": 1,
|
|
"fqdn": "pterodactyl.file.properties",
|
|
"scheme": "https",
|
|
"behind_proxy": false,
|
|
"maintenance_mode": false,
|
|
"memory": 2048,
|
|
"memory_overallocate": 0,
|
|
"disk": 5000,
|
|
"disk_overallocate": 0,
|
|
"upload_size": 100,
|
|
"daemon_listen": 8080,
|
|
"daemon_sftp": 2022,
|
|
"daemon_base": "/srv/daemon-data",
|
|
"created_at": "2019-12-22T04:44:51+00:00",
|
|
"updated_at": "2019-12-22T04:44:51+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "node",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Node ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"tags": [
|
|
"Application - Nodes"
|
|
],
|
|
"summary": "Update node",
|
|
"operationId": "patch-update-node",
|
|
"description": "Updates the node details",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"location_id": {
|
|
"type": "integer"
|
|
},
|
|
"fqdn": {
|
|
"type": "string"
|
|
},
|
|
"scheme": {
|
|
"type": "string"
|
|
},
|
|
"behind_proxy": {
|
|
"type": "boolean"
|
|
},
|
|
"maintenance_mode": {
|
|
"type": "boolean"
|
|
},
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"memory_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"disk_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"upload_size": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_sftp": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_listen": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"name": "Test Renamed",
|
|
"description": "Test",
|
|
"location_id": 1,
|
|
"fqdn": "pterodactyl.file.properties",
|
|
"scheme": "https",
|
|
"behind_proxy": false,
|
|
"maintenance_mode": false,
|
|
"memory": 2048,
|
|
"memory_overallocate": 0,
|
|
"disk": 5000,
|
|
"disk_overallocate": 0,
|
|
"upload_size": 100,
|
|
"daemon_sftp": 2022,
|
|
"daemon_listen": 8080
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"public": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"location_id": {
|
|
"type": "integer"
|
|
},
|
|
"fqdn": {
|
|
"type": "string"
|
|
},
|
|
"scheme": {
|
|
"type": "string"
|
|
},
|
|
"behind_proxy": {
|
|
"type": "boolean"
|
|
},
|
|
"maintenance_mode": {
|
|
"type": "boolean"
|
|
},
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"memory_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"disk_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"upload_size": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_listen": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_sftp": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_base": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"mounts": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"allocated_resources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "node",
|
|
"attributes": {
|
|
"id": 1,
|
|
"uuid": "1046d1d1-b8ef-4771-82b1-2b5946d33397",
|
|
"public": true,
|
|
"name": "Test Renamed",
|
|
"description": "Test",
|
|
"location_id": 1,
|
|
"fqdn": "pterodactyl.file.properties",
|
|
"scheme": "https",
|
|
"behind_proxy": false,
|
|
"maintenance_mode": false,
|
|
"memory": 2048,
|
|
"memory_overallocate": 0,
|
|
"disk": 5000,
|
|
"disk_overallocate": 0,
|
|
"upload_size": 100,
|
|
"daemon_listen": 8080,
|
|
"daemon_sftp": 2022,
|
|
"daemon_base": "/var/lib/pterodactyl/volumes",
|
|
"created_at": "2019-12-22T04:44:51+00:00",
|
|
"updated_at": "2020-10-29T01:20:23+00:00",
|
|
"mounts": [],
|
|
"allocated_resources": {
|
|
"memory": 640,
|
|
"disk": 700
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "node",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Node ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"Application - Nodes"
|
|
],
|
|
"summary": "Delete node",
|
|
"operationId": "delete-delete-node",
|
|
"description": "Deletes the specified node",
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "node",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Node ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/nodes/{node}/configuration": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Nodes"
|
|
],
|
|
"summary": "Node configuration",
|
|
"operationId": "get-node-configuration",
|
|
"description": "Displays the Wings configuration",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"debug": {
|
|
"type": "boolean"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"token_id": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"api": {
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
},
|
|
"ssl": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"cert": {
|
|
"type": "string"
|
|
},
|
|
"key": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"upload_limit": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"system": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "string"
|
|
},
|
|
"sftp": {
|
|
"type": "object",
|
|
"properties": {
|
|
"bind_port": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"remote": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"debug": false,
|
|
"uuid": "1046d1d1-b8ef-4771-82b1-2b5946d33397",
|
|
"token_id": "iAcosCn1KCAgVjVO",
|
|
"token": "FanPzLCptUxkGow3vi7Z",
|
|
"api": {
|
|
"host": "0.0.0.0",
|
|
"port": 8080,
|
|
"ssl": {
|
|
"enabled": true,
|
|
"cert": "/etc/letsencrypt/live/pterodactyl.file.properties/fullchain.pem",
|
|
"key": "/etc/letsencrypt/live/pterodactyl.file.properties/privkey.pem"
|
|
},
|
|
"upload_limit": 100
|
|
},
|
|
"system": {
|
|
"data": "/srv/daemon-data",
|
|
"sftp": {
|
|
"bind_port": 2022
|
|
}
|
|
},
|
|
"remote": "https://pterodactyl.file.properties"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "node",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Node ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/users/{user}": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Users"
|
|
],
|
|
"summary": "User details",
|
|
"operationId": "get-user-details",
|
|
"description": "Retrieves the specified user\n\n## Available include parameters\n| Parameter | Description |\n|-----------|----------------------------------------|\n| servers | List of servers the user has access to |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"external_id": {
|
|
"type": "string"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"root_admin": {
|
|
"type": "boolean"
|
|
},
|
|
"2fa": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "user",
|
|
"attributes": {
|
|
"id": 1,
|
|
"external_id": "RemoteId1",
|
|
"uuid": "4de5a357-ed95-426b-aec1-8c328cfe9751",
|
|
"username": "admin",
|
|
"email": "example@example.com",
|
|
"first_name": "Admin",
|
|
"last_name": "User",
|
|
"language": "en",
|
|
"root_admin": true,
|
|
"2fa": false,
|
|
"created_at": "2019-12-22T04:43:29+00:00",
|
|
"updated_at": "2020-07-13T13:10:23+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "user",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "User ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"tags": [
|
|
"Application - Users"
|
|
],
|
|
"summary": "Update user",
|
|
"operationId": "patch-update-user",
|
|
"description": "Updates the user information",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"email": "example10@example.com",
|
|
"username": "exampleuser",
|
|
"first_name": "Example",
|
|
"last_name": "User",
|
|
"language": "en",
|
|
"password": "New Password"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"external_id": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"root_admin": {
|
|
"type": "boolean"
|
|
},
|
|
"2fa": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "user",
|
|
"attributes": {
|
|
"id": 9,
|
|
"external_id": null,
|
|
"uuid": "dac03ece-fd51-4e4b-bd4f-a79e3b2794f9",
|
|
"username": "exampleuser",
|
|
"email": "example10@example.com",
|
|
"first_name": "Example",
|
|
"last_name": "User",
|
|
"language": "en",
|
|
"root_admin": false,
|
|
"2fa": false,
|
|
"created_at": "2020-10-29T01:25:12+00:00",
|
|
"updated_at": "2020-10-29T01:28:29+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "user",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "User ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"Application - Users"
|
|
],
|
|
"summary": "Delete user",
|
|
"operationId": "delete-delete-user",
|
|
"description": "Deletes the specified user",
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "user",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "User ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/users/external/{external_id}": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Users"
|
|
],
|
|
"summary": "User details",
|
|
"operationId": "get-user-details",
|
|
"description": "Retrieves the specified user by its external ID\n\n## Available include parameters\n| Parameter | Description |\n|-----------|----------------------------------------|\n| servers | List of servers the user has access to |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"external_id": {
|
|
"type": "string"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"root_admin": {
|
|
"type": "boolean"
|
|
},
|
|
"2fa": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "user",
|
|
"attributes": {
|
|
"id": 1,
|
|
"external_id": "RemoteId1",
|
|
"uuid": "4de5a357-ed95-426b-aec1-8c328cfe9751",
|
|
"username": "admin",
|
|
"email": "example@example.com",
|
|
"first_name": "Admin",
|
|
"last_name": "User",
|
|
"language": "en",
|
|
"root_admin": true,
|
|
"2fa": false,
|
|
"created_at": "2019-12-22T04:43:29+00:00",
|
|
"updated_at": "2020-07-13T13:10:23+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "external_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "External identifier",
|
|
"example": "RemoteId1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/nodes/{node}/allocations": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Nodes - Allocations"
|
|
],
|
|
"summary": "List allocations",
|
|
"operationId": "get-list-allocations",
|
|
"description": "Lists allocations added to the node\n\n## Available include parameters\n| Parameter | Description |\n|-----------|--------------------------------------------------------|\n| node | Information about the node the allocation belongs to |\n| server | Information about the server the allocation belongs to |",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"alias": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"assigned": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pagination": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
},
|
|
"per_page": {
|
|
"type": "integer"
|
|
},
|
|
"current_page": {
|
|
"type": "integer"
|
|
},
|
|
"total_pages": {
|
|
"type": "integer"
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 1,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25565,
|
|
"notes": null,
|
|
"assigned": true
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 2,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25566,
|
|
"notes": "Votifier",
|
|
"assigned": true
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 3,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25567,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 4,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25568,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 5,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25569,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 6,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25570,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 8,
|
|
"ip": "10.0.0.1",
|
|
"alias": null,
|
|
"port": 25565,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 9,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25571,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 10,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25572,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 11,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25573,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 12,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25574,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 13,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25575,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 14,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25576,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 15,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25577,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 16,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25578,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 17,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25579,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
},
|
|
{
|
|
"object": "allocation",
|
|
"attributes": {
|
|
"id": 18,
|
|
"ip": "45.86.168.218",
|
|
"alias": null,
|
|
"port": 25580,
|
|
"notes": null,
|
|
"assigned": false
|
|
}
|
|
}
|
|
],
|
|
"meta": {
|
|
"pagination": {
|
|
"total": 17,
|
|
"count": 17,
|
|
"per_page": 50,
|
|
"current_page": 1,
|
|
"total_pages": 1,
|
|
"links": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "node",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Node ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Application - Nodes - Allocations"
|
|
],
|
|
"summary": "Create allocations",
|
|
"operationId": "post-create-allocations",
|
|
"description": "Adds an allocation to the node",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ip": {
|
|
"type": "string",
|
|
"description": "IP address for the allocations"
|
|
},
|
|
"ports": {
|
|
"type": "object",
|
|
"description": "Object containing the ports to add"
|
|
}
|
|
},
|
|
"required": [
|
|
"ip",
|
|
"ports"
|
|
]
|
|
},
|
|
"example": {
|
|
"ip": "10.0.0.1",
|
|
"ports": [
|
|
"25565"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "node",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Node ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/settings/rename": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Settings"
|
|
],
|
|
"summary": "Rename server",
|
|
"operationId": "post-rename-server",
|
|
"description": "Renames the server\n\n# Fields\n| Name | Required? | Type | Description | Rules |\n|------|-----------|--------|-------------------------|-------|\n| name | required | string | New name for the server | |",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"name": "Gaming"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/settings/reinstall": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Settings"
|
|
],
|
|
"summary": "Reinstall server",
|
|
"operationId": "post-reinstall-server",
|
|
"description": "Renames the server",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/nodes/{node}/allocations/{allocation}": {
|
|
"delete": {
|
|
"tags": [
|
|
"Application - Nodes - Allocations"
|
|
],
|
|
"summary": "Delete allocation",
|
|
"operationId": "delete-delete-allocation",
|
|
"description": "Deletes the specified allocation",
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "node",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Node ID",
|
|
"example": 1
|
|
},
|
|
{
|
|
"name": "allocation",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Allocation ID",
|
|
"example": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/backups/{backup}": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - Backups"
|
|
],
|
|
"summary": "Backup details",
|
|
"operationId": "get-backup-details",
|
|
"description": "Retrieves information about the specified backup",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "backup",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Backup UUID",
|
|
"example": "904df120-a66f-4375-a4ae-40eedbeae630"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"ignored_files": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"sha256_hash": {
|
|
"type": "string"
|
|
},
|
|
"bytes": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"completed_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "backup",
|
|
"attributes": {
|
|
"uuid": "904df120-a66f-4375-a4ae-40eedbeae630",
|
|
"name": "Quick Backup",
|
|
"ignored_files": [],
|
|
"sha256_hash": "7c20d6a269b441a9dfd044e3f8ad13d77c09c83af8832d29ad603084a9a63726",
|
|
"bytes": 114402862,
|
|
"created_at": "2020-06-13T05:21:01+01:00",
|
|
"completed_at": "2020-06-13T05:21:04+01:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"Client - Server - Backups"
|
|
],
|
|
"summary": "Delete backup",
|
|
"operationId": "delete-delete-backup",
|
|
"description": "Deletes the specified backup",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "backup",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Backup UUID",
|
|
"example": "904df120-a66f-4375-a4ae-40eedbeae630"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/backups/{backup}/download": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - Backups"
|
|
],
|
|
"summary": "Download backup",
|
|
"operationId": "get-download-backup",
|
|
"description": "Generates a download link for a backup",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "backup",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Backup UUID",
|
|
"example": "904df120-a66f-4375-a4ae-40eedbeae630"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "signed_url",
|
|
"attributes": {
|
|
"url": "https://pterodactyl.file.properties:8080/download/backup?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IjdkYzAxNzVjODU4MTE5MDRlMjJjNTcxNjBhMjkwMjgwZGFjMDMzM2I2ZmJhMTE3YTI4YjdhMDM5Y2U1OTg0YzcifQ.eyJpc3MiOiJodHRwczpcL1wvcHRlcm9kYWN0eWwuZmlsZS5wcm9wZXJ0aWVzIiwiYXVkIjoiaHR0cHM6XC9cL3B0ZXJvZGFjdHlsLmZpbGUucHJvcGVydGllczo4MDgwIiwianRpIjoiN2RjMDE3NWM4NTgxMTkwNGUyMmM1NzE2MGEyOTAyODBkYWMwMzMzYjZmYmExMTdhMjhiN2EwMzljZTU5ODRjNyIsImlhdCI6MTU5NTE3MjEyNSwibmJmIjoxNTk1MTcxODI1LCJleHAiOjE1OTUxNzMwMjUsImJhY2t1cF91dWlkIjoiOTA0ZGYxMjAtYTY2Zi00Mzc1LWE0YWUtNDBlZWRiZWFlNjMwIiwic2VydmVyX3V1aWQiOiIxYTdjZTk5Ny0yNTliLTQ1MmUtOGI0ZS1jZWNjNDY0MTQyY2EiLCJ1bmlxdWVfaWQiOiJKN1lIQUFUZzVoYVg4M1VOIn0.0zSozCFyjsYjGjUiPS76wM1WXX09FecNxdSZnj6rNt4"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/users/{subuser}": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - Users"
|
|
],
|
|
"summary": "User details",
|
|
"operationId": "get-user-details",
|
|
"description": "Retrieves information about a specific user",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "subuser",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Subuser UUID",
|
|
"example": "60a7aec3-e17d-4aa9-abb3-56d944d204b4"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"2fa_enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server_subuser",
|
|
"attributes": {
|
|
"uuid": "60a7aec3-e17d-4aa9-abb3-56d944d204b4",
|
|
"username": "subuser2jvc",
|
|
"email": "subuser2@example.com",
|
|
"image": "https://gravatar.com/avatar/3bb1c751a8b3488f4a4c70eddfe898d8",
|
|
"2fa_enabled": false,
|
|
"created_at": "2020-06-12T23:31:41+01:00",
|
|
"permissions": [
|
|
"control.console",
|
|
"control.start",
|
|
"websocket.connect"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Users"
|
|
],
|
|
"summary": "Update user",
|
|
"operationId": "post-update-user",
|
|
"description": "Updates the specified user\n\n# Fields\n| Name | Required? | Type | Description | Rules |\n|-------------|-----------|--------|------------------------------------|-------|\n| permissions | required | object | Permissions that user is permitted | |",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "subuser",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Subuser UUID",
|
|
"example": "60a7aec3-e17d-4aa9-abb3-56d944d204b4"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"permissions": [
|
|
"control.console",
|
|
"control.start"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"2fa_enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server_subuser",
|
|
"attributes": {
|
|
"uuid": "60a7aec3-e17d-4aa9-abb3-56d944d204b4",
|
|
"username": "subuser2jvc",
|
|
"email": "subuser2@example.com",
|
|
"image": "https://gravatar.com/avatar/3bb1c751a8b3488f4a4c70eddfe898d8",
|
|
"2fa_enabled": false,
|
|
"created_at": "2020-06-12T23:31:41+01:00",
|
|
"permissions": [
|
|
"control.console",
|
|
"control.start",
|
|
"websocket.connect"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"Client - Server - Users"
|
|
],
|
|
"summary": "Delete user",
|
|
"operationId": "delete-delete-user",
|
|
"description": "Removes the specified user from the server",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "subuser",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Subuser UUID",
|
|
"example": "60a7aec3-e17d-4aa9-abb3-56d944d204b4"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/schedules/{schedule}": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - Schedules"
|
|
],
|
|
"summary": "Schedule details",
|
|
"operationId": "get-schedule-details",
|
|
"description": "Retrieves specific schedule",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "schedule",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Schedule ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"cron": {
|
|
"type": "object",
|
|
"properties": {
|
|
"day_of_week": {
|
|
"type": "string"
|
|
},
|
|
"day_of_month": {
|
|
"type": "string"
|
|
},
|
|
"hour": {
|
|
"type": "string"
|
|
},
|
|
"minute": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"is_active": {
|
|
"type": "boolean"
|
|
},
|
|
"is_processing": {
|
|
"type": "boolean"
|
|
},
|
|
"last_run_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"next_run_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"relationships": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tasks": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"sequence_id": {
|
|
"type": "integer"
|
|
},
|
|
"action": {
|
|
"type": "string"
|
|
},
|
|
"payload": {
|
|
"type": "string"
|
|
},
|
|
"time_offset": {
|
|
"type": "integer"
|
|
},
|
|
"is_queued": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server_schedule",
|
|
"attributes": {
|
|
"id": 1,
|
|
"name": "Daily Reboot",
|
|
"cron": {
|
|
"day_of_week": "*",
|
|
"day_of_month": "*",
|
|
"hour": "0",
|
|
"minute": "0"
|
|
},
|
|
"is_active": true,
|
|
"is_processing": false,
|
|
"last_run_at": null,
|
|
"next_run_at": "2020-06-13T00:00:00+01:00",
|
|
"created_at": "2020-06-12T23:50:14+01:00",
|
|
"updated_at": "2020-06-12T23:53:07+01:00",
|
|
"relationships": {
|
|
"tasks": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "schedule_task",
|
|
"attributes": {
|
|
"id": 1,
|
|
"sequence_id": 1,
|
|
"action": "command",
|
|
"payload": "say Rebooting...",
|
|
"time_offset": 0,
|
|
"is_queued": false,
|
|
"created_at": "2020-06-12T23:50:46+01:00",
|
|
"updated_at": "2020-06-12T23:52:54+01:00"
|
|
}
|
|
},
|
|
{
|
|
"object": "schedule_task",
|
|
"attributes": {
|
|
"id": 2,
|
|
"sequence_id": 2,
|
|
"action": "power",
|
|
"payload": "restart",
|
|
"time_offset": 5,
|
|
"is_queued": false,
|
|
"created_at": "2020-06-12T23:53:07+01:00",
|
|
"updated_at": "2020-06-12T23:53:07+01:00"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Schedules"
|
|
],
|
|
"summary": "Update schedule",
|
|
"operationId": "post-update-schedule",
|
|
"description": "Updates the specified schedule",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "schedule",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Schedule ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Friendly name for the schedule"
|
|
},
|
|
"is_active": {
|
|
"type": "boolean",
|
|
"description": "Specifies whether the schedule is active"
|
|
},
|
|
"minute": {
|
|
"type": "string",
|
|
"description": "Cron minute syntax"
|
|
},
|
|
"hour": {
|
|
"type": "string",
|
|
"description": "Cron hour syntax"
|
|
},
|
|
"day_of_week": {
|
|
"type": "string",
|
|
"description": "Cron day-of-month syntax"
|
|
},
|
|
"day_of_month": {
|
|
"type": "string",
|
|
"description": "Cron day-of-month syntax"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"minute",
|
|
"hour",
|
|
"day_of_week",
|
|
"day_of_month"
|
|
]
|
|
},
|
|
"example": {
|
|
"name": "Hourly Hello",
|
|
"minute": "0",
|
|
"hour": "*",
|
|
"day_of_month": "*",
|
|
"day_of_week": "*"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"cron": {
|
|
"type": "object",
|
|
"properties": {
|
|
"day_of_week": {
|
|
"type": "string"
|
|
},
|
|
"day_of_month": {
|
|
"type": "string"
|
|
},
|
|
"hour": {
|
|
"type": "string"
|
|
},
|
|
"minute": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"is_active": {
|
|
"type": "boolean"
|
|
},
|
|
"is_processing": {
|
|
"type": "boolean"
|
|
},
|
|
"last_run_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"next_run_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"relationships": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tasks": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server_schedule",
|
|
"attributes": {
|
|
"id": 2,
|
|
"name": "Hourly Hello",
|
|
"cron": {
|
|
"day_of_week": "*",
|
|
"day_of_month": "*",
|
|
"hour": "*",
|
|
"minute": "0"
|
|
},
|
|
"is_active": false,
|
|
"is_processing": false,
|
|
"last_run_at": null,
|
|
"next_run_at": "2020-06-13T16:00:00+01:00",
|
|
"created_at": "2020-06-13T15:05:25+01:00",
|
|
"updated_at": "2020-06-13T15:14:07+01:00",
|
|
"relationships": {
|
|
"tasks": {
|
|
"object": "list",
|
|
"data": []
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"Client - Server - Schedules"
|
|
],
|
|
"summary": "Delete schedule",
|
|
"operationId": "delete-delete-schedule",
|
|
"description": "Deletes the specified schedule",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "schedule",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Schedule ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/schedules/{schedule}/tasks": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Schedules"
|
|
],
|
|
"summary": "Create task",
|
|
"operationId": "post-create-task",
|
|
"description": "Creates a new task on the specified schedule",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "schedule",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Schedule ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"action": {
|
|
"type": "string",
|
|
"description": "Type of action to use"
|
|
},
|
|
"payload": {
|
|
"type": "string",
|
|
"description": "Payload to send"
|
|
},
|
|
"time_offset": {
|
|
"type": "string",
|
|
"description": "Offset in seconds"
|
|
}
|
|
},
|
|
"required": [
|
|
"action",
|
|
"payload",
|
|
"time_offset"
|
|
]
|
|
},
|
|
"example": {
|
|
"action": "command",
|
|
"payload": "say Hello World",
|
|
"time_offset": "0"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"sequence_id": {
|
|
"type": "integer"
|
|
},
|
|
"action": {
|
|
"type": "string"
|
|
},
|
|
"payload": {
|
|
"type": "string"
|
|
},
|
|
"time_offset": {
|
|
"type": "integer"
|
|
},
|
|
"is_queued": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "schedule_task",
|
|
"attributes": {
|
|
"id": 6,
|
|
"sequence_id": 1,
|
|
"action": "command",
|
|
"payload": "say Hello World",
|
|
"time_offset": 0,
|
|
"is_queued": false,
|
|
"created_at": "2020-10-29T01:09:03+00:00",
|
|
"updated_at": "2020-10-29T01:09:03+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/schedules/{schedule}/tasks/{task}": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Schedules"
|
|
],
|
|
"summary": "Update task",
|
|
"operationId": "post-update-task",
|
|
"description": "Updates the specified task",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "schedule",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Schedule ID",
|
|
"example": 1
|
|
},
|
|
{
|
|
"name": "task",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Task ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"action": {
|
|
"type": "string",
|
|
"description": "Type of action to use"
|
|
},
|
|
"payload": {
|
|
"type": "string",
|
|
"description": "Payload to send"
|
|
},
|
|
"time_offset": {
|
|
"type": "string",
|
|
"description": "Offset in seconds"
|
|
}
|
|
},
|
|
"required": [
|
|
"action",
|
|
"payload",
|
|
"time_offset"
|
|
]
|
|
},
|
|
"example": {
|
|
"action": "command",
|
|
"payload": "say Updated Statement!?",
|
|
"time_offset": "0"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"sequence_id": {
|
|
"type": "integer"
|
|
},
|
|
"action": {
|
|
"type": "string"
|
|
},
|
|
"payload": {
|
|
"type": "string"
|
|
},
|
|
"time_offset": {
|
|
"type": "integer"
|
|
},
|
|
"is_queued": {
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "schedule_task",
|
|
"attributes": {
|
|
"id": 6,
|
|
"sequence_id": 1,
|
|
"action": "command",
|
|
"payload": "say Updated Statement!?",
|
|
"time_offset": 0,
|
|
"is_queued": false,
|
|
"created_at": "2020-10-29T01:09:03+00:00",
|
|
"updated_at": "2020-10-29T01:10:30+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"Client - Server - Schedules"
|
|
],
|
|
"summary": "Delete task",
|
|
"operationId": "delete-delete-task",
|
|
"description": "Deletes the specified task",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "schedule",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Schedule ID",
|
|
"example": 1
|
|
},
|
|
{
|
|
"name": "task",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Task ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/contents": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Get file contents",
|
|
"operationId": "get-get-file-contents",
|
|
"description": "Displays the contents of the specified file\n\n## Available parameters\n| Parameter | Description |\n|-----------|--------------------------------------|\n| file | URL encoded path to the desired file |",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "file",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"example": "/paper.yml"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "# This is the main configuration file for Paper.\n# As you can see, there's tons to configure. Some options may impact gameplay, so use\n# with caution, and make sure you know what each option does before configuring.\n# \n# If you need help with the configuration or have any questions related to Paper,\n# join us in our Discord or IRC channel.\n# \n# Discord: https://paperdiscord.emc.gs\n# IRC: #paper @ irc.spi.gt ( http://irc.spi.gt/iris/?channels=paper )\n# Website: https://papermc.io/ \n# Docs: https://paper.readthedocs.org/ \n\nverbose: false\nconfig-version: 20\nsettings:\n load-permissions-yml-before-plugins: true\n bungee-online-mode: true\n region-file-cache-size: 256\n incoming-packet-spam-threshold: 300\n save-player-data: true\n use-alternative-luck-formula: false\n suggest-player-names-when-null-tab-completions: true\n enable-player-collisions: true\n save-empty-scoreboard-teams: false\n velocity-support:\n enabled: false\n online-mode: false\n secret: ''\n async-chunks:\n enable: true\n load-threads: -1\n watchdog:\n early-warning-every: 5000\n early-warning-delay: 10000\n spam-limiter:\n tab-spam-increment: 1\n tab-spam-limit: 500\n book-size:\n page-max: 2560\n total-multiplier: 0.98\nmessages:\n no-permission: '&cI''m sorry, but you do not have permission to perform this command.\n Please contact the server administrators if you believe that this is in error.'\n kick:\n authentication-servers-down: ''\n connection-throttle: Connection throttled! Please wait before reconnecting.\n flying-player: Flying is not enabled on this server\n flying-vehicle: Flying is not enabled on this server\ntimings:\n enabled: true\n verbose: true\n server-name-privacy: false\n hidden-config-entries:\n - database\n - settings.bungeecord-addresses\n history-interval: 300\n history-length: 3600\n server-name: Unknown Server\nworld-settings:\n default:\n per-player-mob-spawns: false\n optimize-explosions: false\n portal-search-radius: 128\n disable-teleportation-suffocation-check: false\n fixed-chunk-inhabited-time: -1\n use-vanilla-world-scoreboard-name-coloring: false\n remove-corrupt-tile-entities: false\n enable-treasure-maps: true\n treasure-maps-return-already-discovered: false\n experience-merge-max-value: -1\n prevent-moving-into-unloaded-chunks: false\n max-auto-save-chunks-per-tick: 24\n falling-block-height-nerf: 0\n tnt-entity-height-nerf: 0\n filter-nbt-data-from-spawn-eggs-and-related: true\n max-entity-collisions: 8\n disable-creeper-lingering-effect: false\n duplicate-uuid-resolver: saferegen\n duplicate-uuid-saferegen-delete-range: 32\n prevent-tnt-from-moving-in-water: false\n disable-thunder: false\n skeleton-horse-thunder-spawn-chance: 0.01\n disable-ice-and-snow: false\n count-all-mobs-for-spawning: false\n keep-spawn-loaded-range: 10\n keep-spawn-loaded: true\n auto-save-interval: -1\n armor-stands-do-collision-entity-lookups: true\n non-player-arrow-despawn-rate: -1\n creative-arrow-despawn-rate: -1\n nether-ceiling-void-damage-height: 0\n grass-spread-tick-rate: 1\n water-over-lava-flow-speed: 5\n bed-search-radius: 1\n fix-zero-tick-instant-grow-farms: true\n use-faster-eigencraft-redstone: false\n allow-non-player-entities-on-scoreboards: false\n disable-explosion-knockback: false\n container-update-tick-rate: 1\n parrots-are-unaffected-by-player-movement: false\n armor-stands-tick: true\n spawner-nerfed-mobs-should-jump: false\n entities-target-with-follow-range: false\n allow-leashing-undead-horse: false\n baby-zombie-movement-modifier: 0.5\n mob-spawner-tick-rate: 1\n all-chunks-are-slime-chunks: false\n game-mechanics:\n scan-for-legacy-ender-dragon: true\n disable-pillager-patrols: false\n disable-relative-projectile-velocity: false\n disable-chest-cat-detection: false\n shield-blocking-delay: 5\n disable-end-credits: false\n disable-player-crits: false\n disable-sprint-interruption-on-attack: false\n disable-unloaded-chunk-enderpearl-exploit: true\n max-growth-height:\n cactus: 3\n reeds: 3\n fishing-time-range:\n MinimumTicks: 100\n MaximumTicks: 600\n despawn-ranges:\n soft: 32\n hard: 128\n lightning-strike-distance-limit:\n sound: -1\n impact-sound: -1\n flash: -1\n frosted-ice:\n enabled: true\n delay:\n min: 20\n max: 40\n lootables:\n auto-replenish: false\n restrict-player-reloot: true\n reset-seed-on-fill: true\n max-refills: -1\n refresh-min: 12h\n refresh-max: 2d\n alt-item-despawn-rate:\n enabled: false\n items:\n COBBLESTONE: 300\n hopper:\n cooldown-when-full: true\n disable-move-event: false\n anti-xray:\n enabled: false\n engine-mode: 1\n chunk-edge-mode: 2\n max-chunk-section-index: 3\n update-radius: 2\n hidden-blocks:\n - gold_ore\n - iron_ore\n - coal_ore\n - lapis_ore\n - mossy_cobblestone\n - obsidian\n - chest\n - diamond_ore\n - redstone_ore\n - clay\n - emerald_ore\n - ender_chest\n replacement-blocks:\n - stone\n - oak_planks\n generator-settings:\n flat-bedrock: false\n squid-spawn-height:\n maximum: 0.0"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/download": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Download file",
|
|
"operationId": "get-download-file",
|
|
"description": "Generates a one-time link to download the specified file\n\n## Available parameters\n| Parameter | Description |\n|-----------|------------------------------|\n| file | URL encoded path to the desired file |",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "file",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"example": "/eula.txt"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "signed_url",
|
|
"attributes": {
|
|
"url": "https://pterodactyl.file.properties:8080/download/file?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IjdkYzAxNzVjODU4MTE5MDRlMjJjNTcxNjBhMjkwMjgwZGFjMDMzM2I2ZmJhMTE3YTI4YjdhMDM5Y2U1OTg0YzcifQ.eyJpc3MiOiJodHRwczpcL1wvcHRlcm9kYWN0eWwuZmlsZS5wcm9wZXJ0aWVzIiwiYXVkIjoiaHR0cHM6XC9cL3B0ZXJvZGFjdHlsLmZpbGUucHJvcGVydGllczo4MDgwIiwianRpIjoiN2RjMDE3NWM4NTgxMTkwNGUyMmM1NzE2MGEyOTAyODBkYWMwMzMzYjZmYmExMTdhMjhiN2EwMzljZTU5ODRjNyIsImlhdCI6MTU5NDY0ODEwMCwibmJmIjoxNTk0NjQ3ODAwLCJleHAiOjE1OTQ2NDkwMDAsImZpbGVfcGF0aCI6IlwvZXVsYS50eHQiLCJzZXJ2ZXJfdXVpZCI6IjFhN2NlOTk3LTI1OWItNDUyZS04YjRlLWNlY2M0NjQxNDJjYSIsInVuaXF1ZV9pZCI6IlNvWUdIamNaNmhKUVlieHUifQ.h4eBmxDXf-4GAwVuAWZFU5QTqd62jw7HTre4aKQGpvw"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/rename": {
|
|
"put": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Rename file",
|
|
"operationId": "put-rename-file",
|
|
"description": "Renames the specified file(s) or folder(s)",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"root": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"from": {
|
|
"type": "string"
|
|
},
|
|
"to": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"root": "/",
|
|
"files": [
|
|
{
|
|
"from": "data",
|
|
"to": "abc"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/copy": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Copy file",
|
|
"operationId": "post-copy-file",
|
|
"description": "Copies the specified file",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"location": "/server.properties"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/write": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Write file",
|
|
"operationId": "post-write-file",
|
|
"description": "Writes data to the specified file\n\n## Available parameters\n| Parameter | Description |\n|-----------|--------------------------------------|\n| file | URL encoded path to the desired file |",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "file",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"example": "/eula.txt"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/compress": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Compress file",
|
|
"operationId": "post-compress-file",
|
|
"description": "Compresses the specified file",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"root": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"root": "/",
|
|
"files": [
|
|
"abc"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"type": "string"
|
|
},
|
|
"size": {
|
|
"type": "integer"
|
|
},
|
|
"is_file": {
|
|
"type": "boolean"
|
|
},
|
|
"is_symlink": {
|
|
"type": "boolean"
|
|
},
|
|
"is_editable": {
|
|
"type": "boolean"
|
|
},
|
|
"mimetype": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"modified_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "file_object",
|
|
"attributes": {
|
|
"name": "archive-2020-08-23T220805Z.tar.gz",
|
|
"mode": "-rw-------",
|
|
"size": 0,
|
|
"is_file": true,
|
|
"is_symlink": false,
|
|
"is_editable": false,
|
|
"mimetype": "application/tar+gzip",
|
|
"created_at": "2020-08-23T22:08:05+00:00",
|
|
"modified_at": "2020-08-23T22:08:05+00:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/decompress": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Decompress file",
|
|
"operationId": "post-decompress-file",
|
|
"description": "Decompresses the selected file",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"root": {
|
|
"type": "string"
|
|
},
|
|
"file": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"root": "/",
|
|
"file": "archive-2020-08-23T220655Z.tar.gz"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/delete": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Delete file",
|
|
"operationId": "post-delete-file",
|
|
"description": "Deletes the specified file(s) or folder(s)",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"root": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"root": "/maps",
|
|
"files": [
|
|
"worlds"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/create-folder": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Create folder",
|
|
"operationId": "post-create-folder",
|
|
"description": "Creates the specified folder in the specified directory",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"root": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"root": "/maps",
|
|
"name": "worlds"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/upload": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Upload file",
|
|
"operationId": "get-upload-file",
|
|
"description": "Returns a signed URL used to upload files to the server using POST",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "signed_url",
|
|
"attributes": {
|
|
"url": "https://pterodactyl.file.properties:8080/upload/file?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IjdkYzAxNzVjODU4MTE5MDRlMjJjNTcxNjBhMjkwMjgwZGFjMDMzM2I2ZmJhMTE3YTI4YjdhMDM5Y2U1OTg0YzcifQ.eyJpc3MiOiJodHRwczpcL1wvcHRlcm9kYWN0eWwuZmlsZS5wcm9wZXJ0aWVzIiwiYXVkIjoiaHR0cHM6XC9cL3B0ZXJvZGFjdHlsLmZpbGUucHJvcGVydGllczo4MDgwIiwianRpIjoiN2RjMDE3NWM4NTgxMTkwNGUyMmM1NzE2MGEyOTAyODBkYWMwMzMzYjZmYmExMTdhMjhiN2EwMzljZTU5ODRjNyIsImlhdCI6MTU5ODIyMTMyMSwibmJmIjoxNTk4MjIxMDIxLCJleHAiOjE1OTgyMjIyMjEsInNlcnZlcl91dWlkIjoiMWE3Y2U5OTctMjU5Yi00NTJlLThiNGUtY2VjYzQ2NDE0MmNhIiwidW5pcXVlX2lkIjoiNmM2OFdkSkJTVzg0RlBsUiJ9.GJ5681K9ehhPCcXevyxw-RO1jhv4UWg5T8b_P7r6s8Q"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/databases/{database}/rotate-password": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Databases"
|
|
],
|
|
"summary": "Rotate password",
|
|
"operationId": "post-rotate-password",
|
|
"description": "Changes the password of a specified database",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "database",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Database ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"host": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"connections_from": {
|
|
"type": "string"
|
|
},
|
|
"max_connections": {
|
|
"type": "integer"
|
|
},
|
|
"relationships": {
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "server_database",
|
|
"attributes": {
|
|
"id": "y9YVxO4V",
|
|
"host": {
|
|
"address": "127.0.0.1",
|
|
"port": 3306
|
|
},
|
|
"name": "s5_punishments",
|
|
"username": "u5_aeZqbGdCM9",
|
|
"connections_from": "%",
|
|
"max_connections": 0,
|
|
"relationships": {
|
|
"password": {
|
|
"object": "database_password",
|
|
"attributes": {
|
|
"password": "vnFKXlJ.p77!EiGR+Kd3muB."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/databases/{database}": {
|
|
"delete": {
|
|
"tags": [
|
|
"Client - Server - Databases"
|
|
],
|
|
"summary": "Delete database",
|
|
"operationId": "delete-delete-database",
|
|
"description": "Deletes the specified database",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "database",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Database ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/account": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "Account details",
|
|
"operationId": "get-account-details",
|
|
"description": "Retrieves information about the account",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"admin": {
|
|
"type": "boolean"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "user",
|
|
"attributes": {
|
|
"id": 1,
|
|
"admin": true,
|
|
"username": "admin",
|
|
"email": "example@example.com",
|
|
"first_name": "Admin",
|
|
"last_name": "User",
|
|
"language": "en"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/account/two-factor": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "2FA details",
|
|
"operationId": "get-2fa-details",
|
|
"description": "Generates a TOTP QR code image to allow the setup of 2FA",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"image_url_data": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"data": {
|
|
"image_url_data": "otpauth://totp/Pterodactyl:example%40example.com?secret=LGYOWJEGVRPPGPWATP5ZHOYC7DHAYQ6S&issuer=Pterodactyl"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "Enable 2FA",
|
|
"operationId": "post-enable-2fa",
|
|
"description": "Enables TOTP 2FA using the QR code generated by the GET request\n\nUses code generated from `GET /account/two-factor`",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "string",
|
|
"description": "TOTP Code"
|
|
}
|
|
},
|
|
"required": [
|
|
"code"
|
|
]
|
|
},
|
|
"example": {
|
|
"code": "505134"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tokens": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "recovery_tokens",
|
|
"attributes": {
|
|
"tokens": [
|
|
"MpBjHH8O08",
|
|
"D9H0hktN6L",
|
|
"ho8KiUpeV8",
|
|
"06vZEfrYPf",
|
|
"nFRySZ2ryh",
|
|
"7K1cTrhGoV",
|
|
"n6xpwwlJfv",
|
|
"hAmyCsZxYO",
|
|
"5FiMKFyNpH",
|
|
"IViSFoRFvW"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"detail": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"errors": [
|
|
{
|
|
"code": "TwoFactorAuthenticationTokenInvalid",
|
|
"status": "400",
|
|
"detail": "The token provided is not valid."
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/account/email": {
|
|
"put": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "Update email",
|
|
"operationId": "put-update-email",
|
|
"description": "Updates the email address of the account",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"description": "New email"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"description": "Existing password"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"password"
|
|
]
|
|
},
|
|
"example": {
|
|
"email": "example@xample.com",
|
|
"password": "Password"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Successful"
|
|
},
|
|
"400": {
|
|
"description": "// Invalid password\n{\n \"errors\": [\n {\n \"code\": \"InvalidPasswordProvidedException\",\n \"status\": \"400\",\n \"detail\": \"The password provided was invalid for this account.\"\n }\n ]\n}"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/account/password": {
|
|
"put": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "Update password",
|
|
"operationId": "put-update-password",
|
|
"description": "Updates the password of the account",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_password": {
|
|
"type": "string",
|
|
"description": "Existing password"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"description": "New password"
|
|
},
|
|
"password_confirmation": {
|
|
"type": "string",
|
|
"description": "Confirm new password"
|
|
}
|
|
},
|
|
"required": [
|
|
"current_password",
|
|
"password",
|
|
"password_confirmation"
|
|
]
|
|
},
|
|
"example": {
|
|
"current_password": "Password",
|
|
"password": "password",
|
|
"password_confirmation": "password"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/account/api-keys": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "List API keys",
|
|
"operationId": "get-list-api-keys",
|
|
"description": "Retries a list of API keys",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"identifier": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"allowed_ips": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"last_used_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "api_key",
|
|
"attributes": {
|
|
"identifier": "wwQ5DJ6X1XaFznQS",
|
|
"description": "API Docs",
|
|
"allowed_ips": [],
|
|
"last_used_at": "2020-06-03T15:04:47+01:00",
|
|
"created_at": "2020-05-18T00:12:43+01:00"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "Create API key",
|
|
"operationId": "post-create-api-key",
|
|
"description": "Generates a new API key",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string",
|
|
"description": "Note for the API key"
|
|
}
|
|
},
|
|
"required": [
|
|
"description"
|
|
]
|
|
},
|
|
"example": {
|
|
"description": "Restricted IPs",
|
|
"allowed_ips": [
|
|
"127.0.0.1",
|
|
"192.168.0.1"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"identifier": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"allowed_ips": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"last_used_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secret_token": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "api_key",
|
|
"attributes": {
|
|
"identifier": "yjAZbHMyKrv9YRZ0",
|
|
"description": "Restricted IPs",
|
|
"allowed_ips": [
|
|
"127.0.0.1",
|
|
"192.168.0.1"
|
|
],
|
|
"last_used_at": null,
|
|
"created_at": "2020-08-17T04:44:42+01:00"
|
|
},
|
|
"meta": {
|
|
"secret_token": "wiHiMbmgjLOkA2fPzRD6KdMe7Q9Cqaka"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/account/api-keys/{api_key}": {
|
|
"delete": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "Delete API key",
|
|
"operationId": "delete-delete-api-key",
|
|
"description": "Deletes the specified API key",
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
},
|
|
"404": {
|
|
"description": "// Non existing API key\n{\n \"errors\": [\n {\n \"code\": \"NotFoundHttpException\",\n \"status\": \"404\",\n \"detail\": \"An error was encountered while processing this request.\"\n }\n ]\n}"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "api_key",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "API key identifier",
|
|
"example": "NWKMYMT2Mrav0Iq2"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/account/ssh-keys": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "List SSH keys",
|
|
"operationId": "get-list-ssh-keys",
|
|
"description": "Returns all SSH keys on the authenticated user's account",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"fingerprint": {
|
|
"type": "string"
|
|
},
|
|
"public_key": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "ssh_key",
|
|
"attributes": {
|
|
"name": "my-key",
|
|
"fingerprint": "jwNan4mvlewsaCP5p7YKVgALQGUBiOCcKViJIGIrktQ",
|
|
"public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI...",
|
|
"created_at": "2026-02-22T15:23:33+01:00"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "Create SSH key",
|
|
"operationId": "post-create-ssh-key",
|
|
"description": "Adds an SSH key to the user's account. Used for SFTP authentication. Requires a 2048+ bit RSA key or an ECDSA/Ed25519 key.",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"public_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"public_key"
|
|
]
|
|
},
|
|
"example": {
|
|
"name": "my-key",
|
|
"public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... user@host"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"fingerprint": {
|
|
"type": "string"
|
|
},
|
|
"public_key": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "ssh_key",
|
|
"attributes": {
|
|
"name": "my-key",
|
|
"fingerprint": "jwNan4mvlewsaCP5p7YKVgALQGUBiOCcKViJIGIrktQ",
|
|
"public_key": "-----BEGIN PUBLIC KEY-----\r\nMCowBQYDK2VwAyEA...\r\n-----END PUBLIC KEY-----",
|
|
"created_at": "2026-02-22T15:23:33+01:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/account/ssh-keys/remove": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "Remove SSH key",
|
|
"operationId": "post-remove-ssh-key",
|
|
"description": "Removes an SSH key from the user's account by its fingerprint",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fingerprint": {
|
|
"type": "string",
|
|
"description": "The fingerprint of the SSH key to remove"
|
|
}
|
|
},
|
|
"required": [
|
|
"fingerprint"
|
|
]
|
|
},
|
|
"example": {
|
|
"fingerprint": "jwNan4mvlewsaCP5p7YKVgALQGUBiOCcKViJIGIrktQ"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/account/activity": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "Account activity",
|
|
"operationId": "get-account-activity",
|
|
"description": "Returns the activity log for the authenticated user's account",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"batch": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"event": {
|
|
"type": "string"
|
|
},
|
|
"is_api": {
|
|
"type": "boolean"
|
|
},
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"properties": {
|
|
"type": "object"
|
|
},
|
|
"has_additional_metadata": {
|
|
"type": "boolean"
|
|
},
|
|
"timestamp": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "activity_log",
|
|
"attributes": {
|
|
"id": "c7d4d572c5422d89a66408a1facd4e06cb4f65dd",
|
|
"batch": null,
|
|
"event": "auth:success",
|
|
"is_api": false,
|
|
"ip": "82.73.127.188",
|
|
"description": null,
|
|
"properties": {
|
|
"ip": "82.73.127.188",
|
|
"useragent": "Mozilla/5.0 ..."
|
|
},
|
|
"has_additional_metadata": false,
|
|
"timestamp": "2025-12-01T23:10:45+01:00"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/activity": {
|
|
"get": {
|
|
"tags": [
|
|
"Client - Server"
|
|
],
|
|
"summary": "Server activity",
|
|
"operationId": "get-server-activity",
|
|
"description": "Returns the activity log for the specified server",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"batch": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"event": {
|
|
"type": "string"
|
|
},
|
|
"is_api": {
|
|
"type": "boolean"
|
|
},
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"properties": {
|
|
"type": "object"
|
|
},
|
|
"has_additional_metadata": {
|
|
"type": "boolean"
|
|
},
|
|
"timestamp": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "list",
|
|
"data": [
|
|
{
|
|
"object": "activity_log",
|
|
"attributes": {
|
|
"id": "abc123",
|
|
"batch": null,
|
|
"event": "server:power.start",
|
|
"is_api": false,
|
|
"ip": "82.73.127.188",
|
|
"description": null,
|
|
"properties": {},
|
|
"has_additional_metadata": false,
|
|
"timestamp": "2025-12-01T23:10:45+01:00"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/backups/{backup}/lock": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Backups"
|
|
],
|
|
"summary": "Toggle backup lock",
|
|
"operationId": "post-toggle-backup-lock",
|
|
"description": "Toggles the locked status of a backup. A locked backup cannot be deleted by the automatic backup rotation.",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "backup",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Backup UUID",
|
|
"example": "904df120-a66f-4375-a4ae-40eedbeae630"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"is_successful": {
|
|
"type": "boolean"
|
|
},
|
|
"is_locked": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"ignored_files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"checksum": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"bytes": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"completed_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"example": {
|
|
"object": "backup",
|
|
"attributes": {
|
|
"uuid": "b25bd2e3-4fbf-4ef3-8590-ad451364ee1c",
|
|
"is_successful": true,
|
|
"is_locked": true,
|
|
"name": "backup",
|
|
"ignored_files": [],
|
|
"checksum": "sha1:898e2b835849de8243616c104f4edf21160a79ef",
|
|
"bytes": 538508593,
|
|
"created_at": "2025-04-27T21:35:40+02:00",
|
|
"completed_at": "2025-04-27T21:36:03+02:00"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/backups/{backup}/restore": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Backups"
|
|
],
|
|
"summary": "Restore backup",
|
|
"operationId": "post-restore-backup",
|
|
"description": "Restores a backup to the server. Existing files will be overwritten. Returns 400 if the backup has not completed, or if the server is currently installing, transferring, or restoring a different backup.",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "backup",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Backup UUID",
|
|
"example": "904df120-a66f-4375-a4ae-40eedbeae630"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"truncate": {
|
|
"type": "boolean",
|
|
"description": "Whether to delete all files before restoring the backup"
|
|
}
|
|
},
|
|
"required": [
|
|
"truncate"
|
|
]
|
|
},
|
|
"example": {
|
|
"truncate": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/chmod": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Change file permissions",
|
|
"operationId": "post-chmod-file",
|
|
"description": "Updates file permissions for one or more files in the given directory",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"root": {
|
|
"type": "string",
|
|
"description": "Base directory of the files"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"file",
|
|
"mode"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"files"
|
|
]
|
|
},
|
|
"example": {
|
|
"root": "/",
|
|
"files": [
|
|
{
|
|
"file": "server.properties",
|
|
"mode": 644
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/files/pull": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - File Manager"
|
|
],
|
|
"summary": "Pull remote file",
|
|
"operationId": "post-pull-file",
|
|
"description": "Downloads a file from an external URL to the server",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"directory": {
|
|
"type": "string",
|
|
"description": "Directory to save the file in"
|
|
},
|
|
"filename": {
|
|
"type": "string",
|
|
"description": "Override the filename"
|
|
},
|
|
"use_header": {
|
|
"type": "string",
|
|
"description": "Use the filename from the response headers"
|
|
},
|
|
"foreground": {
|
|
"type": "boolean",
|
|
"description": "Whether to download in the foreground"
|
|
}
|
|
},
|
|
"required": [
|
|
"url"
|
|
]
|
|
},
|
|
"example": {
|
|
"url": "https://example.com/server-plugin.jar",
|
|
"directory": "/plugins",
|
|
"filename": "plugin.jar"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/schedules/{schedule}/execute": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Server - Schedules"
|
|
],
|
|
"summary": "Execute schedule",
|
|
"operationId": "post-execute-schedule",
|
|
"description": "Triggers a schedule to run now, regardless of its cron timing",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
},
|
|
{
|
|
"name": "schedule",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Schedule ID",
|
|
"example": 1
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/servers/{server}/settings/docker-image": {
|
|
"put": {
|
|
"tags": [
|
|
"Client - Server - Settings"
|
|
],
|
|
"summary": "Update Docker image",
|
|
"operationId": "put-update-docker-image",
|
|
"description": "Changes the Docker image the server runs with. The image must be one of the images allowed by the server's egg. Returns 400 if the image was manually set by an admin.",
|
|
"parameters": [
|
|
{
|
|
"name": "server",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "Server identifier (short 8-character ID)",
|
|
"example": "1a7ce997"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"docker_image": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"docker_image"
|
|
]
|
|
},
|
|
"example": {
|
|
"docker_image": "ghcr.io/pterodactyl/yolks:java_21"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/client/account/two-factor/disable": {
|
|
"post": {
|
|
"tags": [
|
|
"Client - Account"
|
|
],
|
|
"summary": "Disable 2FA",
|
|
"operationId": "post-disable-2fa",
|
|
"description": "Disables two-factor authentication on the account",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "string",
|
|
"description": "Account password"
|
|
}
|
|
},
|
|
"required": [
|
|
"password"
|
|
]
|
|
},
|
|
"example": {
|
|
"password": "yourpassword"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ClientToken": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/application/nodes/deployable": {
|
|
"get": {
|
|
"tags": [
|
|
"Application - Nodes"
|
|
],
|
|
"summary": "List deployable nodes",
|
|
"operationId": "get-deployable-nodes",
|
|
"description": "Returns nodes that have enough resources for a new server with the given requirements",
|
|
"parameters": [
|
|
{
|
|
"name": "memory",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Required memory in MB",
|
|
"example": 512
|
|
},
|
|
{
|
|
"name": "disk",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "Required disk space in MB",
|
|
"example": 1024
|
|
},
|
|
{
|
|
"name": "location_ids[]",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"description": "Filter by location IDs"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"uuid": {
|
|
"type": "string"
|
|
},
|
|
"public": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"location_id": {
|
|
"type": "integer"
|
|
},
|
|
"fqdn": {
|
|
"type": "string"
|
|
},
|
|
"scheme": {
|
|
"type": "string"
|
|
},
|
|
"behind_proxy": {
|
|
"type": "boolean"
|
|
},
|
|
"maintenance_mode": {
|
|
"type": "boolean"
|
|
},
|
|
"memory": {
|
|
"type": "integer"
|
|
},
|
|
"memory_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"disk": {
|
|
"type": "integer"
|
|
},
|
|
"disk_overallocate": {
|
|
"type": "integer"
|
|
},
|
|
"upload_size": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_listen": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_sftp": {
|
|
"type": "integer"
|
|
},
|
|
"daemon_base": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApplicationToken": []
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"securitySchemes": {
|
|
"ClientToken": {
|
|
"type": "http",
|
|
"scheme": "bearer",
|
|
"description": "Client API key (generated at /account/api)"
|
|
},
|
|
"ApplicationToken": {
|
|
"type": "http",
|
|
"scheme": "bearer",
|
|
"description": "Application API key (generated at /admin/api)"
|
|
}
|
|
}
|
|
}
|
|
} |