get_node_status
const url = 'https://example.com/api/v1/nodes/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/status';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/nodes/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/status \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Node id
Responses
Section titled “Responses”The node’s display state and the alerts attributed to it
One node’s live status: its display state plus the alerts currently attributed to it, so node detail can show why it is down without re-deriving from the list.
object
The alerts attributed to this node, each with the name of the port it is about when it is about one (ADR-196 decision 6), as the Active alerts list names it.
A live alert with the name of the port it is about (ADR-196 decision 6) — the same if_name
[ActiveAlertView] carries, for a surface that serves an alert without the rest of that view
(a node’s own status).
object
When it fired (Unix ms, UTC).
Numeric breach detail for a threshold alert; None for a liveness alert.
object
Which way the metric crossed its bound.
The bound crossed for the committed severity, if the rule defines one at that level.
Observed sample value that committed the transition.
The check that produced it.
Whether the underlying check is currently flapping.
Metric the check measured (e.g. "icmp_rtt_ms"; the liveness sentinel for up/down).
Carried for the history log + notification payload so a human can read what fired —
not part of alert identity (dedup/grouping ignore it).
What the alert is about: a node’s UUID, or pool:<name> for a poller-pool alert.
The row of a vendor table this alert is about — a memory pool, a CPU, a sensor — as the row
key its samples carry; None for an alert about the whole node or about a port.
What that row was called when the alert fired (I/O, MPU Board 0); None when the row has
no name yet or the alert is not about a row.
Severity (derived from the committed state).
The committed state that triggered the alert.
The name of the port this alert is about (ifName), read from the interface inventory when
the alert is read. Absent for an alert about no port, and for a port whose name is not
known. See [ActiveAlertView::if_name].
Set when state is not a current reading: what feeds this node has stopped
answering, so state is the last one collected. Absent otherwise.
object
What stopped answering.
The Meraki organization (GET /api/v1/meraki/orgs) the node belongs to. Present only when
cause is meraki_api.
That organization’s name, when it is known. Only with meraki_api.
meraki_api: when the organization’s alert was raised — three failed collects after the
last answer, so the state shown is older than this. wireless_controller: when a controller
last reported the access point — nothing has been heard about it since.
Stable identifier for a monitored node.
A UUID, not a name or address — both of which can change over a node’s life.
The current state of a monitored node or check.
Example
{ "alerts": [ { "breach": { "direction": "above" }, "severity": "info", "state": "ok" } ], "collection_fault": { "cause": "meraki_api", "reason": "credential" }, "state": "ok"}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 View 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" }}