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.
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"
}
{
  "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_configure_auto_lock Boolean
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.
  • akuvox_lock
  • august_lock
  • brivo_access_point
  • butterflymx_panel
  • avigilon_alta_entry
  • doorking_lock
  • genie_door
  • igloo_lock
  • linear_lock
  • lockly_lock
  • kwikset_lock
  • nuki_lock
  • salto_lock
  • schlage_lock
  • smartthings_lock
  • wyze_lock
  • yale_lock
  • two_n_intercom
  • controlbyweb_device
  • ttlock_lock
  • igloohome_lock
  • four_suites_door
  • dormakaba_oracode_door
  • tedee_lock
  • akiles_lock
  • ultraloq_lock
  • korelock_lock
  • keynest_key
  • noiseaware_activity_zone
  • minut_sensor
  • ecobee_thermostat
  • nest_thermostat
  • honeywell_resideo_thermostat
  • tado_thermostat
  • sensi_thermostat
  • smartthings_thermostat
  • ios_phone
  • android_phone
  • ring_camera

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:
Indicates that the account is disconnected.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • account_disconnected

is_connected_account_error BooleanIndicates that the error is a connected account error.
is_device_error BooleanIndicates that the error is not a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that the Salto site user limit has been reached.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • salto_ks_subscription_limit_exceeded

is_connected_account_error BooleanIndicates that the error is a connected account error.
is_device_error BooleanIndicates that the error is not a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that the device is offline.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • device_offline

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that the device has been removed.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • device_removed

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that the hub is disconnected.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • hub_disconnected

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that the device is disconnected.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • device_disconnected

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that the backup access code pool is empty.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • empty_backup_access_code_pool

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that the user is not authorized to use the August lock.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • august_lock_not_authorized

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that the lock is not connected to a bridge.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • august_lock_missing_bridge

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that the lock is not paired with a gateway.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • ttlock_lock_not_paired_to_gateway

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that device credentials are missing.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • missing_device_credentials

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that the auxiliary heat is running.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • auxiliary_heat_running

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that a subscription is required to connect.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • subscription_required

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
Indicates that the Lockly lock is not connected to a Wi-Fi bridge.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • lockly_missing_wifi_bridge

is_device_error BooleanIndicates that the error is a device error.
message StringDetailed description of the error. Provides insights into the issue and potentially how to rectify it.
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.created_at DatetimeDate and time at which Seam created the error.
error_code EnumUnique identifier of the type of error. Enables quick recognition and categorization of the issue.Enum values:
  • bridge_disconnected

is_bridge_error BooleanIndicates whether the error is related to Seam Bridge.
is_connected_account_error BooleanIndicates whether the error is related specifically to the connected account.
message StringDetailed description of the error. Provides 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.
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:
Indicates that the backup access code is unhealthy.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • partial_backup_access_code_pool
Indicates that there are too many backup codes.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • many_active_backup_codes
Indicates that the Wyze Lock is not connected to a gateway.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • wyze_device_missing_gateway
Indicates that a third-party integration has been detected.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • third_party_integration_detected
Indicates that the Remote Unlock feature is not enabled in the settings.”created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • ttlock_lock_gateway_unlocking_not_enabled
Indicates that the gateway signal is weak.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • ttlock_weak_gateway_signal
Indicates that the device is in power saving mode and may have limited functionality.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • power_saving_mode
Indicates that the temperature threshold has been exceeded.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • temperature_threshold_exceeded
Indicates that the device appears to be unresponsive.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • device_communication_degraded
Indicates that a scheduled maintenance window has been detected.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • scheduled_maintenance_window
Indicates that the device has a flaky connection.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • device_has_flaky_connection
Indicates that the Salto KS lock is in Office Mode. Access Codes will not unlock doors.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • salto_ks_office_mode
Indicates that the Salto KS lock is in Privacy Mode. Access Codes will not unlock doors.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • salto_ks_privacy_mode
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.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • salto_ks_subscription_limit_almost_reached
Indicates that an unknown issue occurred while syncing the state of the phone with the provider. This issue may affect the proper functioning of the phone.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • unknown_issue_with_phone
Indicates that Seam detected that the Lockly device does not have a time zone configured. Time-bound codes may not work as expected.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • lockly_time_zone_not_configured
Indicates that Seam does not know the time zone of the Ultraloq device. Set a time zone to enable time-bound access codes.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • ultraloq_time_zone_unknown
Indicates that the 2N device does not have a time zone configured. Configure a time zone on the device to enable access codes.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • two_n_device_missing_timezone
Indicates that a hub or relay must be connected to unlock additional capabilities such as remote unlock.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • hub_required_for_additional_capabilities
Indicates that the key is in a locker that does not support the access codes API.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • keynest_unsupported_locker
Indicates that the accessory keypad exists, but is not linked to the Igloohome Bridge. Online access code programming will fail until the keypad is linked to the Igloohome Bridge in the Igloohome app.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • accessory_keypad_setup_required
Indicates that the device may optimistically be reported as online because the provider does not reliably report its online status.created_at DatetimeDate and time at which Seam created the warning.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • unreliable_online_status
Indicates that the device has reached its maximum number of active access codes. Delete existing codes before creating new ones.active_access_code_count NumberNumber of active access codes on the device when the warning was set.
created_at DatetimeDate and time at which Seam created the warning.
max_active_access_code_count NumberMaximum number of active access codes supported by the device.
message StringDetailed description of the warning. Provides insights into the issue and potentially how to rectify it.
warning_code EnumUnique identifier of the type of warning. Enables quick recognition and categorization of the issue.Enum values:
  • max_access_codes_reached

workspace_id UUID Unique identifier for the Seam workspace associated with the device.

device.properties

akiles_metadata Object Metadata for an Akiles device.
_member_group_id
String
Group ID to which to add users for an Akiles device.
gadget_id
String
Gadget ID for an Akiles device.
gadget_name
String
Gadget name for an Akiles device.
product_name
String
Product name for an Akiles device.

assa_abloy_credential_service_metadata Object ASSA ABLOY Credential Service metadata for the phone.
endpoints
List of Objects
Endpoints associated with the phone.
endpoint_id
String
ID of the associated endpoint.
is_active
Boolean
Indicated whether the endpoint is active.
has_active_endpoint
Boolean
Indicates whether the credential service has active endpoints associated with the phone.

assa_abloy_vostio_metadata Object Metadata for an ASSA ABLOY Vostio system.
encoder_name
String
Encoder name for an ASSA ABLOY Vostio system.

august_metadata Object Metadata for an August device.
has_keypad
Boolean
Indicates whether an August device has a keypad.
house_id
String
House ID for an August device.
house_name
String
House name for an August device.
keypad_battery_level
String
Keypad battery level for an August device.
lock_id
String
Lock ID for an August device.
lock_name
String
Lock name for an August device.
model
String
Model for an August device.

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.
avigilon_alta_metadata Object Metadata for an Avigilon Alta system.
entry_name
String
Entry name for an Avigilon Alta system.
entry_relays_total_count
Number
Total count of entry relays for an Avigilon Alta system.
org_name
String
Organization name for an Avigilon Alta system.
site_id
Number
Site ID for an Avigilon Alta system.
site_name
String
Site name for an Avigilon Alta system.
zone_id
Number
Zone ID for an Avigilon Alta system.
zone_name
String
Zone name for an Avigilon Alta system.

brivo_metadata Object Metadata for a Brivo device.
activation_enabled
Boolean
Indicates whether the Brivo access point has activation (remote unlock) enabled.
device_name
String
Device name 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.
  • no_zeros
  • cannot_start_with_12
  • no_triple_consecutive_ints
  • cannot_specify_pin_code
  • pin_code_matches_existing_set
  • start_date_in_future
  • no_ascending_or_descending_sequence
  • at_least_three_unique_digits
  • cannot_contain_089
  • cannot_contain_0789
  • unique_first_four_digits
  • no_all_same_digits
  • name_length
  • name_must_be_unique
Maximum name length constraint for access codes.Minimum name length constraint for access codes.

controlbyweb_metadata Object Metadata for a ControlByWeb device.
device_id
String
Device ID for a ControlByWeb device.
device_name
String
Device name for a ControlByWeb device.
relay_name
String
Relay name for a ControlByWeb device.

door_open Boolean Indicates whether the door is open.
dormakaba_oracode_metadata Object Metadata for a dormakaba Oracode device.
device_id
Object
Device ID for a dormakaba Oracode device.
door_id
Number
Door ID for a dormakaba Oracode device.
door_is_wireless
Boolean
Indicates whether a door is wireless for a dormakaba Oracode device.
door_name
String
Door name for a dormakaba Oracode device.
iana_timezone
String
IANA time zone for a dormakaba Oracode device.
predefined_time_slots
List of Objects
Predefined time slots for a dormakaba Oracode device.
check_in_time
String
Check in time for a time slot for a dormakaba Oracode device.
check_out_time
String
Checkout time for a time slot for a dormakaba Oracode device.
dormakaba_oracode_user_level_id
UUID
ID of a user level for a dormakaba Oracode device.
dormakaba_oracode_user_level_prefix
Number
Prefix for a user level for a dormakaba Oracode device.
is_24_hour
Boolean
Indicates whether a time slot for a dormakaba Oracode device is a 24-hour time slot.
is_biweekly_mode
Boolean
Indicates whether a time slot for a dormakaba Oracode device is in biweekly mode.
is_master
Boolean
Indicates whether a time slot for a dormakaba Oracode device is a master time slot.
is_one_shot
Boolean
Indicates whether a time slot for a dormakaba Oracode device is a one-shot time slot.
name
String
Name of a time slot for a dormakaba Oracode device.
prefix
Number
Prefix for a time slot for a dormakaba Oracode device.
site_id
Number
Site ID for a dormakaba Oracode device.
Deprecated. Previously marked as “@DEPRECATED.”
-
Site name for a dormakaba Oracode device.

ecobee_metadata Object Metadata for an ecobee device.
device_name
String
Device name for an ecobee device.
ecobee_device_id
String
Device ID for an ecobee device.

four_suites_metadata Object Metadata for a 4SUITES device.
device_id
Number
Device ID for a 4SUITES device.
device_name
String
Device name for a 4SUITES device.
reclose_delay_in_seconds
Number
Reclose delay, in seconds, for a 4SUITES device.

genie_metadata Object Metadata for a Genie device.
device_name
String
Lock name for a Genie device.
door_name
String
Door name 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.
device_name
String
Device name for a Honeywell Resideo device.
honeywell_resideo_device_id
String
Device ID for a Honeywell Resideo device.

igloo_metadata Object Metadata for an igloo device.
bridge_id
String
Bridge ID for an igloo device.
device_id
String
Device ID for an igloo device.
model
String
Model for an igloo device.

igloohome_metadata Object Metadata for an igloohome device.
bridge_id
String
Bridge ID for an igloohome device.
bridge_name
String
Bridge name for an igloohome device.
device_id
String
Device ID for an igloohome device.
device_name
String
Device name for an igloohome device.
is_accessory_keypad_linked_to_bridge
Boolean
Indicates whether a keypad is linked to a bridge for an igloohome device.
keypad_id
String
Keypad ID for an igloohome device.

keynest_metadata Object Metadata for a KeyNest device.
address
String
Address for a KeyNest device.
current_or_last_store_id
Number
Current or last store ID for a KeyNest device.
current_status
String
Current status for a KeyNest device.
current_user_company
String
Current user company for a KeyNest device.
current_user_email
String
Current user email for a KeyNest device.
current_user_name
String
Current user name for a KeyNest device.
current_user_phone_number
String
Current user phone number for a KeyNest device.
default_office_id
Number
Default office ID for a KeyNest device.
device_name
String
Device name for a KeyNest device.
fob_id
Number
Fob ID for a KeyNest device.
handover_method
String
Handover method for a KeyNest device.
has_photo
Boolean
Whether the KeyNest device has a photo.
is_quadient_locker
Boolean
Whether the key is in a locker that does not support the access codes API.
key_id
String
Key ID for a KeyNest device.
key_notes
String
Key notes for a KeyNest device.
keynest_app_user
String
KeyNest app user for a KeyNest device.
last_movement
String
Last movement timestamp for a KeyNest device.
property_id
String
Property ID for a KeyNest device.
property_postcode
String
Property postcode for a KeyNest device.
status_type
String
Status type for a KeyNest device.
subscription_plan
String
Subscription plan for a KeyNest device.

keypad_battery Object Keypad battery status.
level
Number
Keypad battery charge level.

korelock_metadata Object Metadata for a Korelock device.
device_id
String
Device ID for a Korelock device.
device_name
String
Device name for a Korelock device.
firmware_version
String
Firmware version for a Korelock device.
location_id
String
Location ID for a Korelock device. Required for timebound access codes.
model_code
String
Model code for a Korelock device.
serial_number
String
Serial number for a Korelock device.
wifi_signal_strength
Number
WiFi signal strength (0-1) for a Korelock device.

kwikset_metadata Object Metadata for a Kwikset device.
device_id
String
Device ID for a Kwikset device.
device_name
String
Device name for a Kwikset device.
model_number
String
Model number for a Kwikset device.

locked Boolean Indicates whether the lock is locked.
lockly_metadata Object Metadata for a Lockly device.
device_id
String
Device ID for a Lockly device.
device_name
String
Device name for a Lockly device.
model
String
Model 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.
device_id
String
Device ID for a Minut device.
device_name
String
Device name for a Minut device.
latest_sensor_values
Object
Latest sensor values for a Minut device.
latest_sensor_values.accelerometer_z
Object
Latest accelerometer Z-axis reading for a Minut device.
latest_sensor_values.accelerometer_z.time
String
Time of latest accelerometer Z-axis reading for a Minut device.
latest_sensor_values.accelerometer_z.value
Number
Value of latest accelerometer Z-axis reading for a Minut device.
latest_sensor_values.humidity
Object
Latest humidity reading for a Minut device.
latest_sensor_values.humidity.time
String
Time of latest humidity reading for a Minut device.
latest_sensor_values.humidity.value
Number
Value of latest humidity reading for a Minut device.
latest_sensor_values.pressure
Object
Latest pressure reading for a Minut device.
latest_sensor_values.pressure.time
String
Time of latest pressure reading for a Minut device.
latest_sensor_values.pressure.value
Number
Value of latest pressure reading for a Minut device.
latest_sensor_values.sound
Object
Latest sound reading for a Minut device.
latest_sensor_values.sound.time
String
Time of latest sound reading for a Minut device.
latest_sensor_values.sound.value
Number
Value of latest sound reading for a Minut device.
latest_sensor_values.temperature
Object
Latest temperature reading for a Minut device.
latest_sensor_values.temperature.time
String
Time of latest temperature reading for a Minut device.
latest_sensor_values.temperature.value
Number
Value of latest temperature reading for a Minut device.

model Object Device model-related properties.
accessory_keypad_supported
Boolean
Deprecated. use device.properties.model.can_connect_accessory_keypad
can_connect_accessory_keypad
Boolean
Indicates whether the device can connect a accessory keypad.
display_name
String
Display name of the device model.
has_built_in_keypad
Boolean
Indicates whether the device has a built in accessory keypad.
manufacturer_display_name
String
Display name that corresponds to the manufacturer-specific terminology for the device.
offline_access_codes_supported
Boolean
Deprecated. use device.can_program_offline_access_codes.
online_access_codes_supported
Boolean
Deprecated. use device.can_program_online_access_codes.

name String Name of the device.
Deprecated. use device.display_name instead

nest_metadata Object Metadata for a Google Nest device.
device_custom_name
String
Custom device name for a Google Nest device. The device owner sets this value.
device_name
String
Device name for a Google Nest device. Google sets this value.
display_name
String
Display name for a Google Nest device.
nest_device_id
String
Device ID for a Google Nest device.

noiseaware_metadata Object Metadata for a NoiseAware device.
device_id
String
Device ID for a NoiseAware device.
device_model
Enum
Device model for a NoiseAware device.
  • indoor
  • outdoor
device_name
String
Device name for a NoiseAware device.
noise_level_decibel
Number
Noise level, in decibels, for a NoiseAware device.
noise_level_nrs
Number
Noise level, expressed as a Noise Risk Score (NRS), for a NoiseAware device.

nuki_metadata Object Metadata for a Nuki device.
device_id
String
Device ID for a Nuki device.
device_name
String
Device name for a Nuki device.
keypad_2_paired
Boolean
Indicates whether keypad 2 is paired for a Nuki device.
keypad_battery_critical
Boolean
Indicates whether the keypad battery is in a critical state for a Nuki device.
keypad_paired
Boolean
Indicates whether the keypad is paired 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

ring_metadata Object Metadata for a Ring device.
device_id
String
Device ID for a Ring device.
device_name
String
Device name for a Ring device.

salto_ks_metadata Object Metadata for a Salto KS device.
battery_level
String
Battery level for a Salto KS device.
customer_reference
String
Customer reference for a Salto KS device.
has_custom_pin_subscription
Boolean
Indicates whether the site has a Salto KS subscription that supports custom PINs.
lock_id
String
Lock ID for a Salto KS device.
lock_type
String
Lock type for a Salto KS device.
locked_state
String
Locked state for a Salto KS device.
model
String
Model for a Salto KS device.
site_id
String
Site ID for the Salto KS site to which the device belongs.
site_name
String
Site name for the Salto KS site to which the device belongs.

salto_metadata Object Metada for a Salto device.
Deprecated. Use salto_ks_metadata instead.
battery_level
String
Battery level for a Salto device.
customer_reference
String
Customer reference for a Salto device.
lock_id
String
Lock ID for a Salto device.
lock_type
String
Lock type for a Salto device.
locked_state
String
Locked state for a Salto device.
model
String
Model for a Salto device.
site_id
String
Site ID for the Salto KS site to which the device belongs.
site_name
String
Site name for the Salto KS site to which the device belongs.

salto_space_credential_service_metadata Object Salto Space credential service metadata for the phone.
has_active_phone
Boolean
Indicates whether the credential service has an active associated phone.

schlage_metadata Object Metadata for a Schlage device.
device_id
String
Device ID for a Schlage device.
device_name
String
Device name for a Schlage device.
model
String
Model for a Schlage device.

seam_bridge_metadata Object Metadata for Seam Bridge.
device_num
Number
Device number for Seam Bridge.
name
String
Name for Seam Bridge.
unlock_method
Enum
Unlock method for Seam Bridge.
  • bridge
  • doorking

sensi_metadata Object Metadata for a Sensi device.
device_id
String
Device ID for a Sensi device.
device_name
String
Device name for a Sensi device.
dual_setpoints_not_supported
Boolean
Set to true when the device does not support the /dual-setpoints API endpoint.
product_type
String
Product type for a Sensi device.

smartthings_metadata Object Metadata for a SmartThings device.
device_id
String
Device ID for a SmartThings device.
device_name
String
Device name for a SmartThings device.
location_id
String
Location ID for a SmartThings device.
model
String
Model 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.
device_type
String
Device type for a tado° device.
serial_no
String
Serial number for a tado° device.

tedee_metadata Object Metadata for a Tedee device.
bridge_id
Number
Bridge ID for a Tedee device.
bridge_name
String
Bridge name for a Tedee device.
device_id
Number
Device ID for a Tedee device.
device_model
String
Device model for a Tedee device.
device_name
String
Device name for a Tedee device.
keypad_id
Number
Keypad ID for a Tedee device.
serial_number
String
Serial number for a Tedee device.

ttlock_metadata Object Metadata for a TTLock device.
feature_value
String
Feature value for a TTLock device.
features
Object
Features for a TTLock device.
features.auto_lock_time_config
Boolean
Indicates whether a TTLock device supports auto-lock time configuration.
features.incomplete_keyboard_passcode
Boolean
Indicates whether a TTLock device supports an incomplete keyboard passcode.
features.lock_command
Boolean
Indicates whether a TTLock device supports the lock command.
features.passcode
Boolean
Indicates whether a TTLock device supports a passcode.
features.passcode_management
Boolean
Indicates whether a TTLock device supports passcode management.
features.unlock_via_gateway
Boolean
Indicates whether a TTLock device supports unlock via gateway.
features.wifi
Boolean
Indicates whether a TTLock device supports Wi-Fi.
has_gateway
Boolean
Indicates whether a TTLock device has a gateway.
lock_alias
String
Lock alias for a TTLock device.
lock_id
Number
Lock ID for a TTLock device.
wireless_keypads
List of Objects
Wireless keypads for a TTLock device.
wireless_keypad_id
Number
ID for a wireless keypad for a TTLock device.
wireless_keypad_name
String
Name for a wireless keypad for a TTLock device.

two_n_metadata Object Metadata for a 2N device.
device_id
Number
Device ID for a 2N device.
device_name
String
Device name for a 2N device.

ultraloq_metadata Object Metadata for an Ultraloq device.
device_id
String
Device ID for an Ultraloq device.
device_name
String
Device name for an Ultraloq device.
device_type
String
Device type for an Ultraloq device.
time_zone
String
IANA timezone for the Ultraloq device.

visionline_metadata Object Metadata for an ASSA ABLOY Visionline system.
encoder_id
String
Encoder ID for an ASSA ABLOY Visionline system.

wyze_metadata Object Metadata for a Wyze device.
device_id
String
Device ID for a Wyze device.
device_info_model
String
Device information model for a Wyze device.
device_name
String
Device name for a Wyze device.
keypad_uuid
String
Keypad UUID for a Wyze device.
locker_status_hardlock
Number
Locker status (hardlock) for a Wyze device.
product_model
String
Product model for a Wyze device.
product_name
String
Product name for a Wyze device.
product_type
String
Product type 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

accessory_keypad_setup_required Indicates that the accessory keypad exists, but is not linked to the Igloohome Bridge. Online access code programming will fail until the keypad is linked to the Igloohome Bridge in the Igloohome app.
device_communication_degraded Indicates that the device appears to be unresponsive.
device_has_flaky_connection Indicates that the device has a flaky connection.
hub_required_for_additional_capabilities Indicates that a hub or relay must be connected to unlock additional capabilities such as remote unlock.
keynest_unsupported_locker Indicates that the key is in a locker that does not support the access codes API.
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.
max_access_codes_reached Indicates that the device has reached its maximum number of active access codes. Delete existing codes before creating new ones.
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.
two_n_device_missing_timezone Indicates that the 2N device does not have a time zone configured. Configure a time zone on the device to enable access codes.
ultraloq_time_zone_unknown Indicates that Seam does not know the time zone of the Ultraloq device. Set a time zone to enable time-bound access codes.
unreliable_online_status Indicates that the device may optimistically be reported as online because the provider does not reliably report its online status.
wyze_device_missing_gateway Indicates that the Wyze Lock is not connected to a gateway.

Endpoints

/locks/configure_auto_lock Configures the auto-lock setting for a specified lock. /locks/get Returns a specified lock. /locks/list Returns a list of all locks. /locks/lock_door Locks a lock. See also Locking and Unlocking Smart Locks. /locks/unlock_door Unlocks a lock. See also Locking and Unlocking Smart Locks.