Change a server's resources
const url = 'https://example.com/api/v1/servers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PATCH', headers: { cookie: '__Host-shardkeep_session=<__Host-shardkeep_session>', 'Content-Type': 'application/json' }, body: '{"resources":{"cpuMillis":1,"memoryBytes":1},"inNetwork":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://example.com/api/v1/servers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Content-Type: application/json' \ --cookie __Host-shardkeep_session=<__Host-shardkeep_session> \ --data '{ "resources": { "cpuMillis": 1, "memoryBytes": 1 }, "inNetwork": true }'Needs servers.update, and the server must be READY (phase_busy otherwise). The new CPU and memory reservation
must fit on the server’s Node, its current reservation excluded (insufficient_capacity). This makes a new
generation; a running server restarts gracefully to apply it, since the JVM sizes its heap at start.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
A reservation, held even while the server is idle.
object
CPU in thousandths of a core.
Join or leave the network. A running server takes it at its next start (RESTART_PENDING until then); it leaves the lobby when it leaves the network.
Examplegenerated
{ "resources": { "cpuMillis": 1, "memoryBytes": 1 }, "inNetwork": true}Responses
Section titled “Responses”Change accepted.
object
VELOCITY_PROXY is the network’s proxy, created with POST /network/proxy.
A network member, which players reach through the proxy (Paper, Purpur and Folia only).
Increases with every change to the desired spec.
The workflow the Controller is running.
What the server runs. A Shardkeep template, never a container image.
object
A reservation, held even while the server is idle.
object
CPU in thousandths of a core.
object
object
Zero disables automatic restarts.
Observed state, written only from Agent reports.
object
Absent until the Agent first reports.
object
CPU in thousandths of a core.
Why observed state differs from desired state, or why a Node is under pressure.
object
Machine-readable cause, such as DISK_PRESSURE. New reasons may appear; treat unknown ones as unrecognised conditions.
How observed state relates to desired state. UNKNOWN while the Node is unreachable.
Example
{ "kind": "MINECRAFT_SERVER", "desiredState": "RUNNING", "phase": "PROVISIONING", "software": { "template": "paper", "version": "1.21.4" }, "ports": [ { "name": "game", "protocol": "TCP" } ], "status": { "runtimeState": "STOPPED", "conditions": [ { "source": "AGENT" } ] }, "convergence": "CONVERGED"}The request is invalid.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Not signed in, or the credentials are invalid.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Signed in, but not allowed.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Not found, or not visible to you.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Clashes with existing data or state.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Shardkeep is free software under the AGPL-3.0. Minecraft is a trademark of Mojang AB; Shardkeep is not affiliated with or endorsed by Mojang or Microsoft.