Skip to main content
Version: v5.6.1

Admin status

Included from Basic tier

The payload behind opschain admin status: GET /admin/status, also mounted at its admin alias GET /api/admin/status (both admin-token gated). One-look server health: build identity, which replica answered, dispatch quiesce state, scheduler membership and a queue summary. The same object is embedded verbatim as the server field of GET /api/admin/overview (shared builder).

The unprefixed /admin/* support paths (/admin/status, /admin/queue, /admin/licence, /admin/changes/active) share their exact paths with the embedded GUI's client-side admin routes. An unauthorised browser navigation to one — a GET carrying no Authorization header whose Accept prefers text/html, i.e. a refresh or deep link into the GUI — serves the SPA instead of the endpoint's 401, so GUI admin screens survive a refresh. Tooling is unaffected: any request presenting a bearer, or not asking for HTML, keeps the JSON endpoint's behaviour (401 on a bad or missing token), and gui-disabled or unbundled compositions keep the bare 401 everywhere.

The v2 OpenAPI document declares this resource's schema; the resource-field coverage gate holds this page to it.

started_at, draining, replica_id, leader and held_shards are per-replica facts: they describe the replica answering the request. The quiesce fields read the durable fleet posture and answer the same on every replica.

Fields​

FieldTypeMeaning
statusstringok, or degraded when the store ping (a limit-1 run list) failed — store then carries the error.
versionstringBuild version; dev when unset.
commitstringBuild commit; dev when unset.
built_atstringBuild date; dev when unset.
started_attimestampWhen this replica's process started.
replica_idstringThis replica's scheduler identity.
server_namestringThis node's stable server name (the server_name config key; default hostname) — the key of the per-node quiesce verbs.
sitestringThis node's site identity (the site config key, e.g. dc1). Present only when configured (multi-site estates).
node_heldboolThis node is parked under an active server-node or site quiesce posture (held-at-boot included): readiness off, offers stopped, contending for nothing until the explicit resume.
leaderboolWhether this replica is the scheduler's cron leader.
held_shardsintDispatch shards this replica currently owns.
drainingboolThis replica has begun shutdown.
quiescedboolDispatch is held: by the durable fleet quiesce/drain posture (`POST /api/fleet/quiesce
quiesced_bystringWho set the fleet posture, read from the posture row — the same answer on every replica. Present only while a fleet posture is active.
quiesced_attimestampWhen. Same presence rule.
storestringok, or the store ping's error text.
identityobjectPresent when the composition runs the credential stack (the PostgreSQL store). Its ldap_providers map reports each ldap-kind identity provider connection, keyed by connection key, as this replica has observed it through the credentials leg, the test verb and the sweep: configured, last_success_at (the most recent successful directory bind), and last_error/last_error_at (the most recent provider-unavailable fault, e.g. ldap directory unreachable at <host:port>: …). Absent fields mean no such outcome on this replica yet.
queueobjectFleet-wide dispatch summary from the shared database: ready (parked entries) and leases (live job leases).
scheduler_replicasarrayEvery scheduler replica in the shared membership table — fleet-wide, unlike the per-replica facts — each {"id": <string>, "heartbeat_age_seconds": <float>, "live": <bool>} plus "site" when the replica carries a site identity. Absent when the membership read returned none.

Where the values come from and what changes them​

Build identity is baked at compile time; replica_id, leader and held_shards come from this replica's scheduler; draining flips at shutdown; quiesced/quiesced_by/quiesced_at from the durable fleet quiesce/drain/resume posture (plus this replica's shutdown hold); queue and scheduler_replicas from the scheduler's stats read over the shared database (a stats failure answers 500; a store ping failure only degrades status); identity.ldap_providers from the credential chain's own bind outcomes (per replica, in memory — a restart clears it; see opschain docs identity).

  • opschain docs fleet-queue — the per-entry view behind the queue summary, and the quiesce verb's effect on dispatch.
  • opschain docs dispatch — shards, leadership and heartbeats.
  • opschain docs identity — the provider connections behind identity.ldap_providers and the directory-outage behaviour.