events
Events: what a recording session recorded
Push an event on the monitoring of an artwork
Records what happened, on the session the source belongs to. A start moves that session to in progress and the artwork to monitoring; a stop ends it and sends the artwork back to ready. Either one arriving twice is accepted and changes nothing, so a retry never loses the event it carries. An ended session records nothing more.
path Parameters
referenceHeaders
X-OrganizationThe organization alias the request applies to, not its display name.
Optional for an account belonging to a single organization, which is resolved from the token. Required beyond that, since no default is defensible. A super-admin may name any organization, or none, which reads across all of them.
Push an event on the monitoring of an artwork › Request Body
typeWhat happened
severityHow much it matters
dateWhen it happened, on the device
Where the device thought it was. The object is required, a fix is not: a position resolved against a cell carries no latitude
sourceTypeWhat kind of thing the source names, which decides how the event is routed
sourceWho or what reported it: a monitoring id, a sensor or logger identity, or the email of a user
idIdentifier
organizationOrganization of the monitoring this event was routed to
monitoringMonitoring this event was routed to
artworkReference of the monitored artwork
messageWhy the threshold was crossed, on an alert
tagFree annotation carried by a notification
Rotation of the device on three axes
Acceleration of the device on three axes
speedSpeed of the device, in metres per second
sensorThe captor that crossed its threshold, on an alert. Absent when the alert reports the state of the device itself, such as its battery or its storage
valuesWhat the captor measured: three axes for an accelerometer, one value for a temperature or a humidity
createdWhen this service received it
Push an event on the monitoring of an artwork › Responses
Recorded
typeWhat happened
severityHow much it matters
dateWhen it happened, on the device
Where the device thought it was. The object is required, a fix is not: a position resolved against a cell carries no latitude
sourceTypeWhat kind of thing the source names, which decides how the event is routed
sourceWho or what reported it: a monitoring id, a sensor or logger identity, or the email of a user
idIdentifier
organizationOrganization of the monitoring this event was routed to
monitoringMonitoring this event was routed to
artworkReference of the monitored artwork
messageWhy the threshold was crossed, on an alert
tagFree annotation carried by a notification
Rotation of the device on three axes
Acceleration of the device on three axes
speedSpeed of the device, in metres per second
sensorThe captor that crossed its threshold, on an alert. Absent when the alert reports the state of the device itself, such as its battery or its storage
valuesWhat the captor measured: three axes for an accelerometer, one value for a temperature or a humidity
createdWhen this service received it
List the events of a monitoring
The timeline of one session, oldest first. Follow the Link header to page through it. The search parameter matches the message of an alert, anywhere in the field. Sortable on date, type, severity, created.
path Parameters
idquery Parameters
page0-indexed page number
sizePage size
searchFree-text search. The fields it matches are documented per endpoint.
sortSort field, prefixed with '-' for descending (e.g. -createdAt), composed with commas. The sortable fields are documented per endpoint.
typeKeep only events of one of these types
severityKeep only events of one of these severities
sourceTypeKeep only events reported by that kind of source
What the source names, which decides how the event is routed
sourceKeep only events reported by that exact source
sensorKeep only alerts raised by that captor
Headers
X-OrganizationThe organization alias the request applies to, not its display name.
Optional for an account belonging to a single organization, which is resolved from the token. Required beyond that, since no default is defensible. A super-admin may name any organization, or none, which reads across all of them.
List the events of a monitoring › Responses
A page of results
typeWhat happened
severityHow much it matters
dateWhen it happened, on the device
Where the device thought it was. The object is required, a fix is not: a position resolved against a cell carries no latitude
sourceTypeWhat kind of thing the source names, which decides how the event is routed
sourceWho or what reported it: a monitoring id, a sensor or logger identity, or the email of a user
idIdentifier
organizationOrganization of the monitoring this event was routed to
monitoringMonitoring this event was routed to
artworkReference of the monitored artwork
messageWhy the threshold was crossed, on an alert
tagFree annotation carried by a notification
Rotation of the device on three axes
Acceleration of the device on three axes
speedSpeed of the device, in metres per second
sensorThe captor that crossed its threshold, on an alert. Absent when the alert reports the state of the device itself, such as its battery or its storage
valuesWhat the captor measured: three axes for an accelerometer, one value for a temperature or a humidity
createdWhen this service received it
Count what a monitoring recorded
Totals per type, and for alerts per severity and per captor. A breakdown carries only the keys the session has; an absent key reads as zero.
path Parameters
idHeaders
X-OrganizationThe organization alias the request applies to, not its display name.
Optional for an account belonging to a single organization, which is resolved from the token. Required beyond that, since no default is defensible. A super-admin may name any organization, or none, which reads across all of them.
Count what a monitoring recorded › Responses
Unknown monitoring id
totalTotal number of events
Count per type: start, alert, position, notification, stop
Count per severity, alerts only: info, warning, critical
Count per captor, alerts only: accelerometer, temperature, humidity
Chart the alerts of a monitoring
The alerts of one session that name a captor, oldest first, one series per captor, laid out in parallel columns. Values are raw device units. The thresholds to draw are the configuration of the monitoring. Alerts on the battery or the storage are not charted.
path Parameters
idquery Parameters
fromKeep alerts dated from this instant, inclusive (ISO 8601)
toKeep alerts dated up to this instant, inclusive (ISO 8601)
Headers
X-OrganizationThe organization alias the request applies to, not its display name.
Optional for an account belonging to a single organization, which is resolved from the token. Required beyond that, since no default is defensible. A super-admin may name any organization, or none, which reads across all of them.
Chart the alerts of a monitoring › Responses
from is after to, or a bound is not an ISO 8601 instant
One series per captor that raised an alert. A captor with none is absent
Where the monitorings stand
Monitorings, each with what its events say: when it started and ended, when it last reported, its alerts per severity, its latest alert and its latest position. Without a status, the ones that are set up or recording. Filters, searches, pages and sorts as the monitoring list does. Facts only: how long a silence has to last before it matters is left to the reader, since events are relayed by the mobile application rather than sent by the devices.
query Parameters
page0-indexed page number
sizePage size
searchFree-text search. The fields it matches are documented per endpoint.
sortSort field, prefixed with '-' for descending (e.g. -createdAt), composed with commas. The sortable fields are documented per endpoint.
statusKeep only monitorings in one of these statuses; set up or recording when absent
typeKeep only monitorings of one of these types
Headers
X-OrganizationThe organization alias the request applies to, not its display name.
Optional for an account belonging to a single organization, which is resolved from the token. Required beyond that, since no default is defensible. A super-admin may name any organization, or none, which reads across all of them.
Where the monitorings stand › Responses
A page of results
The monitoring
startedWhen recording started, from the start event. Absent while the monitoring is only set up
endedWhen recording stopped, from the stop event. Absent until the monitoring has ended
lastEventDate of the latest event, as reported by the device. Absent when nothing was recorded
lastReceivedWhen this service last received an event of the monitoring. A long gap is not by itself a fault: events are relayed by the mobile application, not sent by the devices
Alerts per severity. A severity with no alert is absent and reads as zero
The latest alert
Where the latest position placed it. Transport only
Subscribe to events as they happen
Opens a Server-Sent Events stream carrying every event recorded by the organization, whichever session recorded it, in the same JSON form the timeline endpoints return. The stream ends on its own after a while and is meant to be reopened; a browser EventSource does that by itself.
Two things are worth knowing before reading from it. Alerts are rate limited per captor and per session, so a burst arrives as one alert per captor rather than as hundreds; the timeline endpoint is what holds all of them. And a comment line is sent down a quiet stream at regular intervals to keep intermediaries from closing it, which a client never sees as a message.
What reaches a subscriber is what their organization recorded, and nothing else.
Headers
X-OrganizationThe organization alias the request applies to, not its display name.
Optional for an account belonging to a single organization, which is resolved from the token. Required beyond that, since no default is defensible. A super-admin may name any organization, or none, which reads across all of them.
Subscribe to events as they happen › Responses
The stream is open
typeWhat happened
severityHow much it matters
dateWhen it happened, on the device
Where the device thought it was. The object is required, a fix is not: a position resolved against a cell carries no latitude
sourceTypeWhat kind of thing the source names, which decides how the event is routed
sourceWho or what reported it: a monitoring id, a sensor or logger identity, or the email of a user
idIdentifier
organizationOrganization of the monitoring this event was routed to
monitoringMonitoring this event was routed to
artworkReference of the monitored artwork
messageWhy the threshold was crossed, on an alert
tagFree annotation carried by a notification
Rotation of the device on three axes
Acceleration of the device on three axes
speedSpeed of the device, in metres per second
sensorThe captor that crossed its threshold, on an alert. Absent when the alert reports the state of the device itself, such as its battery or its storage
valuesWhat the captor measured: three axes for an accelerometer, one value for a temperature or a humidity
createdWhen this service received it
Delete one recorded event
Removes one measurement from a session. A start or a stop is refused: those are the bounds of the session and its status was moved by them.
path Parameters
idHeaders
X-OrganizationThe organization alias the request applies to, not its display name.
Optional for an account belonging to a single organization, which is resolved from the token. Required beyond that, since no default is defensible. A super-admin may name any organization, or none, which reads across all of them.
Delete one recorded event › Responses
Deleted