Skip to main content

The device Object

Represents a device that has been connected to Seam.
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_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.
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.

Hardware

device_manufacturer Object Manufacturer of the device. Represents the hardware brand, which may differ from the provider.
device_provider Object Provider of the device. Represents the third-party service through which the device is controlled.
location Object Location information for 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.
controlbyweb_metadata Object Metadata for a ControlByWeb device.
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.
honeywell_resideo_metadata Object Metadata for a Honeywell Resideo 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.
korelock_metadata Object Metadata for a Korelock device.
kwikset_metadata Object Metadata for a Kwikset device.
lockly_metadata Object Metadata for a Lockly device.
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.
online Boolean Indicates whether the device is online.
ring_metadata Object Metadata for a Ring device.
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.
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.

Access Codes

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.
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_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_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

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

Hardware

accessory_keypad Object Accessory keypad properties and state.
appearance Object Appearance-related properties, as reported by the device.
battery Object Represents the current status of the battery charge level.
battery_level Number Indicates the battery level of the device as a decimal value between 0 and 1, inclusive.
has_direct_power Boolean Indicates whether the device has direct power.
image_alt_text String Alt text for the device image.
image_url String Image URL for the device.
manufacturer String Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub.
serial_number String Serial number of the device.

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.

Noise Sensors

currently_triggering_noise_threshold_ids List of Strings Array of noise threshold IDs that are currently triggering.
noise_level_decibels Number Indicates current noise level in decibels, if the device supports noise detection.

Thermostats

active_thermostat_schedule Object Active thermostat schedule.
Deprecated. Use active_thermostat_schedule_id with /thermostats/schedules/get instead.

active_thermostat_schedule_id UUID ID of the active thermostat schedule.
available_climate_preset_modes List of Enums Climate preset modes that the thermostat supports, such as “home”, “away”, “wake”, “sleep”, “occupied”, and “unoccupied”.
available_climate_presets List of Objects Available climate presets for the thermostat.
available_fan_mode_settings List of Enums Fan mode settings that the thermostat supports.
available_hvac_mode_settings List of Enums HVAC mode settings that the thermostat supports.
current_climate_setting Object Current climate setting.
default_climate_setting Object
Deprecated. use fallback_climate_preset_key to specify a fallback climate preset instead.

fallback_climate_preset_key String Key of the fallback climate preset for the thermostat.
fan_mode_setting Enum
Deprecated. Use current_climate_setting.fan_mode_setting instead.

is_cooling Boolean Indicates whether the connected HVAC system is currently cooling, as reported by the thermostat.
is_fan_running Boolean Indicates whether the fan in the connected HVAC system is currently running, as reported by the thermostat.
is_heating Boolean Indicates whether the connected HVAC system is currently heating, as reported by the thermostat.
is_temporary_manual_override_active Boolean Indicates whether the current thermostat settings differ from the most recent active program or schedule that Seam activated. For this condition to occur, current_climate_setting.manual_override_allowed must also be true.
max_cooling_set_point_celsius Number Maximum cooling set point in °C.
max_cooling_set_point_fahrenheit Number Maximum cooling set point in °F.
max_heating_set_point_celsius Number Maximum heating set point in °C.
max_heating_set_point_fahrenheit Number Maximum heating set point in °F.
max_thermostat_daily_program_periods_per_day Number Maximum number of periods that the thermostat can support per day. For example, if the thermostat supports 4 periods per day, this value is 4.
max_unique_climate_presets_per_thermostat_weekly_program Number Maximum number of climate presets that the thermostat can support for weekly programming.
min_cooling_set_point_celsius Number Minimum cooling set point in °C.
min_cooling_set_point_fahrenheit Number Minimum cooling set point in °F.
min_heating_cooling_delta_celsius Number Minimum temperature difference in °C between the cooling and heating set points when in heat-cool (auto) mode.
min_heating_cooling_delta_fahrenheit Number Minimum temperature difference in °F between the cooling and heating set points when in heat-cool (auto) mode.
min_heating_set_point_celsius Number Minimum heating set point in °C.
min_heating_set_point_fahrenheit Number Minimum heating set point in °F.
relative_humidity Number Reported relative humidity, as a value between 0 and 1, inclusive.
temperature_celsius Number Reported temperature in °C.
temperature_fahrenheit Number Reported temperature in °F.
temperature_threshold Object Current temperature threshold set for the thermostat.
thermostat_daily_program_period_precision_minutes Number Precision of the thermostat’s period in minutes. For example, if the thermostat supports 15-minute periods, this value is 15. All values are relative to the top of the hour, so for 15 minutes, the periods would be 0, 15, 30, and 45 minutes past the hour.
thermostat_daily_programs List of Objects Configured daily programs for the thermostat.
thermostat_weekly_program Object Current weekly program for the thermostat.

Errors

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.
device_disconnected Indicates that the device is disconnected.
device_offline Indicates that the device is offline.
device_removed Indicates that the device has been removed.
hub_disconnected Indicates that the hub is disconnected.
lockly_missing_wifi_bridge Indicates that the Lockly lock is not connected to a Wi-Fi bridge.
missing_device_credentials Indicates that device credentials are missing.
subscription_required Indicates that a subscription is required to connect.
ttlock_lock_not_paired_to_gateway Indicates that the lock is not paired with a gateway.

Access Codes

empty_backup_access_code_pool Indicates that the backup access code pool is empty.

Locks

august_lock_missing_bridge Indicates that the lock is not connected to a bridge.
august_lock_not_authorized Indicates that the user is not authorized to use the August lock.
salto_ks_subscription_limit_exceeded Indicates that the Salto site user limit has been reached.

Thermostats

auxiliary_heat_running Indicates that the auxiliary heat is running.

Warnings

device_communication_degraded Indicates that the device appears to be unresponsive.
device_has_flaky_connection Indicates that the device has a flaky connection.
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.
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_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.
wyze_device_missing_gateway Indicates that the Wyze Lock is not connected to a gateway.

Access Codes

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.
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.

Locks

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.
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.
power_saving_mode Indicates that the device is in power saving mode and may have limited functionality.
ttlock_lock_gateway_unlocking_not_enabled Indicates that the Remote Unlock feature is not enabled in the settings.”
unreliable_online_status Indicates that the device may optimistically be reported as online because the provider does not reliably report its online status.

Phones

unknown_issue_with_phone 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.

Thermostats

temperature_threshold_exceeded Indicates that the temperature threshold has been exceeded.

The device_provider Object

A device provider resource.
{
  "can_program_online_access_codes": true,
  "can_remotely_unlock": true,
  "device_provider_name": "akiles",
  "display_name": "Akiles",
  "image_url": "https://connect.getseam.com/_next/image?url=https://connect.getseam.com/assets/images/logos/akiles.png&q=75&w=128",
  "space_ids": [],
  "provider_categories": ["stable", "consumer_smartlocks"]
}

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
device_provider_name Enum
display_name String
image_url String
provider_categories List of Enums

Events

device.connected The status of a device changed from offline to online. That is, the device.properties.online property changed from false to true. Note that some devices operate entirely in offline mode, so Seam never emits a device.connected event for these devices.
device.added A device was added to Seam or was re-added to Seam after having been removed.
device.converted_to_unmanaged A managed device was successfully converted to an unmanaged device.
device.disconnected The status of a device changed from online to offline. That is, the device.properties.online property changed from true to false.
device.tampered A device detected that it was tampered with, for example, opened or moved.
device.low_battery A device battery level dropped below the low threshold.
device.battery_status_changed A device battery status changed since the last battery_status_changed event.
device.removed A device was removed externally from the connected account.
device.deleted A device was deleted.
device.third_party_integration_detected Seam detected that a device is using a third-party integration that will interfere with Seam device management.
device.third_party_integration_no_longer_detected Seam detected that a device is no longer using a third-party integration that was interfering with Seam device management.
device.salto.privacy_mode_activated A Salto device activated privacy mode.
device.salto.privacy_mode_deactivated A Salto device deactivated privacy mode.
device.connection_became_flaky Seam detected a flaky device connection.
device.connection_stabilized Seam detected that a previously-flaky device connection stabilized.
device.error.subscription_required A third-party subscription is required to use all device features.
device.error.subscription_required.resolved A third-party subscription is active or no longer required to use all device features.
device.accessory_keypad_connected An accessory keypad was connected to a device.
device.accessory_keypad_disconnected An accessory keypad was disconnected from a device.
device.name_changed The name of a device was changed.
camera.activated A camera was activated, for example, by motion detection.
device.doorbell_rang A doorbell button was pressed on a device.

Endpoints

/devices/get Returns a specified device. /devices/list Returns a list of all devices. /devices/list_device_providers Returns a list of all device providers. /devices/report_provider_metadata Updates provider-specific metadata for devices. /devices/update Updates a specified device.