Issue an enrollment token
const url = 'https://example.com/api/v1/nodes/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/enrollment-token';const options = { method: 'POST', headers: {cookie: '__Host-shardkeep_session=<__Host-shardkeep_session>'}};
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/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/enrollment-token \ --cookie __Host-shardkeep_session=<__Host-shardkeep_session>Needs nodes.manage, and the Node must still be awaiting enrollment (node_enrolled otherwise).
Give the token to the Agent on its first start (SHARDKEEP_ENROLL_TOKEN). It is valid for one hour and works once;
issuing another replaces it. If it expires unused, the Node keeps waiting: issue a fresh token.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Responses
Section titled “Responses”Token issued. Shown only once.
object
<id>.<secret>.<ca-pin>. The pin lets the Agent verify the Controller on first contact.
Treat the whole token as a secret.
Examplegenerated
{ "token": "example", "expiresAt": "2026-04-15T12:00:00Z"}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.