Skip to content

Ask for the whole organization to be read again now, rather than waiting for the periodic sync (ADR-164 decision 32).

POST
/api/v1/meraki/orgs/{id}/sync
curl --request POST \
--url https://example.com/api/v1/meraki/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/sync \
--header 'Authorization: Bearer <token>'

Accepted, not run. The read re-reads every MX network’s VLANs one network at a time, which takes minutes (about six for 350 networks at the default rate), so this records the request and answers 202. The leader runs it once the organization’s slow collect lane is free — never in the fast lane, which is availability’s — and the organization shows full_sync while it waits and while it runs; how it ended is last_sync_at / last_sync_ok / last_sync_error, as for any sync. Asking while one is already asked for, or while the one asked for is running, changes nothing: it is the same request. Asked while a read nobody asked for is running — an organization’s first, or a sync that found networks never read — the request stands and runs once that read has ended.

Read-only upstream: the three paged inventory listings, the VLANs of every MX network (appliance/vlans, falling back to appliance/singleLan), and the MX uplink statuses (for each warm-spare pair’s configured roles). Then the devices the organization imports are imported. While it runs, the organization’s switch-port and SSID reads wait for the lane.

id
required
string format: uuid

Organization row id

The read is asked for — or already was. It runs in the background; watch full_sync on the organization

Media typeapplication/json

A whole-organization read: every MX network’s LAN side, then the import (ADR-164 decision 30–32).

object
networks

How many networks’ LAN sides it reads; null until it has begun.

integer | null format: int32
read

How many of those it has asked so far — a network whose read failed counts; null until it has begun.

integer | null format: int32
requested_at

When “Sync now” asked for it; null for a read nobody asked for — an organization’s first, or the one a sync makes when it finds networks it has never read.

string | null format: date-time
started_at

When it began; null while it waits for the organization’s slow collect lane.

string | null format: date-time
Examplegenerated
{
"networks": 1,
"read": 1,
"requested_at": "2026-04-15T12:00:00Z",
"started_at": "2026-04-15T12:00:00Z"
}

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 ManageConfig, or the account is restricted to folders (scope_unsupported)

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

No such organization

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

Meraki polling is paused globally (meraki_polling_paused), or this organization is paused (meraki_org_paused)

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