| 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
| Name | Type | Required | Notes |
|---|---|---|---|
serverId | string | Yes | |
mode | string | No | Default full. |
curl -X POST "https://shellius.example.com/api/bootstrap/token" \
-H "Authorization: Bearer $SHELLIUS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"serverId": "…"
}'200 OK
{ "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
| Name | Type | Required | Notes |
|---|---|---|---|
token | — | No |
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
| Name | Type | Required | Notes |
|---|---|---|---|
token | — | No |
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
| Name | Type | Required | Notes |
|---|---|---|---|
serverId | string | Yes | |
mode | string | No | Default full. |
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
{ "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
| Name | Type | Required | Notes |
|---|---|---|---|
token | — | No |
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
| Name | Type | Required | Notes |
|---|---|---|---|
serverIds | array | Yes | 1–200. |
mode | string | No | Default posture. |
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
{ "success": true, "data": { … } }