Skip to main content

The device Object

Represents a device that has been connected to Seam.
{
  "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"
}
{
  "capabilities_supported": [
    "noise_detection"
  ],
  "connected_account_id": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
  "created_at": "2025-05-16T16:54:17.946049Z",
  "custom_metadata": {
    "id": "internalId1"
  },
  "device_id": "f1e2d3c4-b5a6-4d7c-8e9f-0a1b2c3d4e5f",
  "device_type": "minut_sensor",
  "display_name": "Living Room",
  "errors": [],
  "is_managed": true,
  "space_ids": [],
  "location": {
    "location_name": "Jane's Test Home",
    "timezone": "America/Los_Angeles"
  },
  "nickname": "Living Room",
  "properties": {
    "appearance": {
      "name": "Living Room"
    },
    "battery": {
      "level": 1,
      "status": "full"
    },
    "battery_level": 1,
    "currently_triggering_noise_threshold_ids": [],
    "image_alt_text": "Minut Sensor",
    "image_url": "https://connect.getseam.com/_next/image?url=https://connect.getseam.com/assets/images/devices/minut_gen-3_front.png&q=75&w=128",
    "manufacturer": "minut",
    "minut_metadata": {
      "device_id": "770cd3153deca3dee0fe0614",
      "device_location": {
        "latitude": 0,
        "longitude": 0
      },
      "device_name": "Living Room",
      "home_address": {
        "city": "San Francisco",
        "country": "US",
        "notes": "string",
        "post_code": "44210",
        "region": "San Francisco County",
        "street_name1": "2258 24th Street",
        "street_name2": ""
      },
      "home_id": "2978b6d5dba395ec08300e46",
      "home_location": {
        "latitude": 0,
        "longitude": 0
      },
      "home_name": "Jane's Test Home",
      "latest_sensor_values": {
        "accelerometer_z": {
          "time": "2025-06-16T16:54:17.946049Z",
          "value": -1.00390625
        },
        "humidity": {
          "time": "2025-06-16T16:54:17.946049Z",
          "value": 31.110000610351562
        },
        "pressure": {
          "time": "2025-06-16T16:54:17.946049Z",
          "value": 101923
        },
        "sound": {
          "time": "2025-06-16T16:54:17.946049Z",
          "value": 47.7117919921875
        },
        "temperature": {
          "time": "2025-06-16T16:54:17.946049Z",
          "value": 21.270000457763672
        }
      }
    },
    "model": {
      "display_name": "Noise Sensor",
      "manufacturer_display_name": "Minut"
    },
    "name": "Living Room",
    "noise_level_decibels": 47.7117919921875,
    "online": true
  },
  "warnings": [],
  "workspace_id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
}
{
  "can_hvac_cool": true,
  "can_hvac_heat": true,
  "can_hvac_heat_cool": true,
  "can_turn_off_hvac": true,
  "capabilities_supported": [
    "thermostat"
  ],
  "connected_account_id": "a0b1c2d3-e4f5-6a7b-8c9d-0e1f2a3b4c5d",
  "created_at": "2024-10-03T22:12:15.666Z",
  "custom_metadata": {
    "id": "internalId1"
  },
  "device_id": "a1b2c3d4-e5f6-7890-1234-56789abcdef0",
  "device_type": "ecobee_thermostat",
  "display_name": "Living Room",
  "errors": [],
  "is_managed": true,
  "space_ids": [],
  "location": {
    "location_name": "2948 20th St, San Francisco, CA, 94110, US",
    "timezone": "America/Los_Angeles"
  },
  "nickname": "Living Room",
  "properties": {
    "active_climate_preset": {
      "can_delete": true,
      "can_edit": true,
      "climate_preset_key": "sleep",
      "cooling_set_point_celsius": 23.88888888888889,
      "display_name": "Sleep",
      "fan_mode_setting": "auto",
      "heating_set_point_celsius": 17.77777777777778,
      "hvac_mode_setting": "heat_cool",
      "manual_override_allowed": true
    },
    "appearance": {
      "name": "Living Room"
    },
    "available_climate_presets": [
      {
        "climate_preset_key": "sleep",
        "can_edit": true,
        "can_delete": true,
        "can_use_with_thermostat_daily_programs": false,
        "name": "Sleep",
        "display_name": "Sleep",
        "fan_mode_setting": "auto",
        "hvac_mode_setting": "heat_cool",
        "manual_override_allowed": true,
        "cooling_set_point_celsius": 23.88888888888889,
        "heating_set_point_celsius": 17.77777777777778,
        "cooling_set_point_fahrenheit": 75,
        "heating_set_point_fahrenheit": 64
      },
      {
        "climate_preset_key": "home",
        "can_edit": true,
        "can_delete": true,
        "can_use_with_thermostat_daily_programs": false,
        "name": "Home",
        "display_name": "Home",
        "fan_mode_setting": "auto",
        "hvac_mode_setting": "heat_cool",
        "manual_override_allowed": false,
        "cooling_set_point_celsius": 23.88888888888889,
        "heating_set_point_celsius": 17.77777777777778,
        "cooling_set_point_fahrenheit": 75,
        "heating_set_point_fahrenheit": 64
      },
      {
        "climate_preset_key": "work",
        "can_edit": true,
        "can_delete": true,
        "can_use_with_thermostat_daily_programs": false,
        "name": "Work",
        "display_name": "Work",
        "fan_mode_setting": "auto",
        "hvac_mode_setting": "heat_cool",
        "manual_override_allowed": false,
        "cooling_set_point_celsius": 23.88888888888889,
        "heating_set_point_celsius": 17.77777777777778,
        "cooling_set_point_fahrenheit": 75,
        "heating_set_point_fahrenheit": 64
      }
    ],
    "available_fan_mode_settings": [
      "auto",
      "on"
    ],
    "available_hvac_mode_settings": [
      "cool",
      "heat",
      "heat_cool",
      "off"
    ],
    "current_climate_setting": {
      "display_name": "Manual Setting",
      "fan_mode_setting": "auto",
      "heating_set_point_celsius": 25,
      "heating_set_point_fahrenheit": 77,
      "hvac_mode_setting": "heat",
      "manual_override_allowed": true
    },
    "ecobee_metadata": {
      "device_name": "Living Room",
      "ecobee_device_id": "a1b2c3d4-e5f6-7890-1234-56789abcdef0"
    },
    "fallback_climate_preset_key": "eco",
    "fan_mode_setting": "auto",
    "has_direct_power": true,
    "image_alt_text": "Ecobee 3 Lite Thermostat",
    "image_url": "https://connect.getseam.com/_next/image?url=https://connect.getseam.com/assets/images/devices/ecobee_3-lite_front.png&q=75&w=128",
    "is_cooling": false,
    "is_fan_running": false,
    "is_heating": false,
    "is_temporary_manual_override_active": false,
    "manufacturer": "ecobee",
    "max_cooling_set_point_celsius": 33.333333333333336,
    "max_cooling_set_point_fahrenheit": 92,
    "max_heating_set_point_celsius": 26.11111111111111,
    "max_heating_set_point_fahrenheit": 79,
    "min_cooling_set_point_celsius": 18.333333333333336,
    "min_cooling_set_point_fahrenheit": 65,
    "min_heating_cooling_delta_celsius": 2.7777777777777777,
    "min_heating_cooling_delta_fahrenheit": 5,
    "min_heating_set_point_celsius": 7.222222222222222,
    "min_heating_set_point_fahrenheit": 45,
    "model": {
      "display_name": "Thermostat",
      "manufacturer_display_name": "Ecobee"
    },
    "name": "Living Room",
    "online": true,
    "relative_humidity": 0.36,
    "temperature_celsius": 21.11111111111111,
    "temperature_fahrenheit": 70,
    "temperature_threshold": {
      "lower_limit_celsius": 16.66666666666667,
      "lower_limit_fahrenheit": 62,
      "upper_limit_celsius": 26.66666666666667,
      "upper_limit_fahrenheit": 80
    },
    "thermostat_daily_programs": [
      {
        "thermostat_daily_program_id": "1a2b3c4d-5e6f-7890-1234-56789abcdef1",
        "device_id": "a1b2c3d4-e5f6-7890-1234-56789abcdef0",
        "name": "Weekday Program",
        "periods": [
          {
            "starts_at_time": "00:00:00",
            "climate_preset_key": "sleep"
          },
          {
            "starts_at_time": "07:00:00",
            "climate_preset_key": "home"
          },
          {
            "starts_at_time": "09:00:00",
            "climate_preset_key": "work"
          },
          {
            "starts_at_time": "18:00:00",
            "climate_preset_key": "home"
          },
          {
            "starts_at_time": "22:00:00",
            "climate_preset_key": "sleep"
          }
        ],
        "workspace_id": "9f8e7d6c-5b4a-3c2d-1e0f-9876543210ab",
        "created_at": "2025-05-30T04:01:25.455Z"
      },
      {
        "thermostat_daily_program_id": "d4e5f6a7-8b9c-0d1e-2f3a-4b5c6d7e8f90",
        "device_id": "a1b2c3d4-e5f6-7890-1234-56789abcdef0",
        "name": "Weekend Program",
        "periods": [
          {
            "starts_at_time": "00:00:00",
            "climate_preset_key": "sleep"
          },
          {
            "starts_at_time": "08:00:00",
            "climate_preset_key": "home"
          },
          {
            "starts_at_time": "23:00:00",
            "climate_preset_key": "sleep"
          }
        ],
        "workspace_id": "9f8e7d6c-5b4a-3c2d-1e0f-9876543210ab",
        "created_at": "2025-05-30T04:02:19.952Z"
      }
    ],
    "thermostat_weekly_program": null
  },
  "warnings": [],
  "workspace_id": "9f8e7d6c-5b4a-3c2d-1e0f-9876543210ab"
}

Properties

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

Access Codes

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

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
Array
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
deprecated
Active thermostat schedule.
active_thermostat_schedule_id
String (UUID)
ID of the active thermostat schedule.
available_climate_preset_modes
Array
Climate preset modes that the thermostat supports, such as “home”, “away”, “wake”, “sleep”, “occupied”, and “unoccupied”.
available_climate_presets
Array
Available climate presets for the thermostat.
available_fan_mode_settings
Array
Fan mode settings that the thermostat supports.
available_hvac_mode_settings
Array
HVAC mode settings that the thermostat supports.
current_climate_setting
Object
Current climate setting.
default_climate_setting
Object
deprecated
The default climate setting.
fallback_climate_preset_key
String
Key of the fallback climate preset for the thermostat.
fan_mode_setting
Enum (String)
deprecated
The fan mode setting.
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
Array
Configured daily programs for the thermostat.
thermostat_weekly_program
Object
Current weekly program for the thermostat.

The device_provider Object

{
  "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
Indicates whether the lock supports configuring automatic locking.
can_hvac_cool
Boolean
Indicates whether the thermostat supports cooling.
can_hvac_heat
Boolean
Indicates whether the thermostat supports heating.
can_hvac_heat_cool
Boolean
Indicates whether the thermostat supports simultaneous heating and cooling.
can_program_offline_access_codes
Boolean
Indicates whether the device supports programming offline access codes.
can_program_online_access_codes
Boolean
Indicates whether the device supports programming online access codes.
can_program_thermostat_programs_as_different_each_day
Boolean
Indicates whether the thermostat supports different climate programs for each day of the week.
can_program_thermostat_programs_as_same_each_day
Boolean
Indicates whether the thermostat supports a single climate program applied to every day.
can_program_thermostat_programs_as_weekday_weekend
Boolean
Indicates whether the thermostat supports weekday/weekend climate programs.
can_remotely_lock
Boolean
Indicates whether the device supports remote locking.
can_remotely_unlock
Boolean
Indicates whether the device supports remote unlocking.
can_run_thermostat_programs
Boolean
Indicates whether the thermostat supports running climate programs.
can_simulate_connection
Boolean
Indicates whether the device supports simulating connection in a sandbox.
can_simulate_disconnection
Boolean
Indicates whether the device supports simulating disconnection in a sandbox.
can_simulate_hub_connection
Boolean
Indicates whether the hub supports simulating connection in a sandbox.
can_simulate_hub_disconnection
Boolean
Indicates whether the hub supports simulating disconnection in a sandbox.
can_simulate_paid_subscription
Boolean
Indicates whether the device supports simulating a paid subscription in a sandbox.
can_simulate_removal
Boolean
Indicates whether the device supports simulating removal in a sandbox.
can_turn_off_hvac
Boolean
Indicates whether the thermostat can be turned off.
can_unlock_with_code
Boolean
Indicates whether the lock supports unlocking with an access code.
device_provider_name
Enum (String)
Name of the device provider.
display_name
String
Display name for the device provider.
image_url
String
Image URL for the device provider.
provider_categories
Array
List of provider categories to which the device provider belongs, such as stable, consumer_smartlocks, thermostats, and so on.