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 the canvas 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 the canvas 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 the canvas 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"}