Cisco Meraki Devices API

The devices API from Cisco Meraki — 151 operation(s) for devices.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cisco-meraki-devices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cisco-meraki-devices-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Meraki Dashboard API — devices
  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 'devices'. 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: devices
paths:
  /devices/{serial}:
    get:
      description: Return a single device
      operationId: getDevice
      parameters:
      - name: serial
        in: path
        description: Serial
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    description: Name of the device
                  lat:
                    type: number
                    format: float
                    description: Latitude of the device
                  lng:
                    type: number
                    format: float
                    description: Longitude of the device
                  address:
                    type: string
                    description: Physical address of the device
                  notes:
                    type: string
                    description: Notes for the device, limited to 255 characters
                  tags:
                    type: array
                    items:
                      type: string
                    description: List of tags assigned to the device
                  networkId:
                    type: string
                    description: ID of the network the device belongs to
                  serial:
                    type: string
                    description: Serial number of the device
                  model:
                    type: string
                    description: Model of the device
                  mac:
                    type: string
                    description: MAC address of the device
                  lanIp:
                    type: string
                    description: LAN IP address of the device
                  firmware:
                    type: string
                    description: Firmware version of the device
                  floorPlanId:
                    type: string
                    description: The floor plan to associate to this device. null disassociates the device from the floorplan.
                    nullable: true
                  url:
                    type: string
                    description: URL link to the device in the Meraki Dashboard
                  details:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Additional property name
                        value:
                          type: string
                          description: Additional property value
                    description: Additional device information
                  beaconIdParams:
                    type: object
                    properties:
                      uuid:
                        type: string
                        description: The UUID to be used in the beacon identifier
                      major:
                        type: integer
                        description: The major number to be used in the beacon identifier
                      minor:
                        type: integer
                        description: The minor number to be used in the beacon identifier
                    description: Beacon Id parameters with an identifier and major and minor versions
              example:
                name: My AP
                lat: 37.4180951010362
                lng: -122.098531723022
                address: 1600 Pennsylvania Ave
                notes: My AP's note
                tags:
                - ' recently-added '
                networkId: N_24329156
                serial: Q234-ABCD-5678
                model: MR34
                mac: 00:11:22:33:44:55
                lanIp: 1.2.3.4
                firmware: wireless-25-14
                floorPlanId: g_2176982374
                url: https://n1.meraki.com/MyOrg/n/XXXXXX/manage/nodes/new_list/1
                details:
                - name: Catalyst serial
                  value: 123ABC
                beaconIdParams:
                  uuid: 00000000-0000-0000-0000-000000000000
                  major: 5
                  minor: 3
      security:
      - oauth2:
        - dashboard:general:config:read
      summary: Return a single device
      tags:
      - devices
      - configure
    put:
      description: Update the attributes of a device
      operationId: updateDevice
      parameters:
      - name: serial
        in: path
        description: Serial
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  nullable: true
                  description: The name of a device
                tags:
                  type: array
                  items:
                    type: string
                  description: The list of tags of a device
                lat:
                  type: number
                  format: float
                  description: The latitude of a device
                lng:
                  type: number
                  format: float
                  description: The longitude of a device
                address:
                  type: string
                  nullable: true
                  description: The address of a device
                notes:
                  type: string
                  nullable: true
                  description: The notes for the device. String. Limited to 255 characters.
                moveMapMarker:
                  type: boolean
                  description: Whether or not to set the latitude and longitude of a device based on the new address. Only
                    applies when lat and lng are not specified.
                switchProfileId:
                  type: string
                  nullable: true
                  description: The ID of a switch template to bind to the device (for available switch templates, see the
                    'Switch Templates' endpoint). Use null to unbind the switch device from the current profile. For a device
                    to be bindable to a switch template, it must (1) be a switch, and (2) belong to a network that is bound
                    to a configuration template.
                floorPlanId:
                  type: string
                  nullable: true
                  description: The floor plan to associate to this device. null disassociates the device from the floorplan.
              example:
                name: My AP
                tags:
                - ' recently-added '
                lat: 37.4180951010362
                lng: -122.098531723022
                address: 1600 Pennsylvania Ave
                notes: My AP's note
                moveMapMarker: true
                switchProfileId: '1234'
                floorPlanId: g_2176982374
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    description: Name of the device
                  lat:
                    type: number
                    format: float
                    description: Latitude of the device
                  lng:
                    type: number
                    format: float
                    description: Longitude of the device
                  address:
                    type: string
                    description: Physical address of the device
                  notes:
                    type: string
                    description: Notes for the device, limited to 255 characters
                  tags:
                    type: array
                    items:
                      type: string
                    description: List of tags assigned to the device
                  networkId:
                    type: string
                    description: ID of the network the device belongs to
                  serial:
                    type: string
                    description: Serial number of the device
                  model:
                    type: string
                    description: Model of the device
                  mac:
                    type: string
                    description: MAC address of the device
                  lanIp:
                    type: string
                    description: LAN IP address of the device
                  firmware:
                    type: string
                    description: Firmware version of the device
                  floorPlanId:
                    type: string
                    description: The floor plan to associate to this device. null disassociates the device from the floorplan.
                    nullable: true
                  url:
                    type: string
                    description: URL link to the device in the Meraki Dashboard
                  details:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Additional property name
                        value:
                          type: string
                          description: Additional property value
                    description: Additional device information
                  beaconIdParams:
                    type: object
                    properties:
                      uuid:
                        type: string
                        description: The UUID to be used in the beacon identifier
                      major:
                        type: integer
                        description: The major number to be used in the beacon identifier
                      minor:
                        type: integer
                        description: The minor number to be used in the beacon identifier
                    description: Beacon Id parameters with an identifier and major and minor versions
              example:
                name: My AP
                lat: 37.4180951010362
                lng: -122.098531723022
                address: 1600 Pennsylvania Ave
                notes: My AP's note
                tags:
                - ' recently-added '
                networkId: N_24329156
                serial: Q234-ABCD-5678
                model: MR34
                mac: 00:11:22:33:44:55
                lanIp: 1.2.3.4
                firmware: wireless-25-14
                floorPlanId: g_2176982374
                url: https://n1.meraki.com/MyOrg/n/XXXXXX/manage/nodes/new_list/1
                details:
                - name: Catalyst serial
                  value: 123ABC
                beaconIdParams:
                  uuid: 00000000-0000-0000-0000-000000000000
                  major: 5
                  minor: 3
      security:
      - oauth2:
        - dashboard:general:config:write
      summary: Update the attributes of a device
      tags:
      - devices
      - configure
  /devices/{serial}/blinkLeds:
    post:
      deprecated: true
      description: Blink the LEDs on a device.  This endpoint is deprecrated in favor of "/devices/{serial}/liveTools/leds/blink".
      operationId: blinkDeviceLeds
      parameters:
      - name: serial
        in: path
        description: Serial
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                duration:
                  type: integer
                  description: The duration in seconds. Must be between 5 and 120. Default is 20 seconds
                period:
                  type: integer
                  description: The period in milliseconds. Must be between 100 and 1000. Default is 160 milliseconds
                duty:
                  type: integer
                  description: The duty cycle as the percent active. Must be between 10 and 90. Default is 50.
              example:
                duration: 20
                period: 160
                duty: 50
        required: false
      responses:
        '202':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  duration:
                    type: integer
                    description: The duration in seconds. Will be between 5 and 120. Default is 20 seconds
                  period:
                    type: integer
                    description: The period in milliseconds. Will be between 100 and 1000. Default is 160 milliseconds
                  duty:
                    type: integer
                    description: The duty cycle as the percent active. Will be between 10 and 90. Default is 50
              example:
                duration: 20
                period: 160
                duty: 50
      security:
      - oauth2:
        - dashboard:general:config:write
      summary: Blink the LEDs on a device
      tags:
      - devices
      - liveTools
      x-deprecation-notice: 'Deprecated: This operation has been marked as deprecated. For more information, visit the <a
        href=''https://developer.cisco.com/meraki/api-v1/deprecated-operations/''>deprecated operations page</a>'
  /devices/{serial}/cellular/geolocations:
    put:
      description: Update the enablement of the geolocation feature for a device
      operationId: updateDeviceCellularGeolocations
      parameters:
      - name: serial
        in: path
        description: Serial
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Required parameter for the state to update the geolocation settings to (true to enable, false
                    to disable)
              example:
                enabled: true
              required:
              - enabled
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Indicates whether geolocation is enabled for the device
              example:
                enabled: true
      summary: Update the enablement of the geolocation feature for a device
      tags:
      - devices
      - configure
      - cellular
      - geolocations
  /devices/{serial}/cellular/sims:
    get:
      description: Return the SIM and APN configurations for a cellular device.
      operationId: getDeviceCellularSims
      parameters:
      - name: serial
        in: path
        description: Serial
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  sims:
                    type: array
                    items:
                      type: object
                      properties:
                        slot:
                          type: string
                          description: SIM slot being configured. Must be 'sim1' on single-sim devices. eSIM slots use the
                            raw slot value for the device, such as 'sim2' or 'sim3'.
                        iccid:
                          type: string
                          description: Integrated Circuit Card Identification Number
                        imsi:
                          type: string
                          description: International Mobile Subscriber Identity
                        msisdn:
                          type: string
                          description: Mobile Station Integrated Services Digital Network
                        isPrimary:
                          type: boolean
                          description: If true, this SIM is activated on platform bootup. It must be true on single-SIM devices
                            and is a required field for dual-SIM MGs unless it is being configured using 'simOrdering'.
                          default: false
                        status:
                          type: string
                          enum:
                          - PIN required
                          - PUK required
                          - active
                          - inserted
                          - not inserted
                          - standby
                          - unknown
                          description: Status of the SIM card.
                        apns:
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                description: APN name.
                              allowedIpTypes:
                                type: array
                                items:
                                  type: string
                                description: IP versions to support (permitted values include 'ipv4', 'ipv6').
                              authentication:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                    - chap
                                    - none
                                    - pap
                                    description: APN auth type.
                                    default: none
                                  username:
                                    type: string
                                    description: APN username, if type is set.
                                  password:
                                    type: string
                                    description: APN password, if type is set (if APN password is not supplied, the password
                                      is left unchanged).
                                description: APN authentication configurations.
                            required:
                            - name
                            - allowedIpTypes
                          description: APN configurations. If empty, the default APN will be used.
                          default: []
                    description: List of SIMs. If a SIM was previously configured and not specified in this request, it will
                      remain unchanged.
                  simOrdering:
                    type: array
                    items:
                      type: string
                    description: 'Specifies the ordering of all SIMs for an MG: primary, secondary, and not-in-use (when applicable).
                      It''s required for devices with 3 or more SIMs and can be used in place of ''isPrimary'' for dual-SIM
                      devices. Use the raw eSIM slot value for the device, such as ''sim2'' or ''sim3''. Sim failover will
                      occur only between primary and secondary sim slots.'
                  simFailover:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Failover to secondary SIM
                      timeout:
                        type: integer
                        description: Failover timeout in seconds
                    description: SIM Failover settings.
              example:
                sims:
                - slot: sim1
                  iccid: '123456789'
                  imsi: '123456789012345'
                  msisdn: '123456789012345'
                  isPrimary: false
                  status: inserted
                  apns:
                  - name: internet
                    allowedIpTypes:
                    - ipv4
                    - ipv6
                    authentication:
                      type: pap
                      username: milesmeraki
                      password: secret
                simOrdering:
                - sim1
                - sim2
                - sim3
                simFailover:
                  enabled: true
                  timeout: 300
      security:
      - oauth2:
        - sdwan:config:read
      summary: Return the SIM and APN configurations for a cellular device.
      tags:
      - devices
      - configure
      - cellular
      - sims
    put:
      description: Updates the SIM and APN configurations for a cellular device.
      operationId: updateDeviceCellularSims
      parameters:
      - name: serial
        in: path
        description: Serial
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                sims:
                  type: array
                  items:
                    type: object
                    properties:
                      slot:
                        type: string
                        description: SIM slot being configured. Must be 'sim1' on single-sim devices. eSIM slots use the raw
                          slot value for the device, such as 'sim2' or 'sim3'.
                      isPrimary:
                        type: boolean
                        description: If true, this SIM is activated on platform bootup. It must be true on single-SIM devices
                          and is a required field for dual-SIM MGs unless it is being configured using 'simOrdering'.
                        default: false
                      apns:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              description: APN name.
                            allowedIpTypes:
                              type: array
                              items:
                                type: string
                              description: IP versions to support (permitted values include 'ipv4', 'ipv6').
                            authentication:
                              type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - chap
                                  - none
                                  - pap
                                  description: APN auth type.
                                  default: none
                                username:
                                  type: string
                                  description: APN username, if type is set.
                                password:
                                  type: string
                                  description: APN password, if type is set (if APN password is not supplied, the password
                                    is left unchanged).
                              description: APN authentication configurations.
                          required:
                          - name
                          - allowedIpTypes
                        description: APN configurations. If empty, the default APN will be used.
                      simOrder:
                        type: integer
                        description: Priority of SIM slot being configured. Use a value between 1 and total number of SIMs
                          available. The value must be unique for each SIM.
                  description: List of SIMs. If a SIM was previously configured and not specified in this request, it will
                    remain unchanged.
                simOrdering:
                  type: array
                  items:
                    type: string
                  description: 'Specifies the ordering of all SIMs for an MG: primary, secondary, and not-in-use (when applicable).
                    It''s required for devices with 3 or more SIMs and can be used in place of ''isPrimary'' for dual-SIM
                    devices. Use the raw eSIM slot value for the device, such as ''sim2'' or ''sim3''. Sim failover will occur
                    only between primary and secondary sim slots.'
                simFailover:
                  type: object
                  properties:
                    enabled:
                      type: boolean
                      description: Failover to secondary SIM (optional)
                    timeout:
                      type: integer
                      description: Failover timeout in seconds (optional)
                      nullable: true
                  description: SIM Failover settings.
              example:
                sims:
                - slot: sim1
                  isPrimary: false
                  apns:
                  - name: internet
                    allowedIpTypes:
                    - ipv4
                    - ipv6
                    authentication:
                      type: pap
                      username: milesmeraki
                      password: secret
                  simOrder: 3
                simOrdering:
                - sim1
                - sim2
                - sim3
                simFailover:
                  enabled: true
                  timeout: 300
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  sims:
                    type: array
                    items:
                      type: object
                      properties:
                        slot:
                          type: string
                          description: SIM slot being configured. Must be 'sim1' on single-sim devices. eSIM slots use the
                            raw slot value for the device, such as 'sim2' or 'sim3'.
                        iccid:
                          type: string
                          description: Integrated Circuit Card Identification Number
                        imsi:
                          type: string
                          description: International Mobile Subscriber Identity
                        msisdn:
                          type: string
                          description: Mobile Station Integrated Services Digital Network
                        isPrimary:
                          type: boolean
                          description: If true, this SIM is activated on platform bootup. It must be true on single-SIM devices
                            and is a required field for dual-SIM MGs unless it is being configured using 'simOrdering'.
                          default: false
                        status:
                          type: string
                          enum:
                          - PIN required
                          - PUK required
                          - active
                          - inserted
                          - not inserted
                          - standby
                          - unknown
                          description: Status of the SIM card.
                        apns:
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                description: APN name.
                              allowedIpTypes:
                                type: array
                                items:
                                  type: string
                                description: IP versions to support (permitted values include 'ipv4', 'ipv6').
                              authentication:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                    - chap
                                    - none
                                    - pap
                                    description: APN auth type.
                                    default: none
                                  username:
                                    type: string
                                    description: APN username, if type is set.
                                  password:
                                    type: string
                                    description: APN password, if type is set (if APN password is not supplied, the password
                                      is left unchanged).
                                description: APN authentication configurations.
                            required:
                            - name
                            - allowedIpTypes
                          description: APN configurations. If empty, the default APN will be used.
                          default: []
                    description: List of SIMs. If a SIM was previously configured and not specified in this request, it will
                      remain unchanged.
                  simOrdering:
                    type: array
                    items:
                      type: string
                    description: 'Specifies the ordering of all SIMs for an MG: primary, secondary, and not-in-use (when applicable).
                      It''s required for devices with 3 or more SIMs and can be used in place of ''isPrimary'' for dual-SIM
                      devices. Use the raw eSIM slot value for the device, such as ''sim2'' or ''sim3''. Sim failover will
                      occur only between primary and secondary sim slots.'
                  simFailover:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Failover to secondary SIM
                      time

# --- truncated at 32 KB (273 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-meraki/refs/heads/main/openapi/cisco-meraki-devices-api-openapi.yml