Skip to main content

The device Object for Locks

Represents a lock. The Seam API enables you to control connected smart locks from a wide variety of manufacturers, including locks that provide online and offline access code programming. Depending on the smart lock brand and model, actions that you can perform include remote unlock, remote lock, and programming access codes. You can also view a lock’s properties, capabilities, and status. Further, you can monitor for unlock and lock events. See also Webhooks.

Properties

can_configure_auto_lock
Boolean
Indicates whether the lock supports configuring automatic locking.
can_hvac_cool
Boolean
Indicates whether the thermostat supports cooling.
can_hvac_heat
Boolean
Indicates whether the thermostat supports heating.
can_hvac_heat_cool
Boolean
Indicates whether the thermostat supports simultaneous heating and cooling.
can_program_offline_access_codes
Boolean
Indicates whether the device supports programming offline access codes.
can_program_online_access_codes
Boolean
Indicates whether the device supports programming online access codes.
can_program_thermostat_programs_as_different_each_day
Boolean
Indicates whether the thermostat supports different climate programs for each day of the week.
can_program_thermostat_programs_as_same_each_day
Boolean
Indicates whether the thermostat supports a single climate program applied to every day.
can_program_thermostat_programs_as_weekday_weekend
Boolean
Indicates whether the thermostat supports weekday/weekend climate programs.
can_remotely_lock
Boolean
Indicates whether the device supports remote locking.
can_remotely_unlock
Boolean
Indicates whether the device supports remote unlocking.
can_run_thermostat_programs
Boolean
Indicates whether the thermostat supports running climate programs.
can_simulate_connection
Boolean
Indicates whether the device supports simulating connection in a sandbox.
can_simulate_disconnection
Boolean
Indicates whether the device supports simulating disconnection in a sandbox.
can_simulate_hub_connection
Boolean
Indicates whether the hub supports simulating connection in a sandbox.
can_simulate_hub_disconnection
Boolean
Indicates whether the hub supports simulating disconnection in a sandbox.
can_simulate_paid_subscription
Boolean
Indicates whether the device supports simulating a paid subscription in a sandbox.
can_simulate_removal
Boolean
Indicates whether the device supports simulating removal in a sandbox.
can_turn_off_hvac
Boolean
Indicates whether the thermostat can be turned off.
can_unlock_with_code
Boolean
Indicates whether the lock supports unlocking with an access code.
capabilities_supported
Array
Collection of capabilities that the device supports when connected to Seam. Values are access_code, which indicates that the device can manage and utilize digital PIN codes for secure access; lock, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; noise_detection, which indicates that the device supports monitoring and responding to ambient noise levels; thermostat, which indicates that the device can regulate and adjust indoor temperatures; battery, which indicates that the device can manage battery life and health; and phone, which indicates that the device is a mobile device, such as a smartphone. Important: Superseded by capability flags.
connected_account_id
String (UUID)
Unique identifier for the account associated with the device.
created_at
String (ISO 8601)
Date and time at which the device object was created.
custom_metadata
Object
Set of key:value pairs. Adding custom metadata to a resource, such as a Connect Webview, connected account, or device, enables you to store custom information, like customer details or internal IDs from your application.
device_id
String (UUID)
ID of the device.
device_type
Enum (String)
Type of the device.
display_name
String
Display name of the device, defaults to nickname (if it is set) or properties.appearance.name, otherwise. Enables administrators and users to identify the device easily, especially when there are numerous devices.
errors
Array
Array of errors associated with the device. Each error object within the array contains two fields: error_code and message. error_code is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. message provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.
is_managed
Boolean
Indicates whether Seam manages the device. See also Managed and Unmanaged Devices.
nickname
String
Optional nickname to describe the device, settable through Seam.
properties
Object
Properties of the device.
space_ids
Array
IDs of the spaces the device is in.
warnings
Array
Array of warnings associated with the device. Each warning object within the array contains two fields: warning_code and message. warning_code is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. message provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.
workspace_id
String (UUID)
Unique identifier for the Seam workspace associated with the device.

Access Codes

offline_access_codes_enabled
Boolean
deprecated
Deprecated. use device.can_program_offline_access_codesIndicates whether it is currently possible to use offline access codes for the device.
online_access_codes_enabled
Boolean
deprecated
Deprecated. use device.can_program_online_access_codesIndicates whether it is currently possible to use online access codes for the device.
supports_accessory_keypad
Boolean
deprecated
Deprecated. use device.properties.model.can_connect_accessory_keypadThe supports accessory keypad.
supports_offline_access_codes
Boolean
deprecated
Deprecated. use offline_access_codes_enabledThe supports offline access codes.
backup_access_code_pool_enabled
Boolean
Indicates whether the backup access code pool is currently enabled for the device. To disable it, set this to false using /devices/update.
code_constraints
Array
Constraints on access codes for the device. Seam represents each constraint as an object with a constraint_type property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific.
has_native_entry_events
Boolean
Indicates whether the device supports native entry events.
keypad_battery
Object
Keypad battery status.
max_active_codes_supported
number
Maximum number of active access codes that the device supports.
offline_time_frame_options
Array
Time frames that may be requested when creating an offline access code, expressed as a list of options. The caller picks one option (by matching the requested duration when the options’ duration ranges do not overlap, or by display_name when they do) and satisfies that one option’s rules. When undefined, any time frame works.
online_time_frame_options
Array
Time frames that may be requested when creating an online access code, expressed as a list of options. The caller picks one option (by matching the requested duration when the options’ duration ranges do not overlap, or by display_name when they do) and satisfies that one option’s rules. When undefined, any time frame works.
supported_code_lengths
Array
Supported code lengths for access codes.
supports_backup_access_code_pool
Boolean
Indicates whether the device supports a backup access code pool.

Locks

auto_lock_delay_seconds
number
The delay in seconds before the lock automatically locks after being unlocked.
auto_lock_enabled
Boolean
Indicates whether automatic locking is enabled.
door_open
Boolean
Indicates whether the door is open.
locked
Boolean
Indicates whether the lock is locked.