Cisco Meraki Sm API

The sm API from Cisco Meraki — 43 operation(s) for sm.

OpenAPI Specification

cisco-meraki-sm-api-openapi.yml Raw ↑
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