Locks
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.
A lock device resource.
{
"can_program_online_access_codes": true,
"can_remotely_lock": true,
"can_remotely_unlock": true,
"capabilities_supported": ["access_code", "lock"],
"connected_account_id": "8e3a4f1b-2c7d-4a9e-8b5f-3d2c1a0b9e8f",
"created_at": "2025-03-27T02:08:16.418Z",
"space_ids": [],
"custom_metadata": { "id": "internalId1" },
"device_id": "a69569e1-133b-4a9d-b883-018641bfe543",
"device_type": "schlage_lock",
"display_name": "FRONT DOOR",
"errors": [],
"is_managed": true,
"location": { "location_name": "Front Door", "timezone": "America/New_York" },
"nickname": "Front Door",
"properties": {
"appearance": { "name": "FRONT DOOR" },
"battery": { "level": 0.48, "status": "good" },
"battery_level": 0.48,
"code_constraints": [{ "constraint_type": "name_length", "max_length": 9 }],
"has_native_entry_events": true,
"image_alt_text": "Schlage Sense Smart Deadbolt with Camelot Trim, Front",
"image_url": "https://connect.getseam.com/_next/image?url=https://connect.getseam.com/assets/images/devices/schlage_sense-smart-deadbolt-with-camelot-trim_front.png&q=75&w=128",
"locked": false,
"manufacturer": "schlage",
"model": {
"accessory_keypad_supported": false,
"can_connect_accessory_keypad": false,
"display_name": "Encode",
"has_built_in_keypad": true,
"manufacturer_display_name": "Schlage",
"offline_access_codes_supported": false,
"online_access_codes_supported": true
},
"name": "FRONT DOOR",
"offline_access_codes_enabled": false,
"online": true,
"online_access_codes_enabled": true,
"schlage_metadata": {
"device_id": "a69569e1-133b-4a9d-b883-018641bfe543",
"device_name": "FRONT DOOR",
"model": "Encode"
},
"serial_number": "34000000000531e0",
"supported_code_lengths": [4, 5, 6, 7, 8],
"supports_backup_access_code_pool": true,
"supports_offline_access_codes": false
},
"warnings": [],
"workspace_id": "5d7f2e1a-9c8b-4f3e-8d2c-1a0b9e8f7c6d"
}Properties
can_hvac_cool Boolean
can_hvac_heat Boolean
can_hvac_heat_cool Boolean
can_program_offline_access_codes Boolean
can_program_online_access_codes Boolean
can_program_thermostat_programs_as_different_each_day Boolean
can_program_thermostat_programs_as_same_each_day Boolean
can_program_thermostat_programs_as_weekday_weekend Boolean
can_remotely_lock Boolean
can_remotely_unlock Boolean
can_run_thermostat_programs Boolean
can_simulate_connection Boolean
can_simulate_disconnection Boolean
can_simulate_hub_connection Boolean
can_simulate_hub_disconnection Boolean
can_simulate_paid_subscription Boolean
can_simulate_removal Boolean
can_turn_off_hvac Boolean
can_unlock_with_code Boolean
capabilities_supported List of Enums
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 UUID
Unique identifier for the account associated with the device.
created_at Datetime
Date and time at which the device object was created.
custom_metadata Record
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 UUID
ID of the device.
device_type Enum
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 List of Objects
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.
The specific structure of each object in this list depends on the value of its error_code field.
Variants:
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.
space_ids List of UUIDs
IDs of the spaces the device is in.
warnings List of Objects
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.
The specific structure of each object in this list depends on the value of its warning_code field.
Variants:
workspace_id UUID
Unique identifier for the Seam workspace associated with the device.
device.properties
akiles_metadata Object
Metadata for an Akiles device.
assa_abloy_credential_service_metadata Object
ASSA ABLOY Credential Service metadata for the phone.
assa_abloy_vostio_metadata Object
Metadata for an ASSA ABLOY Vostio system.
august_metadata Object
Metadata for an August device.
avigilon_alta_metadata Object
Metadata for an Avigilon Alta system.
brivo_metadata Object
Metadata for a Brivo device.
code_constraints List of Objects
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.
controlbyweb_metadata Object
Metadata for a ControlByWeb device.
door_open Boolean
Indicates whether the door is open.
dormakaba_oracode_metadata Object
Metadata for a dormakaba Oracode device.
ecobee_metadata Object
Metadata for an ecobee device.
four_suites_metadata Object
Metadata for a 4SUITES device.
genie_metadata Object
Metadata for a Genie device.
has_native_entry_events Boolean
Indicates whether the device supports native entry events.
honeywell_resideo_metadata Object
Metadata for a Honeywell Resideo device.
hubitat_metadata Object
Metadata for a Hubitat device.
igloo_metadata Object
Metadata for an igloo device.
igloohome_metadata Object
Metadata for an igloohome device.
keynest_metadata Object
Metadata for a KeyNest device.
keypad_battery Object
Keypad battery status.
kwikset_metadata Object
Metadata for a Kwikset device.
locked Boolean
Indicates whether the lock is locked.
lockly_metadata Object
Metadata for a Lockly device.
max_active_codes_supported Number
Maximum number of active access codes that the device supports.
minut_metadata Object
Metadata for a Minut device.
model Object
Device model-related properties.
name String
Name of the device.
Deprecated. use device.display_name instead
nest_metadata Object
Metadata for a Google Nest device.
noiseaware_metadata Object
Metadata for a NoiseAware device.
nuki_metadata Object
Metadata for a Nuki device.
offline_access_codes_enabled Boolean
Indicates whether it is currently possible to use offline access codes for the device.
Deprecated. use device.can_program_offline_access_codes
online Boolean
Indicates whether the device is online.
online_access_codes_enabled Boolean
Indicates whether it is currently possible to use online access codes for the device.
Deprecated. use device.can_program_online_access_codes
salto_ks_metadata Object
Metadata for a Salto KS device.
salto_metadata Object
Metada for a Salto device.
Deprecated. Use salto_ks_metadata instead.
salto_space_credential_service_metadata Object
Salto Space credential service metadata for the phone.
schlage_metadata Object
Metadata for a Schlage device.
seam_bridge_metadata Object
Metadata for Seam Bridge.
sensi_metadata Object
Metadata for a Sensi device.
smartthings_metadata Object
Metadata for a SmartThings device.
supported_code_lengths List of Numbers
Supported code lengths for access codes.
supports_accessory_keypad Boolean
Deprecated. use device.properties.model.can_connect_accessory_keypad
supports_backup_access_code_pool Boolean
Indicates whether the device supports a backup access code pool.
supports_offline_access_codes Boolean
Deprecated. use offline_access_codes_enabled
tado_metadata Object
Metadata for a tado° device.
tedee_metadata Object
Metadata for a Tedee device.
ttlock_metadata Object
Metadata for a TTLock device.
two_n_metadata Object
Metadata for a 2N device.
ultraloq_metadata Object
Metadata for an Ultraloq device.
visionline_metadata Object
Metadata for an ASSA ABLOY Visionline system.
wyze_metadata Object
Metadata for a Wyze device.
Errors
salto_ks_subscription_limit_exceeded
Indicates that the Salto site user limit has been reached.
august_lock_not_authorized
Indicates that the user is not authorized to use the August lock.
august_lock_missing_bridge
Indicates that the lock is not connected to a bridge.
empty_backup_access_code_pool
Indicates that the backup access code pool is empty.
ttlock_lock_not_paired_to_gateway
Indicates that the lock is not paired with a gateway.
subscription_required
Indicates that a subscription is required to connect.
missing_device_credentials
Indicates that device credentials are missing.
lockly_missing_wifi_bridge
Indicates that the Lockly lock is not connected to a Wi-Fi bridge.
hub_disconnected
Indicates that the hub is disconnected.
device_removed
Indicates that the device has been removed.
device_offline
Indicates that the device is offline.
device_disconnected
Indicates that the device is disconnected.
account_disconnected
Indicates that the account is disconnected.
bridge_disconnected
Indicates that the Seam API cannot communicate with Seam Bridge, for example, if the Seam Bridge executable has stopped or if the computer running the Seam Bridge executable is offline. See also Troubleshooting Your Access Control System.
Warnings
device_communication_degraded
Indicates that the device appears to be unresponsive.
device_has_flaky_connection
Indicates that the device has a flaky connection.
functional_offline_device
Indicates that the device is offline but has some functionality available.
hub_required_for_addtional_capabilities
Indicates that a hub or relay must be connected to unlock additional capabilities such as remote unlock.
lockly_time_zone_not_configured
Indicates that Seam detected that the Lockly device does not have a time zone configured. Time-bound codes may not work as expected.
many_active_backup_codes
Indicates that there are too many backup codes.
partial_backup_access_code_pool
Indicates that the backup access code is unhealthy.
power_saving_mode
Indicates that the device is in power saving mode and may have limited functionality.
salto_ks_office_mode
Indicates that the Salto KS lock is in Office Mode. Access Codes will not unlock doors.
salto_ks_privacy_mode
Indicates that the Salto KS lock is in Privacy Mode. Access Codes will not unlock doors.
salto_ks_subscription_limit_almost_reached
Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Increase your subscription limit or delete some users from your site.
scheduled_maintenance_window
Indicates that a scheduled maintenance window has been detected.
third_party_integration_detected
Indicates that a third-party integration has been detected.
ttlock_lock_gateway_unlocking_not_enabled
Indicates that the Remote Unlock feature is not enabled in the settings."
ttlock_weak_gateway_signal
Indicates that the gateway signal is weak.
wyze_device_missing_gateway
Indicates that the Wyze Lock is not connected to a gateway.
Events
lock.locked
A lock was locked.
lock.unlocked
A lock was unlocked.
lock.access_denied
The lock denied access to a user after one or more consecutive invalid attempts to unlock the device.
Endpoints
Returns a specified lock. Use /devices/get instead.
Returns a list of all locks.
Locks a lock. See also Locking and Unlocking Smart Locks.
Unlocks a lock. See also Locking and Unlocking Smart Locks.
Last updated
Was this helpful?

