Skip to main content

The device Object

Represents a device that has been connected to Seam. See Device Examples for complete lock, noise sensor, and thermostat JSON examples. For capability-specific references and examples, see The Lock Object and The Thermostat Object.

Properties

Boolean
Indicates whether the thermostat can be returned to its weekly program, the schedule that is configured on the device itself, releasing any hold that Seam has set.
Boolean
Indicates whether the lock supports configuring automatic locking.
Boolean
Indicates whether the thermostat supports cooling.
Boolean
Indicates whether the thermostat supports heating.
Boolean
Indicates whether the thermostat supports simultaneous heating and cooling.
Boolean
Indicates whether the device supports programming offline access codes.
Boolean
Indicates whether the device supports programming online access codes.
Boolean
Indicates whether the thermostat supports different climate programs for each day of the week.
Boolean
Indicates whether the thermostat supports a single climate program applied to every day.
Boolean
Indicates whether the thermostat supports weekday/weekend climate programs.
Boolean
Indicates whether the device supports remote locking.
Boolean
Indicates whether the device supports remote unlocking.
Boolean
Indicates whether the thermostat supports running climate programs.
Boolean
Indicates whether the device supports simulating connection in a sandbox.
Boolean
Indicates whether the device supports simulating disconnection in a sandbox.
Boolean
Indicates whether the hub supports simulating connection in a sandbox.
Boolean
Indicates whether the hub supports simulating disconnection in a sandbox.
Boolean
Indicates whether the device supports simulating a paid subscription in a sandbox.
Boolean
Indicates whether the device supports simulating removal in a sandbox.
Boolean
Indicates whether the camera can stream live video through a camera live view session. false while the camera is offline.
Boolean
Indicates whether the thermostat can be turned off.
Boolean
Indicates whether the lock supports unlocking with an access code.
Array of Enums (String)
required
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.
  • access_code
  • lock
  • noise_detection
  • thermostat
  • battery
  • phone
  • pool
String (UUID)
required
Unique identifier for the account associated with the device.
String (ISO 8601)
required
Date and time at which the device object was created.
Object (String, Boolean values)
required
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. Keys set to null or to an empty string are omitted.
String (UUID)
required
ID of the device.
Enum (String)
required
Type of the device. The august_lock and yale_lock values are deprecated. Use yale_access_lock in place of august_lock, and yale_access_lock or yale_home_lock in place of yale_lock.
  • 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
  • yale_access_lock
  • yale_home_lock
  • yale_connect_lock
  • two_n_intercom
  • controlbyweb_device
  • ttlock_lock
  • igloohome_lock
  • four_suites_door
  • dormakaba_oracode_door
  • tedee_lock
  • akiles_lock
  • ultraloq_lock
  • yacan_lock
  • keyincode_lock
  • omnitec_lock
  • kisi_lock
  • aqara_lock
  • tuya_lock
  • eufy_lock
  • keynest_key
  • noiseaware_activity_zone
  • minut_sensor
  • ecobee_thermostat
  • nest_thermostat
  • honeywell_resideo_thermostat
  • tado_thermostat
  • sensi_thermostat
  • sensibo_thermostat
  • smartthings_thermostat
  • ios_phone
  • android_phone
  • ring_camera
  • tapo_camera
  • arlo_camera
  • reolink_camera
  • unifi_protect_camera
  • sonos_speaker
  • alertify_sensor
  • hayward_pool_system
  • hayward_pool
String
required
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.
Array of Objects
required
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.
Boolean (Always true)
required
Indicates whether Seam manages the device. See also Managed and Unmanaged Devices.
String
Optional nickname to describe the device, settable through Seam.
Object
Properties of the device. See Common Device Properties for shared fields and provider metadata, and the property group sections below for capability-specific fields.
Device property index
Array of Strings (UUID)
required
IDs of the spaces the device is in.
Array of Objects
required
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.
String (UUID)
required
Unique identifier for the Seam workspace associated with the device.
Number
Air quality index, if the device measures it.
Number
Carbon dioxide concentration in parts per million, if the device measures it.
Number
Carbon monoxide concentration in parts per million, if the device measures it.
Number
Estimated number of occupants detected by the device.
Boolean
Indicates whether the device detects occupancy.
Boolean
Indicates whether the device detects smoking, if the device measures it.
String
Mold risk level as reported by the device, if the device measures it.
Array of Objects
Additional sensors of the same kind on the device, each with a stable sensor_name. Present only when the device has more than one sensor of a kind or no single main sensor.
Number
Noise level in decibels, if the device measures noise.
Number
Noise level as a Noise Risk Score (NRS), if the device reports one.
Number
Relative humidity, as a value between 0 and 1, inclusive, if the device measures humidity.
Number
Temperature in °C, if the device measures temperature.
Number
Temperature in °F, if the device measures temperature.
Object
Manufacturer of the device. Represents the hardware brand, which may differ from the provider.
Object
Provider of the device. Represents the third-party service through which the device is controlled.
Object
Location information for the device.

Access Codes

Boolean
Indicates whether the backup access code pool is currently enabled for the device. To disable it, set this to false using /devices/update.
Array 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.
Boolean
Indicates whether the device supports native entry events.
Object
Keypad battery status.
Number
Maximum number of active access codes that the device supports.
Array of Objects
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.
Array of Objects
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.
Array of Numbers
Supported code lengths for access codes.
Boolean
Indicates whether the device supports a backup access code pool.

Hardware

Object
Accessory keypad properties and state.
Object
required
Appearance-related properties, as reported by the device.
Object
Represents the current status of the battery charge level.
Number
Indicates the battery level of the device as a decimal value between 0 and 1, inclusive.
Boolean
Indicates whether the device has direct power.
String
Alt text for the device image.
String
Image URL for the device.
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.
String
Serial number of the device.

Locks

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

Noise Sensors

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

Thermostats

String (UUID) or null
ID of the active thermostat schedule.
Array of Enums (String)
Climate preset modes that the thermostat supports, such as “home”, “away”, “wake”, “sleep”, “occupied”, and “unoccupied”.
  • home
  • away
  • wake
  • sleep
  • occupied
  • unoccupied
Array of Objects
Available climate presets for the thermostat.
Array of Enums (String)
Fan mode settings that the thermostat supports.
  • auto
  • on
  • circulate
Array of Enums (String)
HVAC mode settings that the thermostat supports.
  • off
  • heat
  • cool
  • heat_cool
  • eco
Object
Current climate setting.
String or null
Key of the fallback climate preset for the thermostat.
Boolean
Indicates whether the connected HVAC system is currently cooling, as reported by the thermostat.
Boolean
Indicates whether the fan in the connected HVAC system is currently running, as reported by the thermostat.
Boolean
Indicates whether the connected HVAC system is currently heating, as reported by the thermostat.
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.
Number
Maximum cooling set point in °C.
Number
Maximum cooling set point in °F.
Number
Maximum heating set point in °C.
Number
Maximum heating set point in °F.
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.
Number
Maximum number of climate presets that the thermostat can support for weekly programming.
Number
Minimum cooling set point in °C.
Number
Minimum cooling set point in °F.
Number
Minimum temperature difference in °C between the cooling and heating set points when in heat-cool (auto) mode.
Number
Minimum temperature difference in °F between the cooling and heating set points when in heat-cool (auto) mode.
Number
Minimum heating set point in °C.
Number
Minimum heating set point in °F.
Number
Reported relative humidity, as a value between 0 and 1, inclusive.
Number
Reported temperature in °C.
Number
Reported temperature in °F.
Object
Current temperature threshold set for the thermostat.
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.
Array of Objects
Configured daily programs for the thermostat.
Object or null
Current weekly program for the thermostat.

The device_provider Object


Properties

Boolean
Indicates whether the thermostat can be returned to its weekly program, the schedule that is configured on the device itself, releasing any hold that Seam has set.
Boolean
Indicates whether the lock supports configuring automatic locking.
Boolean
Indicates whether the thermostat supports cooling.
Boolean
Indicates whether the thermostat supports heating.
Boolean
Indicates whether the thermostat supports simultaneous heating and cooling.
Boolean
Indicates whether the device supports programming offline access codes.
Boolean
Indicates whether the device supports programming online access codes.
Boolean
Indicates whether the thermostat supports different climate programs for each day of the week.
Boolean
Indicates whether the thermostat supports a single climate program applied to every day.
Boolean
Indicates whether the thermostat supports weekday/weekend climate programs.
Boolean
Indicates whether the device supports remote locking.
Boolean
Indicates whether the device supports remote unlocking.
Boolean
Indicates whether the thermostat supports running climate programs.
Boolean
Indicates whether the device supports simulating connection in a sandbox.
Boolean
Indicates whether the device supports simulating disconnection in a sandbox.
Boolean
Indicates whether the hub supports simulating connection in a sandbox.
Boolean
Indicates whether the hub supports simulating disconnection in a sandbox.
Boolean
Indicates whether the device supports simulating a paid subscription in a sandbox.
Boolean
Indicates whether the device supports simulating removal in a sandbox.
Boolean
Indicates whether the camera can stream live video through a camera live view session. false while the camera is offline.
Boolean
Indicates whether the thermostat can be turned off.
Boolean
Indicates whether the lock supports unlocking with an access code.
Enum (String)
required
Name of the device provider.
  • hotek
  • dormakaba_community
  • legic_connect
  • akuvox
  • august
  • avigilon_alta
  • brivo
  • butterflymx
  • schlage
  • smartthings
  • yale
  • yale_access
  • yale_home
  • genie
  • doorking
  • salto
  • salto_ks
  • salto_ks_accept
  • lockly
  • ttlock
  • linear
  • noiseaware
  • nuki
  • igloo
  • kwikset
  • minut
  • my_2n
  • controlbyweb
  • nest
  • igloohome
  • ecobee
  • four_suites
  • dormakaba_oracode
  • dormakaba_oracode_iho
  • pti
  • wyze
  • seam_passport
  • visionline
  • assa_abloy_credential_service
  • tedee
  • honeywell_resideo
  • first_alert
  • latch
  • akiles
  • assa_abloy_vostio
  • assa_abloy_vostio_credential_service
  • tado
  • salto_space
  • sensi
  • sensibo
  • keynest
  • korelock
  • keyincode
  • dormakaba_ambiance
  • ultraloq
  • yacan
  • dusaw
  • sifely
  • thirty_three_lock
  • ring
  • tapo
  • arlo
  • reolink
  • unifi_protect
  • yale_connect
  • alertify
  • ical
  • lodgify
  • hostaway
  • guesty
  • acuity_scheduling
  • omnitec
  • kisi
  • aqara
  • eufy
  • sonos
  • hayward_omnilogic
  • tuya
String
required
Display name for the device provider.
String
required
Image URL for the device provider.
Array of Enums (String)
required
List of provider categories to which the device provider belongs, such as stable, consumer_smartlocks, thermostats, and so on.
  • stable
  • consumer_smartlocks
  • beta
  • thermostats
  • noise_sensors
  • access_control_systems
  • cameras
  • connectors