Cisco Meraki Wireless API
The wireless API from Cisco Meraki — 108 operation(s) for wireless.
The wireless API from Cisco Meraki — 108 operation(s) for wireless.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/cisco-meraki-wireless-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.0.1
info:
title: Meraki Dashboard API — wireless
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 'wireless'. 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: wireless
paths:
/devices/{serial}/wireless/alternateManagementInterface/ipv6:
put:
description: Update alternate management interface IPv6 address
operationId: updateDeviceWirelessAlternateManagementInterfaceIpv6
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
addresses:
type: array
items:
type: object
properties:
protocol:
type: string
enum:
- ipv4
- ipv6
description: The IP protocol used for the address
assignmentMode:
type: string
enum:
- dynamic
- static
description: The type of address assignment. Either static or dynamic.
address:
type: string
description: The IP address configured for the alternate management interface
gateway:
type: string
description: The gateway address configured for the alternate managment interface
prefix:
type: string
description: The IPv6 prefix length of the IPv6 interface. Required if IPv6 object is included.
nameservers:
type: object
properties:
addresses:
type: array
items:
type: string
description: Up to 2 nameserver addresses to use, ordered in priority from highest to lowest priority.
description: The DNS servers settings for this address.
description: configured alternate management interface addresses
example:
addresses:
- protocol: ipv6
assignmentMode: static
address: 2001:db8:3c4d:15::1
gateway: fe80:db8:c15:c0:d0c::10ca:1d02
prefix: 2001:db8:3c4d:15::/64
nameservers:
addresses:
- 2001:db8:3c4d:15::1
- 2001:db8:3c4d:15::1
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
addresses:
type: array
items:
type: object
properties:
protocol:
type: string
enum:
- ipv4
- ipv6
description: The IP protocol used for the address
assignmentMode:
type: string
enum:
- dynamic
- static
description: The type of address assignment. Either static or dynamic.
address:
type: string
description: The IP address configured for the alternate management interface
gateway:
type: string
description: The gateway address configured for the alternate managment interface
prefix:
type: string
description: The IPv6 prefix of the interface. Required if IPv6 object is included.
nameservers:
type: object
properties:
addresses:
type: array
items:
type: string
description: Up to 2 nameserver addresses to use, ordered in priority from highest to lowest
priority.
description: The DNS servers settings for this address.
description: configured alternate management interface addresses
example:
addresses:
- protocol: ipv6
assignmentMode: static
address: 2001:db8:3c4d:15::1
gateway: fe80:db8:c15:c0:d0c::10ca:1d02
prefix: 2001:db8:3c4d:15::/64
nameservers:
addresses:
- 2001:db8:3c4d:15::1
- 2001:db8:3c4d:15::1
security:
- oauth2:
- wireless:config:write
summary: Update alternate management interface IPv6 address
tags:
- wireless
- configure
- alternateManagementInterface
- ipv6
/devices/{serial}/wireless/bluetooth/settings:
get:
description: Return the bluetooth settings for a wireless device
operationId: getDeviceWirelessBluetoothSettings
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
uuid:
type: string
description: "Desired UUID of the beacon. If the value is set to null it will reset to Dashboard's\n \
\ automatically generated value."
major:
type: integer
description: "Desired major value of the beacon. If the value is set to null it will reset to\n \
\ Dashboard's automatically generated value."
minor:
type: integer
description: "Desired minor value of the beacon. If the value is set to null it will reset to\n \
\ Dashboard's automatically generated value."
example:
uuid: 00000000-0000-0000-0000-000000000000
major: 13
minor: 125
security:
- oauth2:
- wireless:config:read
summary: Return the bluetooth settings for a wireless device
tags:
- wireless
- configure
- bluetooth
- settings
put:
description: Update the bluetooth settings for a wireless device
operationId: updateDeviceWirelessBluetoothSettings
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
uuid:
type: string
nullable: true
description: "Desired UUID of the beacon. If the value is set to null it will reset to Dashboard's\n \
\ automatically generated value."
major:
type: integer
nullable: true
description: "Desired major value of the beacon. If the value is set to null it will reset to\n \
\ Dashboard's automatically generated value."
minor:
type: integer
nullable: true
description: "Desired minor value of the beacon. If the value is set to null it will reset to\n \
\ Dashboard's automatically generated value."
example:
uuid: 00000000-0000-0000-0000-000000000000
major: 13
minor: 125
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
uuid:
type: string
description: "Desired UUID of the beacon. If the value is set to null it will reset to Dashboard's\n \
\ automatically generated value."
major:
type: integer
description: "Desired major value of the beacon. If the value is set to null it will reset to\n \
\ Dashboard's automatically generated value."
minor:
type: integer
description: "Desired minor value of the beacon. If the value is set to null it will reset to\n \
\ Dashboard's automatically generated value."
example:
uuid: 00000000-0000-0000-0000-000000000000
major: 13
minor: 125
security:
- oauth2:
- wireless:config:write
summary: Update the bluetooth settings for a wireless device
tags:
- wireless
- configure
- bluetooth
- settings
/devices/{serial}/wireless/connectionStats:
get:
description: Aggregated connectivity info for a given AP on this network
operationId: getDeviceWirelessConnectionStats
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: t0
in: query
description: The beginning of the timespan for the data. The maximum lookback period is 180 days from today.
schema:
type: string
- name: t1
in: query
description: The end of the timespan for the data. t1 can be a maximum of 7 days after t0.
schema:
type: string
- name: timespan
in: query
description: The timespan for which the information will be fetched. If specifying timespan, do not specify parameters
t0 and t1. The value must be in seconds and be less than or equal to 7 days.
schema:
type: number
format: float
maximum: 604800
- name: band
in: query
description: Filter results by band (either '2.4', '5' or '6'). Note that data prior to February 2020 will not have
band information.
schema:
type: string
enum:
- '2.4'
- '5'
- '6'
- name: ssid
in: query
description: Filter results by SSID
schema:
type: integer
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- name: apTag
in: query
description: Filter results by AP Tag
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
serial:
type: string
description: The serial number for the device
connectionStats:
type: object
properties:
assoc:
type: integer
description: The number of failed association attempts
auth:
type: integer
description: The number of failed authentication attempts
dhcp:
type: integer
description: The number of failed DHCP attempts
dns:
type: integer
description: The number of failed DNS attempts
success:
type: integer
description: The number of successful connection attempts
description: The connection stats of the device
example:
serial: Q234-ABCD-5678
connectionStats:
assoc: 0
auth: 1
dhcp: 0
dns: 0
success: 43
security:
- oauth2:
- wireless:telemetry:read
summary: Aggregated connectivity info for a given AP on this network
tags:
- wireless
- monitor
- connectionStats
/devices/{serial}/wireless/electronicShelfLabel:
get:
description: Return the ESL settings of a device
operationId: getDeviceWirelessElectronicShelfLabel
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
apEslId:
type: integer
description: An identifier for the device used by the ESL system
serial:
type: string
description: The serial number of the device
channel:
type: string
description: Desired ESL channel for the device, or 'Auto' (case insensitive) to use the recommended channel
enabled:
type: boolean
description: Turn ESL features on and off for this device
networkId:
type: string
description: The identifier for the device's network
hostname:
type: string
description: Hostname of the ESL management service
provider:
type: string
description: The service providing ESL functionality
example:
apEslId: 16777216
serial: Q234-ABCD-5678
channel: '1'
enabled: true
networkId: N_24329156
hostname: localhost:700
provider: imagotag
summary: Return the ESL settings of a device
tags:
- wireless
- configure
- electronicShelfLabel
put:
description: Update the ESL settings of a device
operationId: updateDeviceWirelessElectronicShelfLabel
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
channel:
type: string
description: Desired ESL channel for the device, or 'Auto' (case insensitive) to use the recommended channel
enabled:
type: boolean
description: Turn ESL features on and off for this device
example:
channel: '1'
enabled: true
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
apEslId:
type: integer
description: An identifier for the device used by the ESL system
serial:
type: string
description: The serial number of the device
channel:
type: string
description: Desired ESL channel for the device, or 'Auto' (case insensitive) to use the recommended channel
enabled:
type: boolean
description: Turn ESL features on and off for this device
networkId:
type: string
description: The identifier for the device's network
hostname:
type: string
description: Hostname of the ESL management service
provider:
type: string
description: The service providing ESL functionality
example:
apEslId: 16777216
serial: Q234-ABCD-5678
channel: '1'
enabled: true
networkId: N_24329156
hostname: localhost:700
provider: imagotag
summary: Update the ESL settings of a device
tags:
- wireless
- configure
- electronicShelfLabel
/devices/{serial}/wireless/latencyStats:
get:
description: Aggregated latency info for a given AP on this network
operationId: getDeviceWirelessLatencyStats
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: t0
in: query
description: The beginning of the timespan for the data. The maximum lookback period is 180 days from today.
schema:
type: string
- name: t1
in: query
description: The end of the timespan for the data. t1 can be a maximum of 7 days after t0.
schema:
type: string
- name: timespan
in: query
description: The timespan for which the information will be fetched. If specifying timespan, do not specify parameters
t0 and t1. The value must be in seconds and be less than or equal to 7 days.
schema:
type: number
format: float
maximum: 604800
- name: band
in: query
description: Filter results by band (either '2.4', '5' or '6'). Note that data prior to February 2020 will not have
band information.
schema:
type: string
enum:
- '2.4'
- '5'
- '6'
- name: ssid
in: query
description: Filter results by SSID
schema:
type: integer
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- name: apTag
in: query
description: Filter results by AP Tag
schema:
type: string
- name: vlan
in: query
description: Filter results by VLAN
schema:
type: integer
- name: fields
in: query
description: 'Partial selection: If present, this call will return only the selected fields of ["rawDistribution",
"avg"]. All fields will be returned by default. Selected fields must be entered as a comma separated string.'
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
serial:
type: string
description: The serial number for the device
latencyStats:
type: object
properties:
backgroundTraffic:
type: object
properties:
rawDistribution:
type: object
additionalProperties: true
description: Raw distribution of latency buckets in milliseconds to sample counts
avg:
type: number
format: float
description: Average latency in milliseconds
description: Background traffic latency stats
bestEffortTraffic:
type: object
properties:
rawDistribution:
type: object
additionalProperties: true
description: Raw distribution of latency buckets in milliseconds to sample counts
avg:
type: number
format: float
description: Average latency in milliseconds
description: Best effort traffic latency stats
videoTraffic:
type: object
properties:
rawDistribution:
type: object
additionalProperties: true
description: Raw distribution of latency buckets in milliseconds to sample counts
avg:
type: number
format: float
description: Average latency in milliseconds
description: Video traffic latency stats
voiceTraffic:
type: object
properties:
rawDistribution:
type: object
additionalProperties: true
description: Raw distribution of latency buckets in milliseconds to sample counts
avg:
type: number
format: float
description: Average latency in milliseconds
description: Voice traffic latency stats
description: Latency stats for the device
example:
serial: Q2JC-2MJM-FHRD
latencyStats:
backgroundTraffic:
avg: 606.52
bestEffortTraffic:
avg: 606.52
videoTraffic:
avg: 606.52
voiceTraffic:
avg: 606.52
security:
- oauth2:
- wireless:telemetry:read
summary: Aggregated latency info for a given AP on this network
tags:
- wireless
- monitor
- latencyStats
/devices/{serial}/wireless/radio/settings:
get:
description: Return the manually configured radio settings overrides of a device, which take precedence over RF profiles.
operationId: getDeviceWirelessRadioSettings
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
serial:
type: string
description: The device serial
rfProfileId:
type: string
description: RF Profile ID
twoFourGhzSettings:
type: object
properties:
channel:
type: integer
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
description: Manual channel for 2.4 GHz
targetPower:
type: integer
description: Manual target power for 2.4 GHz
description: Manual radio settings for 2.4 GHz
fiveGhzSettings:
type: object
properties:
channel:
type: integer
enum:
- 36
- 40
- 44
- 48
- 52
- 56
- 60
- 64
- 100
- 104
- 108
- 112
- 116
- 120
- 124
- 128
- 132
- 136
- 140
- 144
- 149
- 153
- 157
- 161
- 165
- 169
- 173
- 177
description: Manual channel for 5 GHz
channelWidth:
type: integer
enum:
- 0
- 20
- 40
- 80
- 160
description: Manual channel width for 5 GHz
targetPower:
type: integer
description: Manual target power for 5 GHz
description: Manual radio settings for 5 GHz
example:
serial: Q234-ABCD-5678
rfProfileId: '1234'
twoFourGhzSettings:
channel: 11
targetPower: 21
fiveGhzSettings:
channel: 149
channelWidth: 20
targetPower: 15
security:
- oauth2:
- wireless:config:read
summary: Return the manually configured radio settings overrides of a device, which take precedence over RF profiles.
tags:
- wireless
- configure
- radio
- settings
put:
description: Update 2.4 GHz and 5 GHz radio settings (channel, channel width, power) that override RF profiles. For
6 GHz support or radio enable/disable, use updateDeviceWirelessRadioOverrides instead.
operationId: updateDeviceWirelessRadioSettings
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
rfProfileId:
type: string
nullable: true
description: The ID of an RF profile to assign to the device. If the value of this parameter is null, the
appropriate basic RF profile (indoor or outdoor) will be assigned to the device. Assigning an RF profile
will clear ALL manually configured overrides on the device (channel width, channel, power).
twoFourGhzSettings:
type: object
properties:
channel:
type: integer
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
description: Sets a manual channel for 2.4 GHz. Can be '1', '2', '3', '4', '5', '6', '7', '8', '9',
'10', '11', '12', '13' or '14' or null for using auto channel.
nullable: true
targetPower:
type: integer
description: Set a manual target power for 2.4 GHz (dBm). Enter null for using auto power range.
nullable: true
description: Manual radio settings for 2.4 GHz.
fiveGhzSettings:
type: object
properties:
channel:
type: integer
enum:
- 36
- 40
- 44
- 48
- 52
- 56
- 60
- 64
- 100
- 104
- 108
- 112
- 116
- 120
- 124
- 128
- 132
- 136
- 140
- 144
- 149
- 153
- 157
- 161
- 165
- 169
- 173
- 177
description: Sets a manual channel for 5 GHz. Can be '36', '40', '44', '48', '52', '56', '60', '64',
'100', '104', '108', '112', '116', '120', '124', '128', '132', '136', '140', '144', '149', '153',
'157', '161', '165', '169', '173' or '177' or null for using auto channel.
nullable: true
channelWidth:
type: integer
enum:
- 0
- 20
- 40
- 80
- 160
description: Sets a manual channel width for 5 GHz. Can be '0', '20', '40', '80' or '160' or null for
using auto channel width.
nullable: true
targetPower:
type: integer
description: Set a manual target power for 5 GHz (dBm). Enter null for using auto power range.
nullable: true
description: Manual radio settings for 5 GHz.
example:
rfProfileId: '12
# --- truncated at 32 KB (1282 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-meraki/refs/heads/main/openapi/cisco-meraki-wireless-api-openapi.yml