Cisco Meraki Sm API
The sm API from Cisco Meraki — 43 operation(s) for sm.
The sm API from Cisco Meraki — 43 operation(s) for sm.
openapi: 3.0.1
info:
title: Meraki Dashboard API — sm
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 'sm'. 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: sm
paths:
/networks/{networkId}/sm/bypassActivationLockAttempts:
post:
description: Bypass activation lock attempt
operationId: createNetworkSmBypassActivationLockAttempt
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
ids:
type: array
items:
type: string
description: The ids of the devices to attempt activation lock bypass.
example:
ids:
- '1284392014819'
- '2983092129865'
required:
- ids
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
example:
id: '1234'
status: pending
data: {}
summary: Bypass activation lock attempt
tags:
- sm
- configure
- bypassActivationLockAttempts
/networks/{networkId}/sm/bypassActivationLockAttempts/{attemptId}:
get:
description: Bypass activation lock attempt status
operationId: getNetworkSmBypassActivationLockAttempt
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: attemptId
in: path
description: Attempt ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
example:
id: '1234'
status: complete
data:
'38290139892':
success: true
'2090938209':
success: false
errors:
- Activation lock bypass code not known for this device
summary: Bypass activation lock attempt status
tags:
- sm
- configure
- bypassActivationLockAttempts
/networks/{networkId}/sm/devices:
get:
description: List the devices enrolled in an SM network with various specified fields and filters
operationId: getNetworkSmDevices
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: fields
in: query
description: "Additional fields that will be displayed for each device.\n The default fields are: id, name, tags,\
\ ssid, wifiMac, osName, systemModel, uuid, and serialNumber. The additional fields are: ip,\n systemType, availableDeviceCapacity,\
\ kioskAppName, biosVersion, lastConnected, missingAppsCount, userSuppliedAddress, location, lastUser,\n ownerEmail,\
\ ownerUsername, osBuild, publicIp, phoneNumber, diskInfoJson, deviceCapacity, isManaged, hadMdm, isSupervised,\
\ meid, imei, iccid,\n simCarrierNetwork, cellularDataUsed, isHotspotEnabled, createdAt, batteryEstCharge, quarantined,\
\ avName, avRunning, asName, fwName,\n isRooted, loginRequired, screenLockEnabled, screenLockDelay, autoLoginDisabled,\
\ autoTags, hasMdm, hasDesktopAgent, diskEncryptionEnabled,\n hardwareEncryptionCaps, passCodeLock, usesHardwareKeystore,\
\ androidSecurityPatchVersion, cellular, and url."
schema:
type: array
items:
type: string
- name: wifiMacs
in: query
description: Filter devices by wifi mac(s).
schema:
type: array
items:
type: string
- name: serials
in: query
description: Filter devices by serial(s).
schema:
type: array
items:
type: string
- name: ids
in: query
description: Filter devices by id(s).
schema:
type: array
items:
type: string
- name: uuids
in: query
description: Filter devices by uuid(s).
schema:
type: array
items:
type: string
- name: systemTypes
in: query
description: Filter devices by system type(s).
schema:
type: array
items:
type: string
- name: scope
in: query
description: Specify a scope (one of all, none, withAny, withAll, withoutAny, or withoutAll) and a set of tags.
schema:
type: array
items:
type: string
- name: perPage
in: query
description: The number of entries per page returned. Acceptable range is 3 - 1000. Default is 1000.
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:
id:
type: string
description: The Meraki Id of the device record.
name:
type: string
description: The name of the device.
tags:
type: array
items:
type: string
description: An array of tags associated with the device.
ssid:
type: string
description: The name of the SSID the device was last connected to.
wifiMac:
type: string
description: The MAC of the device.
osName:
type: string
description: The name of the device OS.
systemModel:
type: string
description: The device model.
uuid:
type: string
description: The UUID of the device.
serialNumber:
type: string
description: The device serial number.
serial:
type: string
description: The device serial.
ip:
type: string
description: The IP address of the device.
notes:
type: string
description: Notes associated with the device.
example:
- id: '1284392014819'
name: Miles's phone
tags:
- tag1
- tag2
ssid: My SSID
wifiMac: 00:11:22:33:44:55
osName: iOS 9.3.5
systemModel: iPhone
uuid: 3d990628ede4c628d52
serialNumber: F5XKHEBX
serial: F5XKHEBX
ip: 1.2.3.4
notes: Here's some info about my device
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:
- sm:config:read
summary: List the devices enrolled in an SM network with various specified fields and filters
tags:
- sm
- configure
- devices
/networks/{networkId}/sm/devices/checkin:
post:
description: Force check-in a set of devices
operationId: checkinNetworkSmDevices
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
wifiMacs:
type: array
items:
type: string
description: The wifiMacs of the devices to be checked-in.
ids:
type: array
items:
type: string
description: The ids of the devices to be checked-in.
serials:
type: array
items:
type: string
description: The serials of the devices to be checked-in.
scope:
type: array
items:
type: string
description: The scope (one of all, none, withAny, withAll, withoutAny, or withoutAll) and a set of tags
of the devices to be checked-in.
example:
wifiMacs:
- 00:11:22:33:44:55
ids:
- '1284392014819'
- '2983092129865'
serials:
- XY0XX0Y0X0
- A01B01CD00E
- X02YZ1ZYZX
scope:
- withAny
- tag1
- tag2
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
ids:
type: array
items:
type: string
description: The Meraki Ids of the set of devices.
example:
ids:
- '1284392014819'
- '2983092129865'
security:
- oauth2:
- sm:config:write
summary: Force check-in a set of devices
tags:
- sm
- configure
- devices
/networks/{networkId}/sm/devices/fields:
put:
description: Modify the fields of a device
operationId: updateNetworkSmDevicesFields
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
wifiMac:
type: string
description: The wifiMac of the device to be modified.
id:
type: string
description: The id of the device to be modified.
serial:
type: string
description: The serial of the device to be modified.
deviceFields:
type: object
properties:
name:
type: string
description: New name for the device
notes:
type: string
description: New notes for the device
description: The new fields of the device. Each field of this object is optional.
example:
wifiMac: 00:11:22:33:44:55
id: '1284392014819'
serial: XY0XX0Y0X0
deviceFields:
name: Miles's phone
notes: Here's some info about my device
required:
- deviceFields
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
description: The Meraki Id of the device record.
name:
type: string
description: The name of the device.
wifiMac:
type: string
description: The MAC of the device.
serial:
type: string
description: The device serial.
notes:
type: string
description: Notes associated with the device.
example:
- id: '1284392014819'
name: Miles's phone
wifiMac: 00:11:22:33:44:55
serial: F5XKHEBX
notes: Here's some info about my device
security:
- oauth2:
- sm:config:write
summary: Modify the fields of a device
tags:
- sm
- configure
- devices
- fields
/networks/{networkId}/sm/devices/lock:
post:
description: Lock a set of devices
operationId: lockNetworkSmDevices
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
wifiMacs:
type: array
items:
type: string
description: The wifiMacs of the devices to be locked.
ids:
type: array
items:
type: string
description: The ids of the devices to be locked.
serials:
type: array
items:
type: string
description: The serials of the devices to be locked.
scope:
type: array
items:
type: string
description: The scope (one of all, none, withAny, withAll, withoutAny, or withoutAll) and a set of tags
of the devices to be locked.
pin:
type: integer
description: The pin number for locking macOS devices (a six digit number). Required only for macOS devices.
example:
wifiMacs:
- 00:11:22:33:44:55
ids:
- '1284392014819'
- '2983092129865'
serials:
- XY0XX0Y0X0
- A01B01CD00E
- X02YZ1ZYZX
scope:
- withAny
- tag1
- tag2
pin: 123456
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
ids:
type: array
items:
type: string
description: The Meraki Ids of the set of devices.
example:
ids:
- '1284392014819'
- '2983092129865'
security:
- oauth2:
- sm:config:write
summary: Lock a set of devices
tags:
- sm
- configure
- devices
/networks/{networkId}/sm/devices/modifyTags:
post:
description: Add, delete, or update the tags of a set of devices
operationId: modifyNetworkSmDevicesTags
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
wifiMacs:
type: array
items:
type: string
description: The wifiMacs of the devices to be modified.
ids:
type: array
items:
type: string
description: The ids of the devices to be modified.
serials:
type: array
items:
type: string
description: The serials of the devices to be modified.
scope:
type: array
items:
type: string
description: The scope (one of all, none, withAny, withAll, withoutAny, or withoutAll) and a set of tags
of the devices to be modified.
tags:
type: array
items:
type: string
description: The tags to be added, deleted, or updated.
updateAction:
type: string
description: One of add, delete, or update. Only devices that have been modified will be returned.
example:
wifiMacs:
- 00:11:22:33:44:55
ids:
- '1284392014819'
- '2983092129865'
serials:
- XY0XX0Y0X0
- A01B01CD00E
- X02YZ1ZYZX
scope:
- withAny, old_tag
tags:
- tag1
- tag2
updateAction: add
required:
- tags
- updateAction
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
description: The Meraki Id of the device record.
tags:
type: array
items:
type: string
description: An array of tags associated with the device.
wifiMac:
type: string
description: The MAC of the device.
serial:
type: string
description: The device serial.
example:
- id: '1284392014819'
tags:
- tag1
- tag2
wifiMac: 00:11:22:33:44:55
serial: F5XKHEBX
security:
- oauth2:
- sm:config:write
summary: Add, delete, or update the tags of a set of devices
tags:
- sm
- configure
- devices
/networks/{networkId}/sm/devices/move:
post:
description: Move a set of devices to a new network
operationId: moveNetworkSmDevices
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
wifiMacs:
type: array
items:
type: string
description: The wifiMacs of the devices to be moved.
ids:
type: array
items:
type: string
description: The ids of the devices to be moved.
serials:
type: array
items:
type: string
description: The serials of the devices to be moved.
scope:
type: array
items:
type: string
description: The scope (one of all, none, withAny, withAll, withoutAny, or withoutAll) and a set of tags
of the devices to be moved.
newNetwork:
type: string
description: The new network to which the devices will be moved.
example:
wifiMacs:
- 00:11:22:33:44:55
ids:
- '1284392014819'
- '2983092129865'
serials:
- XY0XX0Y0X0
- A01B01CD00E
- X02YZ1ZYZX
scope:
- withAny
- tag1
- tag2
newNetwork: '1284392014819'
required:
- newNetwork
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
ids:
type: array
items:
type: string
description: The Meraki Ids of the set of devices.
newNetwork:
type: string
description: The network to which the devices was moved.
example:
ids:
- '1284392014819'
- '2983092129865'
newNetwork: '1284392014819'
security:
- oauth2:
- sm:config:write
summary: Move a set of devices to a new network
tags:
- sm
- configure
- devices
/networks/{networkId}/sm/devices/reboot:
post:
description: Reboot a set of endpoints
operationId: rebootNetworkSmDevices
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
wifiMacs:
type: array
items:
type: string
description: The wifiMacs of the endpoints to be rebooted.
ids:
type: array
items:
type: string
description: The ids of the endpoints to be rebooted.
serials:
type: array
items:
type: string
description: The serials of the endpoints to be rebooted.
scope:
type: array
items:
type: string
description: The scope (one of all, none, withAny, withAll, withoutAny, or withoutAll) and a set of tags
of the endpoints to be rebooted.
kextPaths:
type: array
items:
type: string
description: The KextPaths of the endpoints to be rebooted. Available for macOS 11+
notifyUser:
type: boolean
description: Whether or not to notify the user before rebooting the endpoint. Available for macOS 11.3+
rebuildKernelCache:
type: boolean
description: Whether or not to rebuild the kernel cache when rebooting the endpoint. Available for macOS
11+
requestRequiresNetworkTether:
type: boolean
description: Whether or not the request requires network tethering. Available for macOS and supervised iOS
or tvOS
example:
wifiMacs:
- 00:11:22:33:44:55
ids:
- '1284392014819'
- '2983092129865'
serials:
- XY0XX0Y0X0
- A01B01CD00E
- X02YZ1ZYZX
scope:
- withAny
- tag1
- tag2
kextPaths:
- test
notifyUser: true
rebuildKernelCache: true
requestRequiresNetworkTether: true
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
ids:
type: array
items:
type: string
description: The Meraki Ids of the set of endpoints.
example:
ids:
- '1284392014819'
- '2983092129865'
summary: Reboot a set of endpoints
tags:
- sm
- configure
- devices
/networks/{networkId}/sm/devices/shutdown:
post:
description: Shutdown a set of endpoints
operationId: shutdownNetworkSmDevices
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
wifiMacs:
type: array
items:
type: string
description: The wifiMacs of the endpoints to be shutdown.
ids:
type: array
items:
type: string
description: The ids of the endpoints to be shutdown.
serials:
type: array
items:
type: string
description: The serials of the endpoints to be shutdown.
scope:
type: array
items:
type: string
description: The scope (one of all, none, withAny, withAll, withoutAny, or withoutAll) and a set of tags
of the endpoints to be shutdown.
example:
wifiMacs:
- 00:11:22:33:44:55
ids:
- '1284392014819'
- '2983092129865'
serials:
- XY0XX0Y0X0
- A01B01CD00E
- X02YZ1ZYZX
scope:
- withAny
- tag1
- tag2
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
ids:
type: array
items:
type: string
description: The Meraki Ids of the set of endpoints.
example:
ids:
- '1284392014819'
- '2983092129865'
summary: Shutdown a set of endpoints
tags:
- sm
- configure
- devices
/networks/{networkId}/sm/devices/wipe:
post:
description: Wipe a device
operationId: wipeNetworkSmDevices
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
wifiMac:
type: string
description: The wifiMac of the device to be wiped.
id:
type: string
description: The id of the device to be wiped.
serial:
type: string
description: The serial of the device to be wiped.
pin:
type: integer
description: The pin number (a six digit value) for wiping a macOS device. Required only for macOS devices.
example:
wifiMac: 00:11:22:33:44:55
id: '1284392014819'
serial: XY0XX0Y0X0
pin: 123456
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The Meraki Id of the devices.
example:
id: '1284392014819'
security:
- oauth2:
- sm:config:write
summary: Wipe a device
tags:
- sm
- configure
- devices
/networks/{networkId}/sm/devices/{deviceId}/cellularUsageHistory:
get:
description: Return the client's daily cellular data usage history. Usage data is in kilobytes.
operationId: getNetworkSmDeviceCellularUsageHistory
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: deviceId
in: path
description: Device ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
received:
type: number
format: float
description: The amount of cellular data received by the device.
sent:
type: number
format: float
description: The amount of cellular sent received by the device.
ts:
type: string
description: When the cellular usage data was collected.
example:
- received: 61.0
sent: 138.0
ts: '2018-05-12T00:00:00Z'
security:
- oauth2
# --- truncated at 32 KB (140 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-meraki/refs/heads/main/openapi/cisco-meraki-sm-api-openapi.yml