Skip to content
GET /registry/stats

Calls GET /_pinned/stats on every live worker visible to the claim, 8 at a time with a 3 s timeout each, and returns one row per worker. Response time grows with fleet size.

Authentication

pinboard:operator scope. Workers are filtered by the claim like List workers. Each worker's stats.namespaces keys and stats.instances items keep only namespaces visible to the claim; other fields (process, draining, …) pass through whole.

Example

curl https://pinboard.example.com/registry/stats \
  -H "Authorization: Bearer $PINBOARD_OPERATOR_TOKEN"

Response

200

FieldTypeDescription
workersobject[]Same order as List workers.
workers[].sessionIdstring
workers[].clientIdstring
workers[].hostnamestring
workers[].statsobjectThe worker's JSON, filtered. Present on success.
workers[].error"unreachable"Present instead of stats on a non-2xx, timeout, or non-object body.
{
  "workers": [
    {
      "sessionId": "3f9c0d6e2b1a4c7d8e9f0a1b2c3d4e5f",
      "clientId": "c1e0b7a94f6d4a1e9b2c3d4e5f60718a",
      "hostname": "*",
      "stats": {
        "draining": false,
        "leaseFlaps": 0,
        "reregistrations": 0,
        "namespaces": { "/threads": { "...": "..." } },
        "instances": [ { "namespace": "/threads", "...": "..." } ],
        "process": { "uptimeMs": 7200000, "rssBytes": 210763776 }
      }
    },
    {
      "sessionId": "8a7b6c5d4e3f20110f1e2d3c4b5a6978",
      "clientId": "5e4d3c2b1a09f8e7d6c5b4a392817060",
      "hostname": "*",
      "error": "unreachable"
    }
  ]
}

Errors

StatusBodyWhen
401{"error":"unauthorized"}No accepted credential
403{"error":"forbidden"}No pinboard:operator scope, or malformed claim
503{"error":"not the serving fleet"}Node not serving. Retry-After: 1.
404{"error":"not found"}Method other than GET