Cisco Meraki Networks API
The networks API from Cisco Meraki — 89 operation(s) for networks.
The networks API from Cisco Meraki — 89 operation(s) for networks.
openapi: 3.0.1
info:
title: Meraki Dashboard API — networks
description: 'A RESTful API to programmatically manage and monitor Cisco Meraki networks at scale.
> Date: 05 August, 2026
>
> [Recent Updates](https://meraki.io/whats-new/)
---
[API Documentation](https://meraki.io/api)
[Community Support](https://meraki.io/community)
[Meraki Homepage](https://www.meraki.com)
'
contact:
name: Meraki Developer Community
url: https://meraki.io/community
version: 1.73.0
x-provenance:
method: harvested
authored_by: Cisco Meraki
harvested_by: API Evangelist
harvested_on: '2026-08-19'
first_party: true
note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
provider_published: true
derived_view: Per-first-tag view of the source document, tag 'networks'. Operations and schemas are the provider's, unmodified.
x-evidence:
- type: source
url: https://github.com/meraki/openapi/blob/master/openapi/spec3.json
- type: raw
url: https://raw.githubusercontent.com/meraki/openapi/master/openapi/spec3.json
- type: alternate
url: https://api.meraki.com/api/v1/openapiSpec
servers:
- url: https://api.meraki.com/{basePath}
variables:
basePath:
default: api/v1
security:
- meraki_api_key: []
- bearerAuth: []
tags:
- name: networks
paths:
/networks/{networkId}:
get:
description: Return a network
operationId: getNetwork
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Network ID
organizationId:
type: string
description: Organization ID
name:
type: string
description: Network name
productTypes:
type: array
items:
type: string
description: List of the product types that the network supports
timeZone:
type: string
description: Timezone of the network
tags:
type: array
items:
type: string
description: Network tags
enrollmentString:
type: string
description: Enrollment string for the network
url:
type: string
description: URL to the network Dashboard UI
notes:
type: string
description: Notes for the network
isBoundToConfigTemplate:
type: boolean
description: If the network is bound to a config template
example:
id: N_24329156
organizationId: '2930418'
name: Main Office
productTypes:
- appliance
- switch
- wireless
timeZone: America/Los_Angeles
tags:
- tag1
- tag2
enrollmentString: my-enrollment-string
url: https://n1.meraki.com//n//manage/nodes/list
notes: Additional description of the network
isBoundToConfigTemplate: false
security:
- oauth2:
- dashboard:general:config:read
summary: Return a network
tags:
- networks
- configure
put:
description: Update a network
operationId: updateNetwork
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name of the network
timeZone:
type: string
description: The timezone of the network. For a list of allowed timezones, please see the 'TZ' column in
the table in <a target='_blank' href='https://en.wikipedia.org/wiki/List_of_tz_database_time_zones'>this
article.</a>
tags:
type: array
items:
type: string
description: A list of tags to be applied to the network
enrollmentString:
type: string
description: A unique identifier which can be used for device enrollment or easy access through the Meraki
SM Registration page or the Self Service Portal. Please note that changing this field may cause existing
bookmarks to break.
notes:
type: string
nullable: true
description: Add any notes or additional information about this network here.
example:
name: Main Office
timeZone: America/Los_Angeles
tags:
- tag1
- tag2
enrollmentString: my-enrollment-string
notes: Additional description of the network
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Network ID
organizationId:
type: string
description: Organization ID
name:
type: string
description: Network name
productTypes:
type: array
items:
type: string
description: List of the product types that the network supports
timeZone:
type: string
description: Timezone of the network
tags:
type: array
items:
type: string
description: Network tags
enrollmentString:
type: string
description: Enrollment string for the network
url:
type: string
description: URL to the network Dashboard UI
notes:
type: string
description: Notes for the network
isBoundToConfigTemplate:
type: boolean
description: If the network is bound to a config template
example:
id: N_24329156
organizationId: '2930418'
name: Main Office
productTypes:
- appliance
- switch
- wireless
timeZone: America/Los_Angeles
tags:
- tag1
- tag2
enrollmentString: my-enrollment-string
url: https://n1.meraki.com//n//manage/nodes/list
notes: Additional description of the network
isBoundToConfigTemplate: false
security:
- oauth2:
- dashboard:general:config:write
summary: Update a network
tags:
- networks
- configure
delete:
description: Delete a network
operationId: deleteNetwork
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'204':
description: Successful operation
security:
- oauth2:
- dashboard:general:config:write
summary: Delete a network
tags:
- networks
- configure
/networks/{networkId}/alerts/history:
get:
description: Return the alert history for this network
operationId: getNetworkAlertsHistory
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: perPage
in: query
description: The number of entries per page returned. Acceptable range is 3 - 1000. Default is 100.
schema:
type: integer
- name: startingAfter
in: query
description: A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but
it is not limited to those. This parameter should not be defined by client applications. The link for the first,
last, prev, or next page in the HTTP Link header should define it.
schema:
type: string
- name: endingBefore
in: query
description: A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it
is not limited to those. This parameter should not be defined by client applications. The link for the first, last,
prev, or next page in the HTTP Link header should define it.
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
occurredAt:
type: string
description: time when the event occurred
alertTypeId:
type: string
description: type of alert
alertType:
type: string
description: user friendly alert type
device:
type: object
properties:
serial:
type: string
description: device serial
description: info related to the device that caused the alert
destinations:
type: object
properties:
email:
type: object
properties:
sentAt:
type: string
description: time when the alert was sent to the user(s) for this channel
description: email destinations for this alert
push:
type: object
properties:
sentAt:
type: string
description: time when the alert was sent to the user(s) for this channel
description: push destinations for this alert
sms:
type: object
properties:
sentAt:
type: string
description: time when the alert was sent to the user(s) for this channel
description: sms destinations for this alert
webhook:
type: object
properties:
sentAt:
type: string
description: time when the alert was sent to the user(s) for this channel
description: webhook destinations for this alert
description: the destinations this alert is configured to be delivered to
alertData:
type: object
description: relevant data about the event that caused the alert
example:
- occurredAt: '2022-07-11T22:35:34Z'
alertTypeId: settings_changed
alertType: Settings changed
device:
serial: Q3CG-G6W8-BEVR
destinations:
email:
sentAt: '2022-07-11T22:40:34Z'
push:
sentAt: '2022-07-11T22:40:34Z'
sms:
sentAt: '2022-07-11T22:40:34Z'
webhook:
sentAt: '2022-07-11T22:40:34Z'
headers:
Link:
schema:
type: string
description: A comma-separated list of first, last, prev, and next relative links used for subsequent paginated
requests.
security:
- oauth2:
- dashboard:general:telemetry:read
summary: Return the alert history for this network
tags:
- networks
- monitor
- alerts
- history
/networks/{networkId}/alerts/settings:
get:
description: Return the alert configuration for this network
operationId: getNetworkAlertsSettings
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
defaultDestinations:
type: object
properties:
emails:
type: array
items:
type: string
description: A list of emails that will receive the alert(s).
allAdmins:
type: boolean
description: If true, then all network admins will receive emails.
snmp:
type: boolean
description: If true, then an SNMP trap will be sent if there is an SNMP trap server configured for
this network.
httpServerIds:
type: array
items:
type: string
description: A list of HTTP server IDs to send a Webhook to
description: The network-wide destinations for all alerts on the network.
alerts:
type: array
items:
type: object
properties:
type:
type: string
description: The type of alert
enabled:
type: boolean
description: A boolean depicting if the alert is turned on or off
alertDestinations:
type: object
properties:
emails:
type: array
items:
type: string
description: A list of emails that will receive information about the alert
smsNumbers:
type: array
items:
type: string
description: A list of phone numbers that will receive text messages about the alert. Only available
for sensors status alerts.
allAdmins:
type: boolean
description: If true, then all network admins will receive emails for this alert
snmp:
type: boolean
description: If true, then an SNMP trap will be sent for this alert if there is an SNMP trap
server configured for this network
httpServerIds:
type: array
items:
type: string
description: A list of HTTP server IDs to send a Webhook to for this alert
description: A hash of destinations for this specific alert
filters:
type: object
properties:
conditions:
type: array
items:
type: object
properties:
type:
type: string
description: Type of condition
unit:
type: string
description: Unit
nullable: true
duration:
type: integer
description: Duration
direction:
type: string
enum:
- +
- '-'
description: Direction
threshold:
type: number
format: float
description: Threshold
description: Conditions
failureType:
type: string
description: Failure Type
lookbackWindow:
type: integer
description: Loopback Window (in sec)
minDuration:
type: integer
description: Min Duration
name:
type: string
description: Name
period:
type: integer
description: Period
priority:
type: string
description: Priority
regex:
type: string
description: Regex
selector:
type: string
description: Selector
serials:
type: array
items:
type: string
description: Serials
ssidNum:
type: integer
description: SSID Number
tag:
type: string
description: Tag
threshold:
type: integer
description: Threshold
timeout:
type: integer
description: Timeout
description: A hash of specific configuration data for the alert. Only filters specific to the alert
will be updated.
required:
- type
description: Alert-specific configuration for each type. Only alerts that pertain to the network can be
updated.
muting:
type: object
properties:
byPortSchedules:
type: object
properties:
enabled:
type: boolean
description: If true, then wireless unreachable alerts will be muted when caused by a port schedule
description: Mute wireless unreachable alerts based on switch port schedules
description: Mute alerts under certain conditions
example:
defaultDestinations:
emails:
- miles@meraki.com
allAdmins: true
snmp: true
httpServerIds:
- aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vd2ViaG9va3M=
alerts:
- type: gatewayDown
enabled: true
alertDestinations:
emails:
- miles@meraki.com
smsNumbers:
- '+15555555555'
allAdmins: false
snmp: false
httpServerIds:
- aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vd2ViaG9va3M=
filters:
conditions:
- type: temperature
unit: celsius
duration: 0
direction: +
threshold: 72.5
failureType: 802.1X auth fail
lookbackWindow: 360
minDuration: 60
name: Filter
period: 1800
priority: ''
regex: '[a-z]'
selector: '{"smartSensitivity":"medium","smartEnabled":false,"eventReminderPeriodSecs":10800}'
serials:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
ssidNum: 1
tag: tag1
threshold: 30
timeout: 60
muting:
byPortSchedules:
enabled: true
security:
- oauth2:
- dashboard:general:telemetry:read
summary: Return the alert configuration for this network
tags:
- networks
- configure
- alerts
- settings
put:
description: Update the alert configuration for this network
operationId: updateNetworkAlertsSettings
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
defaultDestinations:
type: object
properties:
emails:
type: array
items:
type: string
description: A list of emails that will receive the alert(s).
allAdmins:
type: boolean
description: If true, then all network admins will receive emails.
snmp:
type: boolean
description: If true, then an SNMP trap will be sent if there is an SNMP trap server configured for
this network.
httpServerIds:
type: array
items:
type: string
description: A list of HTTP server IDs to send a Webhook to
description: The network-wide destinations for all alerts on the network.
alerts:
type: array
items:
type: object
properties:
type:
type: string
description: The type of alert
enabled:
type: boolean
description: A boolean depicting if the alert is turned on or off
alertDestinations:
type: object
properties:
emails:
type: array
items:
type: string
description: A list of emails that will receive information about the alert
smsNumbers:
type: array
items:
type: string
description: A list of phone numbers that will receive text messages about the alert. Only available
for sensors status alerts.
allAdmins:
type: boolean
description: If true, then all network admins will receive emails for this alert
snmp:
type: boolean
description: If true, then an SNMP trap will be sent for this alert if there is an SNMP trap server
configured for this network
httpServerIds:
type: array
items:
type: string
description: A list of HTTP server IDs to send a Webhook to for this alert
description: A hash of destinations for this specific alert
filters:
type: object
properties:
conditions:
type: array
items:
type: object
properties:
type:
type: string
description: Type of condition
unit:
type: string
description: Unit
nullable: true
duration:
type: integer
description: Duration
direction:
type: string
enum:
- +
- '-'
description: Direction
threshold:
type: number
format: float
description: Threshold
description: Conditions
failureType:
type: string
description: Failure Type
lookbackWindow:
type: integer
description: Loopback Window (in sec)
minDuration:
type: integer
description: Min Duration
name:
type: string
description: Name
period:
type: integer
description: Period
priority:
type: string
description: Priority
regex:
type: string
description: Regex
selector:
type: string
description: Selector
serials:
type: array
items:
type: string
description: Serials
ssidNum:
type: integer
description: SSID Number
tag:
type: string
description: Tag
threshold:
type: integer
description: Threshold
timeout:
type: integer
description: Timeout
description: A hash of specific configuration data for the alert. Only filters specific to the alert
will be updated.
required:
- type
description: Alert-specific configuration for each type. Only alerts that pertain to the network can be
updated.
muting:
type: object
properties:
byPortSchedules:
type: object
properties:
enabled:
type: boolean
description: If true, then wireless unreachable alerts will be muted when caused by a port schedule
description: Mute wireless unreachable alerts based on switch port schedules
description: Mute alerts under certain conditions
example:
defaultDestinations:
emails:
- miles@meraki.com
allAdmins: true
snmp: true
httpServerIds:
- aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vd2ViaG9va3M=
alerts:
- type: gatewayDown
enabled: true
alertDestinations:
emails:
- miles@meraki.com
smsNumbers:
- '+15555555555'
allAdmins: false
snmp: false
httpServerIds:
- aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vd2ViaG9va3M=
filters:
conditions:
- type: temperature
unit: celsius
duration: 0
direction: +
threshold: 72.5
failureType: 802.1X auth fail
lookbackWindow: 360
minDuration: 60
name: Filter
period: 1800
priority: ''
regex: '[a-z]'
selector: '{"smartSensitivity":"medium","smartEnabled":false,"eventReminderPeriodSecs":10800}'
serials:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
ssidNum: 1
tag: tag1
threshold: 30
timeout: 60
muting:
byPortSchedules:
enabled: true
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
defaultDestinations:
type: object
properties:
emails:
type: array
items:
type: string
description: A list of emails that will receive the alert(s).
allAdmins:
# --- truncated at 32 KB (837 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-meraki/refs/heads/main/openapi/cisco-meraki-networks-api-openapi.yml