Cisco Meraki Sensor API
The sensor API from Cisco Meraki — 13 operation(s) for sensor.
The sensor API from Cisco Meraki — 13 operation(s) for sensor.
openapi: 3.0.1
info:
title: Meraki Dashboard API — sensor
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 'sensor'. 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: sensor
paths:
/devices/{serial}/sensor/commands:
get:
description: Returns a historical log of all commands
operationId: getDeviceSensorCommands
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: operations
in: query
description: Optional parameter to filter commands by operation. Allowed values are disableDownstreamPower, enableDownstreamPower,
cycleDownstreamPower, and refreshData.
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 10.
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
- name: sortOrder
in: query
description: Sorted order of entries. Order options are 'ascending' and 'descending'. Default is 'descending'.
schema:
type: string
enum:
- ascending
- descending
- name: t0
in: query
description: The beginning of the timespan for the data. The maximum lookback period is 30 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 30 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 30 days. The default is 30 days.
schema:
type: number
format: float
maximum: 2592000
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
commandId:
type: string
description: ID to check the status of the command request
createdAt:
type: string
format: date-time
description: Time when the command was triggered
completedAt:
type: string
format: date-time
description: Time when the command was completed
createdBy:
type: object
properties:
adminId:
type: string
description: ID of the admin
name:
type: string
description: Name of the admin
email:
type: string
description: Email of the admin
description: Information about the admin who triggered the command
operation:
type: string
enum:
- cycleDownstreamPower
- disableDownstreamPower
- enableDownstreamPower
- refreshData
description: Operation run on the sensor
status:
type: string
enum:
- completed
- failed
- in_progress
- pending
description: Status of the command request
errors:
type: array
items:
type: string
description: Array of errors if failed
example:
- commandId: '1284392014819'
createdAt: '2018-02-11T00:00:00Z'
completedAt: '2018-05-12T00:00:00Z'
createdBy:
adminId: '212406'
name: Miles Meraki
email: miles@meraki.com
operation: disableDownstreamPower
status: completed
errors: []
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:
- sensor:config:read
summary: Returns a historical log of all commands
tags:
- sensor
- configure
- commands
post:
description: Sends a command to a sensor
operationId: createDeviceSensorCommand
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
operation:
type: string
enum:
- cycleDownstreamPower
- disableDownstreamPower
- enableDownstreamPower
- refreshData
description: Operation to run on the sensor. 'enableDownstreamPower', 'disableDownstreamPower', and 'cycleDownstreamPower'
turn power on/off to the device that is connected downstream of an MT40 power monitor. 'refreshData' causes
an MT15 or MT40 device to upload its latest readings so that they are immediately available in the Dashboard
API.
example:
operation: disableDownstreamPower
required:
- operation
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
commandId:
type: string
description: ID to check the status of the command request
createdAt:
type: string
format: date-time
description: Time when the command was triggered
completedAt:
type: string
format: date-time
description: Time when the command was completed
createdBy:
type: object
properties:
adminId:
type: string
description: ID of the admin
name:
type: string
description: Name of the admin
email:
type: string
description: Email of the admin
description: Information about the admin who triggered the command
operation:
type: string
enum:
- cycleDownstreamPower
- disableDownstreamPower
- enableDownstreamPower
- refreshData
description: Operation run on the sensor
status:
type: string
enum:
- completed
- failed
- in_progress
- pending
description: Status of the command request
errors:
type: array
items:
type: string
description: Array of errors if failed
example:
commandId: '1284392014819'
createdAt: '2018-02-11T00:00:00Z'
completedAt: '2018-05-12T00:00:00Z'
createdBy:
adminId: '212406'
name: Miles Meraki
email: miles@meraki.com
operation: disableDownstreamPower
status: completed
errors: []
security:
- oauth2:
- sensor:config:write
summary: Sends a command to a sensor
tags:
- sensor
- configure
- commands
/devices/{serial}/sensor/commands/{commandId}:
get:
description: Returns information about the command's execution, including the status
operationId: getDeviceSensorCommand
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
- name: commandId
in: path
description: Command ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
commandId:
type: string
description: ID to check the status of the command request
createdAt:
type: string
format: date-time
description: Time when the command was triggered
completedAt:
type: string
format: date-time
description: Time when the command was completed
createdBy:
type: object
properties:
adminId:
type: string
description: ID of the admin
name:
type: string
description: Name of the admin
email:
type: string
description: Email of the admin
description: Information about the admin who triggered the command
operation:
type: string
enum:
- cycleDownstreamPower
- disableDownstreamPower
- enableDownstreamPower
- refreshData
description: Operation run on the sensor
status:
type: string
enum:
- completed
- failed
- in_progress
- pending
description: Status of the command request
errors:
type: array
items:
type: string
description: Array of errors if failed
example:
commandId: '1284392014819'
createdAt: '2018-02-11T00:00:00Z'
completedAt: '2018-05-12T00:00:00Z'
createdBy:
adminId: '212406'
name: Miles Meraki
email: miles@meraki.com
operation: disableDownstreamPower
status: completed
errors: []
security:
- oauth2:
- sensor:config:read
summary: Returns information about the command's execution, including the status
tags:
- sensor
- configure
- commands
/devices/{serial}/sensor/relationships:
get:
description: List the sensor roles for a given sensor or camera device.
operationId: getDeviceSensorRelationships
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
livestream:
type: object
properties:
relatedDevices:
type: array
items:
type: object
properties:
serial:
type: string
description: The serial of the related device
productType:
type: string
enum:
- camera
- sensor
description: The product type of the related device
description: An array of the related devices for the role
description: A role defined between an MT sensor and an MV camera that adds the camera's livestream to
the sensor's details page. Snapshots from the camera will also appear in alert notifications that the
sensor triggers.
example:
livestream:
relatedDevices:
- serial: Q234-ABCD-5678
productType: camera
security:
- oauth2:
- sensor:config:read
summary: List the sensor roles for a given sensor or camera device.
tags:
- sensor
- configure
- relationships
put:
description: Assign one or more sensor roles to a given sensor or camera device.
operationId: updateDeviceSensorRelationships
parameters:
- name: serial
in: path
description: Serial
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
livestream:
type: object
properties:
relatedDevices:
type: array
items:
type: object
properties:
serial:
type: string
description: The serial of the related device
required:
- serial
description: An array of the related devices for the role
description: A role defined between an MT sensor and an MV camera that adds the camera's livestream to the
sensor's details page. Snapshots from the camera will also appear in alert notifications that the sensor
triggers.
example: {}
required: false
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
livestream:
type: object
properties:
relatedDevices:
type: array
items:
type: object
properties:
serial:
type: string
description: The serial of the related device
productType:
type: string
enum:
- camera
- sensor
description: The product type of the related device
description: An array of the related devices for the role
description: A role defined between an MT sensor and an MV camera that adds the camera's livestream to
the sensor's details page. Snapshots from the camera will also appear in alert notifications that the
sensor triggers.
example:
livestream:
relatedDevices:
- serial: Q234-ABCD-5678
productType: camera
security:
- oauth2:
- sensor:config:write
summary: Assign one or more sensor roles to a given sensor or camera device.
tags:
- sensor
- configure
- relationships
/networks/{networkId}/sensor/alerts/current/overview/byMetric:
get:
description: Return an overview of currently alerting sensors by metric
operationId: getNetworkSensorAlertsCurrentOverviewByMetric
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
supportedMetrics:
type: array
items:
type: string
enum:
- apparentPower
- co2
- current
- door
- frequency
- humidity
- indoorAirQuality
- noise
- pm25
- powerFactor
- realPower
- temperature
- tvoc
- upstreamPower
- voltage
- water
description: List of metrics that are supported for alerts, based on available sensor devices in the network
counts:
type: object
properties:
apparentPower:
type: integer
description: Number of sensors that are currently alerting due to apparent power readings
co2:
type: integer
description: Number of sensors that are currently alerting due to CO2 readings
current:
type: integer
description: Number of sensors that are currently alerting due to electrical current readings
door:
type: integer
description: Number of sensors that are currently alerting due to an open door
frequency:
type: integer
description: Number of sensors that are currently alerting due to frequency readings
humidity:
type: integer
description: Number of sensors that are currently alerting due to humidity readings
indoorAirQuality:
type: integer
description: Number of sensors that are currently alerting due to indoor air quality readings
noise:
type: object
properties:
ambient:
type: integer
description: Number of sensors that are currently alerting due to ambient noise readings
description: Object containing the number of sensors that are currently alerting due to noise readings
pm25:
type: integer
description: Number of sensors that are currently alerting due to PM2.5 readings
powerFactor:
type: integer
description: Number of sensors that are currently alerting due to power factor readings
realPower:
type: integer
description: Number of sensors that are currently alerting due to real power readings
temperature:
type: integer
description: Number of sensors that are currently alerting due to temperature readings
tvoc:
type: integer
description: Number of sensors that are currently alerting due to TVOC readings
upstreamPower:
type: integer
description: Number of sensors that are currently alerting due to an upstream power outage
voltage:
type: integer
description: Number of sensors that are currently alerting due to voltage readings
water:
type: integer
description: Number of sensors that are currently alerting due to the presence of water
description: Counts of currently alerting sensors, aggregated by alerting metric
example:
supportedMetrics:
- temperature
- humidity
- door
counts:
apparentPower: 0
co2: 0
current: 0
door: 0
frequency: 0
humidity: 1
indoorAirQuality: 0
noise:
ambient: 0
pm25: 0
powerFactor: 0
realPower: 0
temperature: 4
tvoc: 0
upstreamPower: 0
voltage: 0
water: 0
security:
- oauth2:
- sensor:telemetry:read
summary: Return an overview of currently alerting sensors by metric
tags:
- sensor
- monitor
- alerts
- current
- overview
- byMetric
/networks/{networkId}/sensor/alerts/overview/byMetric:
get:
description: Return an overview of alert occurrences over a timespan, by metric
operationId: getNetworkSensorAlertsOverviewByMetric
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
- name: t0
in: query
description: The beginning of the timespan for the data. The maximum lookback period is 731 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 366 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 366 days. The default is 7 days. If interval
is provided, the timespan will be autocalculated.
schema:
type: number
format: float
maximum: 31622400
- name: interval
in: query
description: 'The time interval in seconds for returned data. The valid intervals are: 900, 3600, 86400, 604800, 2629746.
The default is 604800. Interval is calculated if time params are provided.'
schema:
type: integer
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
startTs:
type: string
format: date-time
description: Start of the timespan over which sensor alerts are counted
endTs:
type: string
format: date-time
description: End of the timespan over which sensor alerts are counted
counts:
type: object
properties:
apparentPower:
type: integer
description: Number of sensor alerts that occurred due to apparent power readings
co2:
type: integer
description: Number of sensors that are currently alerting due to CO2 readings
current:
type: integer
description: Number of sensor alerts that occurred due to electrical current readings
door:
type: integer
description: Number of sensor alerts that occurred due to an open door
frequency:
type: integer
description: Number of sensor alerts that occurred due to frequency readings
humidity:
type: integer
description: Number of sensor alerts that occurred due to humidity readings
indoorAirQuality:
type: integer
description: Number of sensor alerts that occurred due to indoor air quality readings
noise:
type: object
properties:
ambient:
type: integer
description: Number of sensor alerts that occurred due to ambient noise readings
description: Object containing the number of sensor alerts that occurred due to noise readings
pm25:
type: integer
description: Number of sensor alerts that occurred due to PM2.5 readings
powerFactor:
type: integer
description: Number of sensor alerts that occurred due to power factor readings
realPower:
type: integer
description: Number of sensor alerts that occurred due to real power readings
temperature:
type: integer
description: Number of sensor alerts that occurred due to temperature readings
tvoc:
type: integer
description: Number of sensor alerts that occurred due to TVOC readings
upstreamPower:
type: integer
description: Number of sensor alerts that occurred due to upstream power outages
voltage:
type: integer
description: Number of sensor alerts that occurred due to voltage readings
water:
type: integer
description: Number of sensor alerts that occurred due to the presence of water
description: Counts of sensor alerts over the timespan, by reading metric
example:
- startTs: '2022-08-21T00:00:00Z'
endTs: '2022-08-27T23:59:59Z'
counts:
apparentPower: 0
co2: 0
current: 0
door: 0
frequency: 1
humidity: 1
indoorAirQuality: 0
noise:
ambient: 2
pm25: 0
powerFactor: 0
realPower: 0
temperature: 4
tvoc: 0
upstreamPower: 0
voltage: 0
water: 0
security:
- oauth2:
- sensor:telemetry:read
summary: Return an overview of alert occurrences over a timespan, by metric
tags:
- sensor
- monitor
- alerts
- overview
- byMetric
/networks/{networkId}/sensor/alerts/profiles:
get:
description: Lists all sensor alert profiles for a network.
operationId: getNetworkSensorAlertsProfiles
parameters:
- name: networkId
in: path
description: Network ID
schema:
type: string
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
profileId:
type: string
description: ID of the sensor alert profile.
name:
type: string
description: Name of the sensor alert profile.
schedule:
type: object
properties:
id:
type: string
description: ID of the sensor schedule to use with the alert profile. If not defined, the alert
profile will be active at all times.
name:
type: string
description: Name of the sensor schedule to use with the alert profile.
description: The sensor schedule to use with the alert profile.
conditions:
type: array
items:
type: object
properties:
metric:
type: string
enum:
- apparentPower
- co2
- current
- door
- frequency
- humidity
- indoorAirQuality
- noise
# --- truncated at 32 KB (196 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-meraki/refs/heads/main/openapi/cisco-meraki-sensor-api-openapi.yml