Change a server's Minecraft version or build
const url = 'https://example.com/api/v1/servers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/software';const options = { method: 'PUT', headers: { cookie: '__Host-shardkeep_session=<__Host-shardkeep_session>', 'Content-Type': 'application/json' }, body: '{"version":"1.21.4","build":"example","force":false}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://example.com/api/v1/servers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/software \ --header 'Content-Type: application/json' \ --cookie __Host-shardkeep_session=<__Host-shardkeep_session> \ --data '{ "version": "1.21.4", "build": "example", "force": false }'Needs servers.update; audited. Moves a READY server to another version or build of the same software (an
absent build means the newest). The server is UPDATING while the Controller obtains and verifies the new
software, then READY again; a running server takes it on when it next starts. If the software cannot be obtained,
the server keeps its current software and gets a software-change condition saying why.
Minecraft worlds cannot be safely downgraded, so a lower version is refused (software_downgrade). Installed
catalog plugins not marked for the new version are listed in a plugins_incompatible refusal unless force is
set; uploaded plugins are not checked.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
Example
1.21.4The newest build when absent.
Change even if installed plugins are not marked for the new version.
Responses
Section titled “Responses”Accepted; the server is UPDATING.
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.