Skip to content

Read the whole in-scope fleet in one call

GET
/views/fleet
curl --request GET \
--url https://example.com/api/v1/views/fleet

Returns every in-scope location (flat, with parent and verdict), every in-scope system (with location and verdict), and one dot per component in each system. A dot carries the component id, its verdict, and the primary/shared flags, not a full component row. Each tier is scoped on its own read permission: a caller who can read locations but not components gets locations with empty systems, and a caller with no scope gets an empty result, not an error. Gated by location:read.

OK

Media type application/json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
locations
required

Every location the caller may read, flat: each carries its parent, and the client builds the tree. Flat rather than nested so the fleet can be gathered into bands by something other than place without a second read

Array<object> | null
object
id
required

The location’s uuid, the address the canvas navigates by

string
label
required
string
location_type
required

The type’s name, which the band renders as its type chip

string
location_type_id
required

The type’s uuid, the stable handle beside its renameable name

string
name
required
string
parent

The uuid of this location’s parent; absent on a root. The tree is flat here and assembled by the client

string
verdict
required

The location’s recorded verdict, worst-wins over the systems beneath it

string
systems
required

Every system the caller may read, each carrying its dots

Array<object> | null
object
dots
required

One entry per component in this system; empty when the caller may read the system but not its components

Array<object> | null
object
component
required

The component’s uuid: what the canvas navigates to when a dot is clicked

string
name
required

The component’s name, for the dot’s hover title

string
primary
required

True in the component’s primary system, the one cluster that draws it solid. A shared component is a ghost outline everywhere else, so the fleet never counts one physical device twice

boolean
shared
required

True when the component belongs to more than one system, which is what earns it a ring

boolean
verdict
required

Healthy, incomplete, degraded, or outage: the component’s own verdict, which is the only thing that colours the dot

string
id
required

The system’s uuid, the address the canvas navigates by

string
label
required
string
location

The uuid of the location this system is placed at; absent when it is placed nowhere

string
name
required
string
verdict
required

The system’s recorded verdict, the same one its health read serves

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