Skip to content

Bootstrap

Mint bootstrap tokens and serve the install script. The script endpoints are called by `curl` on the host, authenticated by the one-time token.

POST/api/bootstrap/token
GET/api/bootstrap/install.sh
GET/api/bootstrap/install.ps1
POST/api/bootstrap/uninstall-token
GET/api/bootstrap/uninstall.sh
POST/api/bootstrap/bulk-token

Create single-use install link ​

POST/api/bootstrap/token

Authentication: bearer token.
Permission: servers.onboard.

Request body

NameTypeRequiredNotes
serverIdstringYes
modestringNoDefault full.
bash
curl -X POST "https://shellius.example.com/api/bootstrap/token" \
  -H "Authorization: Bearer $SHELLIUS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "serverId": "…"
  }'

200 OK

json
{ "success": true, "data": { … } }

Unix install script ​

GET/api/bootstrap/install.sh

Public, token-gated.

Authentication: none — the token in the request is the credential.

Query parameters

NameTypeRequiredNotes
token—No
bash
curl -X GET "https://shellius.example.com/api/bootstrap/install.sh"

Returns a file or plain text, not the JSON envelope.

Windows install script ​

GET/api/bootstrap/install.ps1

Public, token-gated.

Authentication: none — the token in the request is the credential.

Query parameters

NameTypeRequiredNotes
token—No
bash
curl -X GET "https://shellius.example.com/api/bootstrap/install.ps1"

Returns a file or plain text, not the JSON envelope.

Create single-use uninstall link ​

POST/api/bootstrap/uninstall-token

Authentication: bearer token.
Permission: servers.onboard.

Request body

NameTypeRequiredNotes
serverIdstringYes
modestringNoDefault full.
bash
curl -X POST "https://shellius.example.com/api/bootstrap/uninstall-token" \
  -H "Authorization: Bearer $SHELLIUS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "serverId": "…"
  }'

200 OK

json
{ "success": true, "data": { … } }

Unix uninstall script ​

GET/api/bootstrap/uninstall.sh

Public, token-gated.

Authentication: none — the token in the request is the credential.

Query parameters

NameTypeRequiredNotes
token—No
bash
curl -X GET "https://shellius.example.com/api/bootstrap/uninstall.sh"

Returns a file or plain text, not the JSON envelope.

Bulk token ​

POST/api/bootstrap/bulk-token

One install command per host, in one call. The automatic path (POST /api/servers/bulk-install) needs a credential for every host. Plenty of fleets have hosts with none stored — that is exactly the case where installing one at a time never happens, so the manual path needs a bulk form too: a list an operator can paste into a change window or a config-management run. Every token is per host, single use, and expires with the same TTL as a single one, which is the honest constraint and is reported back so the UI can say so rather than handing out a list that quietly goes stale.

Authentication: bearer token.
Permission: servers.onboard.

Request body

NameTypeRequiredNotes
serverIdsarrayYes1–200.
modestringNoDefault posture.
bash
curl -X POST "https://shellius.example.com/api/bootstrap/bulk-token" \
  -H "Authorization: Bearer $SHELLIUS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "serverIds": []
  }'

200 OK

json
{ "success": true, "data": { … } }
Was this page helpful?No, tell us why