LogoLogo
Sign UpSupported Devices
  • Seam Documentation
  • 🚲Quick Start
  • 🚀Go Live!
  • Core Concepts
    • Overview
    • Seam Console
      • Seam Online CLI
    • Workspaces
    • Authentication
      • API Keys
      • Personal Access Tokens
      • Client Sessions and Client Session Tokens
        • Implementing Client Sessions for Device Management in the Backend
    • Connect Webviews
      • Connect Webview Process
      • Embedding a Connect Webview in Your App
      • Verifying Successful Account Connection
      • Retrieving Devices or Access Control Systems Connected Through a Connect Webview
      • Attaching Custom Metadata to the Connect Webview
      • Filtering Connect Webviews by Custom Metadata
      • Customizing Connect Webviews
    • Devices
      • Displaying Device Health
      • Displaying Device Power Status
      • Managed and Unmanaged Devices
      • Adding Custom Metadata to a Device
      • Filtering Devices by Custom Metadata
      • Handling Device Errors
      • Testing Your App Against Device Disconnection and Removal
    • Providers
      • Provider Metadata
    • Connected Accounts
      • Adding Custom Metadata to a Connected Account
      • Filtering Connected Accounts by Custom Metadata
      • Reconnecting an Account
    • Action Attempts
  • Capability Guides
    • 📋Device and System Capabilities
    • 🔒Smart Locks
      • Locking and Unlocking Smart Locks
      • Creating and Managing Smart Lock Access Codes
        • Creating Access Codes
          • Understanding Code Constraints
        • Retrieving Access Codes
        • Modifying Access Codes
        • Deleting Access Codes
        • Lifecycle of Access Codes
        • Access Code Requirements for Door Locks
        • Streamlining Access Code Management from the Manufacturer App
        • Troubleshooting Access Codes
        • Managing Backup Access Codes
        • Managing Offline Access Codes
        • Creating and Updating Multiple Linked Access Codes
        • Migrating Existing Unmanaged Access Codes
    • 🏢Access Control Systems
      • ACS Quick Starts
        • PIN Code Quick Start
        • Encodable Key Card Quick Start
        • Mobile Key Quick Start
      • Connect an ACS to Seam
        • Retrieving ACS System Details
        • Access Control System Resources
        • Understanding Access Control System Differences
      • Managing ACS Users
        • Suspending and Unsuspending ACS Users
        • Assigning ACS Users to Access Groups
      • Retrieving Entrance Details
      • Managing Credentials
        • Assigning Credentials to ACS Users
        • Listing Credentials and Associated Entrances
      • Working with Card Encoders and Scanners
        • Creating and Encoding Card-based Credentials
        • Scanning Encoded Cards
      • Troubleshooting Your Access Control System
    • 📱Mobile Access
      • Prepare your Workspace
      • Managing Mobile App User Accounts with User Identities
      • Managing Phones for a User Identity
      • Issuing Mobile Credentials from an Access Control System
      • Developing in a Sandbox Workspace
      • Integrating into your Mobile Application
        • Initializing the Seam Mobile SDK
        • Handling System Permissions
        • Using Unlock With Tap
    • 🌡️Thermostats
      • Understanding Thermostat Concepts
        • HVAC Mode
        • Set Points
      • Retrieving Thermostats
      • Setting and Monitoring Temperature Thresholds
      • Setting the Current HVAC and Fan Mode Settings
      • Creating and Managing Climate Presets
        • Setting the Fallback Climate Preset
        • Activating a Climate Preset
      • Creating and Managing Thermostat Schedules
      • Creating and Managing Thermostat Programs
      • Testing Your Thermostat App with Simulate Endpoints
    • 👂Noise Sensors
      • Configuring Noise Threshold Settings
    • 📡Seam Bridge
  • 💻UI Components
    • 🧱Seam Components
      • Getting Started with Seam Components
        • Get Started with React
        • Get started with Angular
        • Get started with Vue
        • Get started with Client Side Components
      • Components
        • Device Details
        • Device Table
        • Access Code Table
        • Access Code Details
        • Create Access Code Form
        • Update Access Code Form
        • Supported Devices Table
        • Seam Provider
        • Connect Account Button
      • Make a Supported Devices Page
      • Using User Identities to Scope Users' Device Access
  • 📋API Reference
    • Overview
    • Installation
    • Authentication
    • Access Codes
      • Create an Access Code
      • Create Multiple Linked Access Codes
      • List Access Codes
      • Get an Access Code
      • Update an Access Code
      • Update Multiple Linked Access Codes
      • Delete an Access Code
      • Pull a Backup Access Code
      • Report Device Access Code Constraints
      • Unmanaged Access Codes
        • List Unmanaged Access Codes
        • Get an Unmanaged Access Code
        • Convert an Unmanaged Access Code
        • Update an Unmanaged Access Code
        • Delete an Unmanaged Access Code
      • Access Code Simulations
        • Simulate Creating an Unmanaged Access Code
    • Access Control Systems (ACS)
      • Systems
        • List ACS Systems
        • Get an ACS System
        • List Compatible Credential Manager ACS Systems
      • ACS Users
        • Create an ACS User
        • List ACS Users
        • Get an ACS User
        • Update an ACS User
        • Suspend an ACS User
        • Unsuspend an ACS User
        • Delete an ACS User
        • Add an ACS User to an Access Group
        • Remove an ACS User from an Access Group
      • Entrances
        • List Entrances
        • Get an Entrance
        • List Credentials with Access to an Entrance
      • Access Groups
        • List Access Groups
        • Get an Access Group
        • Add an ACS User to an Access Group
        • Remove an ACS User from an Access Group
        • List ACS Users in an Access Group
      • Credentials
        • Create a Credential for an ACS User
        • Assign a Credential to an ACS User
        • List Credentials
        • Get a Credential
        • Update a Credential
        • Unassign a Credential from an ACS User
        • Delete a Credential
        • List Accessible Entrances
      • Encoders
        • Encode a Credential
        • List Encoders
        • Get an Encoder
        • Scan a Credential
        • Encoder Simulations
          • Simulate that the Next Credential Encoding Will Fail
          • Simulate that the Next Credential Encoding Will Succeed
          • Simulate that the Next Credential Scan Will Fail
          • Simulate that the Next Credential Scan Will Succeed
    • Action Attempts
      • Get Action Attempt
    • Client Sessions
      • Create a Client Session
      • Get or Create a Client Session
      • List Client Sessions
      • Get a Client Session
      • Grant Access to a Client Session
      • Delete a Client Session
    • Connect Webviews
      • Create a Connect Webview
      • List Connect Webviews
      • Get a Connect Webview
      • Delete a Connect Webview
    • Connected Accounts
      • Get a Connected Account
      • List Connected Accounts
      • Update a Connected Account
      • Delete a Connected Account
    • Devices
      • List Devices
      • List Device Providers
      • Get a Device
      • Update a Device
      • Unmanaged Devices
        • Update an Unmanaged Device
        • List Unmanaged Devices
        • Get an Unmanaged Device
    • Events
      • List Events
      • Get an Event
    • Locks
      • Get Lock
      • Lock a Lock
      • Unlock a Lock
      • List Locks
    • Noise Sensors
      • Noise Thresholds
        • Create Noise Thresholds
        • List Noise Thresholds
        • Update Noise Threshold
        • Delete Noise Threshold
    • Phones
      • Get a Phone
      • List Phones
      • Deactivate a Phone
      • Phone Simulations
        • Create a Sandbox Phone
    • Thermostats
      • List Thermostats
      • Set to Heat Mode
      • Set to Cool Mode
      • Set to Heat-Cool (Auto) Mode
      • Set to Off Mode
      • Set the HVAC Mode
      • Set Fan Mode
      • Activate a Climate Preset
      • Create a Climate Preset
      • Update a Climate Preset
      • Delete a Climate Preset
      • Set a Fallback Climate Preset
      • Set a Temperature Threshold
      • Thermostat Schedules
        • Get a Thermostat Schedule
        • List Thermostat Schedules
        • Create a Thermostat Schedule
        • Update a Thermostat Schedule
        • Delete a Thermostat Schedule
      • Thermostat Simulations
        • Temperature Reached
        • HVAC Mode Adjusted
    • User Identities
      • Create a User Identity
      • List User Identities
      • Get a User Identity
      • Update a User Identity
      • Add an ACS User to a User Identity
      • List ACS Users Associated with a User Identity
      • List ACS Systems Associated with a User Identity
      • Remove an ACS User from a User Identity
      • Grant a User Identity Access to a Device
      • List Accessible Devices for a User Identity
      • Revoke Access to a Device from a User Identity
      • Delete a User Identity
      • Enrollment Automations
        • Launch an Enrollment Automation
        • List Enrollment Automations
        • Get an Enrollment Automation
        • Delete an Enrollment Automation
    • Workspaces
      • Get Workspace
      • Reset Workspace
  • 🛠️Developer Tools
    • Webhooks
    • Seam CLI
    • Sandbox Devices and Systems
      • Sandbox 2N Intercoms
      • Sandbox 4SUITES Locks
      • Sandbox Akiles Locks
      • Sandbox ASSA ABLOY Credential Services
      • Sandbox ASSA ABLOY Visionline Access Control System
      • Sandbox August Locks
      • Sandbox Avigilon Alta Access System
      • Sandbox Brivo Access
      • Sandbox ControlByWeb Relays
      • Sandbox Doorking Callboxes
      • Sandbox dormakaba Oracode Locks
      • Sandbox ecobee Thermostats
      • Sandbox Genie Garage Openers
      • Sandbox Google Nest Thermostats
      • Sandbox Honeywell Resideo Thermostats
      • Sandbox igloohome Locks
      • Sandbox Kwikset Locks
      • Sandbox Latch Access Control System
      • Sandbox Linear Callboxes
      • Sandbox Lockly Locks
      • Sandbox Minut Sensors
      • Sandbox NoiseAware Sensors
      • Sandbox Nuki Locks
      • Sandbox PTI Storlogix Cloud
      • Sandbox Salto KS Access Control System
      • Sandbox Salto Locks
      • Sandbox Salto Space Access System
      • Sandbox Schlage Encode Locks
      • Sandbox Seam Bridge
      • Sandbox Sensi Thermostats
      • Sandbox SmartThings Hub
      • Sandbox Tedee Locks
      • Sandbox TTLock Locks
      • Sandbox Wyze Locks
      • Sandbox Yale Locks
    • Rate Limits and Guardrails
    • Mobile SDKs
      • Android SDK
      • iOS SDK
  • 🎛️Device and System Integration Guides
    • Overview
    • 2N Intercom Systems
      • Get started with 2N Intercoms
    • 33 Lock Devices
      • Get started with 33 Lock devices
    • 4SUITES Locks
      • Get started with 4SUITES locks
    • Akiles Locks
      • Get started with Akiles locks
    • ASSA ABLOY Credential Services
    • ASSA ABLOY Visionline Access Control System
      • Visionline ACS Setup Instructions
        • Developing and Launching Your Visionline Plastic Card Encoding App
          • Developing Your Visionline Plastic Card Encoding App Using a Real Visionline Server
            • Step 1: Install Your Visionline Application
            • Step 2: Unblock Required Ports
            • Step 3: Configure a Visionline User Account
            • Step 4: Install a Visionline Card Encoder
            • Step 5: Set up Door Locks
            • Step 6: Program Door Locks
            • Step 7: Create a Production Workspace
            • Step 8: Connect Your Visionline Development Account to Seam
            • Next Steps
          • Developing Your Visionline Plastic Card Encoding App Using a Sandbox Workspace
            • Step 1: Create a Sandbox Workspace
            • Step 2: Connect the Virtual Visionline ACS to Seam
            • Next Steps
          • Launching Your Visionline Plastic Card Encoding App to a Live Site
            • Step 1: Confirm That Your Visionline Site Meets the Requirements
            • Step 2: Configure a Visionline User Account
            • Step 3: Purchase and Import the Callback Option from ASSA ABLOY
            • Step 4: Create a Production Workspace
            • Step 5: Connect Your Visionline Production Account to Seam
        • Developing and Launching Your Visionline Mobile Key App
          • Developing Your Visionline Mobile Key App
            • Step 1: Complete the ASSA ABLOY Mobile Development Course
            • Step 2: Install Your Visionline Application
            • Step 3: Unblock Required Ports
            • Step 4: Configure a Visionline User Account
            • Step 5: Set up Your Credential Services Account in Visionline
            • Step 6: Configure the Mobile Access UUID in Visionline
            • Step 7: Set up Door Locks with BLE Profiles
            • Step 8: Program Door Locks
            • Step 9: Create a Production Workspace
            • Step 10: Connect Your Visionline Development Account to Seam
            • Next Steps
          • Launching Your Visionline Mobile Key App
            • Step 1: Obtain ASSA ABLOY Certification for Your Mobile Key App
            • Step 2: Confirm That Your Visionline Site Meets the Requirements
            • Step 3: Confirm BLE Module on All Locks
            • Step 4: Set up Door Locks with BLE Profiles
            • Step 5: Program Door Locks
            • Step 6: Configure a Visionline User Account
            • Step 7: Purchase and Import the Callback and Mobile Service Options from ASSA ABLOY
            • Step 8: Create a Production Workspace
            • Step 9: Connect Your Visionline Production Account to Seam
      • Configuring Visionline Mobile Credentials
        • Issuing Various Types of Guest Mobile Credentials
        • Issuing Various Types of Guest Joiner Mobile Credentials
        • Retrieving Guest and Common Entrances
        • Checking if a User Identity Has a Phone That Is Set up for a Credential Manager
        • Updating Guest Mobile Credentials
        • Revoking Mobile Credentials
      • Mobile Credential-Related Properties
      • Common Use Cases
      • Special Requirements for Android Mobile Access SDK Development
      • Special Requirements for iOS Mobile Access SDK Development
      • Creating Visionline Card-based Credentials
    • August Locks
      • Get started with August locks
    • Avigilon Alta Access System
    • Brivo Access
    • Get started with ControlByWeb Devices
    • dormakaba Oracode Locks
      • Get started with dormakaba Oracode Locks
      • Creating dormakaba Oracode Offline Access Codes
    • ecobee Thermostats
      • Get Started with ecobee Thermostats
    • Google Nest Thermostats
      • Get Started with Nest Thermostats
      • Obtain Google Nest Device Access and Commercial Development
    • Honeywell Resideo Thermostats
      • Get Started with Honeywell Resideo Thermostats
    • igloohome Locks
      • Get started with igloohome Locks
      • Creating igloohome Offline Access Codes
    • Kwikset Locks
      • Get started with Kwikset Wi-Fi Locks
    • Latch Access Control System
      • Latch ACS Setup Instructions
      • Programming Code-Based Latch Credentials
      • Programming Latch ACS Mobile Credentials
    • Lockly Locks
      • Creating Lockly Offline Access Codes
    • Minut Sensors
      • Get started with Minut Sensors
    • NoiseAware Sensors
      • Get started with NoiseAware Sensors
    • Nuki Locks
      • Get Started with Nuki Locks
    • PTI Storlogix Cloud
    • Salto KS Access Control System
      • Salto KS Setup Instructions
      • Programming Salto KS PIN Code Credentials
      • Programming Salto KS Mobile Credentials
      • Special Requirements for Android Mobile Access SDK Development
    • Salto KS Locks
      • Get started with Salto KS Locks
    • Salto ProAccess Space Access System
      • Salto Space Setup Instructions
      • Programming Salto Space Card-based Credentials
      • Programming Salto Space Mobile Credentials
    • Schlage Locks
      • Schlage Locks Setup Instructions
      • Get started with Schlage Locks
    • Sensi Thermostats
      • Get Started with Sensi Thermostats
    • Get started with SmartThings Hubs + Smart Locks
    • Tedee Locks
      • Get Started with Tedee Locks
    • TTLock Locks
      • Get started with TTLock Locks
    • Wyze Locks
      • Get started with Wyze Locks
    • Yale Locks
      • Get started with Yale Locks
    • Get started with Smart Locks
  • Device Manufacturer Guidance
    • Creating a Seam-Compatible Intercom API
      • Creating OAuth Endpoints
      • Creating Intercom CRUD Endpoints
      • Creating Access Code CRUD Endpoints
      • Creating the Health Endpoint
    • Creating a Seam-Compatible Door Locks API
      • Creating OAuth Endpoints
      • Creating Door Lock CRUD Endpoints
      • Creating Access Code CRUD Endpoints
      • Creating the Health Endpoint
Powered by GitBook
LogoLogo

Get Started

  • Sign Up
  • Supported Devices

News

  • Changelog
  • Blog

Company

  • About
  • Privacy Notice

© Seam Labs, Inc. All rights reserved.

On this page
  • device Properties
  • capabilities_supported Values
  • device.properties Properties
  • location Properties
  • accessory_keypad Properties
  • Keypad battery Properties
  • keypad_battery Properties
  • model Properties
  • Device battery Properties
  • current_climate_setting Properties
  • available_climate_presets Properties
  • active_thermostat_schedule Properties
  • temperature_threshold Properties
  • Device Error Types
  • Generic Errors
  • Specific Errors
  • Device Warning Types
  • device Methods

Was this helpful?

Edit on GitHub
  1. API Reference

Devices

A device that has been connected to Seam

PreviousDelete a Connected AccountNextList Devices

Last updated 10 days ago

Was this helpful?

The device object represents a that has been connected to Seam.

device Properties

The device object has the following properties:

Property
Type
Description

device_id

String (UUID) Required

Unique identifier for the device.

device_type

String Required

Type of the device.

display_name

String Required

Display name for the device.

capabilities_supported

Array of strings Required

properties

Object

Required

location

Object Optional

connected_account_id

String (UUID) Required

workspace_id

String (UUID) Required

errors

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.

warnings

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.

created_at

String (datetime) Required

Date and time at which the device object was created.

is_managed

Boolean Required

Indicates whether Seam manages the device.

custom_metadata

JSON object Optional

Set of custom_metadata for the device.

Specify up to 50 keys, with key names up to 40 characters long. Accepts string or Boolean values. Strings are limited to 500 characters.

can_remotely_unlock

Boolean Optional

can_remotely_lock

Boolean Optional

can_program_online_access_codes

Boolean Optional

can_program_offline_access_codes

Boolean Optional

can_hvac_heat

Boolean Optional

can_hvac_cool

Boolean Optional

can_hvac_heat_cool

Boolean Optional

can_turn_off_hvac

Boolean Optional

can_simulate_removal

Boolean Optional

can_simulate_connection

Boolean Optional

can_simulate_disconnection

Boolean Optional

capabilities_supported Values

Capability
Description

access_code

If present, the device can manage and utilize digital PIN codes for secure access.

lock

If present, the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points.

noise_detection

If present, the device supports monitoring and responding to ambient noise levels.

thermostat

If present, the device can regulate and adjust indoor temperatures.

battery

If present, the device can manage battery life and health.

phone

If present, the device is a mobile phone.

device.properties Properties

Property
Type
Description

online

Boolean Required

Indicates whether the device is online.

accessory_keypad

Object Optional

appearance

Object Required

Appearance-related properties, including the read-only name of the device, as seen from the provider API and application.

model

Object Required

has_direct_power

Boolean Optional

Indicates whether the device has direct power.

battery_level

Number Required

battery

Object Optional

Device battery properties.

manufacturer

String Optional

image_url

String (URL) Optional

Image URL for the device or placeholder image URL if a device-specific image is unavailable.

image_alt_text

String Optional

Alternative text for the device image.

serial_number

String Optional

Serial number of the device.

online_access_codes_enabled

Boolean Optional

offline_access_codes_enabled

Boolean Optional

noise_level_decibels

Number Optional

Current noise level in decibels, if the device supports noise detection.

currently_triggering_noise_threshold_ids

Array of strings Optional

Array of noise threshold IDs that are currently triggering.

code_constraints

Array of objects Optional

Constraints on access codes that can be set on the device.

supported_code_lengths

Array of numbers Optional

Supported code lengths for the device.

For example, [4,5] means that 1234 and 12345 are valid codes, but 123 and 123456 are invalid codes. Applicable to devices that support access codes.

max_active_codes_supported

Number Optional

Maximum number of codes that can exist on the device at one time. Applicable to devices that support access codes.

supports_backup_access_code_pool

Boolean Optional

has_native_entry_events

Boolean Optional

Indicates whether Seam receives lock and unlock events from the device provider.

locked

Boolean Optional

Indicates whether the device is locked.

Applicable to locks. If the device is offline, Seam does not return this property.

keypad_battery

Object Optional

Keypad battery properties.

Applicable to locks.

door_open

Boolean Optional

Indicates whether the door is open.

Applicable to locks. If the device is offline, Seam does not return this property.

temperature_fahrenheit

Number Required

Temperature, measured in Fahrenheit. Applicable to thermostats.

temperature_celsius

Number Required

Temperature, measured in Celsius. Applicable to thermostats.

relative_humidity

Number Required

Relative humidity, the amount of moisture in the air compared to the maximum amount of moisture the air can hold at a given temperature. It is a percentage expressed as a number between 0 and 1, inclusive. Applicable to thermostats.

available_hvac_mode_settings

Array of enums (strings)

List of the available HVAC mode settings for the thermostat. Possible values:

  • cool

  • heat

  • heat_cool

  • off

Applicable to thermostats.

available_fan_mode_settings

Array of enums (strings)

List of the available fan mode settings for the thermostat. Possible values:

  • auto

  • on

  • circulate

Applicable to thermostats.

is_heating

Boolean Required

Indicates whether the heating system is currently heating. Applicable to thermostats.

is_cooling

Boolean Required

Indicates whether the cooling system is currently cooling. Applicable to thermostats.

is_fan_running

Boolean Required

Indicates whether the fan is currently running. Applicable to thermostats.

fan_mode_setting

Enum (string) Required

Fan mode setting of the thermostat.

Deprecated. Use current_climate_setting.fan_mode_setting instead.

Applicable to thermostats.

is_temporary_manual_override_active

Boolean Required

Indicates whether the current thermostat settings differ from the configured current_climate_setting. Applicable to thermostats.

current_climate_setting

Object Required

default_climate_setting

Object Required

available_climate_presets

Array of objects Required

fallback_climate_preset_key

String Optional

active_thermostat_schedule

Object Optional

min_cooling_set_point_celsius

Number Required

min_cooling_set_point_fahrenheit

Number Required

max_cooling_set_point_celsius

Number Required

max_cooling_set_point_fahrenheit

Number Required

min_heating_set_point_celsius

Number Required

min_heating_set_point_fahrenheit

Number Required

max_heating_set_point_celsius

Number Required

max_heating_set_point_fahrenheit

Number Required

min_heating_cooling_delta_celsius

Number Required

Minimum temperature difference—that is, delta—in degrees Celsius between the cooling and heating set points when in heat-cool (auto) mode. Applicable to thermostats.

min_heating_cooling_delta_fahrenheit

Number Required

Minimum temperature difference—that is, delta—in degrees Fahrenheit between the cooling and heating set points when in heat-cool (auto) mode. Applicable to thermostats.

temperature_threshold

Object Optional

XXX_metadata

Object

Manufacturer-specific metadata for the device, where XXX is the manufacturer.

location Properties

Property
Type
Description

location_name

String

Read-only name of the device location.

timezone

String

Read-only time zone of the device location, as a name from the IANA time zone database.

accessory_keypad Properties

Property
Type
Description

is_connected

Boolean Required

Indicates whether the accessory keypad is connected to the device.

battery

Object Optional

Keypad battery Properties

Property
Type
Description

level

Number Required

Indicates the battery level of the keypad as a decimal value between 0 and 1, inclusive.

keypad_battery Properties

Property
Type
Description

level

Number Required

Indicates the battery level of the keypad as a decimal value between 0 and 1, inclusive.

model Properties

Property
Type
Description

can_connect_accessory_keypad

Boolean Optional

Indicates whether the device can connect a accessory keypad.

display_name

String Required

Display name of the device model.

manufacturer_display_name

String Required

Display name that corresponds to the manufacturer-specific terminology for the device.

has_built_in_keypad

Boolean Optional

Indicates whether the device has a built in accessory keypad.

offline_access_codes_supported

Boolean Optional

online_access_codes_supported

Boolean Optional

accessory_keypad_supported

Boolean Optional

Indicates whether the device supports an accessory keypad. Deprecated. Use device.properties.model.can_connect_accessory_keypad instead.

Device battery Properties

If the device is offline, Seam does not return these properties.

Property
Type
Description

level

Number Required

Indicates the battery level of the device as a decimal value between 0 and 1, inclusive.

status

Enum (string) Required

Represents the current status of the battery charge level.

Values are:

  • critical: Indicates an extremely low level, suggesting imminent shutdown or an urgent need for charging.

  • low: Signifies that the battery is under the preferred threshold and should be charged soon.

  • good: Denotes a satisfactory charge level, adequate for normal use without the immediate need for recharging.

  • full: Represents a battery that is fully charged, providing the maximum duration of usage.

current_climate_setting Properties

Property
Type
Description

climate_preset_key

String Required

can_edit

Boolean Required

Indicates whether the current climate preset can be edited.

can_delete

Boolean Required

Indicates whether the current climate preset can be deleted.

name

String Optional

User-friendly name to identify the current climate preset.

display_name

String Required

Display name for the current climate preset.

fan_mode_setting

Enum (string) Required

Possible values:

  • auto

  • on

  • circulate

hvac_mode_setting

Enum (string) Required

Possible values:

  • cool

  • heat

  • heat_cool

  • off

cooling_set_point_celsius

Number Optional

heating_set_point_celsius

Number Optional

Temperature to which the thermostat should currently heat (in °C).

cooling_set_point_fahrenheit

Number Optional

Temperature to which the thermostat should currently cool (in °F).

heating_set_point_fahrenheit

Number Optional

Temperature to which the thermostat should currently heat (in °F).

manual_override_allowed

Boolean Required

Indicates whether another user can use the thermostat or API to override this climate setting. Deprecated. Use thermostat_schedule.is_override_allowed instead.

available_climate_presets Properties

Property
Type
Description

climate_preset_key

String Required

can_edit

Boolean Required

Indicates whether the climate preset can be edited.

can_delete

Boolean Required

Indicates whether the climate preset can be deleted.

name

String Optional

User-friendly name to identify the climate preset.

display_name

String Required

Display name for the climate preset.

fan_mode_setting

Enum (string) Required

Possible values:

  • auto

  • on

  • circulate

hvac_mode_setting

Enum (string) Required

Possible values:

  • cool

  • heat

  • heat_cool

  • off

cooling_set_point_celsius

Number Optional

heating_set_point_celsius

Number Optional

Temperature to which the thermostat should heat (in °C).

cooling_set_point_fahrenheit

Number Optional

Temperature to which the thermostat should cool (in °F).

heating_set_point_fahrenheit

Number Optional

Temperature to which the thermostat should heat (in °F).

manual_override_allowed

Boolean Required

Indicates whether another user can use the thermostat or API to override this climate setting. Deprecated. Use thermostat_schedule.is_override_allowed instead.

active_thermostat_schedule Properties

Property
Type
Description

thermostat_schedule_id

String (UUID) Required

device_id

String (UUID) Required

ID of the thermostat device.

name

String Optional

User-friendly name to identify the thermostat schedule.

climate_preset_key

String Required

max_override_period_minutes

Integer Required

starts_at

String (Datetime) Required

is_override_allowed

Boolean Optional

Indicates whether a person at the thermostat or using the API can change the thermostat's settings.

ends_at

String (Datetime) Required

created_at

String (Datetime) Required

Date and time at which the thermostat schedule was created.

errors

Array of objects Optional

Array of errors associated with the thermostat schedule. 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.

temperature_threshold Properties

Property
Type
Description

lower_limit_celsius

Number Optional

Lower acceptable temperature bound in degrees Celsius.

lower_limit_fahrenheit

Number Optional

Lower acceptable temperature bound in degrees Fahrenheit.

upper_limit_celsius

Number Optional

Upper acceptable temperature bound in degrees Celsius.

upper_limit_fahrenheit

Number Optional

Upper acceptable temperature bound in degrees Fahrenheit.

Device Error Types

Errors are returned in a list. For example:

"errors": [
  {
    "is_device_error": true,
    "error_code": "device_disconnected",
    "message": "Device Disconnected, you may need to reconnect the device.",
    "created_at": "2023-06-27T22:50:19.440Z
  }
]

Generic Errors

Seam recommends adding error handling logic to you app for each generic error in this table. Seam may add more generic errors in the future, so your app should include a fallback case if it encounters an unknown generic error code.

Error Type
Description

device_disconnected

Device is disconnected.

device_removed

Device has been removed from the connected account. Seam can no longer sync with this device.

hub_disconnected

The hub that the device is connected to is offline. Seam is unable to sync updates to this device.

Specific Errors

If the connected account associated with a device has an error, it is attached to the device alongside any other device errors. Treat these errors as specific errors.

Error Type
Description

missing_device_credentials

ttlock_lock_not_paired_to_gateway

The lock is not paired with a gateway. Seam cannot unlock or program access codes on the lock. Add a gateway to enable support.

Device Warning Types

Warnings are returned in a list. For example:

"warnings": [
  {
    "warning_code": "device_has_flaky_connection",
    "message": "Device has a flaky connection to the internet.",
    "created_at": "2023-06-27T22:50:19.440Z
  }
]
Warning Type
Description

device_has_flaky_connection

Device has a flaky connection to the internet.

third_party_integration_detected

We detected that another third-party service (for example, Operto) is being used to manage this device. This situation may cause access codes that Seam sets to fail because the third-party service is making modifications to Seam codes.

salto_office_mode

Lock is in office mode. Access codes will not unlock doors. You can disable office mode in the Salto dashboard.

salto_privacy_mode

Lock is in privacy mode. Access Codes will not unlock doors. You can disable privacy mode by pressing the back of the lock.

ttlock_lock_gateway_unlocking_not_enabled

Turn on the remote unlock feature in the lock settings to enable unlocks. This feature must be turned on from the mobile app while near the door lock.

device Methods

You can perform the following actions on device objects:

Collection of capabilities that the device supports when connected to Seam. See . Important: Superseded by .

Properties of the device. See .

Read-only location information for the device. See .

ID of the associated with the device.

ID of the that contains the device.

message provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it. See .

message provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it. See .

Indicates whether the device can perform a . See .

Indicates whether the device can perform a . See .

Indicates whether the device can . See .

Indicates whether the device can . See .

Indicates whether the thermostat device (in conjunction with the associated HVAC system) supports . See .

Indicates whether the thermostat device (in conjunction with the associated HVAC system) supports . See .

Indicates whether the thermostat device (in conjunction with the associated HVAC system) supports . See .

Indicates whether the thermostat device (in conjunction with the associated HVAC system) supports . See .

Indicates whether you can simulate removal of the . See .

Indicates whether you can simulate connection (or reconnection) of the . See .

Indicates whether you can simulate disconnection of the . See .

Superseded by .

Accessory keypad state. See .

Device model properties. See .

Indicates the battery level of the device as a decimal value between 0 and 1, inclusive. If the device is offline, Seam does not return this property. Deprecated. Use instead.

If the device is offline, Seam does not return this property. See .

Manufacturer of the device. See .

Indicates whether it is currently possible to use for the device. Superseded by the device.properties.can_program_online_access_codes .

Indicates whether it is currently possible to use for the device. Superseded by the device.properties.can_program_offline_access_codes .

Applicable to devices that support access codes. See .

Indicates whether the device supports . Applicable to devices that support access codes.

See .

Current climate setting for the thermostat. Applicable to thermostats. See .

Deprecated. Use fallback_climate_preset_key to instead.

Set of that are available for the thermostat device. See .

Key that identifies the current .

Currently active . See .

Minimum cooling that this thermostat supports, measured in Celsius. Applicable to thermostats.

Minimum cooling that this thermostat supports, measured in Fahrenheit. Applicable to thermostats.

Maximum cooling that this thermostat supports, measured in Celsius. Applicable to thermostats.

Maximum cooling that this thermostat supports, measured in Fahrenheit. Applicable to thermostats.

Minimum heating that this thermostat supports, measured in Celsius. Applicable to thermostats.

Minimum heating that this thermostat supports, measured in Fahrenheit. Applicable to thermostats.

Maximum heating that this thermostat supports, measured in Celsius. Applicable to thermostats.

Maximum heating that this thermostat supports, measured in Fahrenheit. Applicable to thermostats.

Acceptable temperature bounds consisting of a temperature range or single upper or lower temperature. Seam emits a thermostat.temperature_threshold_exceeded event if the thermostat reports a temperature outside the specified threshold. See .

Keypad battery properties. See .

Indicates whether the device supports . Superseded by the device.properties.can_program_offline_access_codes .

Indicates whether the device supports . Superseded by the device.properties.can_program_online_access_codes .

Unique key to identify the current .

Current desired .

Current desired .

Temperature to which the thermostat should currently cool (in °C). See also .

Unique key to identify the .

Desired .

Desired .

Temperature to which the thermostat should cool (in °C). See also .

ID of the active .

Key of the to use for the thermostat schedule.

Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled climate preset. See also .

Date and time at which the thermostat schedule starts, in format.

Date and time at which the thermostat schedule ends, in format.

When Seam is able to provide more specific information beyond one of the , one or more errors from the list of specific errors may appear. This gives your app the option to display additional context or suggest provider specific resolutions.

Missing device credentials. Create a new to provide the credentials.

📋
device
List devices
List device providers
Get a device
Update a device
List unmanaged devices
Get an unmanaged devices
Update an unmanaged device
generic errors
connected account
workspace
sandbox device
Testing Your App Against Device Disconnection and Removal
sandbox device
Testing Your App Against Device Disconnection and Removal
sandbox device
Testing Your App Against Device Disconnection and Removal
backup access code pools
specify a fallback climate preset
fallback climate preset
climate preset
Set Points
climate preset
Set Points
thermostat schedule
climate preset
ISO 8601
ISO 8601
Connect Webview
device.properties Properties
location Properties
Device Error Types
Device Warning Types
accessory_keypad Properties
model Properties
device.properties.battery.level
Devicebattery Properties
Device Manufacturers
Access Code Constraints
keypad_battery Properties
current_climate_setting Properties
climate presets
available_climate_presets Properties
thermostat schedule
active_thermostat_schedule Properties
set point
set point
set point
set point
set point
set point
set point
set point
temperature_threshold Properties
Keypad battery Properties
remote unlock operation
remote lock operation
program online access codes
program offline access codes
heat mode
cool mode
heat-cool (auto) mode
off mode
online access codes
offline access codes
offline access codes
online access codes
capabilities_supported Values
capability flags
capability flags
Capability Flags
Capability Flags
Capability Flags
Capability Flags
Capability Flags
Capability Flags
Capability Flags
Capability Flags
capability flag
capability flag
capability flag
capability flag
fan mode setting
HVAC mode setting
fan mode setting
HVAC mode setting
Specifying Manual Override Permissions