Add a Node
const url = 'https://example.com/api/v1/nodes';const options = { method: 'POST', headers: { cookie: '__Host-shardkeep_session=<__Host-shardkeep_session>', 'Content-Type': 'application/json' }, body: '{"name":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/nodes \ --header 'Content-Type: application/json' \ --cookie __Host-shardkeep_session=<__Host-shardkeep_session> \ --data '{ "name": "example" }'The Node starts ENABLED and AWAITING_ENROLLMENT. Enrollment tokens arrive with Node security (Phase 5).
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Examplegenerated
{ "name": "example"}Responses
Section titled “Responses”Node added, awaiting enrollment.
object
Set by administrators (desired state).
True only when ENABLED and HEALTHY.
Where other Nodes reach this Node’s published ports (the proxy reaching members), as an administrator set
it; empty to use status.observedAddress.
The address in use, address or else status.observedAddress; empty while unknown.
What the Controller observes about the Node.
object
The IP address the Node’s Agent last connected from.
object
CPU in thousandths of a core.
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.
CPU and memory reserved by the servers on the Node, stopped ones included.
object
CPU in thousandths of a core.
Allocatable minus reserved; what new servers can still reserve.
object
CPU in thousandths of a core.
Example
{ "adminState": "ENABLED", "status": { "connectionState": "AWAITING_ENROLLMENT" }, "conditions": [ { "source": "AGENT" } ]}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"}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.