コンテンツにスキップ

list_meraki_orgs

GET
/api/v1/meraki/orgs
curl --request GET \
--url https://example.com/api/v1/meraki/orgs \
--header 'Authorization: Bearer <token>'

Every onboarded organization, each with the id of the credential holding its key — never the key

Media typeapplication/json
Array<object>
object
availability_secs
required
integer format: int32
base_url
required
string
collect_failures
required

The collect tiers the Dashboard API is not answering right now, each with why and since when. Empty when none is known to be failing.

Distinct from last_sync_error, which is the inventory sync — this server asking what the organization holds. A collect is a poller asking how the devices are, and it is what a device’s state depends on: while availability is listed here the organization’s nodes keep the last state they had, and after three failures in a row one alert is raised about the organization (subject_kind: meraki_org) — never one per device. uplink, wireless, switch_ports or traffic listed alone raises nothing: readings are missing, liveness is not.

Array<object>

One collect tier the Dashboard API is not answering (see MerakiOrgView.collect_failures).

object
failures
required

How many collects in a row have failed.

integer format: int32
listing

Which of the tier’s reads failed, when one did while the others answered (ADR-164 decision 25): uplinks_loss_and_latency, appliance_uplink_statuses, appliance_vpn_statuses, … — the uplink tier reads three, the switch-port tier up to four (switch_port_statuses, switch_port_usage, switch_port_topology, switch_port_config), the wireless tier up to three (wireless_clients, wireless_channel_utilization, wireless_ssid_statuses). Absent when the whole collect failed, or a poller from before this reported it.

string | null
reason
required

Why the most recent collect of this tier failed. The vocabulary of last_sync_error, plus no_answer: the collect was sent and nothing came back.

string
Allowed values: credential config auth rate_limited upstream unreachable malformed truncated timeout internal no_answer
since
required

When this run of failures began.

string format: date-time
tier
required

availability, uplink, wireless, switch_ports or traffic.

string
credential_id
required

Which stored credential holds this organization’s API key. An id, not a secret — the key stays sealed in credentials, and this type has no field that could carry it. Its name is GET /credentials’s to give, to a caller holding ManageCredentials.

string format: uuid
devices
required

What the last successful sync found, read against which devices are nodes here.

object
missing
required

Nodes whose device Meraki no longer lists.

integer format: int32
monitored
required

Of those, the ones that are nodes.

integer format: int32
monitored_unwatched
required

Of monitored, the ones in a network this organization does not watch (decision 15). Collection asks the Dashboard about watched networks only, so nothing is collected for these: the node keeps the last state it was seen in and raises nothing. It happens when a device is moved into an unwatched network, and when a network holding nodes is un-watched. An organization that watches no network at all is sent no collect, so there it is every monitored device (decision 16).

integer format: int32
new
required

Listed, online at least once, never a node here.

integer format: int32
seen
required

Devices Meraki currently lists, whatever their state here.

integer format: int32
devices_over_cap
required

How many devices that cap left out on the last sync; zero while automatic import is off.

integer format: int32
enabled
required
boolean
enabled_tiers
required
Array<string>
file_by_prefix
required

Whether an imported device is filed by its address into the folder whose IP range holds it.

boolean
full_sync
One of:
null
group_id
string | null format: uuid
id
required
string format: uuid
import_devices
required

Whether the sync turns newly listed devices into nodes, and watches newly found networks.

boolean
inventory_secs
required
integer format: int32
last_sync_at

When the last successful inventory sync ran. A failed sync does not move it.

string | null format: date-time
last_sync_error
One of:
null
last_sync_ok

null until a sync has run — “has not synced yet” is not “failed”.

boolean | null
max_devices
required

The most nodes automatic import lets this organization hold. A new organization starts at 10,000; one added by an earlier version keeps the 1,000 it started with.

integer format: int32
name
required
string
org_id
required
string
switch_ports_secs
required

The switch-port tier’s interval (seconds) — every switch port’s status, speed and traffic.

integer format: int32
target_rps
required

Requests per second this organization may be sent, in total (ADR-169). Its collects run in two lanes that can be asking at once — a fast one for availability, uplink, traffic and a wireless round, a slow one for the switch ports, the SSID read and the inventory sync (periodic, or asked for by “Sync now”) — and each paces at half of this. The one exception is the LAN reads of an organization with no node yet, which take all of it: nothing is collected for it, so the fast lane is idle. Below 0.2 each lane stops at 0.1, the slowest a session paces, so the two together can then send up to 0.2 whatever this says.

number format: double
traffic_secs
required
integer format: int32
uplink_secs
required
integer format: int32
wireless_secs
required

The wireless tier’s interval (seconds) — every access point’s clients and each radio’s channel utilization (ADR-168). The SSIDs and radio settings are read every twenty minutes whatever this says.

integer format: int32
Example
[
{
"collect_failures": [
{
"reason": "credential"
}
],
"last_sync_error": "credential"
}
]

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 View

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

Inventory storage is unavailable (skeleton mode)

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