Skip to content

MyCirrus API - Instrument info, Data and Webhooks (1.0.1)

API documentation for the MyCirrus API

Download OpenAPI description
Languages
Servers
Mock server
https://docs.mycirrus.cloud/_mock/apis/mycirrus-main
Production server
https://api.mycirrus.cloud/v1

Instrument info and control

Endpoints for finding and controlling instruments

Operations

Noise data

Endpoints for retrieving historic noise data

Operations

Environmental data

Endpoints for retrieving historic environmental data

Operations

Event data

Endpoints for retrieving historic event data

Operations

Request

Get a list of events for the selected instruments and time range.

The maximum date range per request is 31 days. If you request a longer range, the server will respond with an error.

Requires an API key with the data.events:read scope.

Security
apikey
Query
instrumentsArray of stringsrequired

Serial numbers of selected instruments

Example: instruments=QT123456&instruments=QT234567
startstring(date-time)required

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.

Example: start=2023-01-01T00:00:00Z
endstring(date-time)required

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.

Example: end=2023-01-31T00:00:00Z
curl -i -X GET \
  'https://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/events?instruments=QT123456%2CQT234567&start=2023-01-01T00%3A00%3A00Z&end=2023-01-31T00%3A00%3A00Z' \
  -H 'X-Api-Key: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/jsonArray [
typestring
namestring
levelinteger
startTimestring(date-time)
endTimestring(date-time)
audioTimestring or null(date-time)
instrumentstring
overallArray of numbers
octaveArray of numbers
thirdOctaveArray of numbers
timeHistoryIdstring

ID of the time history data for this event. Used to download the time history data.

audioIdstring

ID of the audio data for this event. Used to download the audio data.

]
Response
application/json
[ { "type": "Noise", "name": "LAeq", "level": 65, "startTime": "2023-06-16T11:35:20Z", "endTime": "2023-06-16T11:35:40Z", "audioTime": "2023-06-16T11:35:25Z", "instrument": "QT123456", "overall": [], "octave": null, "thirdOctave": null, "timeHistoryId": "asliuh-fufks87s-oqkusd7", "audioId": "soqufchwnw8-qkxiwtgqa5-akdicuysja" } ]

Request

Get time history data for the given noise event.

Requires an API key with the data.events:read scope.

Security
apikey
Path
idstringrequired

ID of the time history for this event

curl -i -X GET \
  'https://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/events/timehistory/{id}' \
  -H 'X-Api-Key: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/jsonArray [
instrumentstring
typestring
blocksArray of objects(TimeHistoryBlock)
]
Response
application/json
[ { "instrument": "QT123456", "type": "LAeq", "blocks": [] } ]

Request

Get the audio recording for the given noise event.

Requires an API key with the data.events:read and data.audio:read scopes.

Security
apikey
Path
idstringrequired

ID of the audio for this event

Query
formatstring

Choose audio file format and codec

Default "FLAC"
Enum"FLAC""WAV""AAC""OGG"
Example: format=FLAC
curl -i -X GET \
  'https://docs.mycirrus.cloud/_mock/apis/mycirrus-main/data/events/audio/{id}?format=FLAC' \
  -H 'X-Api-Key: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/octet-stream
string(binary)

The audio data encoded in the format specified in the request

Response
No content

System health data

Endpoints for retrieving historic system health data

Operations

Webhook 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:

Operations

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:

Webhooks