{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"264ba25c-f27c-4d68-a1ec-605e2761e7e9","name":"Awair Enterprise Dashboard APIs","description":"# Disclaimer\n\nPlease be careful when sharing any API key with any 3rd parties! By sharing your API key with 3rd parties, you agree to Awair’s Terms of Service.\n\n“Awair’s Terms of Service” should be underlined and linked to [https://www.getawair.com/legal/terms](https://www.getawair.com/legal/terms)\n\n# Migration & API Changes\n\nThe Org API endpoints in the [beta Developer Console](https://docs.developer.getawair.com) will be deprecated on **December 31st, 2020**. We recommend that you migrate to the new API system outlined in this document. Please contact [developer@getawair.com](mailto:developer@getawair.com) with any technical questions or for help when migrating.\n\n### Major Changes\n\n- Authorization\n    - The Awair Home APIs used the Header: `Authorization: Bearer {{bearer-token}}`\n    - The Dashboard APIs now use the Header: `x-api-key: {{x-api-key}}` (no Bearer Token)\n- One API Key per Organization instead of one Access Token per User.\n- The API Key is now refreshable by any Organization Manager for added security.\n- Your Organization must have active device API subscriptions. Please contact [business@getawair.com](mailto:business@getawair.com) for questions regarding API subscriptions.\n- Rate limits have been changed to refresh every minute instead of a daily quota.\n    \n\n# Authorization\n\nAll our endpoints require an API Key to be passed as an `x-api-key` header. You can generate your Organization's API Key in the **API Key** page from the left navigation in the [Awair Dashboard](https://dashboard.getawair.com/). If you cannot find this menu item, please reach out to your Enterprise Account Manager, our [Business Team](mailto:business@getawair.com), or our [Support Team](mailto:hello@getawair.com) in order to purchase a Dashboard API Subscription.\n\n- With the API Key, you can access all devices and locations data in the Organization.\n- You must sign in with an Organizer Manager permission to view the page and generate the API Key.\n- Your Organization must have active API Device Subscriptions to view the page and generate the API key.\n- The API Key generated from the Dashboard is _different_ from the `Access Token` in the [Awair Developer Console](https://developer.getawair.com/console/).\n    \n\n# Getting Started\n\nYou need your Organization's ID `org_id`, to call the Awair Enterprise APIs. Please check your Organization's Dashboard URL for the number that comes after `dashboard.getawair.com/#/orgs/...`, where `...` is the `org_id`.\n\n# Rate Limits\n\nFor all endpoints, the number of requests are limited to `10 requests per minute` with the limit resetting every minute. This applies to each endpoint, and two devices, which are separate endpoints because the `{{device_type}}/{{device_id}}` is part of the path, will each have their own limit.\n\n# Error and Status Codes\n\n- 200 = HTTP_OK (The request has succeeded. **Note:** will also apply to an empty array - e.g. no air data between the specified timestamps.)\n- 401 = HTTP_UNAUTHORIZED (The user is unauthorized to access the requested resource)\n- 404 = HTTP_NOT_FOUND (The user is attempting to access an endpoint that does not exist)\n- 500 = INTERNAL_SERVER_ERROR (Contact us: [developer@getawair.com](mailto:developer@getawair.com) - This can sometimes mean the user is trying to make a request with the Hobbyist API Bearer Token instead of the x-api-key Header.)\n    \n\n# Data Guide\n\n## Units of Measure\n\n| Device Type | Sensor | Sensor Description | Units | Units Description | Range |\n| --- | --- | --- | --- | --- | --- |\n| awair-omni | temp | Temperature | °C | degrees Celsius | \\-40 \\~ 185 |\n| awair-omni | humid | Relative Humidity | % | relative humidity (RH%) | 0 \\~ 100 |\n| awair-omni | co2 | Carbon Dioxide (CO₂) | ppm | parts per million | 0 \\~ 5,000 |\n| awair-omni | voc | Total Volatile Organic Compounds (TVOCs) | ppb | parts per billion | 20 \\~ 60,000 |\n| awair-omni | pm25 | Particulate Matter (PM2.5 - Fine Dust) | μg/m³ | micrograms per meter cubed | 0 \\~ 1,000 |\n| awair-omni | lux | Illuminance | lux | one lumen per square meter | 0.96 \\~ 64,000 |\n| awair-omni | spl_a | Sound Pressure Level (A-weighted) | dBA | decibels A-weighted | 48 \\~ 90 |\n\n## Awair Score and Index\n\n<img src=\"https://links.awair.is/images/assets/awair-score-and-index.jpg\">\n\n# Local API\n\nIf the Developer APIs do not provide what you want or if you would like to test a local implementation of the `/latest` data endpoint on your Awair device you can learn more about \"Local API\" feature here: [Local API Documentation](https://bit.ly/awair-local-api-feature)","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"7741371","team":373874,"collectionId":"264ba25c-f27c-4d68-a1ec-605e2761e7e9","publishedId":"T17F9ncL","public":true,"publicUrl":"https://docs.dashboard.getawair.com","privateUrl":"https://go.postman.co/documentation/7741371-264ba25c-f27c-4d68-a1ec-605e2761e7e9","customColor":{"top-bar":"001529","right-sidebar":"212528","highlight":"119BFF"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.0","publishDate":"2021-04-24T03:52:08.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"[TEST] Dashboard Developer API Key","id":"b439d274-b338-413f-99ce-c23a22b87261","owner":"7741371","values":[{"key":"api_key","value":"29uUJ2PF1fA58Rcofd2bzDvyLbPI8prQ","enabled":true},{"key":"org_id","value":"832","enabled":true},{"key":"device_type","value":"awair-omni","enabled":true},{"key":"device_id","value":"6444","enabled":true},{"key":"location_id","value":"3961","enabled":true},{"key":"floor_id","value":"4370","enabled":true},{"key":"from","value":"2021-10-01T00:00:00.000Z","enabled":true},{"key":"to","value":"2021-10-01T23:59:59.000Z","enabled":true},{"key":"limit","value":"100","enabled":true},{"key":"desc","value":"true","enabled":true},{"key":"fahrenheit","value":"false","enabled":true},{"key":"page_token","value":"","enabled":true},{"key":"page_size","value":"","enabled":true},{"key":"device_uuid_1","value":"awair-omni_13259","enabled":true},{"key":"device_uuid_2","value":"awair-omni_13178","enabled":true},{"key":"device_uuid_3","value":"awair-omni_13318","enabled":true}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/869f9beb9abb942de9482462137b60ac3572886896ae34e590d0b38a308ab045","favicon":"https://res.cloudinary.com/postman/image/upload/v1586919245/team/dv8roz50r2lvq5r0daok.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"[TEST] Dashboard Developer API Key","value":"7741371-b439d274-b338-413f-99ce-c23a22b87261"}],"canonicalUrl":"https://docs.dashboard.getawair.com/view/metadata/T17F9ncL"}