Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/thenoname-gurl/EcliPanel/llms.txt

Use this file to discover all available pages before exploring further.

The server endpoints are the core of EcliPanel’s API. Every action the frontend takes against a running game server—power signals, file browsing, real-time console, backups, and database credentials—flows through the routes documented here. All endpoints require a valid session cookie or API key.

Server CRUD

List servers

GET /api/servers Returns every server the authenticated user owns or has sub-user access to.
id
string
UUID of the server.
name
string
Human-readable server name.
status
string
Current power state: running, stopped, starting, stopping.
nodeId
number
ID of the node the server runs on.
suspended
boolean
Whether the server is currently suspended.
curl -X GET https://your-panel.example.com/api/servers \
  -H "Cookie: session=<token>"

Get server details

GET /api/servers/:id
id
string
required
Server UUID.
curl https://your-panel.example.com/api/servers/abc123 \
  -H "Cookie: session=<token>"

Create server

POST /api/servers
Creating a server allocates resources on the target node. Ensure the node has enough capacity before calling this endpoint.
name
string
required
Display name for the server.
nodeId
number
required
ID of the node to deploy the server on.
eggId
number
required
Egg (server type) ID defining the runtime configuration.
memory
number
RAM allocation in megabytes.
disk
number
Disk allocation in megabytes.
cpu
number
CPU limit as a percentage (100 = one vCPU thread).
curl -X POST https://your-panel.example.com/api/servers \
  -H "Cookie: session=<token>" \
  -H "Content-Type: application/json" \
  -d '{"name":"Minecraft SMP","nodeId":1,"eggId":3,"memory":2048,"disk":10240,"cpu":100}'

Update server

PUT /api/servers/:id
id
string
required
Server UUID.
name
string
New display name.
memory
number
New RAM limit in megabytes.
disk
number
New disk limit in megabytes.
cpu
number
New CPU percentage limit.

Delete server

DELETE /api/servers/:id
Deletion is permanent. All server data is removed from the node immediately.
id
string
required
Server UUID.
curl -X DELETE https://your-panel.example.com/api/servers/abc123 \
  -H "Cookie: session=<token>"

Power control

Send power signal

POST /api/servers/:id/power
id
string
required
Server UUID.
signal
string
required
One of start, stop, restart, or kill.
The kill signal immediately terminates the server process without a graceful shutdown.
curl -X POST https://your-panel.example.com/api/servers/abc123/power \
  -H "Cookie: session=<token>" \
  -H "Content-Type: application/json" \
  -d '{"signal":"restart"}'
success
boolean
Whether the signal was dispatched to the node.

Files

List files

GET /api/servers/:id/files
id
string
required
Server UUID.
directory
string
default:"/"
Directory path to list, relative to the server root.
curl "https://your-panel.example.com/api/servers/abc123/files?directory=/plugins" \
  -H "Cookie: session=<token>"
name
string
File or directory name.
size
number
Size in bytes.
isDirectory
boolean
Whether the entry is a directory.
modifiedAt
string
ISO 8601 last-modified timestamp.
Additional file operations are available under the same /api/servers/:id/files/ prefix:
EndpointMethodDescription
/api/servers/:id/files/contentsGETRead file contents
/api/servers/:id/files/downloadGETDownload a file
/api/servers/:id/files/uploadPOSTUpload a file
/api/servers/:id/files/writePOSTWrite content to a file
/api/servers/:id/files/deletePOSTDelete one or more files
/api/servers/:id/files/create-directoryPOSTCreate a directory
/api/servers/:id/files/archivePOSTArchive files into a tarball
/api/servers/:id/files/movePUTMove files
/api/servers/:id/files/renamePUTRename a file
/api/servers/:id/files/chmodPOSTChange file permissions

Monitoring

Get live stats

GET /api/servers/:id/stats Returns current CPU, RAM, and network I/O metrics.
id
string
required
Server UUID.
cpuAbsolute
number
Current CPU usage percentage.
memoryBytes
number
RAM used in bytes.
memoryLimitBytes
number
Configured RAM limit in bytes.
networkRxBytes
number
Total bytes received.
networkTxBytes
number
Total bytes transmitted.
curl https://your-panel.example.com/api/servers/abc123/stats \
  -H "Cookie: session=<token>"

Get server logs

GET /api/servers/:id/logs
id
string
required
Server UUID.
Returns recent console output as a plain-text or JSON array of log lines.

Connect to console (WebSocket)

GET /api/servers/:id/console
This endpoint upgrades to a WebSocket connection. Use ws:// or wss:// as the scheme. Authentication is performed via a short-lived token passed in the token query parameter.
id
string
required
Server UUID.
token
string
required
Short-lived console auth token obtained from /api/servers/:id/websocket.

Backups

List backups

GET /api/servers/:id/backups
id
string
required
Server UUID.
uuid
string
Backup unique identifier.
name
string
Backup name.
bytes
number
Backup size in bytes.
createdAt
string
ISO 8601 creation timestamp.
completedAt
string
ISO 8601 completion timestamp, or null if in progress.

Restore backup

POST /api/servers/:id/backups/:bid/restore
Restoring a backup overwrites the current server files. This action cannot be undone.
id
string
required
Server UUID.
bid
string
required
Backup UUID.
curl -X POST https://your-panel.example.com/api/servers/abc123/backups/bkp-456/restore \
  -H "Cookie: session=<token>"

Databases

List databases

GET /api/servers/:id/databases
id
string
required
Server UUID.
id
number
Database record ID.
name
string
Database name.
host
string
Database host.
port
number
Database port.

Get database credentials

GET /api/servers/:id/databases/:dbId/credentials
id
string
required
Server UUID.
dbId
number
required
Database record ID.

Sub-users

List sub-users

GET /api/servers/:id/subusers Returns all users who have been granted access to the server with their permission set.
id
string
required
Server UUID.
userId
number
Sub-user’s account ID.
email
string
Sub-user’s email address.
permissions
string[]
List of granted permission strings, e.g. files, console, *.

Get sub-user detail

GET /api/servers/:id/subusers/:subId
id
string
required
Server UUID.
subId
number
required
Sub-user record ID.

Build docs developers (and LLMs) love