Skip to content

Read a system's health

GET
/systems/{name}/health
curl --request GET \
--url https://example.com/api/v1/systems/example/health

The system’s current verdict and why: every role it needs filled, whether it is impaired, what an impaired role means for the system (impact), and for an impaired role the required capabilities an alarm has taken away plus the alarms that took them. Transitions are the recorded edges over the last 30 days, one entry per change. Gated by system:read; an out-of-scope system is a non-disclosing 404.

name
required

The system’s unique name

string

The system’s unique name

OK

Media type application/json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
owner
required
string
owner_kind
required
string
roles
required

The contributing roles; empty for a location

Array<object> | null
object
alarms
required

The active alarms that degraded them

Array<object> | null
object
capabilities
required
Array<string> | null
component
required
string
id
required
string
message
required
string
raised_at
required
string format: date-time
severity
required
string
assigned_to
required
Array<string> | null
degraded
required

The required capabilities an active alarm has taken away; empty when the role is merely short-staffed

Array<string> | null
display_name
required
string
impact
required

What an impaired role means for its system: outage, degraded, or none

string
impaired
required

True when satisfying is below quorum

boolean
name
required
string
quorum
required
integer format: int64
required
required

The capabilities a component must ALL provide to fill this role

Array<string> | null
satisfying
required

How many assigned components can currently fill the role

integer format: int64
systems
required

The systems beneath a location with their verdicts; empty for a system

Array<object> | null
object
name
required
string
verdict
required
string
transitions
required

The recorded edges over the window, oldest first: one entry per change, never a sample

Array<object> | null
object
ts
required
string format: date-time
verdict
required
string
verdict
required

Healthy, degraded, or outage: the rollup of the roles or systems served beside it

string
Example
{
"$schema": "/api/v1/schemas/EstateHealthOutputBody.json"
}

Error

Media type application/problem+json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
detail

A human-readable explanation specific to this occurrence of the problem.

string
errors

Optional list of individual error details

Array<object> | null
object
location

Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’

string
message

Error message text

string
value

The value at the given location

instance

A URI reference that identifies the specific occurrence of the problem.

string format: uri
status

HTTP status code

integer format: int64
title

A short, human-readable summary of the problem type. This value should not change between occurrences of the error.

string
type

A URI reference to human-readable documentation for the error.

string format: uri
default: about:blank
Example
{
"$schema": "/api/v1/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}