Read the whole in-scope fleet in one call
const url = 'https://example.com/api/v1/views/fleet';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/v1/views/fleetReturns 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.
Responses
Section titled “ Responses ”OK
object
A URL to the JSON Schema for this object.
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
object
The location’s uuid, the address a renderer navigates by
The type’s name, which the band renders as its type chip
The type’s uuid, the stable handle beside its renameable name
The uuid of this location’s parent; absent on a root. The tree is flat here and assembled by the client
The location’s recorded verdict, worst-wins over the systems beneath it
Every system the caller may read, each carrying its dots
object
One entry per component in this system; empty when the caller may read the system but not its components
object
The component’s uuid: what a renderer navigates to when a dot is clicked
The component’s name, for the dot’s hover title
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
True when the component belongs to more than one system, which is what earns it a ring
Healthy, incomplete, degraded, or outage: the component’s own verdict, which is the only thing that colours the dot
The system’s uuid, the address a renderer navigates by
The uuid of the location this system is placed at; absent when it is placed nowhere
The system’s recorded verdict, the same one its health read serves
Example
{ "$schema": "/api/v1/schemas/FleetViewOutputBody.json"}default
Section titled “default ”Error
object
A URL to the JSON Schema for this object.
A human-readable explanation specific to this occurrence of the problem.
Optional list of individual error details
object
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
HTTP status code
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
A URI reference to human-readable documentation for the error.
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"}