{"type":"api","title":"Get Organization Sensor Readings Latest","meta":{"id":"/apps/pubhub/media/Meraki-Dashboard-API-v1-Documentation/e92a64d0814b40091de22f4a93378df69809b95e/5c63a5d4-9452-397a-85eb-8b6fec45147e","info":{"title":"Meraki Dashboard API","description":"A RESTful API to programmatically manage and monitor Cisco Meraki networks at scale.\n\n\u003e Date: 06 November, 2024\n\u003e\n\u003e [Recent Updates](https://meraki.io/whats-new/)\n\n---\n\n[API Documentation](https://meraki.io/api)\n\n[Community Support](https://meraki.io/community)\n\n[Meraki Homepage](https://www.meraki.com)\n","contact":{"name":"Meraki Developer Community","url":"https://meraki.io/community"},"version":"1.52.0"},"security":[{"meraki_api_key":[]},{"bearerAuth":[]}],"tags":[{"name":"organizations"},{"name":"networks"},{"name":"devices"},{"name":"insight"},{"name":"wireless"},{"name":"camera"},{"name":"appliance"},{"name":"switch"},{"name":"cellularGateway"},{"name":"sm"},{"name":"sensor"},{"name":"administered"},{"name":"wirelessController"},{"name":"policy"},{"name":"accessControlLists"},{"name":"accessPolicies"},{"name":"accounts"},{"name":"acls"},{"name":"actionBatches"},{"name":"adaptivePolicy"},{"name":"addresses"},{"name":"admins"},{"name":"airMarshal"},{"name":"alertTypes"},{"name":"alerts"},{"name":"alternateManagementInterface"},{"name":"analytics"},{"name":"api"},{"name":"apiRequests"},{"name":"apnsCert"},{"name":"appliances"},{"name":"applicationCategories"},{"name":"applicationUsage"},{"name":"applications"},{"name":"areas"},{"name":"arpInspection"},{"name":"arpTable"},{"name":"artifacts"},{"name":"assets"},{"name":"assignments"},{"name":"authenticationToken"},{"name":"autoLocate"},{"name":"autoRf"},{"name":"availabilities"},{"name":"bandwidthUsageHistory"},{"name":"bgp"},{"name":"billing"},{"name":"bluetooth"},{"name":"bluetoothClients"},{"name":"bonjourForwarding"},{"name":"boundaries"},{"name":"brandingPolicies"},{"name":"bulk"},{"name":"bulkUpdate"},{"name":"byBoundary"},{"name":"byClient"},{"name":"byDevice"},{"name":"byEnergyUsage"},{"name":"byInterval"},{"name":"byMetric"},{"name":"byModel"},{"name":"byNetwork"},{"name":"byStatus"},{"name":"bySwitch"},{"name":"byType"},{"name":"byUsage"},{"name":"byUtilization"},{"name":"bypassActivationLockAttempts"},{"name":"cableTest"},{"name":"callbacks"},{"name":"categories"},{"name":"cellular"},{"name":"cellularFirewallRules"},{"name":"cellularUsageHistory"},{"name":"certs"},{"name":"changeHistory"},{"name":"channelUtilization"},{"name":"channelUtilizationHistory"},{"name":"channels"},{"name":"claim"},{"name":"claimKey"},{"name":"clientCountHistory"},{"name":"clients"},{"name":"cloudMonitoring"},{"name":"commands"},{"name":"communicationPlans"},{"name":"compliance"},{"name":"configTemplates"},{"name":"configurationChanges"},{"name":"configure"},{"name":"configuredDevices"},{"name":"connectionStats"},{"name":"connections"},{"name":"connectivity"},{"name":"connectivityEvents"},{"name":"connectivityMonitoringDestinations"},{"name":"contentFiltering"},{"name":"coterm"},{"name":"current"},{"name":"customAnalytics"},{"name":"customPerformanceClasses"},{"name":"dataRateHistory"},{"name":"delegated"},{"name":"desktopLogs"},{"name":"details"},{"name":"detections"},{"name":"deviceCommandLogs"},{"name":"deviceProfiles"},{"name":"deviceTypeGroupPolicies"},{"name":"dhcp"},{"name":"dhcpServerPolicy"},{"name":"dscpTaggingOptions"},{"name":"dscpToCosMappings"},{"name":"eapOverride"},{"name":"earlyAccess"},{"name":"electronicShelfLabel"},{"name":"entitlements"},{"name":"esims"},{"name":"ethernet"},{"name":"eventTypes"},{"name":"events"},{"name":"exportEvents"},{"name":"failedConnections"},{"name":"failover"},{"name":"features"},{"name":"fields"},{"name":"firewall"},{"name":"firewalledServices"},{"name":"firmware"},{"name":"firmwareUpgrades"},{"name":"floorPlans"},{"name":"groupPolicies"},{"name":"groups"},{"name":"health"},{"name":"healthByTime"},{"name":"historical"},{"name":"history"},{"name":"hotspot20"},{"name":"httpServers"},{"name":"identities"},{"name":"identityPsks"},{"name":"idps"},{"name":"imports"},{"name":"inboundCellularFirewallRules"},{"name":"inboundFirewallRules"},{"name":"interfaces"},{"name":"internetPolicies"},{"name":"intrusion"},{"name":"inventory"},{"name":"ipv6"},{"name":"jobs"},{"name":"keys"},{"name":"l2"},{"name":"l3"},{"name":"l3FirewallRules"},{"name":"l7FirewallRules"},{"name":"lan"},{"name":"latencyHistory"},{"name":"latencyStats"},{"name":"latest"},{"name":"licenses"},{"name":"licensing"},{"name":"lines"},{"name":"linkAggregations"},{"name":"linkLayer"},{"name":"live"},{"name":"liveTools"},{"name":"lldpCdp"},{"name":"loginSecurity"},{"name":"logs"},{"name":"lossAndLatencyHistory"},{"name":"malware"},{"name":"managementInterface"},{"name":"manufacturers"},{"name":"me"},{"name":"merakiAuthUsers"},{"name":"meshStatuses"},{"name":"models"},{"name":"monitor"},{"name":"monitoredMediaServers"},{"name":"mqttBrokers"},{"name":"mtu"},{"name":"multicast"},{"name":"netflow"},{"name":"networkAdapters"},{"name":"networkHealth"},{"name":"objectDetectionModels"},{"name":"onboarding"},{"name":"oneToManyNatRules"},{"name":"oneToOneNatRules"},{"name":"openapiSpec"},{"name":"optIns"},{"name":"order"},{"name":"ospf"},{"name":"overview"},{"name":"packetLoss"},{"name":"packets"},{"name":"payloadTemplates"},{"name":"performance"},{"name":"performanceHistory"},{"name":"permissions"},{"name":"pii"},{"name":"piiKeys"},{"name":"ping"},{"name":"pingDevice"},{"name":"policies"},{"name":"policyObjects"},{"name":"portForwardingRules"},{"name":"portSchedules"},{"name":"ports"},{"name":"power"},{"name":"powerModules"},{"name":"prefixes"},{"name":"prepare"},{"name":"priorities"},{"name":"profiles"},{"name":"provisioning"},{"name":"qosRules"},{"name":"qualityAndRetention"},{"name":"qualityRetentionProfiles"},{"name":"radio"},{"name":"ratePlans"},{"name":"readings"},{"name":"recent"},{"name":"redundancy"},{"name":"relationships"},{"name":"rendezvousPoints"},{"name":"requests"},{"name":"responseCodes"},{"name":"restrictions"},{"name":"rfProfiles"},{"name":"roles"},{"name":"rollbacks"},{"name":"routing"},{"name":"rules"},{"name":"saml"},{"name":"samlRoles"},{"name":"schedules"},{"name":"sdwan"},{"name":"search"},{"name":"security"},{"name":"securityCenters"},{"name":"seen"},{"name":"sense"},{"name":"sentry"},{"name":"servers"},{"name":"serviceProviders"},{"name":"settings"},{"name":"signalQualityHistory"},{"name":"sims"},{"name":"singleLan"},{"name":"siteToSiteVpn"},{"name":"smDevicesForKey"},{"name":"smOwnersForKey"},{"name":"snmp"},{"name":"softwares"},{"name":"splash"},{"name":"splashAuthorizationStatus"},{"name":"splashLoginAttempts"},{"name":"ssids"},{"name":"stacks"},{"name":"staged"},{"name":"stages"},{"name":"staticRoutes"},{"name":"statics"},{"name":"stats"},{"name":"status"},{"name":"statuses"},{"name":"stormControl"},{"name":"stp"},{"name":"subnetPool"},{"name":"subnets"},{"name":"subscription"},{"name":"subscriptions"},{"name":"summary"},{"name":"swap"},{"name":"swaps"},{"name":"switches"},{"name":"syslogServers"},{"name":"system"},{"name":"targetGroups"},{"name":"themes"},{"name":"thirdPartyVPNPeers"},{"name":"throughputTest"},{"name":"top"},{"name":"topology"},{"name":"traffic"},{"name":"trafficAnalysis"},{"name":"trafficHistory"},{"name":"trafficShaping"},{"name":"trustedAccessConfigs"},{"name":"trustedServers"},{"name":"upgrades"},{"name":"uplink"},{"name":"uplinkBandwidth"},{"name":"uplinkSelection"},{"name":"uplinks"},{"name":"uplinksLossAndLatency"},{"name":"usage"},{"name":"usageHistories"},{"name":"usageHistory"},{"name":"userAccessDevices"},{"name":"utilization"},{"name":"v4"},{"name":"video"},{"name":"videoLink"},{"name":"vlanAssignments"},{"name":"vlanProfiles"},{"name":"vlans"},{"name":"vmx"},{"name":"vpn"},{"name":"vpnExclusions"},{"name":"vpnFirewallRules"},{"name":"vppAccounts"},{"name":"wakeOnLan"},{"name":"warmSpare"},{"name":"warnings"},{"name":"webhookTests"},{"name":"webhooks"},{"name":"wirelessControllers"},{"name":"wirelessProfiles"},{"name":"wlanLists"},{"name":"zones"}],"x-parser-conf":{"overview":{"markdownPath":"docs/overview.md"},"theme":"meraki","serverConfig":true,"meta":{"useProxy":true},"httpBearer":{"bearerToken":"75dd5334bef4d2bc96f26138c163c0a3fa0b5ca6"},"labelConfig":{"endpoint":{"field":"operationId","format":"startCase"}},"groupBy":{"$remoteModule":"config/group_platform.js"},"sortBy":{"$remoteModule":"config/sort_by.js"},"exampleAsDefault":true,"expand":3,"sampleCode":{"python":{"folder":"meraki/sdk/python","name":"Meraki Python Library","highlight":"python"}},"variables":{"organizationId":"1215707","networkId":"N_784752235069315754","serial":"QBSB-VQ3J-XZ54"}},"openapi":"3.0.1","servers":[{"url":"https://api.meraki.com/{basePath}","variables":{"basePath":{"default":"api/v1"}}}],"securitySchemes":{"meraki_api_key":{"type":"apiKey","name":"X-Cisco-Meraki-API-Key","in":"header"},"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key"}}},"spec":{"description":"Return the latest available reading for each metric from each sensor, sorted by sensor serial","operationId":"getOrganizationSensorReadingsLatest","parameters":[{"name":"organizationId","in":"path","description":"Organization ID","schema":{"type":"string"},"required":true},{"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"}},{"name":"networkIds","in":"query","description":"Optional parameter to filter readings by network.","schema":{"type":"array","items":{"type":"string"}}},{"name":"serials","in":"query","description":"Optional parameter to filter readings by sensor.","schema":{"type":"array","items":{"type":"string"}}},{"name":"metrics","in":"query","description":"Types of sensor readings to retrieve. If no metrics are supplied, all available types of readings will be retrieved. Allowed values are apparentPower, battery, button, co2, current, door, downstreamPower, frequency, humidity, indoorAirQuality, noise, pm25, powerFactor, realPower, remoteLockoutSwitch, temperature, tvoc, voltage, and water.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"serial":{"type":"string","description":"Serial number of the sensor that took the readings."},"network":{"type":"object","properties":{"id":{"type":"string","description":"ID of the network."},"name":{"type":"string","description":"Name of the network."}},"description":"Network to which the sensor belongs."},"readings":{"type":"array","items":{"type":"object","properties":{"ts":{"type":"string","description":"Time at which the reading occurred, in ISO8601 format."},"metric":{"type":"string","enum":["apparentPower","battery","button","co2","current","door","downstreamPower","frequency","humidity","indoorAirQuality","noise","pm25","powerFactor","realPower","remoteLockoutSwitch","temperature","tvoc","voltage","water"],"description":"Type of sensor reading."},"apparentPower":{"type":"object","properties":{"draw":{"type":"number","format":"float","description":"Apparent power reading in volt-amperes."}},"description":"Reading for the 'apparentPower' metric. This will only be present if the 'metric' property equals 'apparentPower'."},"battery":{"type":"object","properties":{"percentage":{"type":"integer","description":"Remaining battery life."}},"description":"Reading for the 'battery' metric. This will only be present if the 'metric' property equals 'battery'."},"button":{"type":"object","properties":{"pressType":{"type":"string","enum":["long","short"],"description":"Type of button press that occurred."}},"description":"Reading for the 'button' metric. This will only be present if the 'metric' property equals 'button'."},"co2":{"type":"object","properties":{"concentration":{"type":"integer","description":"CO2 reading in parts per million."}},"description":"Reading for the 'co2' metric. This will only be present if the 'metric' property equals 'co2'."},"current":{"type":"object","properties":{"draw":{"type":"number","format":"float","description":"Electrical current reading in amperes."}},"description":"Reading for the 'current' metric. This will only be present if the 'metric' property equals 'current'."},"door":{"type":"object","properties":{"open":{"type":"boolean","description":"True if the door is open."}},"description":"Reading for the 'door' metric. This will only be present if the 'metric' property equals 'door'."},"downstreamPower":{"type":"object","properties":{"enabled":{"type":"boolean","description":"True if power is turned on to the device that is connected downstream of the MT40 power monitor."}},"description":"Reading for the 'downstreamPower' metric. This will only be present if the 'metric' property equals 'downstreamPower'."},"frequency":{"type":"object","properties":{"level":{"type":"number","format":"float","description":"Electrical current frequency reading in hertz."}},"description":"Reading for the 'frequency' metric. This will only be present if the 'metric' property equals 'frequency'."},"humidity":{"type":"object","properties":{"relativePercentage":{"type":"integer","description":"Humidity reading in %RH."}},"description":"Reading for the 'humidity' metric. This will only be present if the 'metric' property equals 'humidity'."},"indoorAirQuality":{"type":"object","properties":{"score":{"type":"integer","description":"Indoor air quality score between 0 and 100."}},"description":"Reading for the 'indoorAirQuality' metric. This will only be present if the 'metric' property equals 'indoorAirQuality'."},"noise":{"type":"object","properties":{"ambient":{"type":"object","properties":{"level":{"type":"integer","description":"Ambient noise reading in adjusted decibels."}},"description":"Ambient noise reading."}},"description":"Reading for the 'noise' metric. This will only be present if the 'metric' property equals 'noise'."},"pm25":{"type":"object","properties":{"concentration":{"type":"integer","description":"PM2.5 reading in micrograms per cubic meter."}},"description":"Reading for the 'pm25' metric. This will only be present if the 'metric' property equals 'pm25'."},"powerFactor":{"type":"object","properties":{"percentage":{"type":"integer","description":"Power factor reading as a percentage."}},"description":"Reading for the 'powerFactor' metric. This will only be present if the 'metric' property equals 'powerFactor'."},"realPower":{"type":"object","properties":{"draw":{"type":"number","format":"float","description":"Real power reading in watts."}},"description":"Reading for the 'realPower' metric. This will only be present if the 'metric' property equals 'realPower'."},"remoteLockoutSwitch":{"type":"object","properties":{"locked":{"type":"boolean","description":"True if power controls are disabled via the MT40's physical remote lockout switch."}},"description":"Reading for the 'remoteLockoutSwitch' metric. This will only be present if the 'metric' property equals 'remoteLockoutSwitch'."},"temperature":{"type":"object","properties":{"fahrenheit":{"type":"number","format":"float","description":"Temperature reading in degrees Fahrenheit."},"celsius":{"type":"number","format":"float","description":"Temperature reading in degrees Celsius."}},"description":"Reading for the 'temperature' metric. This will only be present if the 'metric' property equals 'temperature'."},"tvoc":{"type":"object","properties":{"concentration":{"type":"integer","description":"TVOC reading in micrograms per cubic meter."}},"description":"Reading for the 'tvoc' metric. This will only be present if the 'metric' property equals 'tvoc'."},"voltage":{"type":"object","properties":{"level":{"type":"number","format":"float","description":"Voltage reading in volts."}},"description":"Reading for the 'voltage' metric. This will only be present if the 'metric' property equals 'voltage'."},"water":{"type":"object","properties":{"present":{"type":"boolean","description":"True if water is detected."}},"description":"Reading for the 'water' metric. This will only be present if the 'metric' property equals 'water'."}}},"description":"Array of latest readings from the sensor. Each object represents a single reading for a single metric."}}}},"example":[{"serial":"Q234-ABCD-5678","network":{"id":"N_24329156","name":"Main Office"},"readings":[{"ts":"2021-10-18T23:54:48.000000Z","metric":"temperature","apparentPower":{"draw":15.9},"battery":{"percentage":91},"button":{"pressType":"short"},"co2":{"concentration":100},"current":{"draw":0.13},"door":{"open":true},"downstreamPower":{"enabled":true},"frequency":{"level":60.1},"humidity":{"relativePercentage":34},"indoorAirQuality":{"score":89},"noise":{"ambient":{"level":45}},"pm25":{"concentration":100},"powerFactor":{"percentage":86},"realPower":{"draw":13.7},"remoteLockoutSwitch":{"locked":false},"temperature":{"fahrenheit":77.81,"celsius":25.45},"tvoc":{"concentration":100},"voltage":{"level":122.4},"water":{"present":true}}]}]}},"headers":{"Link":{"schema":{"type":"string"},"description":"A comma-separated list of first, last, prev, and next relative links used for subsequent paginated requests."}}}},"summary":"Return the latest available reading for each metric from each sensor, sorted by sensor serial","tags":["sensor","monitor","readings","latest"],"__originalOperationId":"getOrganizationSensorReadingsLatest","security":[{"meraki_api_key":[]},{"bearerAuth":[]}],"method":"get","path":"/organizations/{organizationId}/sensor/readings/latest","sampleCode":{"Meraki Python Library":{"code":"import meraki\n\n# Defining your API key as a variable in source code is discouraged.\n# This API key is for a read-only docs-specific environment.\n# In your own code, use an environment variable as shown under the Usage section\n# @ https://github.com/meraki/dashboard-api-python/\n\nAPI_KEY = '75dd5334bef4d2bc96f26138c163c0a3fa0b5ca6'\n\ndashboard = meraki.DashboardAPI(API_KEY)\n\norganization_id = '549236'\n\nresponse = dashboard.sensor.getOrganizationSensorReadingsLatest(\n organization_id, total_pages='all'\n)\n\nprint(response)","highlight":"python"}}}}