Fleet-wide Top-N for a metric: the highest-value nodes right now (or by hourly peak). Powers the dashboard "Top RTT / CPU / memory / …" widgets from one endpoint.
const url = 'https://example.com/api/v1/metrics/top?metric=example';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
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/metrics/top?metric=example' \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Metric to rank by (validated identifier, or a logical alias).
now (default) ⇒ most recent value; max_1h ⇒ trailing-hour peak.
How many nodes to return (default 5, clamped 1..=50).
Responses
Section titled “Responses”The highest-value nodes, ranked; partial says the scope filter may have shortened the list
A ranked Top-N result.
object
The ranked rows, highest first, at most the requested limit.
One ranked node in a Top-N result.
object
Display name, joined from PostgreSQL (ADR-011); falls back to the id string if the node has since been deleted.
true when this ranking covers only the groups the calling account may see and entries it
is entitled to may be missing. Always false for an account with unrestricted visibility.
Examplegenerated
{ "entries": [ { "name": "example", "node_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "value": 1 } ], "partial": true}metric is neither a logical alias nor an identifier, or agg is unsupported
The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI
document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies
undescribed — a client that has to guess the failure shape ends up parsing the success shape and
reading undefined.
object
object
Stable machine-readable code. Clients branch on this, never on the message.
Operator-facing sentence. Safe to display; never carries an internal error’s own text.
Examplegenerated
{ "error": { "code": "example", "message": "example" }}No valid bearer token
The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI
document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies
undescribed — a client that has to guess the failure shape ends up parsing the success shape and
reading undefined.
object
object
Stable machine-readable code. Clients branch on this, never on the message.
Operator-facing sentence. Safe to display; never carries an internal error’s own text.
Examplegenerated
{ "error": { "code": "example", "message": "example" }}Role lacks the read permission
The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI
document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies
undescribed — a client that has to guess the failure shape ends up parsing the success shape and
reading undefined.
object
object
Stable machine-readable code. Clients branch on this, never on the message.
Operator-facing sentence. Safe to display; never carries an internal error’s own text.
Examplegenerated
{ "error": { "code": "example", "message": "example" }}