Events
Last updated
Last updated
© Seam Labs, Inc. All rights reserved.
Events let you know when something interesting happens in your workspace. When an interesting event occurs, Seam creates a new Event
object. For example, when a lock is unlocked, Seam creates a lock.unlocked
event. When a device's battery level is low, Seam creates a device.battery_low
event.
As with other API resources, you can use endpoints to retrieve an individual event or a list of events. Seam also provides a separate webhook system for sending the event
objects directly to an endpoint on your sever. Manage webhooks through the Seam Console. For details, see Webhooks.
event
PropertiesThe following sections list the properties for events pertaining to various types of resources:
Property | Type | Description |
---|---|---|
In addition to the common event properties, the following properties are available for all events that pertain to devices:
Property | Type | Description |
---|---|---|
In addition to the common event properties and common device event properties, the following properties are available for events that pertain to access codes:
In addition to the common event properties and common device event properties, the following properties are available for events that pertain to lock actions:
In addition to the common event properties and common device event properties, the following properties are available for device.low_battery
and device.battery_status_changed
events:
In addition to the device battery event properties, the following properties are available for device.battery_status_changed
events:
In addition to the common event properties and common device event properties, the following properties are available for device.disconnected
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 built-in thresholds to the noise sensor. To see what thresholds are available, query /noise_sensors/noise_thresholds/list
.
Use the Webhooks sandbox in the Seam Console to see the different payloads for each event and test them against your own endpoints!
Property | Type | Description |
---|---|---|
Property | Type | Description |
---|---|---|
Property | Type | Description |
---|---|---|
Property | Type | Description |
---|---|---|
Property | Type | Description |
---|---|---|
Property | Type | Description |
---|---|---|
Event Name | Description |
---|---|
event_id
String
Unique identifier for the event
.
event_type
See Event Types.
Type of event.
created_at
String
Time at which the event
was created. Displayed in an ISO8601 string.
workspace_id
String
Unique identifier for the workspace
to which the event
belongs.
connected_account_id
String
The unique identifier of the connected account to which this event pertains.
device_id
String
Unique identifier for the device
that triggered the event
.
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 access_code.set_on_device
and access_code.scheduled_on_device
events. Specifies the code digits for an access code.
method
Enum
access_code_id
String
Specifies the unique identifier of the access code used to trigger this event. Seam includes this ID in the event if the affected device returns this information.
For a list of device manufacturers that send the access_code_id
in lock events, see Linking Unlock Events and Access Codes.
battery_level
Number (0-1)
Determines the battery level of the device. Only present on a device.low_battery
event.
battery_status
critical
or low
or good
or full
Specifies the new battery status for the device.
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_threshold_id
String
Identifier for the noise threshold, pass to /noise_sensors/noise_thresholds/get
noise_threshold_name
String, for example, "builtin_first_disturbance"
Name of the threshold, this can be set via /noise_sensors/noise_thresholds/create
or by the user in their app.
access_code.created
An access_code
has been created.
access_code.changed
An access_code
status has changed.
access_code.scheduled_on_device
For native scheduled codes (see Native Scheduling), this event is sent when an access_code
has been pre-programmed onto a device. An access_code.set_on_device
is sent when the code is actually active.
access_code.set_on_device
An access_code
has been programmed onto a device.
access_code.backup_access_code_pulled
A backup access_code
has been pulled.
access_code.removed_from_device
An access_code
has been removed from a device.
access_code.deleted
Seam has deleted the access code because it is at the end of its lifecycle (it is not on the device and is not supposed to be active in the future) Future requests to this access_code will 404
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).
access_code.modified_external_to_seam
When we detect that an access code was modified external to Seam after we successfully set it on the device, we will send this event.
access_code.deleted_external_to_seam
When we detect that an access code was deleted external to Seam after we successfully set it on the device, we will send this event.
access_code.unmanaged.converted_to_managed
Successfully converted an unmanaged access code to a managed access code.
access_code.unmanaged.failed_to_convert_to_managed
Failed to converted an unmanaged access code to a managed access code.
access_code.unmanaged.created
An unmanaged access_code
has been created.
access_code.unmanaged.removed
An unmanaged access_code
has been removed.
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.deleted
A connected account has been deleted from your Seam workspace.
connected_account.completed_first_sync
Seam has finished the first sync of a connected account and devices are now available.
connect_webview.login_succeeded
A login using a Connect Webview was completed successfully.
Sent even if the account was previously connected and a separate Connect Webview login was completed.
connect_webview.login_failed
A login using a Connect Webview failed.
device.accessory_keypad_connected
An accessory keypad has been connected to a device.
device.accessory_keypad_disconnected
An accessory keypad has been disconnected from a device.
device.connected
A device has come online.
device.disconnected
A device has gone offline.
device.removed
A user manually removed a device from their account, without using a Seam action.
device.deleted
A device was deleted from its connected account using the following Seam actions: /connected_accounts/delete
or /devices/delete
.
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.
device.connection_became_flaky
A device connection has become flaky.
device.salto.privacy_mode_activated
The privacy mode has been activated on the Salto device.
device.salto.privacy_mode_deactivated
The privacy mode has been deactivated on the Salto device.
device.third_party_integration_detected
A third party integration has been detected on the device.
device.unmanaged.connected
An unmanaged device has come online.
device.unmanaged.disconnected
An unmanaged device has gone offline.
device.converted_to_unmanaged
Successfully converted a managed device to an unmanaged device.
device.unmanaged.converted_to_managed
Successfully converted an unmanaged device to a managed device.
lock.locked
A door lock has been locked.
lock.unlocked
A door lock has been unlocked.
lock.access_denied
noise_sensor.noise_threshold_triggered
The noise detected from a noise sensor exceeded a predefined threshold and/or duration.
List and filter events
Get data for an individual event