Part of Org Staff Containers.
| Method |
Path |
Summary |
| GET |
/api/v1/orgs/{org_slug}/staff/servers |
Staff fleet |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/bulk |
Suspend, unsuspend, terminate, or ban the owners of, a selection of this brand's servers |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/heal-installs |
Staff heal installs |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/live |
Live state, usage and players for the brand's servers on one screen |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/stats |
How many servers sit in each bucket, and the nodes they sit on |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid} |
Staff server detail |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations |
Staff list allocations |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations |
Staff create allocation |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations/available-ports |
Staff available ports |
| DELETE |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations/{allocation_id} |
Staff delete allocation |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations/{allocation_id}/primary |
Staff set primary allocation |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations/{allocation_id}/publish-port |
Publish a port on 25565 / 19132 of the customer's floating IP, or clear it |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/backups |
Staff list backups |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/backups |
Staff create backup |
| DELETE |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/backups/{backup_uuid} |
Staff delete backup |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/backups/{backup_uuid}/lock |
Staff toggle backup lock |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/backups/{backup_uuid}/restore |
Staff restore backup |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/command |
Staff command |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases |
Staff list databases |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases |
Staff create database |
| DELETE |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases/{database_id} |
Staff delete database |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases/{database_id}/credentials |
Staff database credentials |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases/{database_id}/retry |
Staff retry database |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases/{database_id}/rotate-password |
Staff rotate database password |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/chmod |
Staff chmod files |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/compress |
Staff compress files |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/contents |
A file's text; below Tier 3, only inside logs/ and crash-reports/ |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/copy |
Staff copy file |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/decompress |
Staff decompress file |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/delete |
Staff delete files |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/download |
One file, streamed; below Tier 3, only inside logs/ and crash-reports/ |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/list |
A directory; below Tier 3, only inside logs/ and crash-reports/ |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/mkdir |
Staff mkdir |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/pull |
Staff pull file |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/pull/status |
Staff pull status |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/rename |
Staff rename files |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/upload |
Staff upload files |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/write |
Staff write file |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/heal-install |
Run the platform's install self-healing on one of this brand's servers |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/install-log |
Staff install log |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/permissions |
Staff grantable permissions |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/power |
Staff power |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/reinstall |
Staff reinstall |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/resources |
Staff resources |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/retry-install |
Run the install again for a server in installfailed or stuck installing |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules |
Staff list schedules |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules/{schedule_uuid} |
Staff get schedule |
| DELETE |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules/{schedule_uuid} |
Staff delete schedule |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules/{schedule_uuid}/execute |
Staff execute schedule |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules/{schedule_uuid}/runs |
Staff schedule runs |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules/{schedule_uuid}/toggle |
Pause a schedule that is hurting the server, or resume one |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/sleep |
Sleep and start-queue state of a free server; policy: none for a paid one |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots |
Staff list snapshots |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots |
Staff create snapshot |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/estimate |
Staff snapshot estimate |
| DELETE |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/{snapshot_uuid} |
Staff delete snapshot |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/{snapshot_uuid}/download |
Staff download snapshot |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/{snapshot_uuid}/lock |
Staff toggle snapshot lock |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/{snapshot_uuid}/restore |
Staff restore snapshot |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/software |
Staff installed software |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/catalog |
Staff software catalog |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/catalog/{key}/versions |
Staff software catalog versions |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/change |
Staff change software |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/context |
Staff software context |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/installs |
Staff software installs |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/installs/{install_uuid}/cancel |
Staff cancel install |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/installs/{install_uuid}/retry |
Staff retry install |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/startup |
How the server starts: runtime, command (override and default), variables |
| PATCH |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/startup |
Change the runtime, the startup command or the variables |
| PATCH |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/startup-variables |
Staff patch startup variables |
| PATCH |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/subdomain |
Staff patch subdomain |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/users |
Staff list subusers |
| PUT |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/users/{subuser_id} |
Staff update subuser |
| DELETE |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/users/{subuser_id} |
Staff remove subuser |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/wake |
Start a sleeping free server on the customer's behalf |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/wake-queue/kick |
Staff kick wake |
| GET |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/websocket |
The live console |
GET /api/v1/orgs/{org_slug}/staff/servers
Every container behind one of this brand's services, failing installs
first, newest after that. Tier 2 and above; everything that acts on a
server from here is Tier 3. FleetFilters narrows it further: by name,
owner, software, creation day, extra ports or uptime, all optional.
status is the admin list's two filters in one word (:data:STATUS_WORDS):
a power word matches what the daemon was last seen doing, never the
lifecycle column, which reads running for a stopped server too.
sort orders the whole fleet, not the page, by one of
:data:FLEET_SORT_KEYS, which are the admin list's words. Every key but
players and join_address is a column; those two are decided from
the proxies' snapshot and the gameproxy routes over every matching id
before the page is cut, unknown last.
| Name |
In |
Type |
Required |
Description |
org_slug |
path |
string |
yes |
|
q |
query |
string or null |
no |
|
status |
query |
string or null |
no |
One bucket. The daemon's recorded power state, among servers whose lifecycle lets them run: running, offline, starting, stopping, unknown (never read). The lifecycle: installing, install_failed, suspended, transferring. The console's: attention, watch, free. Unset or all: every server. |
node_id |
query |
integer or null |
no |
|
customer_id |
query |
integer or null |
no |
|
customer_ids |
query |
string or null |
no |
Comma-separated; the servers of a selection of customers, for review |
audience |
query |
string or null |
no |
|
sort |
query |
string or null |
no |
Order the brand's fleet by: created, updated, name, status, players, join_address, ip, port, node, owner, template, cpu, memory, disk (in use), cpu_limit, memory_limit, disk_limit, uptime, id. Unset keeps failing installs first, newest after. |
dir |
query |
string or null |
no |
asc or desc; each key has its own default (names ascending, figures descending). |
limit |
query |
integer |
no |
Default: 50. |
offset |
query |
integer |
no |
Default: 0. |
name |
query |
string or null |
no |
|
owner |
query |
string or null |
no |
|
software |
query |
string or null |
no |
|
created_after |
query |
string (date) or null |
no |
|
created_before |
query |
string (date) or null |
no |
|
min_extra_ports |
query |
integer or null |
no |
|
up_days_min |
query |
integer or null |
no |
|
cpu_window |
query |
string |
no |
Default: 1h. |
cpu_min |
query |
number or null |
no |
|
cpu_of_limit_min |
query |
integer or null |
no |
|
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/bulk
Suspend, unsuspend, terminate, or ban the owners of, a selection of
this brand's servers.
Support may suspend and unsuspend, as they can order by order. Anything
that ends a server or an account (terminate, ban, a suspension with a
deletion date) takes an org admin who has stepped up in the last ten
minutes, the same gate the single-order terminate and the customer
standing change have. Servers outside the brand or already ending are
skipped and listed in the answer, not refused.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
uuids |
array of string |
yes |
action |
string |
yes |
reason |
string |
yes |
delete_after_days |
integer or null |
no |
open_ticket |
boolean |
no |
notify_customer |
boolean |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/heal-installs
Heal every broken install behind this brand's services, oldest first:
install_failed rows and installing rows nothing has driven for 45 s.
| Name |
In |
Type |
Required |
Description |
org_slug |
path |
string |
yes |
|
limit |
query |
integer |
no |
Default: 25. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/live
Live state, usage and players for the brand's servers on one screen.
The admin list's /servers/live for the brand: items maps each UUID
the daemons answered for to state (the daemon's word, or missing
when it no longer knows the server), usage (the same shape as a list
row's, measured just now), players_online and join_address. A
server with no answer is left out and degraded is true; the page
keeps what it had.
Only UUIDs behind one of this brand's services are asked about. One from
another brand is dropped before any daemon is spoken to and never
answered, not even with an error, so the poll cannot be used to learn
which UUIDs exist elsewhere.
| Name |
In |
Type |
Required |
Description |
org_slug |
path |
string |
yes |
|
uuids |
query |
string |
yes |
Comma-separated server UUIDs, the rows on screen; at most 100. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/stats
How many servers sit in each bucket, and the nodes they sit on.
A power word counts the servers its filter lists: the daemon's recorded
word, among servers whose lifecycle lets them run.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
audience |
query |
string or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}
One server as staff see it, with the customer who owns it named:
customer_email and customer_name (first and last name, null
when the account has neither) come off the one customer row the record
already loads.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json
| Field |
Type |
Required |
port |
integer or null |
no |
notes |
string or null |
no |
on_dedicated_ip |
boolean |
no |
| Status |
Meaning |
201 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations/available-ports
| Name |
In |
Type |
Required |
Description |
uuid |
path |
string |
yes |
|
org_slug |
path |
string |
yes |
|
limit |
query |
integer |
no |
Default: 50. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
DELETE /api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations/{allocation_id}
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
allocation_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations/{allocation_id}/primary
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
allocation_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/allocations/{allocation_id}/publish-port
Publish a port on 25565 / 19132 of the customer's floating IP, or clear it.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
allocation_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
application/json
| Field |
Type |
Required |
port |
integer or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/backups
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/backups
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json
| Field |
Type |
Required |
name |
string |
yes |
ignored_files |
array of string or null |
no |
is_locked |
boolean |
no |
| Status |
Meaning |
201 |
Success. |
422 |
The request is not valid. detail lists each problem. |
DELETE /api/v1/orgs/{org_slug}/staff/servers/{uuid}/backups/{backup_uuid}
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
backup_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/backups/{backup_uuid}/lock
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
backup_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/backups/{backup_uuid}/restore
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
backup_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/command
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
command |
query |
string or null |
no |
application/json
| Field |
Type |
Required |
command |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
Idempotency-Key |
header |
string or null |
no |
application/json
Type: object or null.
| Status |
Meaning |
201 |
Success. |
422 |
The request is not valid. detail lists each problem. |
DELETE /api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases/{database_id}
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
database_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases/{database_id}/credentials
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
database_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases/{database_id}/retry
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
database_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/databases/{database_id}/rotate-password
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
database_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/chmod
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
root |
string |
no |
files |
array of object |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/compress
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
root |
string |
no |
files |
array of string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/contents
A file's text; below Tier 3, only inside logs/ and crash-reports/.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
path |
query |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/copy
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
location |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/decompress
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
root |
string |
no |
file |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/delete
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
root |
string |
no |
files |
array of string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/download
One file, streamed; below Tier 3, only inside logs/ and crash-reports/.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
path |
query |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/list
A directory; below Tier 3, only inside logs/ and crash-reports/.
| Name |
In |
Type |
Required |
Description |
uuid |
path |
string |
yes |
|
org_slug |
path |
string |
yes |
|
directory |
query |
string |
no |
Default: /. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/mkdir
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
root |
string |
no |
name |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/pull
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
url |
string |
yes |
destination_path |
string |
yes |
filename |
string or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/pull/status
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/rename
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
root |
string |
no |
files |
array of object |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/upload
| Name |
In |
Type |
Required |
Description |
uuid |
path |
string |
yes |
|
org_slug |
path |
string |
yes |
|
directory |
query |
string |
no |
Default: /. |
multipart/form-data (required)
| Field |
Type |
Required |
files |
array of string (binary) |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/files/write
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
path |
string |
yes |
content |
string |
no |
expected_hash |
string or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/heal-install
Run the platform's install self-healing on one of this brand's servers.
Reads the disk first: files in place means the row is marked running with
nothing reinstalled; otherwise the install is driven again through the
retry ladder. The same code the watchdog runs, so brand staff can clear a
server that broke before it existed.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json
| Field |
Type |
Required |
start_after |
boolean |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/install-log
What the install script printed: the log it leaves in the volume, and
the output recorded off the daemon while it ran. The daemon's own log is
read over SSH on the node and stays with the platform.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/permissions
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/power
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
signal |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/reinstall
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/resources
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/retry-install
Run the install again for a server in install_failed or stuck
installing. Refused for a server in any other state: a reinstall of a
working server is the reinstall route, which wipes it and says so.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
A 200 response is a list; each item has these fields:
| Field |
Type |
[].id |
integer |
[].uuid |
string |
[].server_id |
integer |
[].name |
string |
[].cron_minute |
string |
[].cron_hour |
string |
[].cron_day_of_month |
string |
[].cron_month |
string |
[].cron_day_of_week |
string |
[].is_active |
boolean |
[].only_when_online |
boolean |
[].is_processing |
boolean |
[].timezone |
string |
[].catch_up |
boolean |
[].revision |
integer |
[].current_run_id |
string or null |
[].last_run_status |
string or null |
[].next_run_at |
string (date-time) or null |
[].last_run_at |
string (date-time) or null |
[].last_run_failed |
boolean |
[].last_failure_message |
string or null |
[].created_at |
string (date-time) |
[].updated_at |
string (date-time) or null |
[].tasks |
array of TaskResponse |
[].tasks[].id |
integer |
[].tasks[].sequence_id |
integer |
[].tasks[].action |
string |
[].tasks[].payload |
Payload |
[].tasks[].time_offset |
integer |
[].tasks[].continue_on_failure |
boolean |
[].tasks[].is_queued |
boolean |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules/{schedule_uuid}
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
schedule_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Fields of a 200 response:
| Field |
Type |
id |
integer |
uuid |
string |
server_id |
integer |
name |
string |
cron_minute |
string |
cron_hour |
string |
cron_day_of_month |
string |
cron_month |
string |
cron_day_of_week |
string |
is_active |
boolean |
only_when_online |
boolean |
is_processing |
boolean |
timezone |
string |
catch_up |
boolean |
revision |
integer |
current_run_id |
string or null |
last_run_status |
string or null |
next_run_at |
string (date-time) or null |
last_run_at |
string (date-time) or null |
last_run_failed |
boolean |
last_failure_message |
string or null |
created_at |
string (date-time) |
updated_at |
string (date-time) or null |
tasks |
array of TaskResponse |
tasks[].id |
integer |
tasks[].sequence_id |
integer |
tasks[].action |
string |
tasks[].payload |
Payload |
tasks[].time_offset |
integer |
tasks[].continue_on_failure |
boolean |
tasks[].is_queued |
boolean |
DELETE /api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules/{schedule_uuid}
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
schedule_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules/{schedule_uuid}/execute
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
schedule_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json
| Field |
Type |
Required |
revision |
integer or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules/{schedule_uuid}/runs
| Name |
In |
Type |
Required |
Description |
uuid |
path |
string |
yes |
|
schedule_uuid |
path |
string |
yes |
|
org_slug |
path |
string |
yes |
|
limit |
query |
integer |
no |
Default: 20. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
A 200 response is a list; each item has these fields:
| Field |
Type |
[].uuid |
string |
[].trigger |
string |
[].status |
string |
[].started_at |
string (date-time) or null |
[].finished_at |
string (date-time) or null |
[].failure_message |
string or null |
[].created_at |
string (date-time) or null |
[].steps |
array of ScheduleRunStepResponse |
[].steps[].task_id |
integer |
[].steps[].sequence_id |
integer |
[].steps[].action |
string |
[].steps[].payload |
Payload |
[].steps[].time_offset |
integer |
[].steps[].continue_on_failure |
boolean |
[].steps[].status |
string |
[].steps[].started_at |
string (date-time) or null |
[].steps[].finished_at |
string (date-time) or null |
[].steps[].error |
string or null |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/schedules/{schedule_uuid}/toggle
Pause a schedule that is hurting the server, or resume one.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
schedule_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
is_active |
boolean |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Fields of a 200 response:
| Field |
Type |
id |
integer |
uuid |
string |
server_id |
integer |
name |
string |
cron_minute |
string |
cron_hour |
string |
cron_day_of_month |
string |
cron_month |
string |
cron_day_of_week |
string |
is_active |
boolean |
only_when_online |
boolean |
is_processing |
boolean |
timezone |
string |
catch_up |
boolean |
revision |
integer |
current_run_id |
string or null |
last_run_status |
string or null |
next_run_at |
string (date-time) or null |
last_run_at |
string (date-time) or null |
last_run_failed |
boolean |
last_failure_message |
string or null |
created_at |
string (date-time) |
updated_at |
string (date-time) or null |
tasks |
array of TaskResponse |
tasks[].id |
integer |
tasks[].sequence_id |
integer |
tasks[].action |
string |
tasks[].payload |
Payload |
tasks[].time_offset |
integer |
tasks[].continue_on_failure |
boolean |
tasks[].is_queued |
boolean |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/sleep
Sleep and start-queue state of a free server; policy: none for a paid one.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots
This server's snapshots, or every snapshot the owning account holds
judged for restoring onto this server.
| Name |
In |
Type |
Required |
Description |
uuid |
path |
string |
yes |
|
org_slug |
path |
string |
yes |
|
scope |
query |
string |
no |
Default: this. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json
| Field |
Type |
Required |
name |
string |
yes |
ignored_files |
array of string or null |
no |
is_locked |
boolean |
no |
| Status |
Meaning |
201 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/estimate
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
DELETE /api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/{snapshot_uuid}
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
snapshot_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/{snapshot_uuid}/download
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
snapshot_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/{snapshot_uuid}/lock
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
snapshot_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/{snapshot_uuid}/restore
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
snapshot_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json
| Field |
Type |
Required |
target_server_uuid |
string or null |
no |
truncate |
boolean |
no |
allow_mismatch |
boolean |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/software
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/catalog
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/catalog/{key}/versions
| Name |
In |
Type |
Required |
Description |
uuid |
path |
string |
yes |
|
key |
path |
string |
yes |
|
org_slug |
path |
string |
yes |
|
limit |
query |
integer |
no |
Default: 200. |
include_unsupported |
query |
boolean |
no |
Default: False. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/change
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
Type: Body.
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/context
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/installs
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
status |
query |
string or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/installs/{install_uuid}/cancel
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
install_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/installs/{install_uuid}/retry
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
install_uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/startup
How the server starts: runtime, command (override and default), variables.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PATCH /api/v1/orgs/{org_slug}/staff/servers/{uuid}/startup
Change the runtime, the startup command or the variables. Admin, stepped up.
Applies on the next start; nothing here stops or starts the server.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
runtime_template_slug |
string or null |
no |
startup_command |
string or null |
no |
reset_startup_command |
boolean |
no |
variables |
object or null |
no |
remove_variables |
array of string or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PATCH /api/v1/orgs/{org_slug}/staff/servers/{uuid}/startup-variables
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
variables |
Variables |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PATCH /api/v1/orgs/{org_slug}/staff/servers/{uuid}/subdomain
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
subdomain |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/users
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PUT /api/v1/orgs/{org_slug}/staff/servers/{uuid}/users/{subuser_id}
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
subuser_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
permissions |
array of string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
DELETE /api/v1/orgs/{org_slug}/staff/servers/{uuid}/users/{subuser_id}
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
subuser_id |
path |
integer |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/wake
Start a sleeping free server on the customer's behalf.
No Turnstile: the risk challenge exists to slow down a scripted customer,
and a signed-in staff member is neither.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/wake-queue/kick
Get a free server's stuck start moving: settle it against the daemon
now and, if it is still not up, admit it past the admission gate and
start it. Scoped to the brand's own servers.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/servers/{uuid}/websocket
The live console. Below Tier 3 the relay lets it be watched, not typed
into (STAFF_WATCH_PERMISSIONS in the console relay).
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
Fields of a 200 response:
| Field |
Type |
token |
string |
socket |
string |