Skip to content

Read a location's health

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

The location’s current verdict, worst-wins over every system placed anywhere beneath it, with those systems and their verdicts as the drill-down (the system health read names the role, which occupant is down, and the alarm). Transitions are the recorded edges over the last 30 days. Gated by location:read; an out-of-scope location is a non-disclosing 404.

name
required

The location’s name, or a dotted address (e.g. boi.17c.415a)

string

The location’s name, or a dotted address (e.g. boi.17c.415a)

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
active
required

True for an unconditional role, or a role whose alternate is the one currently answering its choice. False means this role’s own impaired/short/spare figures did not contribute to the system’s verdict

boolean
alarms
required

The active alarms on those down components

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

The alternate within choice this role belongs to; absent when the role is unconditional

string
assigned_to
required
Array<string> | null
choice

The choice this role belongs to; absent when the role is unconditional

string
down
required

The assigned components whose own verdict is outage; empty when the role is merely short-staffed or only degraded

Array<string> | null
impact
required

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

string
impaired
required

True when satisfying is below quorum

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

How many assigned components currently occupy the role (their own verdict is not outage; a degraded component still occupies)

integer format: int64
short
required

How many more occupants the role needs to reach quorum, counting only those currently occupying (own verdict not outage); zero once it does. Diverges from the roles read’s understaffed when an assigned component is down

integer format: int64
spare
required

How many occupants the role has beyond quorum; zero at or below quorum

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, incomplete, degraded, or outage: the rollup of the roles or systems served beside it. incomplete is a commissioning gap, a role short because the hardware was never installed rather than because installed hardware is failing, and it ranks between healthy and degraded

string
Example
{
"$schema": "/api/v1/schemas/FleetHealthOutputBody.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"
}