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 |
Staff fleet bulk |
| 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} |
Release a port |
| 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}/server-icon |
Staff get server icon |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/server-icon |
Staff upload server icon |
| DELETE |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/server-icon |
Delete /server-icon.png |
| 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 |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/{snapshot_uuid}/cancel |
Cancel a snapshot of this server that is still being taken |
| 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 |
| POST |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/bedrock |
Turn Bedrock crossplay on or off for one of the organization's Java servers |
| PUT |
/api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/bedrock/channel |
Choose where a server's Bedrock crossplay takes Geyser from: release or development |
| 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 |
Change, add or remove the server's startup variables, for its owner |
| 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, and the highest server ID first when two were
created in the same second. 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.
pattern_id keeps the servers of one abuse pattern's accounts. A
servers bulk run (POST /staff/abuse/bulk-runs) with the same filter
acts on exactly the servers this list holds.
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. |
pattern_id |
query |
integer or null |
no |
The servers owned by the accounts of one of this brand's abuse patterns. Another brand's pattern answers 404. |
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 pause 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 changes an account's standing (terminate, ban,
pause, 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. For more than 100 servers, start a bulk run (POST /staff/abuse/bulk-runs).
| 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. The counts cover the
whole brand. They are normally under a minute old, and the first request
after a quiet spell can show numbers a few minutes old. The server list is
always current.
| 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.
grant says where a free server was ordered from: the order's ip,
how the free-tier rules classed it (ip_kind: residential, hosting,
vpn, proxy, tor or private), which source said so (ip_source) and
when (created_at). It is null for a paid server and for a free
server ordered before those rules existed.
| 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}
Release a port. A running server on a bridge-network node keeps it until
it restarts: 409 restart_required unless restart=true.
| Name |
In |
Type |
Required |
Description |
uuid |
path |
string |
yes |
|
allocation_id |
path |
integer |
yes |
|
org_slug |
path |
string |
yes |
|
restart |
query |
boolean |
no |
Restart the running server so it stops publishing the port 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}/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}/server-icon
The server's /server-icon.png: the picture as a data URI, and
whether the game shows it (valid) or why not (problems).
| 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}/server-icon
Convert the uploaded file to a 64×64 PNG with the chosen fit
and write it to /server-icon.png. Audited as server.icon.set.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
multipart/form-data (required)
| Field |
Type |
Required |
Description |
file |
string (binary) |
yes |
|
fit |
string |
no |
cover, contain or stretch. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
DELETE /api/v1/orgs/{org_slug}/staff/servers/{uuid}/server-icon
Delete /server-icon.png. Audited as server.icon.remove.
| 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}/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. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/snapshots/{snapshot_uuid}/cancel
Cancel a snapshot of this server that is still being taken.
Support work, like taking one: a snapshot in flight is no copy of anything
yet, so cancelling it removes nothing the customer had. Delete stays
admin-only. Answers 409 once the snapshot has finished or failed.
| 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. |
POST /api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/bedrock
Turn Bedrock crossplay on or off for one of the organization's Java servers.
The same switch as the customer's own. {"enabled": true} installs Geyser
and Floodgate before this answers and gives Geyser a port of its own.
{"enabled": false} deletes both and returns the port. A body without
enabled turns crossplay off, and an enabled that is not true or
false answers 422. The answer is the crossplay state.
It answers 400 with the reason, and nothing changes, when the server cannot
run Geyser, when GeyserMC's downloads do not answer, or when a plugin cannot
be installed. Needs Tier 3 support or a role above it. Audited as
server.bedrock_bridge.set, a refused request too.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
Description |
enabled |
boolean |
no |
true turns Bedrock crossplay on: Geyser and Floodgate are installed before the request answers. false turns it off and removes both. A body without enabled turns crossplay off. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PUT /api/v1/orgs/{org_slug}/staff/servers/{uuid}/software/bedrock/channel
Choose where a server's Bedrock crossplay takes Geyser from: release or development.
release is GeyserMC's newest release. development is the newest build
of GeyserMC's GitHub build workflow, for a Minecraft version no release
supports yet. With crossplay on, the chosen Geyser is installed before this
answers. With crossplay off, the choice applies when crossplay is turned
on. The answer is the crossplay state, with geyser_channel.
It answers 400 with the reason, and nothing changes, when the builds cannot
be downloaded. Needs Tier 3 support or a role above it. Audited as
server.bedrock_bridge.channel, a refused request too.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
Description |
channel |
string, one of release, development |
yes |
Where Bedrock crossplay takes Geyser from. release is GeyserMC's newest release, the default. development is the newest build of GeyserMC's GitHub build workflow, which supports a new Minecraft version before a release does and has had less testing. |
| 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
Change, add or remove the server's startup variables, for its owner.
Support follows the owner's rule (startup_variables.validate_owner_changes):
variables sets or adds, remove_variables takes away, and 400 names
the variable the rule refuses. The audit row names the keys and never the
values, since one may be a password.
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
variables |
Variables |
no |
remove_variables |
array of string |
no |
| 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 |