Stitch
Runs virtual services: long-lived controllers that declare a desired state and keep the platform converging on it.
glueRunning the shop86 operationsid stitch
How it sits
Glue chains parts together and keeps the result running. The counts and the links below are from the platform's spec and the other services' own descriptions.
What it can do
86 operations in 5 resources, as the spec declares them. Each row is one call; paths are relative to the part.
v
| Method | Path | Does |
|---|---|---|
| GET | /v | List virtual services |
| POST | /v/fl-board-d/call/{office_code} | Election-Board.Call Race |
| POST | /v/fl-board-d/clear | Election-Board.Clear |
| GET | /v/fl-board-d/deck | Election-Board.Deck |
| GET | /v/fl-board-d/projection | Election-Board.Projection View |
| POST | /v/fl-board-d/refresh | Election-Board.Refresh |
| GET | /v/fl-board-d/status | Election-Board.Status |
| POST | /v/fl-board-d/uncall/{office_code} | Election-Board.Uncall Race |
| POST | /v/fl-board/call/{office_code} | Election-Board.Call Race |
| POST | /v/fl-board/clear | Election-Board.Clear |
| GET | /v/fl-board/deck | Election-Board.Deck |
| GET | /v/fl-board/projection | Election-Board.Projection View |
| POST | /v/fl-board/refresh | Election-Board.Refresh |
| GET | /v/fl-board/status | Election-Board.Status |
| POST | /v/fl-board/uncall/{office_code} | Election-Board.Uncall Race |
| POST | /v/ga-board-sim/call/{office_code} | Election-Board.Call Race |
| POST | /v/ga-board-sim/clear | Election-Board.Clear |
| GET | /v/ga-board-sim/deck | Election-Board.Deck |
| GET | /v/ga-board-sim/projection | Election-Board.Projection View |
| POST | /v/ga-board-sim/refresh | Election-Board.Refresh |
| GET | /v/ga-board-sim/status | Election-Board.Status |
| POST | /v/ga-board-sim/uncall/{office_code} | Election-Board.Uncall Race |
| POST | /v/ga-board/call/{office_code} | Election-Board.Call Race |
| POST | /v/ga-board/clear | Election-Board.Clear |
| GET | /v/ga-board/deck | Election-Board.Deck |
| GET | /v/ga-board/projection | Election-Board.Projection View |
| POST | /v/ga-board/refresh | Election-Board.Refresh |
| GET | /v/ga-board/status | Election-Board.Status |
| POST | /v/ga-board/uncall/{office_code} | Election-Board.Uncall Race |
| POST | /v/ia-board/call/{office_code} | Election-Board.Call Race |
| POST | /v/ia-board/clear | Election-Board.Clear |
| GET | /v/ia-board/deck | Election-Board.Deck |
| GET | /v/ia-board/projection | Election-Board.Projection View |
| POST | /v/ia-board/refresh | Election-Board.Refresh |
| GET | /v/ia-board/status | Election-Board.Status |
| POST | /v/ia-board/uncall/{office_code} | Election-Board.Uncall Race |
| POST | /v/mi-board/call/{office_code} | Election-Board.Call Race |
| POST | /v/mi-board/clear | Election-Board.Clear |
| GET | /v/mi-board/deck | Election-Board.Deck |
| GET | /v/mi-board/projection | Election-Board.Projection View |
| POST | /v/mi-board/refresh | Election-Board.Refresh |
| GET | /v/mi-board/status | Election-Board.Status |
| POST | /v/mi-board/uncall/{office_code} | Election-Board.Uncall Race |
| POST | /v/mi-convention-board/call/{office_code} | Election-Board.Call Race |
| POST | /v/mi-convention-board/clear | Election-Board.Clear |
| GET | /v/mi-convention-board/deck | Election-Board.Deck |
| GET | /v/mi-convention-board/projection | Election-Board.Projection View |
| POST | /v/mi-convention-board/refresh | Election-Board.Refresh |
| GET | /v/mi-convention-board/status | Election-Board.Status |
| POST | /v/mi-convention-board/uncall/{office_code} | Election-Board.Uncall Race |
| GET | /v/pipe-tagged-responses/export.csv | .Export Csv |
| GET | /v/pipe-tagged-responses/keys | .Keys |
| POST | /v/pipe-tagged-responses/override | .Override |
| POST | /v/pipe-tagged-responses/override-key | .Override Key |
| GET | /v/pipe-tagged-responses/rows | .Rows |
| POST | /v/pipe-tagged-responses/run | .Run |
| GET | /v/pipe-tagged-responses/spec | .Spec |
| GET | /v/pipe-tagged-responses/status | .Status |
| GET | /v/pipe-tagged-responses/summary | .Summary |
| POST | /v/tx-board/call/{office_code} | Election-Board.Call Race |
| POST | /v/tx-board/clear | Election-Board.Clear |
| GET | /v/tx-board/deck | Election-Board.Deck |
| GET | /v/tx-board/projection | Election-Board.Projection View |
| POST | /v/tx-board/refresh | Election-Board.Refresh |
| GET | /v/tx-board/status | Election-Board.Status |
| POST | /v/tx-board/uncall/{office_code} | Election-Board.Uncall Race |
| GET | /v/{name} | Virtual service status |
| POST | /v/{name}/approve | Approve a virtual service's code (trust boundary) |
| POST | /v/{name}/cadence | Set a virtual service's update cadence |
| GET | /v/{name}/config | Read a virtual service's config |
| PUT | /v/{name}/config | Update a virtual service's config (merge + reload) |
| POST | /v/{name}/disable | Durably disable a virtual service |
| POST | /v/{name}/enable | Re-enable a durably-disabled virtual service |
| POST | /v/{name}/load | Load a virtual service |
| POST | /v/{name}/recast | Force a re-render + re-cast |
| POST | /v/{name}/reload | Hot-reload a virtual service |
| POST | /v/{name}/revoke | Revoke a virtual service's code approval (trust boundary) |
| POST | /v/{name}/sensitivity | Set a virtual service's sensitivity classification |
| POST | /v/{name}/start | Start a virtual service loop |
| POST | /v/{name}/stop | Stop a virtual service |
| POST | /v/{name}/tick | Externally poke a reconcile (Cron) |
81 operations
health
| Method | Path | Does |
|---|---|---|
| GET | /health | Basic health check |
| GET | /health/detailed | Detailed health check |
2 operations
bus
| Method | Path | Does |
|---|---|---|
| GET | /bus | Mesh bus consumer status |
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 cbstitch.
forge-catalog.json, generated Oct 30, 2026