IC-Meter Public APIs version 1
API Server:
Test data used in examples
Test User:
Test Pwd:
Test QR:
Test Meter ID:
Building ID:
Unit ID:
Test token:
Retrieve API access token
Format: POST: /icm/oauth/token
Content-Type: application/x-www-form-urlencoded
client_id=<client id>&grant_type=<grant type>&scope=<scope>&username=<username>&password=<password>
Content-Type: application/x-www-form-urlencoded
client_id=trusted-client&grant_type=password&scope=read&username=testUsername&password=testPassword
Box list - retrieve list of available boxes
Format: GET: /icm/api/boxlocations/1.0/list?access_token=<token>
Example:
Indoor – data range of 5 minutes measurements, for maximum 31
days, input/output timezone is UTC.
Format: GET: /icm/api/measurements/1.2/days/range/<QR-
code>?fromDate=<yyyy-MM-dd'T'HH:mm:ss'Z'&>&toDate=<yyyy-MM-dd'T'HH:mm:ss'Z'>&access_token=<token>
Example:
Format: GET: /icm/api/measurements/1.2/days/range/<QR-
code>?period<period>&output_format<format>&>&access_token=<token>
Example:
Valid output format are 'google' and 'simple'. If unspecified the default is 'google'. The 'google' format has less overhead than the
'simple' format.' The 'simple' format can be easier to parse e.g. by an analytics tool such as Microsoft PowerBI.
Valid periods are: '10-min', '1-hour', '24-hours', '1-week', '30-days', '1-month' and '1-year'. If a long period is specified the response
time will be long.
Weather – data range of measurements for maximum 31 days,
input/output timezone is UTC.
Format: GET: /icm/api/weather/1.1/days/range/<QR-
code>?fromDate=<yyyy-MM-dd'T'HH:mm:ss'Z'>&toDate=<yyyy-MM-dd'T'HH:mm:ss'Z'>&access_token=<token>
Example:
Format: GET: /icm/api/weather/1.1/days/range/<QR-
code>?period<period>&output_format<format>&access_token=<token>
Example:
Valid output format are 'google' and 'simple'. If unspecified the default is 'google'. The 'google' format has less overhead than the
'simple' format.' The 'simple' format can be easier to parse e.g. by an analytics tool such as Microsoft PowerBI.
Valid periods are: '10-min', '1-hour', '24-hours', '1-week', '30-days', '1-month' and '1-year'. If a long period is specified the response
time will be long.
External data meters – list available external meters
Format: GET: /icm/api/externaldata/1.0/meters?access_token=<token>
Example:
External data measurements – data range of hourly measurements, for maximum 31 days,
input/output timezone is UTC.
Format: GET: /icm/api/externaldata/1.0/measurements/range/<meter
id>?fromDate=<yyyy-MM-dd'T'HH:mm:ss'Z'>&toDate=<yyyy-MM-dd'T'HH:mm:ss'Z'>&access_token=<token>
Example:
Format: GET: /icm/api/externaldata/1.0/measurements/range/<meter
id>?period<period>&output_format<format>&access_token=<token>
Example:
Valid output format are 'google' and 'simple'. If unspecified the default is 'google'. The 'google' format has less overhead than the
'simple' format.' The 'simple' format can be easier to parse e.g. by an analytics tool such as Microsoft PowerBI.
Valid periods are: '10-min', '1-hour', '24-hours', '1-week', '30-days', '1-month' and '1-year'. If a long period is specified the response
time will be long.
Control status,
control is true for ON and false for OFF, returns NO_CONTENT status 204 if Control ON/OFF is not enabled for the specified box
Format: GET: /icm/api/control/1.0/<QR-code>?access_token=<token>
Example:
Changelog
2018-06-01
- Buildings and Units APIs added
2017-06-19
- Correct login oauth token documentation
2016-12-15
- Added /measurements/1.2/days/range/ API which includes noise and xtype measurements if applicable.
2016-09-01
- Added /control/1.0/ control status request.
2016-05-27
- Updated /icm/oauth/token to be a POST request.
2015-06-05
- Added /boxlocations/1.0/list API.
2014-10-21
- Added /external/1.0/ APIs.
2014-03-19
- Box identification changed to QR code.
2013-11-29
API created by boa@neogrid.dk, 2016-12-15