Events
Events are our way of letting you know when something interesting happens in your workspace. When an interesting event occurs, we create a new Event
object. For example, when a lock is unlocked, we create a lock.unlocked
event; and when a device's battery level is low, we create a device.battery_low
event.
As with other API resources, you can use endpoints to retrieve an individual event or a list of events from the API. We also have a separate webhooks system for sending the Event
objects directly to an endpoint on your sever. Webhooks are managed in your workspace settings, and our Webhooks guide will help you get set up.
The Event Object
Common Event Properties
event_id
String
Unique identifier for the event
.
created_at
String
Time at which the event
was created. Displayed in an ISO8601 string.
workspace_id
String
Unique identifier for the workspace
that the event
belongs to.
connected_account_id
String
The unique identifier of the connected account to which this event pertains.
Common Device Event Properties
In addition to the common event properties, the following properties are available for all events that pertain to devices - this includes all events outside of the connected_account.*
events:
device_id
String
Unique identifier for the device
that triggered the event
.
Access Code Event Properties
In addition to the common event properties, and common device event properties, the following properties are available for events that pertain to access codes:
access_code_id
String
Present on all of the access_code.*
events. Specifies the unique identifier of the access code to which the event pertains.
code
String
Only present on an access_code.set_on_device
event. Specifies the code digits for an access code.
Lock Events
In addition to the common event properties, and common device event properties, the following properties are available for events that pertain to lock actions:
method
keycode
or manual
or unknown
Present on all of the lock.*
events. Specifies the method used to perform the lock action.
Device Battery Events
In addition to the common event properties, and common device event properties, the following properties are available on device.low_battery
and device.battery_status_changed
events:
battery_level
Number (0-1)
Determines the battery level of the device. Only present on a device.low_battery
event.
Device Battery Status Events
In addition to the device battery event properties, the following properties are available on device.battery_status_changed
events:
battery_status
critical
or low
or good
or full
Specifies the new battery status for the device.
Device Disconnected Events
In addition to the common event properties, and common device event properties, the following properties are available on device.disconnected
events:
error_code
account_disconnected
or hub_disconnected
or device_disconnected
Only present on a device.disconnected
event. A code to indicate the reason for disconnection.
Noise Sensor Events
Noise sensors emit an event whenever a predefined noise threshold has been exceeded. Seam tracks any noise thresholds that have been set in the user's app or builtin thresholds to the noise sensor, so see what thresholds are available, query /noise_sensors/noise_thresholds/list
noise_threshold_id
String
Identifier for the noise threshold, pass to /noise_sensors/noise_thresholds/get
noise_threshold_name
String e.g. "builtin_first_disturbance"
Name of the threshold, this can be set via /noise_sensors/noise_thresholds/create
or by the user in their app.
Event Types
access_code.created
An access_code
has been created
access_code.changed
An access_code
status or property has changed.
access_code.set_on_device
An access_code
has been programmed onto a device.
access_code.removed_from_device
An access_code
has been removed from a device.
access_code.delay_in_setting_on_device
There was a longer than expected delay in programming an access code onto a device. For time bound codes, this is sent when the code is not set by the starts_at
time. This is not necessarily a failure as the code might successfully be set even after this event is sent.
access_code.failed_to_set_on_device
An error occurred in trying to program the code onto a device. This indicates a failure occurred but the failure might be temporary and may recover (in which case an access_code.set_on_device
event will be sent).
access_code.delay_in_removing_from_device
There was a longer than expected delay in removing an access code from a device. This is not necessarily a failure as the code might successfully be removed even after this event is sent.
access_code.failed_to_remove_from_device
An error occurred in trying to remove an access code from a device. This indicates a failure occurred but the failure might be temporary and may recover (in which case an access_code.removed_from_device
event will be sent).
connected_account.created
A connected account has been imported into your Seam workspace.
connected_account.connected
Seam has established connection to or is reconnected to a connected account.
connected_account.disconnected
Seam has lost connection to a connected account. Please ask the account owner to sign in to their account through a new connect webview again.
connected_account.completed_first_sync
Seam has finished the first sync of a connected account and devices are now available.
device.connected
A device has come online.
device.disconnected
A device has gone offline.
device.removed
A device was removed from its connected account.
device.low_battery
The battery level of the device drops below the low battery level threshold.
device.battery_status_changed
The battery status for the device has changed (for example, it changed from good
to low
).
device.tampered
A device detects that someone has opened up its case, or has moved the device.
lock.locked
A door lock has been locked.
lock.unlocked
A door lock has been unlocked.
noise_sensors.noise_threshold_triggered
The noise detected from a noise sensor exceeded a predefined threshold and/or duration.
List of Methods
List and Filter Events
Get Event
Get data for an individual event
Testing out Events
Try using our Webhooks Sandbox in the Seam Dashboard to see the different payloads for each event and test them against your own endpoints!

Last updated
Was this helpful?