Skip to content

Get Workers

GET /system/workers

Per worker: id, lanes, slots busy, heartbeat age, version (annex 15 §8).

The roster is fleet-wide and every admin sees all of it, deliberately (D-2478). A worker is not a tenant asset: one process claims runs from every workspace in turn, so there is no per-tenant worker for a per-tenant answer to be about — worker_registration has no organization_id and no workspace_id, and the row carries nothing that belongs to a tenant. It sits on the same catalogue policy as model_catalog_entry (D-092): readable by anyone, writable only with platform access, which no tenant role holds. Annex 05 §6.11 pins this route’s floor at admin, so narrowing it to operator to avoid the question would be a contract change made for a reason that does not exist.

The scope bound here is the caller’s own, not an exemption, for the reason /system/queue gives — the difference is that the catalogue predicate does not filter by it, and that is the schema saying the same thing this docstring does (RULE SC-1).

StatusDescriptionBody
200Successful ResponseWorkersStatus
Terminal window
curl -X GET https://your-deployment.example.com/system/workers \
-H "Authorization: Bearer $COBRE_TOKEN"
FieldTypeNotes
workersWorkerStatus[]required—
aliveintegerrequired—
lanes_servedstring[]required—
slots_totalintegerrequired—
slots_busyintegerrequired—