コンテンツにスキップ

list_nodes

GET
/api/v1/nodes
curl --request GET \
--url https://example.com/api/v1/nodes \
--header 'Authorization: Bearer <token>'
cursor
string format: uuid
limit
integer format: int64
search
string

One keyset page of the inventory, or a single capped page in search mode

Media typeapplication/json

One keyset page of the inventory.

object
next_cursor

Pass back as cursor for the next page; null ⇒ this was the last one. Always null in search mode, which returns a single capped page by design.

string | null
nodes
required
Array<object>

One inventory row (mirrors the WebUI NodeSummary).

object
address
required
string
group_id

The group this node belongs to (for the inventory tree); null ⇒ ungrouped.

string | null format: uuid
id
required

Stable identifier for a monitored node.

A UUID, not a name or address — both of which can change over a node’s life.

string format: uuid
kind
required

What this node is, and therefore how it is polled — the value that distinguishes a URL or DNS monitor from an ordinary ICMP/SNMP device in the inventory.

Resolved by NodeKind::resolve, the same function GET /nodes/{id} and the scheduler ask, so a list row can never disagree with the detail page it opens.

string
Allowed values: meraki url dns device
model
string | null
name
required
string
pool

The node’s own poll-pool; null ⇒ inherited from its folder, else the default pool. The tree’s pool picker edits exactly this value, so it is what marks the active choice — the effective pool (and the poller holding the node) comes from /nodes/:id/assignment.

string | null
sort_order
required

Manual order within the group (the tree sorts members by this, then by name).

number format: double
state
required

The current state of a monitored node or check.

string
Allowed values: ok warning critical unknown unreachable maintenance
vendor

Descriptive maker/model for the “name (addr) (vendor) (model)” display.

string | null
Example
{
"nodes": [
{
"kind": "meraki",
"state": "ok"
}
]
}

No valid bearer token

Media typeapplication/json

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
error
required
object
code
required

Stable machine-readable code. Clients branch on this, never on the message.

string
message
required

Operator-facing sentence. Safe to display; never carries an internal error’s own text.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example"
}
}

Role lacks the View permission

Media typeapplication/json

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
error
required
object
code
required

Stable machine-readable code. Clients branch on this, never on the message.

string
message
required

Operator-facing sentence. Safe to display; never carries an internal error’s own text.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example"
}
}