Ship
Day-zero machine enrollment: attested probe reports from a new box, and its first configuration.
partRunning the shop29 operationsid ship
How it sits
A part does one thing, and any other part can call it. The counts and the links below are from the platform's spec and the other services' own descriptions.
| Operations | 29 POST 15 · GET 14 |
| Resources | 12 |
| Leaned on by | no other service names it |
| Leans on | Cron, Infrastructure |
| In recipes | none yet |
What it can do
29 operations in 12 resources, as the spec declares them. Each row is one call; paths are relative to the part.
nodes
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/nodes | List Nodes |
| POST | /api/v1/nodes/refresh-sweep | Surface nodes whose capacity data has gone stale (Cron) |
| GET | /api/v1/nodes/{fingerprint} | Get Node |
| GET | /api/v1/nodes/{fingerprint}/handoff | The hand-off packet for a node |
| POST | /api/v1/nodes/{fingerprint}/handoff | Re-drive hand-off for one node |
| POST | /api/v1/nodes/{fingerprint}/promote | Promote Node |
| POST | /api/v1/nodes/{fingerprint}/purge | Drop a rejected node from the registry |
7 operations
leases
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/leases | List Leases |
| POST | /api/v1/leases | Allocate capacity on an enrolled node |
| POST | /api/v1/leases/reap | Mark expired leases released (Cron) |
| GET | /api/v1/leases/{lease_id} | Get Lease |
| POST | /api/v1/leases/{lease_id}/release | Release Lease |
| POST | /api/v1/leases/{lease_id}/renew | Renew Lease |
6 operations
tokens
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/tokens | List Tokens |
| POST | /api/v1/tokens | Mint an enrollment token (returns the secret ONCE) |
| POST | /api/v1/tokens/reap | Destroy key material for revoked/expired/exhausted tokens |
| GET | /api/v1/tokens/{token_id} | Get Token |
| POST | /api/v1/tokens/{token_id}/revoke | Revoke a token and destroy its key material |
5 operations
enroll
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/enroll | Enrol a machine from an attested probe report |
| GET | /api/v1/enroll/ratelimit | Current rate-limiter pressure on the enroll path |
2 operations
health
| Method | Path | Does |
|---|---|---|
| GET | /health | Basic health check |
| GET | /health/detailed | Detailed health check |
2 operations
auth
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/auth/capabilities | Person-write capability of the caller |
1 operation
capacity
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/capacity | Capacity |
1 operation
handoff
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/handoff/sweep | Re-drive every accepted node whose hand-off never landed |
1 operation
link
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/link | A box polls for its wg-fleet tunnel config |
1 operation
mesh
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/mesh/token | A linked box gets a two-minute mesh worker token for its beacon |
1 operation
prime
| Method | Path | Does |
|---|---|---|
| GET | /prime | Prime application caches |
1 operation
status
| Method | Path | Does |
|---|---|---|
| GET | /status | Service status overview |
1 operation
All the partsRunning the shopThe platform's own id for this service is cbship.
forge-catalog.json, generated Oct 30, 2026