Soundsensing API (0.0.0)

Download OpenAPI specification:Download

Introduction

HTTP REST API for Soundsensing

This provides access to sensor data and other capabilities in the Soundsensing data platform.

Once you have your account and have fetched the API key from your Accounts page, you can make API requests.

For example using curl on some Unix platform (Linux, Mac OS or Windows Subsystem for Linux).

export SOUNDSENSING_API_KEY='my-token'

To list your user account information

curl -H "Authorization: Bearer ${SOUNDSENSING_API_KEY}" https://api.soundsensing.no/v1/account

Or to list your devices

curl -H "Authorization: Bearer ${SOUNDSENSING_API_KEY}" https://api.soundsensing.no/v1/devices

Webhook

The soundsensing webhook system allows an user to subscribe to certain events, which will be published to an endpoint of the users choice. The user interface for registering webhooks is currently in construction, so please use the API to register your webhook, or contact us and we will create one for you.

The events that can be subscribed to are listed in definitions under Webhook Event Subscription Types. Return types are described in the Webhook Events section, as well as in definitions under Webhook Return Model.

Webhook events are sent at least once, but can be sent multiple times under certain circumstances. To ensure that you process an event only once, a check to see if the resource is already received should be put in place on the endpoint. If you store the datapoints, checking the id of the data received in the event is best, otherwise keeping track of event_ids is also an option.

If your endpoint fails, Soundsensing will try to resend the event a number of times before discarding the message. In this case the data is still available through the soundsensing API. In a case where a webhook subscriber endpoint fail too many times, the webhook may be deactivated by Soundsensing. The webhook can then be reactivated through the webhook API

Pagination

API endpoints use standard limit/offset pagination, with limit defaulting to 10 000 if nothing is given. Supplying limit above 1 000 000 is not allowed. It is recommended to get maximum 1 day of data at a time. If getting 1 day or more, it is recommended to restrict to one, or at least few devices. Keywords "sort" and "order" can also be used to sort data.

Example:

https://api.soundsensing.no/v1/devices?sort=serial&order=asc&limit=5&offset=5

Alarm

About alarms

Create alarm

Create alarm

Request Body schema: application/json

The alarm to create

id
string <uuid>

Unique identifier for the alarm

device_id
required
string <uuid>

Unique identifier for the device that posted this alarm

model_instance_id
string or null <uuid>
created_at
number

Time of creation in UTC

creator_id
string <uuid>

Unique identifier for the user that created this alarm

timestamp
required
number

Time of alarm in UTC

resolved
boolean or null

Whether or not the alarm has been resolved

resolution_description
string or null

Description of how the alarm was resolved

resolution_time
number or null

Time of resolution in UTC

description
string

Description of the alarm

alarm_type
required
string
Enum: "A" "B"

Type of alarm

customer_visible
boolean

Wether an alarm is published to customers or not, always true unless user is admin

Responses

Request samples

Content type
application/json
{
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "model_instance_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "created_at": 1500000000,
  • "creator_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "timestamp": 1500000000,
  • "resolved": true,
  • "resolution_description": "The alarm was resolved by the user",
  • "resolution_time": 1500000000,
  • "description": "The machine is not running",
  • "alarm_type": "B",
  • "customer_visible": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get alarms by device ids or organization ids

Get alarms by device ids or organization ids

query Parameters
device_id
Array of strings <uuid>

ID of device to return

organization_id
Array of strings <uuid>

ID of organization to return

start_time
number

Query alarms after start_time defined as a timestamp

end_time
number

Query alarms before end_time defined as a timestamp

customer_visible
boolean

Wether the alarm is customer visible or not. Option only available for admins

resolved
boolean

Whether the alarm is resolved or not.

Responses

Response samples

Content type
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get alarm by id

Get alarm by id

path Parameters
id
required
string <uuid>

ID of alarm to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update alarm

Update alarm by id

path Parameters
id
required
string <uuid>

ID of alarm to update

Request Body schema: application/json

Alarm parameters to edit

timestamp
number

Time of alarm in UTC

resolved
boolean or null

Whether or not the alarm has been resolved

resolution_description
string or null

Description of how the alarm was resolved

resolution_time
number or null

Time of resolution in UTC

description
string

Description of the alarm

model_instance_id
string or null <uuid>
alarm_type
string
Enum: "A" "B"

Type of alarm

customer_visible
boolean

Wether an alarm is published to customers or not, always true unless user is admin

Responses

Request samples

Content type
application/json
{
  • "timestamp": 1500000000,
  • "resolved": true,
  • "resolution_description": "The alarm was resolved by the user",
  • "resolution_time": 1500000000,
  • "description": "The machine is not running",
  • "model_instance_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "alarm_type": "B",
  • "customer_visible": true
}

Response samples

Content type
{
  • "data": {
    }
}

Resend Alarm

Update alarm by id

path Parameters
id
required
string <uuid>

ID of alarm to update

query Parameters
email
required
boolean

Wether to resend emails to org

integration
required
boolean

Wether to resend alarm with integration

Responses

Publish Alarm that is not yet published

Update alarm by id, field customer_visible of alarm must be false when calling this

path Parameters
id
required
string <uuid>

ID of alarm to update

Responses

Annotations

Get annotation by id

Get annotation by id

path Parameters
annotation_id
required
string

The annotation id

Responses

Response samples

Content type
{
  • "data": {
    }
}

Create annotation

Create annotation

Request Body schema: application/json

The annotation to create

start_time
number

Start time for the annotation in UTC

end_time
number

End time for the annotation in UTC

anomaly
string
Enum: "YES" "NO" "MAYBE"

Is this annotation related to an anomaly?

description
string

Description of the annotation

tags
Array of strings or null
meta
object or null
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "start_time": 1500000000,
  • "end_time": 1500000000,
  • "anomaly": "yes",
  • "description": "This is a description of the annotation",
  • "tags": [
    ],
  • "meta": { }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get annotations

Get annotations

query Parameters
device_id
Array of strings <uuid>

ID of device to return

organization_id
Array of strings <uuid>

ID of organization to return

model_template_id
string <uuid>

ID of model template to return

alarm_id
Array of strings <uuid>

ID of alarm to return annotations for

created_after
number <timestamp>

Return annotations created after this timestamp

created_before
number <timestamp>

Return annotations created before this timestamp

start
number <timestamp>

Return annotations have end time after or equal to this timestamp

end
number <timestamp>

Return annotations have start time before this timestamp

Responses

Response samples

Content type
{
  • "data": [
    ],
  • "pagination": {
    }
}

Create annotation

Create annotation

Request Body schema: application/json

The annotation to create

id
string <uuid>

Unique identifier for the annotation

created_at
number

Time of creation in UTC

start_time
number

Start time for the annotation in UTC

end_time
number

End time for the annotation in UTC

creator_id
string <uuid>

Unique identifier for the user that created this annotation

device_id
string <uuid>

Unique identifier for the device that this annotation is related to

model_template_id
string or null <uuid>

Unique identifier for the model template that this annotation is related to

alarm_id
string or null <uuid>

Unique identifier for an alarm that this annotation is related to

anomaly
string or null
Enum: "YES" "NO" "MAYBE"

Is this annotation related to an anomaly?

description
string

Description of the annotation

tags
Array of strings or null
meta
object or null

Responses

Request samples

Content type
application/json
{
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "created_at": 1500000000,
  • "start_time": 1500000000,
  • "end_time": 1500000000,
  • "creator_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "model_template_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "alarm_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "anomaly": "yes",
  • "description": "This is a description of the annotation",
  • "tags": [
    ],
  • "meta": { }
}

Response samples

Content type
{
  • "data": {
    }
}

AnomalyDetectionResult

About anomaly detection result

Get anomaliy detection results

Get anomaliy detection results in a given timespan for the specific sensor. Use either device, organization or both as parameters. Using none will not work. You can also optionally query for spesific models, or instances of a trained model.

Authorizations:
ApiAuth
query Parameters
device
required
string <uuid>

Identifier for a single or a list of devices

start
required
string <date-time>

Start time for query

end
required
string <date-time>

End time for query

limit
integer

Limit the number of returned anomalies

offset
integer

Offset the returned anomalies

model_instance_id
string

Model instance id(s) to filter on

model_template_id
string

Model template id(s) to filter on

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

AssetMetric

About asset metrics

Get all Asset Metric Tags

query Parameters
metric
Array of strings

Name of the metric to search for

asset_id
Array of strings <uuid>

Id of asset to limit the search to

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Create a new Asset Metric Tag

Authorizations:
ApiAuth
Request Body schema: application/json

An asset metric tag

asset_id
required
string <uuid>

The ID of the asset this tag belongs to

metric
required
string

The name of the metric being tagged

description
string or null

Optional description of the tag

Responses

Request samples

Content type
application/json
{
  • "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
  • "metric": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get all Asset Metrics for tag

query Parameters
end_time
number <timestamp>

The end time of the time interval to get metrics from

start_time
number <timestamp>

The start time of the time interval to get metrics from

tag_id
required
Array of strings <uuid>

The tag ids to fetch results from

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Post one or more Asset Metrics

Request Body schema: application/json
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Device management

About device managment

Get device checkins

Returns registered device checkins

Authorizations:
ApiAuth
query Parameters
device
required
string <uuid>

Identifier for the device to query for. Can be specified multiple times

start
required
string <date-time>

Start time for query

end
required
string <date-time>

End time for query

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List Devices

Authorizations:
ApiAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Register a new device

Authorizations:
ApiAuth
Request Body schema: application/json
id
string <uuid>

Internal identifier for this Device

device_id
string or null

External identifier for this Device.

api_key
string

API token used to authenticate the device with the API. Can only be set at registration time.

sensor_id
string or null <uuid>

Sensor id for this device

serial
required
string

Serial number of the device. Typically assigned at production time and printed on device.

revision
string or null

Hardware revision of the device. Typically indicates minor changes that don't impact use and does not warrant a new DeviceType

type_id
string or null

ID of the DeviceType for this device

object or (any or null)
organization_id
string or null <uuid>

Uuid of organization that owns this device

nickname
string or null

User modifiable nickname. For the user to recognize their devices more easily.

description
string or null

A description of this device, for displaying what this device is used for.

registered_at
number

Timestamp for time of registration for this device

registered_by
string or null <uuid>

Uuid of user that registered this device

Array of objects or null

Model specific configuration options

Responses

Request samples

Content type
application/json
{
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "device_id": "stm32:31003b4d34501320303041",
  • "api_key": "",
  • "sensor_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "serial": "203",
  • "revision": "1.2",
  • "type_id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "type": {
    },
  • "organization_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0c",
  • "nickname": "Soundsensing Office",
  • "description": "A description of this device",
  • "registered_at": "1600000.00",
  • "registered_by": "040517af-71c5-4fa3-a1d1-ec5a9112ce0b",
  • "configs": [
    ]
}

Get info about a device

Authorizations:
ApiAuth

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Edit a device

query Parameters
nickname
string

New nickname to give device. Empty string sets nickname to null

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List device types

Authorizations:
ApiAuth
query Parameters
offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Register a new device type

Authorizations:
ApiAuth
Request Body schema: application/json
id
required
string <uuid>

Unique identifier for this DeviceType

brand
required
string

The brand/manufacturer/vendor name

model
required
string

The model name

registered_at
number

Timestamp of when the type was registered

registered_by
string or null <uuid>

Id of user that registered device type

Responses

Request samples

Content type
application/json
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "brand": "Soundsensing",
  • "model": "dB20",
  • "registered_at": "163161+643.174402",
  • "registered_by": "eca213d2-6119-4135-97a9-9b4fce4043de"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Device Location info

Device Location Info

query Parameters
device
string <uuid>

Specify devices to query by

start
number
Example: start=1629291281

Start time for query

end
number
Example: end=1629291282

End time for query

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Post DeviceLocation

Register new Location info for a device

Authorizations:
ApiAuth
Request Body schema: application/json
id
required
string <uuid>

Unique identifier for the DeviceLocation

device_id
required
string <uuid>

Unique identifier for the device the Location info belongs to

time
required
string

Timerange for the Location info

location_id
string

ID of the Location for this DeviceLocation

required
object

Location data

Responses

Request samples

Content type
application/json
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "device_id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "time": "[\"1970-01-19 13:22:30+01\",\"1970-01-19 13:27:30+01\")",
  • "location_id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "location": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get status for list of devices

Returns latest relevant resources for a list of devices. Currently returns only soundlevel resource

Authorizations:
ApiAuth
query Parameters
device
string <uuid>

Specify devices to query by

status_time
number
Example: status_time=1629291281

Specify time instance for which to get status for

hours_back
number
Example: hours_back=5

Specify how many hours back in time to search for status. Increases query time.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "devices": [
    ]
}

Get condition for list of devices

Returns the condition for a device and its given location

Authorizations:
ApiAuth
query Parameters
device
string <uuid>

Specify devices to query by

organization
string <uuid>

Specify organizations, if status for all devices in an organization is required.

start_time
number
Example: start_time=1629291281

Specify start time for which to get condition for. Defaults to one day ago

end_time
number
Example: end_time=1629291281

Specify end time for which to get condition for. Defaults to now.

anomaly_status_yellow_minutes
string

Specify number of minutes of continuous anomalies needed to set status to warning state (yellow)

anomaly_status_red_minutes
string

Specify number of minutes of continuous anomalies needed to set status to critical state (red)

anomaly_status_threshold
string

Threshold for anomaly score to consider a score an anomaly. Must be between 0 and 1

anomaly_status_hysterisis_threshold
string

Hysterisis threshold (threshold for exiting a continuous anomaly, should be lower than anomaly_status_threshold). Must be between 0 and 1

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create a device deployment

Authorizations:
ApiAuth
Request Body schema: application/json

The device deployment to create

id
string <uuid>
device_id
required
string <uuid>
room_id
required
string <uuid>
start_time
required
number <timestamp>

Timestamp for the start_time

end_time
number or null <timestamp>

Timestamp for the end_time

assets
Array of strings or null <uuid>
meta
object or null
install_height
number or null

Install height of device

floor_height
number or null

The height of the floor

roll
number or null

The roll of the device on install

pitch
number or null

The pitch of the device on install

yaw
number or null

The pitch of the device on install

description
string or null

Description of the install

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
  • "room_id": "05451321-18e1-4bfa-aa22-dfd0080cc120",
  • "start_time": 1629291281,
  • "end_time": 1629291281,
  • "assets": [
    ],
  • "meta": "{'extra': 'data'}",
  • "install_height": 1,
  • "floor_height": 2,
  • "roll": 4,
  • "pitch": 30,
  • "yaw": 30,
  • "description": "A description of the install, if needed"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get device deployments

Authorizations:
ApiAuth
query Parameters
organization_id
Array of strings <uuid>

Filter assets by organization_id

building_id
Array of strings <uuid>

Filter assets by building_id

room_id
Array of strings <uuid>

Filter device deployments by room id

device_id
Array of strings <uuid>

Filter device deployments by device_id

start_time
number <timestamp>

Filter device deployments by start time. Find only devicedeployment with start time after this point.

end_time
number <timestamp>

Filter device deployments by end time- Find only devicedeployments with end time before this point.

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get a single device deployment by id

This method returns a device deployment object by id

path Parameters
device_deployment_id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update a single device deployment by id

Supply data to update a device deployment selected by the supplied id

path Parameters
device_deployment_id
required
string <uuid>
Request Body schema: application/json
device_id
string <uuid>
room_id
string <uuid>
start_time
number <timestamp>

Timestamp for the start_time

end_time
number or null <timestamp>

Timestamp for the end_time

assets
Array of strings or null <uuid>
meta
object or null
install_height
number or null

Install height of device

floor_height
number or null

The height of the floor

roll
number or null

The roll of the device on install

pitch
number or null

The pitch of the device on install

yaw
number or null

The pitch of the device on install

description
string or null

Description of the install

Responses

Request samples

Content type
application/json
{
  • "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
  • "room_id": "05451321-18e1-4bfa-aa22-dfd0080cc120",
  • "start_time": 1629291281,
  • "end_time": 1629291281,
  • "assets": [
    ],
  • "meta": "{'extra': 'data'}",
  • "install_height": 1,
  • "floor_height": 2,
  • "roll": 4,
  • "pitch": 30,
  • "yaw": 30,
  • "description": "A description of the install, if needed"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get device event types

This endpoint is used to get information about existing device event types.

Authorizations:
ApiAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Create a device event type

This endpoint is used to post information about gateway configuration, such as vpn config.

Authorizations:
ApiAuth
Request Body schema: application/json

Configuration data for a device event type

name
required
string
description
string or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get device events

This endpoint is used to get all device event.

Authorizations:
ApiAuth
query Parameters
device_id
Array of strings <uuid>

Filter device deployments by device_id

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Create a device event

This endpoint is used to post an event for a device.

Authorizations:
ApiAuth
Request Body schema: application/json

A device event

id
string or null <uuid>
device_id
string <uuid>
start_time
number <timestamp>
end_time
number <timestamp>
type_id
required
string <uuid>

Id for type of event, see DeviceEventType

created_by
string <uuid>
created_at
number <timestamp>

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
  • "start_time": 0,
  • "end_time": 0,
  • "type_id": "d9779ea4-ba95-4824-86d7-4f1ac083a564",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "created_at": 0
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get device event by id

This endpoint is used to get all device event.

Authorizations:
ApiAuth
path Parameters
device_event_id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "pagination": {
    }
}

Update device event

This endpoint is used change the details of a device event.

Authorizations:
ApiAuth
path Parameters
device_event_id
required
string <uuid>
Request Body schema: application/json

A device event

id
string or null <uuid>
device_id
string <uuid>
start_time
number <timestamp>
end_time
number <timestamp>
type_id
required
string <uuid>

Id for type of event, see DeviceEventType

created_by
string <uuid>
created_at
number <timestamp>

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
  • "start_time": 0,
  • "end_time": 0,
  • "type_id": "d9779ea4-ba95-4824-86d7-4f1ac083a564",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "created_at": 0
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Device Model Config

About device model config

Get device model config

Get device model config

query Parameters
device_id
Array of strings <uuid>

ID of device to return device model config for

Responses

Response samples

Content type
{
  • "data": [
    ]
}

Create device model config

Create device model config

Request Body schema: application/json

The device model config to create

id
string <uuid>

Device model config id

creator_id
string

Creator of the device model config

created_at
number <timestamp>

Creation time of the device model config

device_ids
Array of strings or null <uuid>

Device ids

model_type_id
required
string <uuid>

Model type id

description
string or null

Description of the device model config

training_parameters
object or null

Training parameters

start_time
required
number <timestamp>

Start time of the device model config

end_time
number or null <timestamp>

End time of the device model config

updated_at
number or null <timestamp>

The point in time this was last updated

meta
object or null

Meta, place for meta info and additional settings that does not belong in training parameters

Responses

Request samples

Content type
application/json
{
  • "id": "device_model_config_id",
  • "creator_id": "user",
  • "created_at": 1520000000,
  • "device_ids": [
    ],
  • "model_type_id": "model_type_id",
  • "description": "Description of the device model config",
  • "training_parameters": {
    },
  • "start_time": 1520000000,
  • "end_time": 1520000000,
  • "updated_at": 1520000000,
  • "meta": {
    }
}

Response samples

Content type
{
  • "data": {
    }
}

Get device model config by id

Get device model config by id

path Parameters
config_id
required
string

The device model config id

Responses

Response samples

Content type
{
  • "data": {
    }
}

Update device model config

Update device model config

path Parameters
config_id
required
string

The device model config id

Request Body schema: application/json

The device model config to update

device_ids
Array of strings or null <uuid>

Device ids

model_type_id
string

Model type id

description
string or null

Description of the device model config

training_parameters
object or null

Training parameters

start_time
number <timestamp>

Start time of the device model config

end_time
number or null <timestamp>

End time of the device model config

meta
object or null

Meta, place for meta info and additional settings that does not belong in training parameters

Responses

Request samples

Content type
application/json
{
  • "device_ids": [
    ],
  • "model_type_id": "model_type_id",
  • "description": "Description of the device model config",
  • "training_parameters": {
    },
  • "start_time": 1520000000,
  • "end_time": 1520000000,
  • "meta": {
    }
}

Response samples

Content type
{
  • "data": {
    }
}

Integration

About organization integrations

Get integration

Get integration

path Parameters
id
required
string

Integration id

Responses

Response samples

Content type
{
  • "data": {
    }
}

Update integration

Update integration

path Parameters
id
required
string

Integration id

Request Body schema: application/json

Integration

api_key
string or null

Integration api key

user_name
string or null

Username, if used for authentication. If username is used, also supply password

password
string or null

Password for authentication with integration service

api_url
string or null

Api-key for integration. This API key overwrites service api url, if different urls are used for different integrations on service.

integration_service_id
string
organization_id
string <uuid>

Organization id

enabled
boolean or null

Boolean for enabling and disabling the integration. If disabled, no notifications will be published using this integration

configuration
object or null

Other information required for integration

Responses

Request samples

Content type
application/json
{
  • "api_key": "integration_api_key",
  • "user_name": "UserName123",
  • "password": "password",
  • "integration_service_id": "b4a290f8-7ce9-400d-9ef3-849c50d69634",
  • "organization_id": "organization_id",
  • "enabled": true,
  • "configuration": "{'some_info': 'OtherInfo'}"
}

Response samples

Content type
{
  • "data": {
    }
}

Create integration

Create integration

Request Body schema: application/json

Integration

id
string <uuid>

Integration id

integration_service_id
required
string <uuid>

Integration service id

organization_id
required
string <uuid>

Organization id

api_key
string or null

Integration api key, if api key is used for authentication

user_name
string or null

Username, if used for authentication. If username is used, also supply password

password
string or null

Password for authentication with integration service

api_url
string or null

Api-key for integration. This API key overwrites service api url, if different urls are used for different integrations on service.

enabled
boolean or null

Boolean for enabling and disabling the integration. If disabled, no notifications will be published using this integration

configuration
object or null

Other information required for integration

Responses

Request samples

Content type
application/json
{
  • "id": "integration_id",
  • "integration_service_id": "integration_service_id",
  • "organization_id": "organization_id",
  • "api_key": "integration_api_key",
  • "user_name": "UserName123",
  • "password": "password",
  • "enabled": true,
  • "configuration": "{'some_info': 'OtherInfo'}"
}

Response samples

Content type
{
  • "data": {
    }
}

Get all integrations

Get all integrations

Responses

Response samples

Content type
{
  • "data": [
    ]
}

Integration Service

About integrated services

Update integration service

Update integration service

Authorizations:
ApiAuth
path Parameters
id
required
string <uuid>

Integration service id

Request Body schema: application/json

Integration service object

name
string or null

Integration service name

description
string or null

Integration service description

api_url
string or null

Integration service url

Responses

Request samples

Content type
application/json
{
  • "name": "integration_service_name",
  • "description": "integration_service_description",
  • "api_url": "integration_service_url"
}

Response samples

Content type
{
  • "id": "integration_service_id",
  • "name": "integration_service_name",
  • "description": "integration_service_description",
  • "api_url": "integration_service_url"
}

Get integration service by id

Get integration service by id

path Parameters
id
required
string <uuid>

Integration service id

Responses

Response samples

Content type
{
  • "id": "integration_service_id",
  • "name": "integration_service_name",
  • "description": "integration_service_description",
  • "api_url": "integration_service_url"
}

Get all integrated services

Get all integrated services

Responses

Response samples

Content type
{
  • "data": [
    ]
}

Create integration service

Create integration service

Authorizations:
ApiAuth
Request Body schema: application/json

Integration service object

id
string <uuid>

Integration service id

name
string or null

Integration service name

description
string or null

Integration service description

api_url
string or null

Integration service url

Responses

Request samples

Content type
application/json
{
  • "id": "integration_service_id",
  • "name": "integration_service_name",
  • "description": "integration_service_description",
  • "api_url": "integration_service_url"
}

Response samples

Content type
{
  • "id": "integration_service_id",
  • "name": "integration_service_name",
  • "description": "integration_service_description",
  • "api_url": "integration_service_url"
}

User

About user managment

Get User account information

User account info

Authorizations:
ApiAuth

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Rotate user apikey

This endpoint is used to rotate api-key for user. Only admins can rotate for an user that is not themselves.

path Parameters
user_id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

User preferences

About user preferences

Get user preferences

Get user preferences

query Parameters
id
string

The id of the category we want to get preferences for.

user_id
string

The id of the user we want to get preferences for.

Responses

Response samples

Content type
{
  • "data": [
    ]
}

AudioClip

About audio clips

List AudioClips

Returns a list of AudioClips

Authorizations:
ApiAuth
path Parameters
user
required
string <uuid>

Only return clips uploaded by specified user. Can be specified multiple times

query Parameters
annotated
required
bool

Only return clips which have Annotations

start
required
string <date-time>

Start time for query

end
required
string <date-time>

End time for query

offset
number

Pagination offset

limit
number

Pagination limit

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Register an AudioClip

Returns location for uploading audio clip

Authorizations:
ApiAuth

Responses

Response samples

Content type
application/json
{}

Download an audio clip

Returns Location for accessing audio clip

Authorizations:
ApiAuth

Responses

List Annotations

Returns a list of Annotations

Authorizations:
ApiAuth
query Parameters
offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Classifications

About classifications

Get sound classifications

Returns classification results from machine learning models

Authorizations:
ApiAuth
query Parameters
device
required
string <uuid>

Identifier for the device to query classifications for. Can be specified multiple times

audioclip
string <uuid>

Identifier for the audioclip to query classifications for. Can be specified multiple times

model
string <uuid>

Identifier for the model to query classifications for. Can be specified multiple times

distinct
boolean

Only return 1 classification result per audio_clip

start
required
string <date-time>

Start time for query

end
required
string <date-time>

End time for query

model_instance
string <uuid>

Identifier for the ModelInstance to query classifications for. Can be specified multiple times

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Batch Post classifications

Post an array of classifications to one or multiple devices

Authorizations:
ApiAuth
Request Body schema: application/json
Array
id
required
string <uuid>

Unique identifier for this Classification entry

device_id
string <uuid>

Unique identifier for the decvice that made the classification

model_id
string

Unique identifier for the model used for the classifications. Can be a uuid or a string.

audio_clip_id
string or null <uuid>

Unique identifier for the audio clip used for the classifications, if any

spectrogram_id
string or null <uuid>

Unique identifier for the spectrogram used for the classifications, if any

sensor_id
string or null <uuid>

Identifier for the Sensor this belongs to

predictions
Array of numbers or null

Prediction probabilities

period
number

The period of the classification

created_at
number

The creation date of the classification as a timestamp

object or null

Meta data for the classification

object or (any or null)
end_time
number

End time for the classifications

model_instance_id
string or null <uuid>

Unique identifier for the ModelInstance used for the classifications, if any

object or (any or null)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Get classification summaries

Returns classification data formatted for use in heatmaps.

Authorizations:
ApiAuth
query Parameters
device
string <uuid>

Identifier for the device to query for. Can be specified multiple times

audioclip
string <uuid>

Identifier for the audioclip to query for. Can be specified multiple times

start
string <date-time>

Start time for query

end
string <date-time>

End time for query

time_resolution
number

The amount of seconds between each datapoint

category_detail_level
number

Each detail level represents a step down the hierarchy of categories in the Audioset ontology

number_of_categories
number

The amount of classes to return. They will be ordered by overall highest probability so the most likely classes are first.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Soundlevel

About soundlevels

List soundlevels

Get soundlevels in a given timespan for the specific sensor. Use either device, organization or both as parameters. Using none will not work

Authorizations:
ApiAuth
query Parameters
device
string <uuid>

Identifier for the device to query. Can be specified multiple times

organization
string <uuid>

Identifier for the organization to quiery devices from. Can be specified multiple times

start
required
string <date-time>

Start time for query

end
required
string <date-time>

End time for query

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Batch Post Soundlevels

Post an array of soundlevels to one or multiple devices

Authorizations:
ApiAuth
Request Body schema: application/json
Array
id
string <uuid>

Unique identifier for this soundlevel entry

device_id
string <uuid>

Unique identifier for the device posting this soundlevel entry

leq
number or null

Continious Equivalent SPL. A-weighted

lafmax
number or null

Maximum A-weighted sound level measurement in dB measured with a fast time weighting.

lafmin
number or null

Minimum level with A-weighted frequency response and fast time constant

period
integer

Time-span this soundlevel measurement covers. Number of microseconds prior to @end_time.

created_at
number

Time of creation for this entry

end_time
number

Time this measurement ended.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Vibration

About vibration

Get vibration data

Get vibration data in a given timespan for the specific sensor. Use either device, organization or both as parameters. Using none will not work

query Parameters
device
Array of strings <uuid>

Identifier for the device to query. Can be specified multiple times

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

organization
Array of strings <uuid>

Filter buildings by organization_id

start
required
number <timestamp>

Start time for query

end
required
number <timestamp>

End time for query

Responses

Response samples

Content type
{
  • "data": [
    ],
  • "pagination": {
    }
}

Batch Post Vibrations

Post an array of Vibrations to one or multiple devices

Authorizations:
ApiAuth
Request Body schema: application/json
Array
device_id
string <uuid>

Unique identifier for the device posting this vibration data

rms_x
number or null

RMS X

rms_y
number or null

RMS Y

rms_z
number or null

RMS Z

p2p_x
number or null

P2P X

p2p_y
number or null

P2P Y

p2p_z
number or null

P2P Z

period
number

Time-span this vibration measurement covers. Number of seconds prior to @end_time.

created_at
number

Time of creation for this entry

end_time
number

Time this measurement ended.

start_time
number

Time this measurement started.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Spectrogram

About spectrograms

List spectrograms

Get spectrograms in a given timespan for the specificed devices

Authorizations:
ApiAuth
path Parameters
device
required
string <uuid>

Identifier for the device to query. Can be specified multiple times

query Parameters
start
required
string <date-time>

Start time for query

end
required
string <date-time>

End time for query

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Batch Post Spectrogram

Post an array of Spectrogram to one or multiple devices

Authorizations:
ApiAuth
Request Body schema: application/json
Array
id
required
string <uuid>

Unique identifier for this object

device_id
string <uuid>

Identifier for Device this belongs to

spectrogram_type_id
string <uuid>

Identifier for SpectrogramType this has

filename
required
string

Filename of the AudioClip

bucket
required
string

Storage bucket the file is in

start_time
number

Time inside AudioClip for annotation start (seconds)

end_time
number

Time inside AudioClip for annotation end (seconds)

created_at
required
number

Timestamp for creation

period
number or null

Period of the spectrogram

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Get info about a single spectrogram

Authorizations:
ApiAuth

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Download a spectrogram

Returns Location for accessing spectrogram data

Authorizations:
ApiAuth

Responses

Download a spectrogram

Returns Location for accessing spectrogram data

Authorizations:
ApiAuth

Responses

Download spectrograms

Get download information for a set of spectrograms

Authorizations:
ApiAuth
path Parameters
id
required
string <uuid>

Identifier for the data to download. Can be specified multiple times

Request Body schema: application/json
Array
id
required
string <uuid>

UUID for the item to download

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{}

Report

About reports

Report-type

Gets the id of the report-type

Authorizations:
ApiAuth

Responses

Response samples

Content type
application/json
{
  • "label": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

PDF-report

Generates a pdf report

Authorizations:
ApiAuth
Request Body schema: application/json

list of device-ids

deviceList
required
Array of strings[ items <uuid > ]

Unique identifiers for devices

dateFrom
required
string

From-date for the date-range

dateTo
required
string

To-date for the date-range

workdayStart
string

Start of a workday, defaults to 08:00

workdayEnd
string

End of a workday, defaults to 16:00

template-id
string <uuid>

Unique identifier for template

Responses

Request samples

Content type
application/json
{
  • "deviceList": "[\"040517af-71c5-4fa3-a1d1-ec5a9112ce0a\", \"3e8d2f55-6828-451e-aa8c-9674faa54b19\"]",
  • "dateFrom": "YYYY-MM-DDTHH:MM",
  • "dateTo": "YYYY-MM-DDTHH:MM",
  • "workdayStart": "HH:MM",
  • "workdayEnd": "HH:MM",
  • "template-id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a"
}

Response samples

Content type
No sample

Webhook

About webhook managment

Get all webhooks for your organizations

Authorizations:
ApiAuth
query Parameters
offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create a new webhook subscription

Authorizations:
ApiAuth
Request Body schema: application/json
url
required
string <uri>

Url for your webhook endpoint. Url must start with https://

name
string

A name you want to give your webhook for easier managing

description
string

Any description you would like to give your webhook

organization_id
required
string <uuid>

The id of a organization you belong to

active
boolean

Wether your webhook is active or not

required
object
devices
Array of strings[ items <uuid > ]

Unique identifiers for devices

event_subscriptions
required
Array of strings[ items <Capital letters, valid event types > ]

The events you would like the webhook to subscribe to. List of possible events can be found at /webhookevents

Responses

Request samples

Content type
application/json
{
  • "name": "Your Webhook Name",
  • "description": "This is a description of details pertaining to your webhook",
  • "organization_id": "3cf4b5b4-a8d4-49d3-bbb5-6aedb5ace61c",
  • "active": true,
  • "auth": {
    },
  • "devices": [
    ],
  • "event_subscriptions": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "Your Webhook Name",
  • "description": "This is a description of details pertaining to your webhook",
  • "organization_id": "3cf4b5b4-a8d4-49d3-bbb5-6aedb5ace61c",
  • "active": true,
  • "auth": {
    },
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "registered_at": 1627902751.599545,
  • "registered_by": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "devices": [
    ],
  • "event_subscriptions": [
    ],
  • "creator": {
    }
}

Get a single webhook by id

Authorizations:
ApiAuth
path Parameters
webhook_id
required
string <uuid>

uuid of wanted webhook

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Edit a single webhook by id.

Currently only active property may be edited.

Authorizations:
ApiAuth
path Parameters
webhook_id
required
string <uuid>

uuid of wanted webhook

Request Body schema: application/json
active
required
boolean

Sets the active state of the webhook.

Responses

Request samples

Content type
application/json
{
  • "active": false
}

Response samples

Content type
application/json
{
  • "name": "Your Webhook Name",
  • "description": "This is a description of details pertaining to your webhook",
  • "organization_id": "3cf4b5b4-a8d4-49d3-bbb5-6aedb5ace61c",
  • "active": true,
  • "auth": {
    },
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "registered_at": 1627902751.599545,
  • "registered_by": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "devices": [
    ],
  • "event_subscriptions": [
    ],
  • "creator": {
    }
}

Delete a single webhook by id

Authorizations:
ApiAuth
path Parameters
webhook_id
required
string <uuid>

uuid of wanted webhook

Responses

Response samples

Content type
application/json
{
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a"
}

Get valid events for a webhook

Authorizations:
ApiAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

MachineLearning

About Machine Learning admin api

Get machine learning model templates

No parameters required, a request with no wuery parameters will return all templates.

Authorizations:
ApiAuth
query Parameters
device
string <uuid>

uuid of wanted device. Can add plural

id
string <uuid>

uuid of wanted template. Can add plural

name
string

Name of wanted model. Can add plural

start_time
integer

UTC timestamp for earliest valid time for template

end_time
integer

UTC timestamp for latest valid time for template

active_at
integer

Limit to templates that are active at the given time

active_after
integer

Limit to templates that are active after the given time

include_devices
boolean
Default: true

Wether or not to load devices. Query much faster if devices are not needed. Use 0 or 1

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
{
  • "data": [
    ],
  • "pagination": {
    }
}

Create a machine learning Model Template

Authorizations:
ApiAuth
Request Body schema: application/json
id
string <uuid>

Unique identifier for the ModelTemplate

start_time
number or null
end_time
number or null
Array of objects or objects or strings
target
string
Value: "server"
model_type
string
model_type_id
string or null <uuid>
training_parameters
object or null
meta
object or null
name
string
nice_name
string or null
description
string or null
version
integer
enabled
boolean
visible
boolean

Responses

Request samples

Content type
application/json
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "start_time": "1609462800",
  • "end_time": "1609462800",
  • "devices": [
    ],
  • "target": "server",
  • "model_type": "Gaussian",
  • "model_type_id": "c9269a3e-aede-466e-944a-7f0ec3594468",
  • "training_parameters": {
    },
  • "meta": {
    },
  • "name": "Example Name",
  • "nice_name": "Example Nice Name",
  • "description": "Example Description",
  • "version": 1,
  • "enabled": true,
  • "visible": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get a single ModelTemplate by id

Authorizations:
ApiAuth
path Parameters
template_id
required
string <uuid>

uuid of wanted ModelTemplate

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Edit a single ModelTemplate by id.

Authorizations:
ApiAuth
path Parameters
template_id
required
string <uuid>

uuid of wanted ModelTemplate

Request Body schema: application/json

attributes labeled required here are not required when editing.

id
string <uuid>

Unique identifier for the ModelTemplate

start_time
number or null
end_time
number or null
Array of objects or objects or strings
target
string
Value: "server"
model_type
string
model_type_id
string or null <uuid>
training_parameters
object or null
meta
object or null
name
string
nice_name
string or null
description
string or null
version
integer
enabled
boolean
visible
boolean

Responses

Request samples

Content type
application/json
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "start_time": "1609462800",
  • "end_time": "1609462800",
  • "devices": [
    ],
  • "target": "server",
  • "model_type": "Gaussian",
  • "model_type_id": "c9269a3e-aede-466e-944a-7f0ec3594468",
  • "training_parameters": {
    },
  • "meta": {
    },
  • "name": "Example Name",
  • "nice_name": "Example Nice Name",
  • "description": "Example Description",
  • "version": 1,
  • "enabled": true,
  • "visible": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Add devices to an existing model template. Quicker than updating whole list in template endpoin t.

Authorizations:
ApiAuth
path Parameters
template_id
required
string <uuid>

uuid of wanted ModelTemplate

Request Body schema: application/json

DeviceIds to add

add
Array of strings <uuid>
remove
Array of strings <uuid>

Responses

Request samples

Content type
application/json
{
  • "add": [
    ],
  • "remove": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get machine learning model instances

No parameters required, a request with no query parameters will return all instances.

Authorizations:
ApiAuth
query Parameters
id
string <uuid>

uuid of wanted model instance. Can add plural

model_template_id
string <uuid>

get instances associated with given model_template. Can add plural

model_training_run_id
string <uuid>

get instances associated with given training_run. Can add plural

start_time
int

only get instances created after given UTC timestamp

end_time
int

only get instances created before given UTC timestamp

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "model_template": {
    },
  • "model_training_run": {
    },
  • "saved_model": { },
  • "evaluation_metrics": { },
  • "meta": { },
  • "created_at": 1630942200
}

Create a machine learning Model Instance

Authorizations:
ApiAuth
Request Body schema: application/json
id
string <uuid>

Unique identifier for the ModelInstance

required
object

Model Template describing a model that can be used by the system

object or (any or null)
saved_model
object
evaluation_metrics
object
meta
object
created_at
number

The creation date of the ModelInstance as a timestamp

Responses

Request samples

Content type
application/json
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "model_template": {
    },
  • "model_training_run": {
    },
  • "saved_model": { },
  • "evaluation_metrics": { },
  • "meta": { },
  • "created_at": 1630942200
}

Response samples

Content type
application/json
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "model_template": {
    },
  • "model_training_run": {
    },
  • "saved_model": { },
  • "evaluation_metrics": { },
  • "meta": { },
  • "created_at": 1630942200
}

Get machine learning model training runs

No parameters required, a request with no query parameters will return all training runs.

Authorizations:
ApiAuth
query Parameters
id
string <uuid>

uuid of wanted training run. Can add plural

model_template_id
string <uuid>

uuid of model template to query by. Can add plural

device
string <uuid>

uuid of device to query by. Can add plural

data_start
int

only get training runs that use data from after this UTC timestamp

data_end
int

only get training runs that use data from before this UTC timestamp

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "created_at": 1630942200,
  • "device": {
    },
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "data_period": "[\"1970-01-19 13:22:30+01\",\"1970-01-19 13:27:30+01\")",
  • "model_template": {
    },
  • "model_template_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "saved_model": { },
  • "evaluation_metrics": { },
  • "meta": { }
}

Create a machine learning Model Training Run

Authorizations:
ApiAuth
Request Body schema: application/json
id
string <uuid>

Unique identifier for the ModelTrainingRun

created_at
number

The creation date of the ModelTrainingRun as a timestamp

object
device_id
string <uuid>
data_period
string

Timerange for the training data

required
object or (any or null)
model_template_id
string <uuid>
saved_model
object
evaluation_metrics
object
meta
object

Responses

Request samples

Content type
application/json
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "created_at": 1630942200,
  • "device": {
    },
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "data_period": "[\"1970-01-19 13:22:30+01\",\"1970-01-19 13:27:30+01\")",
  • "model_template": {
    },
  • "model_template_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "saved_model": { },
  • "evaluation_metrics": { },
  • "meta": { }
}

Response samples

Content type
application/json
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "created_at": 1630942200,
  • "device": {
    },
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "data_period": "[\"1970-01-19 13:22:30+01\",\"1970-01-19 13:27:30+01\")",
  • "model_template": {
    },
  • "model_template_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "saved_model": { },
  • "evaluation_metrics": { },
  • "meta": { }
}

Monitoring

Aggregate endpoints for monitoring

Returns a list of device_ids and count of the number of datapoints in the given timeframe, by querying the specified continous aggregate datatype. NB, continuous aggregates are not guaranteed to be up to date. To query datapoints as a timeseries instead of sum, use /datapoints/<device_id>

Authorizations:
ApiAuth
query Parameters
start
required
number <timestamp>

start time of query as timestamp

end
required
number <timestamp>

end time of query

datatype
required
string

The datatype to query. Format = datapoints__. Base is one of 'device_metric', 'anomalydetectionresult', 'vibration', 'soundlevel', 'spectrogram'. Aggregate is one of 'daily', '10min

organization_id
string <uuid>

Specifies the organization to draw datapoints from. If not specified, returns for all devices the user can access.

Responses

Response samples

Content type
application/json
{ }

DeviceData

Post metrics from device to the backend

An endpoint ment to be used from a device, for storing metrics for the device in the backend

Authorizations:
ApiAuth
path Parameters
device
required
string <uuid>

Identifier for the device to query.

query Parameters
timestamp
required
integer

Timestamp for the collection of metrics

period
integer

The period of soundrecording average, if applicable. Will be stored as a Soundlevel

dba_leq
number

The leq soundlevel measurement, if applicable. Will be stored as a Soundlevel

lafmax
number

The lafmax soundlevel measurement, if applicable. Will be stored as a Soundlevel

lafmin
number

The lafmin soundlevel measurement, if applicable. Will be stored as a Soundlevel

your_metric_name
string

Any metric that a device might send that is interesting to store may be entered as a query parameter in this endpoint, and will be stored in DeviceMetrics.metrics unless the parameter is specified above. Vibration data has a dedicated endpoint.

Responses

Response samples

Content type
application/json
{
  • "Location": "string"
}

Post spectrograms from a device to the backend in JPEG or PNG format.

An endpoint ment to be used from a device, for storing metrics for the device in the backend. Returns an url for uploading the spectrogram from the device. The format of the spectrogram should be either JPEG or PNG with the 8bit values representing a decibel value. The Y-axis of the image represents time, and the X-axis represents frequency.

Authorizations:
ApiAuth
path Parameters
device
required
string <uuid>

Identifier for the device to query.

query Parameters
timestamp
required
number

Timestamp for the collection of metrics. Timestamp should be the end time of the spectrogram.

frames
required
number

Number of timeframes in the spectrogram

format
required
integer <short_id>

The short id of the format of the spectrogram. See SpectrogramTypes

bucket
string <url>

The url of the bucket for uploading the spectrogram

header Parameters
Content-Type
required
string

Content Type of data, must be image/jpeg

Responses

Response samples

Content type
application/json
{
  • "Location": "string"
}

List raw device data

Get raw device data in a given timespan for specified devices. Use either device, organization or both as parameters

Authorizations:
ApiAuth
query Parameters
device
Array of strings <uuid>

ids of devices to return raw data for

gateway_device_id
Array of strings <uuid>

ids of gateways to return data for

organization_id
Array of strings <uuid>

ids of organizations to return data for

start
required
number <timestamp>

Start time for query

end
required
number <timestamp>

End time for query

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
{
  • "data": [
    ],
  • "pagination": {
    }
}

Insert raw device data

Insert raw device data. Can be for multiple devices at a time

Authorizations:
ApiAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Batch Post DeviceMetrics

Post an array of DeviceMetrics to one or multiple devices

Authorizations:
ApiAuth
Request Body schema: application/json
Array
id
string <uuid>

Unique identifier for the metrics

device_id
string <uuid>

Unique identifier for the device the metrics belong to

time
string or null

Timerange for metrics

object

Extra data containing custom key/value pairs

created_at
number

Time of creation

start_time
number

Start time of metrics

end_time
number

End time of metrics

period
number

Difference between start and end time

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Building management

About building management

Create a Building

Authorizations:
ApiAuth
Request Body schema: application/json

The building to create.

address
string or null

The address of the building

name
string or null

The name of the building

latitude
number or null

The latitude of the building

longitude
number or null

The longitude of the building

site
string or null

The name of the group of buildings this building is a part of

organization_id
string or null <uuid>

The ID of the organization that owns or maintains this building

object or null

Meta data and options for building

Responses

Request samples

Content type
application/json
{
  • "address": "Gaustadalléen 21, 0349 Oslo",
  • "name": "StartupLab",
  • "latitude": 59.94244371768029,
  • "longitude": 10.716423984958196,
  • "site": "Forskningsparken",
  • "organization_id": "f7052ff6-172d-43ac-80a9-6319ec2992c9",
  • "meta": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Retrieve existing buildings

Authorizations:
ApiAuth
query Parameters
organization_id
Array of strings <uuid>

Filter buildings by organization_id

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get a building by ID

Authorizations:
ApiAuth
path Parameters
building_id
required
string <uuid>

The UUID of the building to retrieve.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update a building

Authorizations:
ApiAuth
path Parameters
building_id
required
string <uuid>

The ID of the building to update

Request Body schema: application/json

The fields to update.

address
string or null

The address of the building

name
string or null

The name of the building

latitude
number or null

The latitude of the building

longitude
number or null

The longitude of the building

site
string or null

The name of the group of buildings this building is a part of

object or null

Meta data and options for building

Responses

Request samples

Content type
application/json
{
  • "address": "Gaustadalléen 21, 0349 Oslo",
  • "name": "StartupLab",
  • "latitude": 59.94244371768029,
  • "longitude": 10.716423984958196,
  • "site": "Forskningsparken",
  • "organization_id": "f7052ff6-172d-43ac-80a9-6319ec2992c9",
  • "meta": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete a building

Authorizations:
ApiAuth
path Parameters
building_id
required
string <uuid>

The ID of the building to delete

Responses

Create a new room

Authorizations:
ApiAuth
Request Body schema: application/json

The room to create.

nice_name
string or null

Human-readable name for the room

name
string or null

The name of the room, usually a technical name that identifies the room inside the building

floor
string or null

The floor of the room

building_id
string or null <uuid>

The ID of the building this room belongs to

latitude
number or null

The latitude of the room

longitude
number or null

The longitude of the room

Responses

Request samples

Content type
application/json
{
  • "nice_name": "Head Down Space",
  • "name": "XAZ154",
  • "floor": "U1",
  • "building_id": "9dd2f042-faed-47e2-9a05-db496220dbe1",
  • "latitude": 59.94244371768025,
  • "longitude": 10.716423984958194
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Retrieve multiple rooms. In the case of multiple query parameters, the union of each result if the parameter was supplied on its own is returned.

Authorizations:
ApiAuth
query Parameters
organization_id
Array of strings <uuid>

Filter rooms by organization_id

building_id
Array of strings <uuid>

Filter rooms by building_id

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{ }

Get a specific room.

Authorizations:
ApiAuth
path Parameters
room_id
required
string <uuid>

The ID of the room to get

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update a room

Authorizations:
ApiAuth
path Parameters
room_id
required
string <uuid>

The ID of the room to update

Request Body schema: application/json

The fields to update.

nice_name
string or null

Human-readable name for the room

name
string or null

The name of the room, usually a technical name that identifies the room inside the building

floor
string or null

The floor of the room

building_id
string or null <uuid>

The ID of the building this room belongs to

latitude
number or null

The latitude of the room

longitude
number or null

The longitude of the room

Responses

Request samples

Content type
application/json
{
  • "nice_name": "Head Down Space",
  • "name": "XAZ154",
  • "floor": "U1",
  • "building_id": "9dd2f042-faed-47e2-9a05-db496220dbe1",
  • "latitude": 59.94244371768025,
  • "longitude": 10.716423984958194
}

Response samples

Content type
{
  • "data": {
    }
}

Delete a room

Authorizations:
ApiAuth
path Parameters
room_id
required
string <uuid>

The ID of the room to delete

Responses

Create an asset type

Authorizations:
ApiAuth
Request Body schema: application/json

The asset type to create

name
required
string

The name of the asset type. The name uniquely defines the asset type.

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get all asset types

Authorizations:
ApiAuth
query Parameters
offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get an asset category by ID.

Authorizations:
ApiAuth
path Parameters
asset_category_id
required
string <uuid>

The ID of the asset category to get

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update an asset category by ID

Authorizations:
ApiAuth
path Parameters
asset_category_id
required
string <uuid>

The ID of the asset category to update

Request Body schema: application/json

The fields to update for the given asset category.

name
required
string

The name of the asset type. The name uniquely defines the asset type.

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Create an asset

Authorizations:
ApiAuth
Request Body schema: application/json

The asset to create

name
required
string

The name of the asset

description
string or null

Description of asset

room_id
required
string or null <uuid>

The ID of the room that the asset is placed in

model
required
string or null

The model name of the asset

nice_name
string or null

Human-readable name that identifies the asset or asset type

room_position_id
string or null <uuid>

The ID of the RoomPosition object the asset is linked to

parent_id
string or null <uuid>

The ID of the parent asset, if any, the asset is linked to

asset_category_id
required
string <uuid>

The ID of the AssetCategory object that corresponds to the asset

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "room_id": "05451321-18e1-4bfa-aa22-dfd0080cc120",
  • "model": "string",
  • "nice_name": "string",
  • "room_position_id": "71000099-4fca-4140-bfcb-f06f733cf608",
  • "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
  • "asset_category_id": "ed5f6da2-e989-4290-b244-87ae06007e71"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get assets

Authorizations:
ApiAuth
query Parameters
organization_id
Array of strings <uuid>

Filter assets by organization_id

building_id
Array of strings <uuid>

Filter assets by building_id

room_id
Array of strings <uuid>

Filter assets by room_id

offset
integer

The number of items to skip before starting to collect the result set.

limit
integer [ 1 .. 1000000 ]

The numbers of items to return.

sort
string
Example: sort=created_at

Name of the column to sort by

order
string
Example: order=asc

Whether to sort in ascending (asc/ASC) order or in descending (desc/DESC) order.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get a single asset by ID.

Get a single asset by ID.

Authorizations:
ApiAuth
path Parameters
asset_id
required
string <uuid>

The ID of the asset to get.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update a single asset by ID.

Update a single asset by ID.

Authorizations:
ApiAuth
path Parameters
asset_id
required
string <uuid>

The ID of the asset to update.

Request Body schema: application/json

The fields to update.

name
string

The name of the asset

description
string or null

Description of asset

room_id
string or null <uuid>

The ID of the room that the asset is placed in

model
string or null

The model name of the asset

nice_name
string or null

Human-readable name that identifies the asset or asset type

room_position_id
string or null <uuid>

The ID of the RoomPosition object the asset is linked to

parent_id
string or null <uuid>

The ID of the parent asset, if any, the asset is linked to

asset_category_id
string <uuid>

The ID of the AssetCategory object that corresponds to the asset

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "room_id": "05451321-18e1-4bfa-aa22-dfd0080cc120",
  • "model": "string",
  • "nice_name": "string",
  • "room_position_id": "71000099-4fca-4140-bfcb-f06f733cf608",
  • "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
  • "asset_category_id": "ed5f6da2-e989-4290-b244-87ae06007e71"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Annotations

id
string <uuid>

Unique identifier for the annotation

created_at
number

Time of creation in UTC

start_time
number

Start time for the annotation in UTC

end_time
number

End time for the annotation in UTC

creator_id
string <uuid>

Unique identifier for the user that created this annotation

device_id
string <uuid>

Unique identifier for the device that this annotation is related to

model_template_id
string or null <uuid>

Unique identifier for the model template that this annotation is related to

alarm_id
string or null <uuid>

Unique identifier for an alarm that this annotation is related to

anomaly
string or null
Enum: "YES" "NO" "MAYBE"

Is this annotation related to an anomaly?

description
string

Description of the annotation

tags
Array of strings or null
meta
object or null
{
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "created_at": 1500000000,
  • "start_time": 1500000000,
  • "end_time": 1500000000,
  • "creator_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "model_template_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "alarm_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "anomaly": "yes",
  • "description": "This is a description of the annotation",
  • "tags": [
    ],
  • "meta": { }
}

Asset

id
string <uuid>
name
required
string

The name of the asset

description
string or null

Description of asset

registered_by
string <uuid>

The ID of the user that registered the asset

room_id
required
string or null <uuid>

The ID of the room that the asset is placed in

created_at
number

The timestamp at creation.

model
required
string or null

The model name of the asset

nice_name
string or null

Human-readable name that identifies the asset or asset type

room_position_id
string or null <uuid>

The ID of the RoomPosition object the asset is linked to

parent_id
string or null <uuid>

The ID of the parent asset, if any, the asset is linked to

asset_category_id
required
string <uuid>

The ID of the AssetCategory object that corresponds to the asset

{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "registered_by": "0f8e5222-a38e-4555-9170-437c5d11d7ec",
  • "room_id": "05451321-18e1-4bfa-aa22-dfd0080cc120",
  • "created_at": 0,
  • "model": "string",
  • "nice_name": "string",
  • "room_position_id": "71000099-4fca-4140-bfcb-f06f733cf608",
  • "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
  • "asset_category_id": "ed5f6da2-e989-4290-b244-87ae06007e71"
}

Asset Category

id
string <uuid>
name
required
string

The name of the asset type. The name uniquely defines the asset type.

{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Building

id
string <uuid>

Unique identifier for this building

address
string or null

The address of the building

name
string or null

The name of the building

latitude
number or null

The latitude of the building

longitude
number or null

The longitude of the building

site
string or null

The name of the group of buildings this building is a part of

organization_id
string or null <uuid>

The ID of the organization that owns or maintains this building

object or null

Meta data and options for building

{
  • "id": "8dd2f042-faed-47e2-9a05-db496220dbe6",
  • "address": "Gaustadalléen 21, 0349 Oslo",
  • "name": "StartupLab",
  • "latitude": 59.94244371768029,
  • "longitude": 10.716423984958196,
  • "site": "Forskningsparken",
  • "organization_id": "f7052ff6-172d-43ac-80a9-6319ec2992c9",
  • "meta": {
    }
}

Room

id
string <uuid>

Unique identifier for this room

nice_name
string or null

Human-readable name for the room

name
string or null

The name of the room, usually a technical name that identifies the room inside the building

floor
string or null

The floor of the room

building_id
string or null <uuid>

The ID of the building this room belongs to

latitude
number or null

The latitude of the room

longitude
number or null

The longitude of the room

{
  • "id": "8dd2f042-faed-47e2-9a05-db496220dbe1",
  • "nice_name": "Head Down Space",
  • "name": "XAZ154",
  • "floor": "U1",
  • "building_id": "9dd2f042-faed-47e2-9a05-db496220dbe1",
  • "latitude": 59.94244371768025,
  • "longitude": 10.716423984958194
}

Alarm

id
string <uuid>

Unique identifier for the alarm

device_id
required
string <uuid>

Unique identifier for the device that posted this alarm

model_instance_id
string or null <uuid>
created_at
number

Time of creation in UTC

creator_id
string <uuid>

Unique identifier for the user that created this alarm

timestamp
required
number

Time of alarm in UTC

resolved
boolean or null

Whether or not the alarm has been resolved

resolution_description
string or null

Description of how the alarm was resolved

resolution_time
number or null

Time of resolution in UTC

description
string

Description of the alarm

alarm_type
required
string
Enum: "A" "B"

Type of alarm

customer_visible
boolean

Wether an alarm is published to customers or not, always true unless user is admin

{
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "model_instance_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "created_at": 1500000000,
  • "creator_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "timestamp": 1500000000,
  • "resolved": true,
  • "resolution_description": "The alarm was resolved by the user",
  • "resolution_time": 1500000000,
  • "description": "The machine is not running",
  • "alarm_type": "B",
  • "customer_visible": true
}

Anomaly Detection Results

device_id
string <uuid>

Unique identifier for the device posting this anomaly

start_time
number

Start time of anomaly in UTC

end_time
number

End time of anomaly in UTC

model_instance_id
string <uuid>

Unique identifier for the model instance that detected this anomaly

model_template_id
string or null <uuid>

Unique identifier for the model template that created this result

machine_state
boolean or null

Current machine state (on/off/unknown)

schedule_state
integer or null

Expected machine state based on schedule (on/off/unknown)

feature
string or null

Feature of the anomaly

category
number or null

Integer mapping to an internal category of possible anomaly modes

schedule_type
number or null

Integer mapping to an internal category of possible schedule modes

normal_lower
number or null

Lower bound of normal range

normal_upper
number or null

Upper bound of normal range

value
number

Value of the anomaly

score
number

Score of the anomaly

probability
number

Probability of the anomaly

created_at
number

Time of creation in UTC

period
number

Length of the period the result covers (end_time - start_time)

{
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "start_time": 1500000000,
  • "end_time": 1500000000,
  • "model_instance_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "model_template_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0b",
  • "machine_state": true,
  • "schedule_state": true,
  • "feature": "vibration",
  • "category": 1,
  • "schedule_type": 1,
  • "normal_lower": 0.3,
  • "normal_upper": 0.4,
  • "value": 0.5,
  • "score": 0.5,
  • "probability": 0.5,
  • "created_at": 1500000000,
  • "period": 360
}

AssetMetricTag

id
string <uuid>

Unique identifier for the Asset Metric Tag

asset_id
required
string <uuid>

The ID of the asset this tag belongs to

metric
required
string

The name of the metric being tagged

description
string or null

Optional description of the tag

registered_by
string <uuid>

The ID of the user who registered the tag

created_at
number <timestamp>

Timestamp when the tag was created

{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
  • "metric": "string",
  • "description": "string",
  • "registered_by": "0f8e5222-a38e-4555-9170-437c5d11d7ec",
  • "created_at": 0
}

Soundlevel

id
string <uuid>

Unique identifier for this soundlevel entry

device_id
string <uuid>

Unique identifier for the device posting this soundlevel entry

leq
number or null

Continious Equivalent SPL. A-weighted

lafmax
number or null

Maximum A-weighted sound level measurement in dB measured with a fast time weighting.

lafmin
number or null

Minimum level with A-weighted frequency response and fast time constant

period
integer

Time-span this soundlevel measurement covers. Number of microseconds prior to @end_time.

created_at
number

Time of creation for this entry

end_time
number

Time this measurement ended.

{
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "leq": 62.2,
  • "lafmax": 62.2,
  • "lafmin": 62.2,
  • "period": 60000000,
  • "created_at": 60000000,
  • "end_time": 60000000
}

Integration Service

id
string <uuid>

Integration id

integration_service_id
string <uuid>

Integration service id

object
organization_id
string <uuid>

Organization id

user_name
string or null

Username, if used for authentication. If username is used, also supply password

api_url
string or null

Api-key for integration. This API key overwrites service api url, if different urls are used for different integrations on service.

enabled
boolean

Boolean for enabling and disabling the integration. If disabled, no notifications will be published using this integration

configuration
object or null

Other information required for integration

{
  • "id": "integration_id",
  • "integration_service_id": "integration_service_id",
  • "integration_service": {
    },
  • "organization_id": "organization_id",
  • "user_name": "UserName123",
  • "enabled": true,
  • "configuration": "{'some_info': 'OtherInfo'}"
}

Integration Service

id
string <uuid>

Integration service id

name
string or null

Integration service name

description
string or null

Integration service description

api_url
string or null

Integration service url

{
  • "id": "integration_service_id",
  • "name": "integration_service_name",
  • "description": "integration_service_description",
  • "api_url": "integration_service_url"
}

Classification

id
required
string <uuid>

Unique identifier for this Classification entry

device_id
string <uuid>

Unique identifier for the decvice that made the classification

model_id
string

Unique identifier for the model used for the classifications. Can be a uuid or a string.

audio_clip_id
string or null <uuid>

Unique identifier for the audio clip used for the classifications, if any

spectrogram_id
string or null <uuid>

Unique identifier for the spectrogram used for the classifications, if any

sensor_id
string or null <uuid>

Identifier for the Sensor this belongs to

predictions
Array of numbers or null

Prediction probabilities

period
number

The period of the classification

created_at
number

The creation date of the classification as a timestamp

object or null

Meta data for the classification

object or (any or null)
end_time
number

End time for the classifications

model_instance_id
string or null <uuid>

Unique identifier for the ModelInstance used for the classifications, if any

object or (any or null)
{
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0b",
  • "model_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0c",
  • "audio_clip_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0d",
  • "spectrogram_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0d",
  • "sensor_id": "5dfacc46-006a-4e0c-aeac-ccc172a9a7db",
  • "predictions": [
    ],
  • "period": 1000000,
  • "created_at": 1630942200,
  • "meta": {
    },
  • "sensor": {
    },
  • "end_time": 112223232,
  • "model_instance_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0d",
  • "model_instance": {
    }
}

Sensor

id
required
string <uuid>

Unique identifier for this sensor

description
string

Description for this sensor

{
  • "id": "5dfacc46-006a-4e0c-aeac-ccc172a9a7db",
  • "description": "Sensor1"
}

User

id
string <uuid>

Unique identifier for this User

email
required
string

Email associated with this User

name
required
string

Full name of user (first and last names)

{
  • "id": "7813b3d6-cbe5-4f1f-a5f8-9da009f7eb23",
  • "email": "user@example.net",
  • "name": "John Doe"
}

User Preferences

category
string

Category of the preference

preference
string

The preference for this category

{
  • "category": "general",
  • "preference": "language"
}

Audio Clip

id
required
string <uuid>

Unique identifier for this AudioClip

filename
required
string

Original filename of the AudioClip

bucket
required
string

Storage bucket the file is in

download_url
required
string <url>

An URL where the file can be downloaded

hash
string or null

Audio Clip file hash

Array of objects
upload_time
number

The time of upload

length
number or null

The length of the file

Array of objects
uploader_id
string or null <uuid>

Id of the uploader

start_time
number

Timestamp for the start time of the audio_clip

device_id
string <uuid>

Id of the device that posted the audio clip

blob_filename
string

Filename of the actual blob in the bucket

object or null

Additional metadata about this clip

{
  • "id": "8201058b-46dd-4407-b486-5928e1a85fa8",
  • "filename": "5928e1a85fa8.wav",
  • "bucket": "gs://somecompany/abucket",
  • "hash": "a18410d899a8873575434d60aba867ff",
  • "classification_result": [
    ],
  • "upload_time": 1614151400,
  • "length": 3.04,
  • "annotations": [
    ],
  • "uploader_id": "dc37a591-c902-4cb4-b71c-e17003001013",
  • "start_time": 1615161516,
  • "device_id": "dc37a591-c902-4cb4-b71c-e17003001013",
  • "blob_filename": "8201058b-46dd-4407-b486-5928e1a85fa8.wav",
  • "meta": { }
}

Spectrogram

id
required
string <uuid>

Unique identifier for this object

device_id
string <uuid>

Identifier for Device this belongs to

spectrogram_type_id
string <uuid>

Identifier for SpectrogramType this has

filename
required
string

Filename of the AudioClip

bucket
required
string

Storage bucket the file is in

start_time
number

Time inside AudioClip for annotation start (seconds)

end_time
number

Time inside AudioClip for annotation end (seconds)

created_at
required
number

Timestamp for creation

period
number or null

Period of the spectrogram

{
  • "id": "c55b2fda-74bc-4ce9-81e6-d666e016f478",
  • "device_id": "9cb799ac-3513-46b3-ba22-cf260bd82f1a",
  • "spectrogram_type_id": "1e884c97-e147-47e6-a27a-7aeba75f4258",
  • "filename": "5928e1a85fa8.wav",
  • "bucket": "gs://foo/abucket",
  • "start_time": 0.75,
  • "end_time": 20,
  • "created_at": 1600000.123,
  • "period": 60
}

Device Checkin

id
required
string <uuid>

Unique identifier for this DeviceCheckin entry

device_id
string <uuid>

Identifier for the Device this belongs to

checkin_time
number

The time the device checking was registered

uptime
number

Number of seconds since the device booted

firmware
string

Firmware version the device reported

device_time
number

The RTC time the device reported

os_version
string

Version of the local os running on the device

modem_version
string

Version of the firmware version running on the device modem, if applicable

{
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "device_id": "5dfacc46-006a-4e0c-aeac-ccc172a9a7db",
  • "checkin_time": 0,
  • "uptime": 123,
  • "firmware": "1.2.3-99-afbcd",
  • "device_time": 0,
  • "os_version": "7.9.2",
  • "modem_version": "01.01.009"
}

Device Model Config

id
string <uuid>

Device model config id

creator_id
string

Creator of the device model config

created_at
number <timestamp>

Creation time of the device model config

device_ids
Array of strings or null <uuid>

Device ids

model_type_id
required
string <uuid>

Model type id

description
string or null

Description of the device model config

training_parameters
object or null

Training parameters

start_time
required
number <timestamp>

Start time of the device model config

end_time
number or null <timestamp>

End time of the device model config

updated_at
number or null <timestamp>

The point in time this was last updated

meta
object or null

Meta, place for meta info and additional settings that does not belong in training parameters

{
  • "id": "device_model_config_id",
  • "creator_id": "user",
  • "created_at": 1520000000,
  • "device_ids": [
    ],
  • "model_type_id": "model_type_id",
  • "description": "Description of the device model config",
  • "training_parameters": {
    },
  • "start_time": 1520000000,
  • "end_time": 1520000000,
  • "updated_at": 1520000000,
  • "meta": {
    }
}

Device Info

id
string <uuid>

Internal identifier for this Device

device_id
string or null

External identifier for this Device.

api_key
string

API token used to authenticate the device with the API. Can only be set at registration time.

sensor_id
string or null <uuid>

Sensor id for this device

serial
required
string

Serial number of the device. Typically assigned at production time and printed on device.

revision
string or null

Hardware revision of the device. Typically indicates minor changes that don't impact use and does not warrant a new DeviceType

type_id
string or null

ID of the DeviceType for this device

object or (any or null)
organization_id
string or null <uuid>

Uuid of organization that owns this device

nickname
string or null

User modifiable nickname. For the user to recognize their devices more easily.

description
string or null

A description of this device, for displaying what this device is used for.

registered_at
number

Timestamp for time of registration for this device

registered_by
string or null <uuid>

Uuid of user that registered this device

Array of objects or null

Model specific configuration options

{
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "device_id": "stm32:31003b4d34501320303041",
  • "api_key": "",
  • "sensor_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "serial": "203",
  • "revision": "1.2",
  • "type_id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "type": {
    },
  • "organization_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0c",
  • "nickname": "Soundsensing Office",
  • "description": "A description of this device",
  • "registered_at": "1600000.00",
  • "registered_by": "040517af-71c5-4fa3-a1d1-ec5a9112ce0b",
  • "configs": [
    ]
}

Device Type

id
required
string <uuid>

Unique identifier for this DeviceType

brand
required
string

The brand/manufacturer/vendor name

model
required
string

The model name

registered_at
number

Timestamp of when the type was registered

registered_by
string or null <uuid>

Id of user that registered device type

{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "brand": "Soundsensing",
  • "model": "dB20",
  • "registered_at": "163161+643.174402",
  • "registered_by": "eca213d2-6119-4135-97a9-9b4fce4043de"
}

Device Media

start_time
required
number

Timestamp for the start time of the media

device_id
string <uuid>

ID of the device that created or uploaded the media

duration
number or null

The duration of the media in seconds

filename
required
string

Original filename of the DeviceMedia

bucket
required
string

Storage bucket the file is in

blob_filename
string

Filename of the actual DeviceMedia blob-stored file

upload_complete
boolean

Indicates whether the actual media has been uploaded to remote blob storage

{
  • "start_time": 1615161516,
  • "device_id": "dc37a591-c902-4cb4-b71c-e17003001013",
  • "duration": 3.04,
  • "filename": "man_running.mkv",
  • "bucket": "gs://somecompany/abucket",
  • "blob_filename": "8201058b-46dd-4407-b486-5928e1a85fa8.wav",
  • "upload_complete": false
}

Device Metric

id
string <uuid>

Unique identifier for the metrics

device_id
string <uuid>

Unique identifier for the device the metrics belong to

time
string or null

Timerange for metrics

object

Extra data containing custom key/value pairs

created_at
number

Time of creation

start_time
number

Start time of metrics

end_time
number

End time of metrics

period
number

Difference between start and end time

{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "device_id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "time": "[\"1970-01-19 13:22:30+01\",\"1970-01-19 13:27:30+01\")",
  • "data": { },
  • "created_at": 0,
  • "start_time": "1599750",
  • "end_time": "1600050",
  • "period": "60"
}

Device Location

id
required
string <uuid>

Unique identifier for the DeviceLocation

device_id
required
string <uuid>

Unique identifier for the device the Location info belongs to

time
required
string

Timerange for the Location info

location_id
string

ID of the Location for this DeviceLocation

required
object

Location data

{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "device_id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "time": "[\"1970-01-19 13:22:30+01\",\"1970-01-19 13:27:30+01\")",
  • "location_id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "location": {
    }
}

Device Deployment

id
string <uuid>
device_id
required
string <uuid>
room_id
required
string <uuid>
room_position_id
required
string or null <uuid>
object or null
start_time
number <timestamp>

Timestamp for the start_time

end_time
number or null <timestamp>

Timestamp for the end_time

Array of objects or null
meta
object or null
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
  • "room_id": "05451321-18e1-4bfa-aa22-dfd0080cc120",
  • "room_position_id": "71000099-4fca-4140-bfcb-f06f733cf608",
  • "room_position": {
    },
  • "start_time": 1629291281,
  • "end_time": 1629291281,
  • "assets": [
    ],
  • "meta": "{'extra': 'data'}"
}

Classification Summary

Array
class_name
string

Class name

Array of objects
[
  • {
    }
]

Report

deviceList
required
Array of strings[ items <uuid > ]

Unique identifiers for devices

dateFrom
required
string

From-date for the date-range

dateTo
required
string

To-date for the date-range

workdayStart
string

Start of a workday, defaults to 08:00

workdayEnd
string

End of a workday, defaults to 16:00

template-id
string <uuid>

Unique identifier for template

{
  • "deviceList": "[\"040517af-71c5-4fa3-a1d1-ec5a9112ce0a\", \"3e8d2f55-6828-451e-aa8c-9674faa54b19\"]",
  • "dateFrom": "YYYY-MM-DDTHH:MM",
  • "dateTo": "YYYY-MM-DDTHH:MM",
  • "workdayStart": "HH:MM",
  • "workdayEnd": "HH:MM",
  • "template-id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a"
}

Vibration Summary

device_id
string <uuid>

Unique identifier for the device posting this vibration data

rms_x
number or null

RMS X

rms_y
number or null

RMS Y

rms_z
number or null

RMS Z

p2p_x
number or null

P2P X

p2p_y
number or null

P2P Y

p2p_z
number or null

P2P Z

period
number

Time-span this vibration measurement covers. Number of seconds prior to @end_time.

created_at
number

Time of creation for this entry

end_time
number

Time this measurement ended.

start_time
number

Time this measurement started.

{
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "rms_x": 0.003,
  • "rms_y": 0.003,
  • "rms_z": 0.003,
  • "p2p_x": 0.003,
  • "p2p_y": 0.003,
  • "p2p_z": 0.003,
  • "period": 60,
  • "created_at": 60000000,
  • "end_time": 60000000,
  • "start_time": 60000000
}

Webhook Info

url
string <uri>

Url for your webhook endpoint. Url must start with https://

name
string

A name you want to give your webhook for easier managing

description
string

Any description you would like to give your webhook

organization_id
string <uuid>

The id of a organization you belong to

active
boolean

Wether your webhook is active or not

object
id
string <uuid>
registered_at
number

Timestamp for the creation of this webhook

registered_by
string <uuid>

Uuid of the user that registered this webhook

Array of objects

Unique identifiers for devices

Array of objects[ items ]

The events you would like the webhook to subscribe to. List of possible events can be found at /webhookevents

object

More information on the creator of the webhook

{
  • "name": "Your Webhook Name",
  • "description": "This is a description of details pertaining to your webhook",
  • "organization_id": "3cf4b5b4-a8d4-49d3-bbb5-6aedb5ace61c",
  • "active": true,
  • "auth": {
    },
  • "id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "registered_at": 1627902751.599545,
  • "registered_by": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "devices": [
    ],
  • "event_subscriptions": [
    ],
  • "creator": {
    }
}

Webhook Creation

url
required
string <uri>

Url for your webhook endpoint. Url must start with https://

name
string

A name you want to give your webhook for easier managing

description
string

Any description you would like to give your webhook

organization_id
required
string <uuid>

The id of a organization you belong to

active
boolean

Wether your webhook is active or not

required
object
devices
Array of strings[ items <uuid > ]

Unique identifiers for devices

event_subscriptions
required
Array of strings[ items <Capital letters, valid event types > ]

The events you would like the webhook to subscribe to. List of possible events can be found at /webhookevents

{
  • "name": "Your Webhook Name",
  • "description": "This is a description of details pertaining to your webhook",
  • "organization_id": "3cf4b5b4-a8d4-49d3-bbb5-6aedb5ace61c",
  • "active": true,
  • "auth": {
    },
  • "devices": [
    ],
  • "event_subscriptions": [
    ]
}

Webhook Event Subscription Types

string (WebhookEventSubscriptionTypes)
Enum: "device" "spectrogram" "audio_clip" "device_metric" "soundlevel" "classification" "anomaly_detection_result" "alarm"
"device"

Webhook Event Return Types

string (WebhookEventReturnTypes)
Enum: "device.added" "spectrogram.added" "audio_clip.added" "device_metric.added" "soundlevel.added" "classification.added" "device_media.added" "vibration.added" "anomaly_detection_result.added" "alarm.added"

List of the possible types that can be returned from the webhook

"device.added"

Webhook Return Model

One of
event_type
required
string
Value: "device.added"
required
Array of objects
event_id
required
string <uuid>
{
  • "event_type": "alarm.added",
  • "data": [
    ],
  • "event_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a"
}

Machine Learning Model Template Model

id
string <uuid>

Unique identifier for the ModelTemplate

created_at
number
start_time
number or null
end_time
number or null
Array of objects or objects or strings
target
string
Value: "server"
model_type
string
model_type_id
string or null <uuid>
training_parameters
object or null
meta
object or null
name
string
nice_name
string or null
description
string or null
version
integer
enabled
boolean
visible
boolean
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "created_at": "1609462800",
  • "start_time": "1609462800",
  • "end_time": "1609462800",
  • "devices": [
    ],
  • "target": "server",
  • "model_type": "Gaussian",
  • "model_type_id": "c9269a3e-aede-466e-944a-7f0ec3594468",
  • "training_parameters": {
    },
  • "meta": {
    },
  • "name": "Example Name",
  • "nice_name": "Example Nice Name",
  • "description": "Example Description",
  • "version": 1,
  • "enabled": true,
  • "visible": true
}

Machine Learning Model Instance Model

id
string <uuid>

Unique identifier for the ModelInstance

required
object

Model Template describing a model that can be used by the system

object or (any or null)
saved_model
object
evaluation_metrics
object
meta
object
created_at
number

The creation date of the ModelInstance as a timestamp

{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "model_template": {
    },
  • "model_training_run": {
    },
  • "saved_model": { },
  • "evaluation_metrics": { },
  • "meta": { },
  • "created_at": 1630942200
}

Machine Learning Model Training Run Model

id
string <uuid>

Unique identifier for the ModelTrainingRun

created_at
number

The creation date of the ModelTrainingRun as a timestamp

object
device_id
string <uuid>
data_period
string

Timerange for the training data

required
object or (any or null)
model_template_id
string <uuid>
saved_model
object
evaluation_metrics
object
meta
object
{
  • "id": "eca213d2-6119-4135-97a9-9b4fce4043dd",
  • "created_at": 1630942200,
  • "device": {
    },
  • "device_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "data_period": "[\"1970-01-19 13:22:30+01\",\"1970-01-19 13:27:30+01\")",
  • "model_template": {
    },
  • "model_template_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a",
  • "saved_model": { },
  • "evaluation_metrics": { },
  • "meta": { }
}

Model Type

id
string <uuid>

Model type id

name
string

Model type name

description
string or null

Model type description

{
  • "id": "model_type_id",
  • "name": "model_type_name",
  • "description": "model_type_description"
}

HttpError

code
required
integer

HTTP status code

description
required
string

Descriptive message

name
required
string

Common response name

{
  • "code": 0,
  • "description": "string",
  • "name": "string"
}

HttpBadRequest

code
integer
description
string
name
string
{
  • "code": 400,
  • "description": "The server could not process the request",
  • "name": "Bad Request"
}

HttpUnauthorized

code
integer
description
string
name
string
{
  • "code": 401,
  • "description": "Missing Authorization",
  • "name": "Unauthorized"
}

HttpForbidden

code
integer
description
string
name
string
{
  • "code": 403,
  • "description": "Wrong Authorization",
  • "name": "Forbidden"
}

HttpNotFound

code
integer
description
string
name
string
{
  • "code": 404,
  • "description": "The specified resource was not found",
  • "name": "Not Found"
}

Possible Events

Information about the webhook events

Spectrogram Added Webhook

An event that is sent when a device posts a spectrogram

Request Body schema: application/json
event_type
required
string
Value: "spectrogram.added"
required
Array of objects
event_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "event_type": "spectrogram.added",
  • "data": [
    ],
  • "event_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a"
}

Device Registered Webhook

An event that is sent when a device is registered

Request Body schema: application/json
event_type
required
string
Value: "device.added"
required
Array of objects
event_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "event_type": "device.added",
  • "data": [
    ],
  • "event_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a"
}

Device Metric Added Webhook

An event that is sent when a device sends metrics

Request Body schema: application/json
event_type
required
string
Value: "device_metric.added"
required
Array of objects
event_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "event_type": "device_metric.added",
  • "data": [
    ],
  • "event_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a"
}

Classification Added Webhook

An event that is sent when a spectrogram or audioclip from a device is classified

Request Body schema: application/json
event_type
required
string
Value: "classification.added"
required
Array of objects
event_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "event_type": "classification.added",
  • "data": [
    ],
  • "event_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a"
}

Soundlevel Added Webhook

An event that is sent when a device sends metrics

Request Body schema: application/json
event_type
required
string
Value: "soundlevel.added"
required
Array of objects
event_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "event_type": "soundlevel.added",
  • "data": [
    ],
  • "event_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a"
}

Audio Clip Added Webhook

An event that is sent when a device posts an audio clip

Request Body schema: application/json
event_type
required
string
Value: "audio_clip.added"
required
Array of objects
event_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "event_type": "audio_clip.added",
  • "data": [
    ],
  • "event_id": "040517af-71c5-4fa3-a1d1-ec5a9112ce0a"
}