Platform Health pack status snapshot.
curl --request GET \ --url https://stratum.example.com/v1/observability/admin/platform-health \ --header 'Authorization: Bearer <token>'Cedar action observability:ReadSubstrate. Returns the pack manifest with per-component state (installed |
operator-edited | missing), the pack version, the
last-reconciled timestamp, and a pack-level health rollup. The
snapshot is computed live against the store on every call
no caching beyond the reconciler’s own in-memory tick tracking.
503 means the pack reconciler isn’t wired yet (early boot or
intentional opt-out).
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Pack status snapshot.
Platform Health pack snapshot. Returned by GET /v1/observability/admin/platform-health.
object
Pack version currently shipped by this controlplane binary.
When the pack reconciler last completed a tick. Absent until the first run.
object
Stable pack-component handle; constant across pack versions.
Installed = pack-stamped + content matches what shipped; operator-edited = pack-stamped + content diverged (the skipped_operator_edit path fired); missing = manifest declares it but no row carries the component_id label.
Pack_version label on the row, empty when state=missing.
Pack version this controlplane binary would install.
ID of the underlying dashboard / alarm / log-group row. Empty when state=missing.
. When state=operator-edited AND the pack reconciler
has published a SUFFIX reference copy of the embedded body
at “
object
Number of pack-owned alarms whose state is alarm.
Worst alarm state across pack alarms (alarm > pending > insufficient_data > ok). Empty when no pack alarms exist.
When the longest-firing pack alarm entered alarm (alarms have no acknowledgement, so every firing alarm is unacked). Absent when none fires.
Example
{ "packVersion": "1.0.0", "components": [ { "componentId": "dash-node-substrate", "kind": "dashboard", "state": "installed" } ]}Upstream temporarily unavailable (driver / scheduler / dependency).
object
The findings of a rejected IAM policy document (custom and resource policies).
One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.
object
The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.
Index of the statement at fault; -1 for the document as a whole.
The offending action, where one is at fault (ACTION_NOT_APPLICABLE).
Field errors, for codes that carry them: each problem at its field
(see FieldError). Documented on the responses that set it, e.g.
approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED.
Absent otherwise.
One field’s problem, the stage-2 installer API’s shape.
field is the field’s path, message what is wrong with it.
object
The field’s path, e.g. links[0].interface, disks[1].confirm,
mgmt.address or role; empty for the whole request.
Structured facts about the refusal, for codes that carry them. The
shape is fixed per code and documented on the response that answers
it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and
IMAGE_IN_USE. Absent for codes that carry none.
object
Example
{ "issues": [ { "code": "ACTION_NOT_APPLICABLE", "action": "compute:CreateVpc" } ]}