{"type":"api","title":"Get Organization Sensor Readings History","meta":{"id":"/apps/pubhub/media/Meraki-Dashboard-API-v1-Documentation/4a73587b50c21afbda73cffb32f23c0279bf8383/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: 04 December, 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.53.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":"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":"blink"},{"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":"discovery"},{"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":"leds"},{"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":"policy"},{"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 all reported readings from sensors in a given timespan, sorted by timestamp","operationId":"getOrganizationSensorReadingsHistory","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":"t0","in":"query","description":"The beginning of the timespan for the data. The maximum lookback period is 365 days and 6 hours from today.","schema":{"type":"string"}},{"name":"t1","in":"query","description":"The end of the timespan for the data. t1 can be a maximum of 7 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 7 days. The default is 2 hours.","schema":{"type":"number","format":"float","maximum":604800}},{"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 reading."},"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."},"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'."}}}},"example":[{"serial":"Q234-ABCD-5678","network":{"id":"N_24329156","name":"Main Office"},"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 all reported readings from sensors in a given timespan, sorted by timestamp","tags":["sensor","monitor","readings","history"],"__originalOperationId":"getOrganizationSensorReadingsHistory","security":[{"meraki_api_key":[]},{"bearerAuth":[]}],"method":"get","path":"/organizations/{organizationId}/sensor/readings/history","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.getOrganizationSensorReadingsHistory(\n organization_id, total_pages='all'\n)\n\nprint(response)","highlight":"python"}}}}