API documentation for the MyCirrus API
MyCirrus API - Instrument info, Data and Webhooks (1.0.1)
Request
Get noise measurements for the selected instruments and time range.
Optionally choose which values to include and what period to recalculate results to.
The possible values are:
- Leq
- LAeq, LCeq, LZeq
- LAE, LCE, LZE
- LEX8
- Peak
- LAPeak, LCPeak, LZPeak
- SPL Max
- LAFMax, LASMax, LAIMax
- LCFMax, LCSMax, LCIMax
- LZFMax, LZSMax, LZIMax
- Statistical Levels
- LAF1, LAF5, LAF10, LAF50, LAF90, LAF95, LAF99
- Not supported if Period is used. Only available from the measurements as recorded.
- Moving Average
- LeqT1Max, LeqT2Max
- These fields will also add LeqT1Type and LeqT2Type to the results which include the friendly name of these types based on the settings.
If you specify an invalid or unavailable value, the server will ignore it.
If all specified values are invalid, the server will respond with an error.
If no values are specified, the server will return the default results (LAeq, LCPeak, LAFMax).
The maximum date range per request is 31 days. If you request a longer range, the server will respond with an error.
The default Period is the measurement period as configured in the instrument. See the settings for details.
The period can be set to anything between the measurement period and 1 day. If you request a period outside this range, the server will respond with an error.
Requires an API key with the data.noise:read scope.
Serial numbers of selected instruments
Start date and time for loading a range of data. Must be in UTC.
This uses the ISO8601 format. For example, 2023-01-01T00:00:00Z is 1st January 2023 at midnight UTC.
End date and time for loading a range of data. Must be in UTC.
This uses the ISO8601 format. For example, 2023-01-01T00:00:00Z is 1st January 2023 at midnight UTC.
Period to recalculate measurement samples to.
This cannot be less than the recorded measurement period.
This uses the ISO8601 duration format. For example, P1D is 1 day, PT1H is 1 hour, PT5M is 5 minutes.
- Mock serverhttps://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/noise/measurements
- Production serverhttps://api.mycirrus.cloud/v1/data/noise/measurements
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/noise/measurements?instruments=QT123456%2CQT234567&start=2023-01-01T00%3A00%3A00Z&end=2023-01-31T00%3A00%3A00Z&period=PT1H&values=LAeq%2CLCPeak%2CLAFMax' \
-H 'X-Api-Key: YOUR_API_KEY_HERE'[ { "startTime": "2023-06-14T23:00:00Z", "endTime": "2023-06-14T23:15:00Z", "duration": 900, "instrument": "QT123456", "overload": false, "values": [ … ] } ]
Request
Get noise time history for the selected instruments and time range.
Optionally choose which values to include and what period to recalculate results to.
The maximum date range per request is 7 days. If you request a longer range, the server will respond with an error.
The default Period is 1 second.
The period can be set to anything between the current time history setting and 1 minute. If you request a period outside this range, the server will respond with an error.
You can request data with a period of less than 1 second by using a fractional seconds value in the period. For example, PT0.1S for 100ms.
Requires an API key with the data.noise:read scope.
Serial numbers of selected instruments
Start date and time for loading a range of data. Must be in UTC.
This uses the ISO8601 format. For example, 2023-01-01T00:00:00Z is 1st January 2023 at midnight UTC.
End date and time for loading a range of data. Must be in UTC.
This uses the ISO8601 format. For example, 2023-01-01T00:00:00Z is 1st January 2023 at midnight UTC.
Period to recalculate time history samples to.
This cannot be less than the recorded time history period.
This uses the ISO8601 duration format. For example, PT1H is 1 hour, PT1M is 1 minute, PT1S is 1 second.
- Mock serverhttps://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/noise/timehistory
- Production serverhttps://api.mycirrus.cloud/v1/data/noise/timehistory
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/noise/timehistory?instruments=QT123456%2CQT234567&start=2023-01-01T00%3A00%3A00Z&end=2023-01-31T00%3A00%3A00Z&period=PT1H&values=LAeq%2CLCPeak%2CLAFMax' \
-H 'X-Api-Key: YOUR_API_KEY_HERE'[ { "instrument": "QT123456", "type": "LAeq", "blocks": [ … ] } ]
Request
Get noise frequency band measurements for the selected instruments and time range.
Optionally choose which bands and weighting to use and what period to recalculate results to.
The possible options are:
- Band
- Octave - Includes all octave bands from 31.5Hz to 16KHz
- Third - Includes all third octave bands from 6.3Hz to 20KHz
- Frequency Weighting
- A
- C
- Z
If you specify an invalid or unavailable band or weighting, the server will respond with an error.
If no band or weighting are specified, the server will return the default results (Octave Z).
The maximum date range per request is 31 days. If you request a longer range, the server will respond with an error.
The default Period is the measurement period as configured in the instrument. See the settings for details.
The period can be set to anything between the measurement period and 1 day. If you request a period outside this range, the server will respond with an error.
Requires an API key with the data.noise:read scope.
Serial numbers of selected instruments
Start date and time for loading a range of data. Must be in UTC.
This uses the ISO8601 format. For example, 2023-01-01T00:00:00Z is 1st January 2023 at midnight UTC.
End date and time for loading a range of data. Must be in UTC.
This uses the ISO8601 format. For example, 2023-01-01T00:00:00Z is 1st January 2023 at midnight UTC.
Period to recalculate measurement samples to.
This cannot be less than the recorded measurement period.
This uses the ISO8601 duration format. For example, P1D is 1 day, PT1H is 1 hour, PT5M is 5 minutes.
Choose which set of frequency bands to use
- Mock serverhttps://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/frequency/measurements
- Production serverhttps://api.mycirrus.cloud/v1/data/frequency/measurements
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/frequency/measurements?instruments=QT123456%2CQT234567&start=2023-01-01T00%3A00%3A00Z&end=2023-01-31T00%3A00%3A00Z&period=PT1H&bands=Octave&weighting=Z' \
-H 'X-Api-Key: YOUR_API_KEY_HERE'[ { "startTime": "2023-06-14T23:00:00Z", "endTime": "2023-06-14T23:15:00Z", "duration": 900, "instrument": "QT123456", "overload": false, "values": [ … ] } ]
Request
Get noise frequency band time history for the selected instruments and time range.
Optionally choose which bands and weighting to use and what period to recalculate results to.
The maximum date range per request is 1 day. If you request a longer range, the server will respond with an error.
The default Period is 1 second.
The period can be set to anything between the current time history setting and 1 minute. If you request a period outside this range, the server will respond with an error.
You can request data with a period of less than 1 second by using a fractional seconds value in the period. For example, PT0.1S for 100ms.
Requires an API key with the data.noise:read scope.
Serial numbers of selected instruments
Start date and time for loading a range of data. Must be in UTC.
This uses the ISO8601 format. For example, 2023-01-01T00:00:00Z is 1st January 2023 at midnight UTC.
End date and time for loading a range of data. Must be in UTC.
This uses the ISO8601 format. For example, 2023-01-01T00:00:00Z is 1st January 2023 at midnight UTC.
Period to recalculate time history samples to.
This cannot be less than the recorded time history period.
This uses the ISO8601 duration format. For example, PT1H is 1 hour, PT1M is 1 minute, PT1S is 1 second.
Choose which set of frequency bands to use
- Mock serverhttps://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/frequency/timehistory
- Production serverhttps://api.mycirrus.cloud/v1/data/frequency/timehistory
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/frequency/timehistory?instruments=QT123456%2CQT234567&start=2023-01-01T00%3A00%3A00Z&end=2023-01-31T00%3A00%3A00Z&period=PT1H&bands=Octave&weighting=Z' \
-H 'X-Api-Key: YOUR_API_KEY_HERE'[ { "instrument": "QT123456", "type": "Octave", "blocks": [ … ] } ]
- Mock serverhttps://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/audio
- Production serverhttps://api.mycirrus.cloud/v1/data/audio
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/audio?instruments=QT123456%2CQT234567&start=2023-01-01T00%3A00%3A00Z&end=2023-01-31T00%3A00%3A00Z' \
-H 'X-Api-Key: YOUR_API_KEY_HERE'[ { "id": "3uCLgmZuV1ITGOLOBTzgDm8d9SMX52AixUtpSfEELGYsUQMmZw", "instrument": "QT123456", "startTime": "2023-06-12T10:27:41", "endTime": "2023-06-12T10:28:00", "triggerStartTime": "2023-06-12T10:27:42Z", "triggerEndTime": "2023-06-12T10:27:55Z", "triggerName": "Default" } ]
- Mock serverhttps://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/audio/{recordingId}
- Production serverhttps://api.mycirrus.cloud/v1/data/audio/{recordingId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/audio/xxxxxx-xxxxxx-xxxxxx?format=FLAC' \
-H 'X-Api-Key: YOUR_API_KEY_HERE'No contentWebhook management
Webhooks allow you to receive notifications when new data is available. You can configure webhooks via the API itself or via the console.
To create a webhook, go to the API console and click the "Create Webhook" button.
These are the endpoints you can use to manage your webhooks:
Webhook Messages
Webhooks allow you to receive notifications when new data is available. You can configure webhooks via the API itself or via the console.
To create a webhook, go to the API console and click the "Create Webhook" button.
When a webhook is triggered, a POST request will be sent to the URL you specified. The request will contain a JSON body with the data that triggered the webhook.
When processing the webhook request you must return a 200 OK response to indicate that the data was received successfully.
If a 200 response is not given or the request times out (5 seconds), the webhook will be retried up to 5 times.
To ensure a fast response we recommend you respond immediately and queue any further work to be done later.
If a webhook repeatedly fails you will be notified via email. If it continues to fail it will then be removed.
We cannot guarantee you will get a webhook request for every event so you should occasionally check for new items against the normal API endpoints. When processing events such as new measurements its also recommended to request all data since you last processed it rather than just the 1 new measurement from the request.
These are the types of webhook messages you can receive: