Files
documentation/openapi.json
2026-04-05 21:28:27 +02:00

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)"
}
}
}
}