# Devices

## The device Object

* [Properties](#properties)
* [device.properties](#device.properties)
* [Errors](#errors)
* [Warnings](#warnings)
* [Events](#events)
* [Endpoints](#endpoints)

Represents a [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) that has been connected to Seam.

{% tabs %}
{% tab title="Lock Device" %}
A lock device resource.

```json
{
  "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"
}
```

{% endtab %}

{% tab title="Noise Sensor Device" %}
A noise sensor device resource.

```json
{
  "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"
}
```

{% endtab %}

{% tab title="Thermostat Device" %}
A thermostat device resource.

```json
{
  "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"
}
```

{% endtab %}
{% endtabs %}

***

## Properties

**`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](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/device-and-system-capabilities#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](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview), [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts/adding-custom-metadata-to-a-connected-account), or [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices/adding-custom-metadata-to-a-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.

<details>

<summary>Enum values</summary>

* `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`
* `seam_relay`
* `smartthings_lock`
* `wyze_lock`
* `yale_lock`
* `two_n_intercom`
* `controlbyweb_device`
* `ttlock_lock`
* `igloohome_lock`
* `hubitat_lock`
* `four_suites_door`
* `dormakaba_oracode_door`
* `tedee_lock`
* `akiles_lock`
* `ultraloq_lock`
* `keynest_key`
* `noiseaware_activity_zone`
* `minut_sensor`
* `ecobee_thermostat`
* `nest_thermostat`
* `honeywell_resideo_thermostat`
* `tado_thermostat`
* `sensi_thermostat`
* `smartthings_thermostat`
* `ios_phone`
* `android_phone`

</details>

***

**`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`**](#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:

<details>

<summary><code>account_disconnected</code></summary>

Indicates that the account is disconnected.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `account_disconnected`

***

**`is_connected_account_error`** *Boolean*

Indicates that the error is a [connected account](https://docs.seam.co/latest/api/connected_accounts) error.

***

**`is_device_error`** *Boolean*

Indicates that the error is not a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>salto_ks_subscription_limit_exceeded</code></summary>

Indicates that the Salto site user limit has been reached.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `salto_ks_subscription_limit_exceeded`

***

**`is_connected_account_error`** *Boolean*

Indicates that the error is a [connected account](https://docs.seam.co/latest/api/connected_accounts) error.

***

**`is_device_error`** *Boolean*

Indicates that the error is not a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>device_offline</code></summary>

Indicates that the device is offline.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `device_offline`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>device_removed</code></summary>

Indicates that the device has been removed.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `device_removed`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>hub_disconnected</code></summary>

Indicates that the hub is disconnected.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `hub_disconnected`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>device_disconnected</code></summary>

Indicates that the device is disconnected.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `device_disconnected`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>empty_backup_access_code_pool</code></summary>

Indicates that the [backup access code pool](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes) is empty.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `empty_backup_access_code_pool`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>august_lock_not_authorized</code></summary>

Indicates that the user is not authorized to use the August lock.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `august_lock_not_authorized`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>august_lock_missing_bridge</code></summary>

Indicates that the lock is not connected to a bridge.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `august_lock_missing_bridge`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>ttlock_lock_not_paired_to_gateway</code></summary>

Indicates that the lock is not paired with a gateway.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `ttlock_lock_not_paired_to_gateway`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>missing_device_credentials</code></summary>

Indicates that device credentials are missing.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `missing_device_credentials`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>auxiliary_heat_running</code></summary>

Indicates that the auxiliary heat is running.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `auxiliary_heat_running`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>subscription_required</code></summary>

Indicates that a subscription is required to connect.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `subscription_required`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>lockly_missing_wifi_bridge</code></summary>

Indicates that the Lockly lock is not connected to a Wi-Fi bridge.

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `lockly_missing_wifi_bridge`

***

**`is_device_error`** *Boolean*

Indicates that the error is a device error.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

<details>

<summary><code>bridge_disconnected</code></summary>

Indicates that the Seam API cannot communicate with [Seam Bridge](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/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](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/access-systems/troubleshooting-your-access-control-system#acs_system.errors.seam_bridge_disconnected).

**`created_at`** *Datetime*

Date and time at which Seam created the error.

***

**`error_code`** *Enum*

Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

Enum values:

* `bridge_disconnected`

***

**`is_bridge_error`** *Boolean*

Indicates whether the error is related to [Seam Bridge](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/seam-bridge).

***

**`is_connected_account_error`** *Boolean*

Indicates whether the error is related specifically to the connected account.

***

**`message`** *String*

Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

</details>

***

**`is_managed`** *Boolean*

Indicates whether Seam manages the device. See also [Managed and Unmanaged Devices](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices/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`**](#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:

<details>

<summary><code>partial_backup_access_code_pool</code></summary>

Indicates that the backup access code is unhealthy.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `partial_backup_access_code_pool`

</details>

<details>

<summary><code>many_active_backup_codes</code></summary>

Indicates that there are too many backup codes.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `many_active_backup_codes`

</details>

<details>

<summary><code>wyze_device_missing_gateway</code></summary>

Indicates that the Wyze Lock is not connected to a gateway.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `wyze_device_missing_gateway`

</details>

<details>

<summary><code>functional_offline_device</code></summary>

Indicates that the device is offline but has some functionality available.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `functional_offline_device`

</details>

<details>

<summary><code>third_party_integration_detected</code></summary>

Indicates that a third-party integration has been detected.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `third_party_integration_detected`

</details>

<details>

<summary><code>ttlock_lock_gateway_unlocking_not_enabled</code></summary>

Indicates that the Remote Unlock feature is not enabled in the settings."

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `ttlock_lock_gateway_unlocking_not_enabled`

</details>

<details>

<summary><code>ttlock_weak_gateway_signal</code></summary>

Indicates that the gateway signal is weak.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `ttlock_weak_gateway_signal`

</details>

<details>

<summary><code>power_saving_mode</code></summary>

Indicates that the device is in power saving mode and may have limited functionality.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `power_saving_mode`

</details>

<details>

<summary><code>temperature_threshold_exceeded</code></summary>

Indicates that the temperature threshold has been exceeded.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `temperature_threshold_exceeded`

</details>

<details>

<summary><code>device_communication_degraded</code></summary>

Indicates that the device appears to be unresponsive.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `device_communication_degraded`

</details>

<details>

<summary><code>scheduled_maintenance_window</code></summary>

Indicates that a scheduled maintenance window has been detected.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `scheduled_maintenance_window`

</details>

<details>

<summary><code>device_has_flaky_connection</code></summary>

Indicates that the device has a flaky connection.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `device_has_flaky_connection`

</details>

<details>

<summary><code>salto_ks_office_mode</code></summary>

Indicates that the Salto KS lock is in Office Mode. Access Codes will not unlock doors.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `salto_ks_office_mode`

</details>

<details>

<summary><code>salto_ks_privacy_mode</code></summary>

Indicates that the Salto KS lock is in Privacy Mode. Access Codes will not unlock doors.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `salto_ks_privacy_mode`

</details>

<details>

<summary><code>salto_ks_subscription_limit_almost_reached</code></summary>

Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Increase your subscription limit or delete some users from your site.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `salto_ks_subscription_limit_almost_reached`

</details>

<details>

<summary><code>unknown_issue_with_phone</code></summary>

Indicates that an unknown issue occurred while syncing the state of the phone with the provider. This issue may affect the proper functioning of the phone.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `unknown_issue_with_phone`

</details>

<details>

<summary><code>lockly_time_zone_not_configured</code></summary>

Indicates that Seam detected that the Lockly device does not have a time zone configured. Time-bound codes may not work as expected.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `lockly_time_zone_not_configured`

</details>

<details>

<summary><code>hub_required_for_addtional_capabilities</code></summary>

Indicates that a hub or relay must be connected to unlock additional capabilities such as remote unlock.

**`created_at`** *Datetime*

Date and time at which Seam created the warning.

***

**`message`** *String*

Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

***

**`warning_code`** *Enum*

Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

Enum values:

* `hub_required_for_addtional_capabilities`

</details>

***

**`workspace_id`** *UUID*

Unique identifier for the Seam workspace associated with the device.

***

## Hardware

**`location`** *Object*

Location information for the device.

<details>

<summary>Child Properties</summary>

* **`location_name`** *String*

  Name of the device location.
* **`timezone`** *String*

  Time zone of the device location.

</details>

***

## device.properties

**`akiles_metadata`** *Object*

Metadata for an Akiles device.

<details>

<summary>Child Properties</summary>

* **`_member_group_id`** *String*

  Group ID to which to add users for an Akiles device.
* **`gadget_id`** *String*

  Gadget ID for an Akiles device.
* **`gadget_name`** *String*

  Gadget name for an Akiles device.
* **`product_name`** *String*

  Product name for an Akiles device.

</details>

***

**`assa_abloy_credential_service_metadata`** *Object*

ASSA ABLOY Credential Service metadata for the phone.

<details>

<summary>Child Properties</summary>

* **`endpoints`** *List* *of Objects*

  Endpoints associated with the phone.
* **`endpoint_id`** *String*

  ID of the associated endpoint.
* **`is_active`** *Boolean*

  Indicated whether the endpoint is active.

  * **`has_active_endpoint`** *Boolean*

    Indicates whether the credential service has active endpoints associated with the phone.

</details>

***

**`assa_abloy_vostio_metadata`** *Object*

Metadata for an ASSA ABLOY Vostio system.

<details>

<summary>Child Properties</summary>

* **`encoder_name`** *String*

  Encoder name for an ASSA ABLOY Vostio system.

</details>

***

**`august_metadata`** *Object*

Metadata for an August device.

<details>

<summary>Child Properties</summary>

* **`has_keypad`** *Boolean*

  Indicates whether an August device has a keypad.
* **`house_id`** *String*

  House ID for an August device.
* **`house_name`** *String*

  House name for an August device.
* **`keypad_battery_level`** *String*

  Keypad battery level for an August device.
* **`lock_id`** *String*

  Lock ID for an August device.
* **`lock_name`** *String*

  Lock name for an August device.
* **`model`** *String*

  Model for an August device.

</details>

***

**`avigilon_alta_metadata`** *Object*

Metadata for an Avigilon Alta system.

<details>

<summary>Child Properties</summary>

* **`entry_name`** *String*

  Entry name for an Avigilon Alta system.
* **`entry_relays_total_count`** *Number*

  Total count of entry relays for an Avigilon Alta system.
* **`org_name`** *String*

  Organization name for an Avigilon Alta system.
* **`site_id`** *Number*

  Site ID for an Avigilon Alta system.
* **`site_name`** *String*

  Site name for an Avigilon Alta system.
* **`zone_id`** *Number*

  Zone ID for an Avigilon Alta system.
* **`zone_name`** *String*

  Zone name for an Avigilon Alta system.

</details>

***

**`brivo_metadata`** *Object*

Metadata for a Brivo device.

<details>

<summary>Child Properties</summary>

* **`activation_enabled`** *Boolean*

  Indicates whether the Brivo access point has activation (remote unlock) enabled.
* **`device_name`** *String*

  Device name for a Brivo device.

</details>

***

**`controlbyweb_metadata`** *Object*

Metadata for a ControlByWeb device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for a ControlByWeb device.
* **`device_name`** *String*

  Device name for a ControlByWeb device.
* **`relay_name`** *String*

  Relay name for a ControlByWeb device.

</details>

***

**`dormakaba_oracode_metadata`** *Object*

Metadata for a dormakaba Oracode device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *Object*

  Device ID for a dormakaba Oracode device.
* **`door_id`** *Number*

  Door ID for a dormakaba Oracode device.
* **`door_is_wireless`** *Boolean*

  Indicates whether a door is wireless for a dormakaba Oracode device.
* **`door_name`** *String*

  Door name for a dormakaba Oracode device.
* **`iana_timezone`** *String*

  IANA time zone for a dormakaba Oracode device.
* **`predefined_time_slots`** *List* *of Objects*

  Predefined time slots for a dormakaba Oracode device.
* **`check_in_time`** *String*

  Check in time for a time slot for a dormakaba Oracode device.
* **`check_out_time`** *String*

  Checkout time for a time slot for a dormakaba Oracode device.
* **`dormakaba_oracode_user_level_id`** *UUID*

  ID of a user level for a dormakaba Oracode device.
* **`ext_dormakaba_oracode_user_level_prefix`** *Number*

  Prefix for a user level for a dormakaba Oracode device.
* **`is_24_hour`** *Boolean*

  Indicates whether a time slot for a dormakaba Oracode device is a 24-hour time slot.
* **`is_biweekly_mode`** *Boolean*

  Indicates whether a time slot for a dormakaba Oracode device is in biweekly mode.
* **`is_master`** *Boolean*

  Indicates whether a time slot for a dormakaba Oracode device is a master time slot.
* **`is_one_shot`** *Boolean*

  Indicates whether a time slot for a dormakaba Oracode device is a one-shot time slot.
* **`name`** *String*

  Name of a time slot for a dormakaba Oracode device.
* **`prefix`** *Number*

  Prefix for a time slot for a dormakaba Oracode device.

  * **`site_id`** *Number*

    Site ID for a dormakaba Oracode device.

{% hint style="warning" %}
**Deprecated**. Previously marked as "@DEPRECATED."
{% endhint %}

* **`site_name`** *String*

  Site name for a dormakaba Oracode device.

</details>

***

**`ecobee_metadata`** *Object*

Metadata for an ecobee device.

<details>

<summary>Child Properties</summary>

* **`device_name`** *String*

  Device name for an ecobee device.
* **`ecobee_device_id`** *String*

  Device ID for an ecobee device.

</details>

***

**`four_suites_metadata`** *Object*

Metadata for a 4SUITES device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *Number*

  Device ID for a 4SUITES device.
* **`device_name`** *String*

  Device name for a 4SUITES device.
* **`reclose_delay_in_seconds`** *Number*

  Reclose delay, in seconds, for a 4SUITES device.

</details>

***

**`genie_metadata`** *Object*

Metadata for a Genie device.

<details>

<summary>Child Properties</summary>

* **`device_name`** *String*

  Lock name for a Genie device.
* **`door_name`** *String*

  Door name for a Genie device.

</details>

***

**`honeywell_resideo_metadata`** *Object*

Metadata for a Honeywell Resideo device.

<details>

<summary>Child Properties</summary>

* **`device_name`** *String*

  Device name for a Honeywell Resideo device.
* **`honeywell_resideo_device_id`** *String*

  Device ID for a Honeywell Resideo device.

</details>

***

**`hubitat_metadata`** *Object*

Metadata for a Hubitat device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for a Hubitat device.
* **`device_label`** *String*

  Device label for a Hubitat device.
* **`device_name`** *String*

  Device name for a Hubitat device.

</details>

***

**`igloo_metadata`** *Object*

Metadata for an igloo device.

<details>

<summary>Child Properties</summary>

* **`bridge_id`** *String*

  Bridge ID for an igloo device.
* **`device_id`** *String*

  Device ID for an igloo device.
* **`model`** *String*

  Model for an igloo device.

</details>

***

**`igloohome_metadata`** *Object*

Metadata for an igloohome device.

<details>

<summary>Child Properties</summary>

* **`bridge_id`** *String*

  Bridge ID for an igloohome device.
* **`bridge_name`** *String*

  Bridge name for an igloohome device.
* **`device_id`** *String*

  Device ID for an igloohome device.
* **`device_name`** *String*

  Device name for an igloohome device.
* **`is_keypad_linked_to_bridge`** *Boolean*

  Indicates whether a keypad is linked to a bridge for an igloohome device.
* **`keypad_id`** *String*

  Keypad ID for an igloohome device.

</details>

***

**`keynest_metadata`** *Object*

Metadata for a KeyNest device.

<details>

<summary>Child Properties</summary>

* **`address`** *String*

  Address for a KeyNest device.
* **`current_or_last_store_id`** *Number*

  Current or last store ID for a KeyNest device.
* **`current_status`** *String*

  Current status for a KeyNest device.
* **`current_user_company`** *String*

  Current user company for a KeyNest device.
* **`current_user_email`** *String*

  Current user email for a KeyNest device.
* **`current_user_name`** *String*

  Current user name for a KeyNest device.
* **`current_user_phone_number`** *String*

  Current user phone number for a KeyNest device.
* **`default_office_id`** *Number*

  Default office ID for a KeyNest device.
* **`device_name`** *String*

  Device name for a KeyNest device.
* **`fob_id`** *Number*

  Fob ID for a KeyNest device.
* **`handover_method`** *String*

  Handover method for a KeyNest device.
* **`has_photo`** *Boolean*

  Whether the KeyNest device has a photo.
* **`key_id`** *String*

  Key ID for a KeyNest device.
* **`key_notes`** *String*

  Key notes for a KeyNest device.
* **`keynest_app_user`** *String*

  KeyNest app user for a KeyNest device.
* **`last_movement`** *String*

  Last movement timestamp for a KeyNest device.
* **`property_id`** *String*

  Property ID for a KeyNest device.
* **`property_postcode`** *String*

  Property postcode for a KeyNest device.
* **`status_type`** *String*

  Status type for a KeyNest device.
* **`subscription_plan`** *String*

  Subscription plan for a KeyNest device.

</details>

***

**`kwikset_metadata`** *Object*

Metadata for a Kwikset device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for a Kwikset device.
* **`device_name`** *String*

  Device name for a Kwikset device.
* **`model_number`** *String*

  Model number for a Kwikset device.

</details>

***

**`lockly_metadata`** *Object*

Metadata for a Lockly device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for a Lockly device.
* **`device_name`** *String*

  Device name for a Lockly device.
* **`model`** *String*

  Model for a Lockly device.

</details>

***

**`minut_metadata`** *Object*

Metadata for a Minut device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for a Minut device.
* **`device_name`** *String*

  Device name for a Minut device.
* **`latest_sensor_values`** *Object*

  Latest sensor values for a Minut device.
* **`latest_sensor_values.accelerometer_z`** *Object*

  Latest accelerometer Z-axis reading for a Minut device.
* **`latest_sensor_values.accelerometer_z.time`** *String*

  Time of latest accelerometer Z-axis reading for a Minut device.
* **`latest_sensor_values.accelerometer_z.value`** *Number*

  Value of latest accelerometer Z-axis reading for a Minut device.
* **`latest_sensor_values.humidity`** *Object*

  Latest humidity reading for a Minut device.
* **`latest_sensor_values.humidity.time`** *String*

  Time of latest humidity reading for a Minut device.
* **`latest_sensor_values.humidity.value`** *Number*

  Value of latest humidity reading for a Minut device.
* **`latest_sensor_values.pressure`** *Object*

  Latest pressure reading for a Minut device.
* **`latest_sensor_values.pressure.time`** *String*

  Time of latest pressure reading for a Minut device.
* **`latest_sensor_values.pressure.value`** *Number*

  Value of latest pressure reading for a Minut device.
* **`latest_sensor_values.sound`** *Object*

  Latest sound reading for a Minut device.
* **`latest_sensor_values.sound.time`** *String*

  Time of latest sound reading for a Minut device.
* **`latest_sensor_values.sound.value`** *Number*

  Value of latest sound reading for a Minut device.
* **`latest_sensor_values.temperature`** *Object*

  Latest temperature reading for a Minut device.
* **`latest_sensor_values.temperature.time`** *String*

  Time of latest temperature reading for a Minut device.
* **`latest_sensor_values.temperature.value`** *Number*

  Value of latest temperature reading for a Minut device.

</details>

***

**`model`** *Object*

Device model-related properties.

<details>

<summary>Child Properties</summary>

* **`accessory_keypad_supported`** *Boolean*

{% hint style="warning" %}
**Deprecated**. use device.properties.model.can\_connect\_accessory\_keypad
{% endhint %}

* **`can_connect_accessory_keypad`** *Boolean*

  Indicates whether the device can connect a accessory keypad.
* **`display_name`** *String*

  Display name of the device model.
* **`has_built_in_keypad`** *Boolean*

  Indicates whether the device has a built in accessory keypad.
* **`manufacturer_display_name`** *String*

  Display name that corresponds to the manufacturer-specific terminology for the device.
* **`offline_access_codes_supported`** *Boolean*

{% hint style="warning" %}
**Deprecated**. use device.can\_program\_offline\_access\_codes.
{% endhint %}

* **`online_access_codes_supported`** *Boolean*

{% hint style="warning" %}
**Deprecated**. use device.can\_program\_online\_access\_codes.
{% endhint %}

</details>

***

**`name`** *String*

Name of the device.

{% hint style="warning" %}
**Deprecated**. use device.display\_name instead
{% endhint %}

***

**`nest_metadata`** *Object*

Metadata for a Google Nest device.

<details>

<summary>Child Properties</summary>

* **`device_custom_name`** *String*

  Custom device name for a Google Nest device. The device owner sets this value.
* **`device_name`** *String*

  Device name for a Google Nest device. Google sets this value.
* **`display_name`** *String*

  Display name for a Google Nest device.
* **`nest_device_id`** *String*

  Device ID for a Google Nest device.

</details>

***

**`noiseaware_metadata`** *Object*

Metadata for a NoiseAware device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for a NoiseAware device.
* **`device_model`** *Enum*

  Device model for a NoiseAware device.
* **`device_name`** *String*

  Device name for a NoiseAware device.
* **`noise_level_decibel`** *Number*

  Noise level, in decibels, for a NoiseAware device.
* **`noise_level_nrs`** *Number*

  Noise level, expressed as a Noise Risk Score (NRS), for a NoiseAware device.

</details>

***

**`nuki_metadata`** *Object*

Metadata for a Nuki device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for a Nuki device.
* **`device_name`** *String*

  Device name for a Nuki device.
* **`keypad_2_paired`** *Boolean*

  Indicates whether keypad 2 is paired for a Nuki device.
* **`keypad_battery_critical`** *Boolean*

  Indicates whether the keypad battery is in a critical state for a Nuki device.
* **`keypad_paired`** *Boolean*

  Indicates whether the keypad is paired for a Nuki device.

</details>

***

**`online`** *Boolean*

Indicates whether the device is online.

***

**`salto_ks_metadata`** *Object*

Metadata for a Salto KS device.

<details>

<summary>Child Properties</summary>

* **`battery_level`** *String*

  Battery level for a Salto KS device.
* **`customer_reference`** *String*

  Customer reference for a Salto KS device.
* **`lock_id`** *String*

  Lock ID for a Salto KS device.
* **`lock_type`** *String*

  Lock type for a Salto KS device.
* **`locked_state`** *String*

  Locked state for a Salto KS device.
* **`model`** *String*

  Model for a Salto KS device.

</details>

***

**`salto_metadata`** *Object*

Metada for a Salto device.

{% hint style="warning" %}
**Deprecated**. Use `salto_ks_metadata` instead.
{% endhint %}

<details>

<summary>Child Properties</summary>

* **`battery_level`** *String*

  Battery level for a Salto device.
* **`customer_reference`** *String*

  Customer reference for a Salto device.
* **`lock_id`** *String*

  Lock ID for a Salto device.
* **`lock_type`** *String*

  Lock type for a Salto device.
* **`locked_state`** *String*

  Locked state for a Salto device.
* **`model`** *String*

  Model for a Salto device.

</details>

***

**`salto_space_credential_service_metadata`** *Object*

Salto Space credential service metadata for the phone.

<details>

<summary>Child Properties</summary>

* **`has_active_phone`** *Boolean*

  Indicates whether the credential service has an active associated phone.

</details>

***

**`schlage_metadata`** *Object*

Metadata for a Schlage device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for a Schlage device.
* **`device_name`** *String*

  Device name for a Schlage device.
* **`model`** *String*

  Model for a Schlage device.

</details>

***

**`seam_bridge_metadata`** *Object*

Metadata for Seam Bridge.

<details>

<summary>Child Properties</summary>

* **`device_num`** *Number*

  Device number for Seam Bridge.
* **`name`** *String*

  Name for Seam Bridge.
* **`unlock_method`** *Enum*

  Unlock method for Seam Bridge.

</details>

***

**`sensi_metadata`** *Object*

Metadata for a Sensi device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for a Sensi device.
* **`device_name`** *String*

  Device name for a Sensi device.
* **`product_type`** *String*

  Product type for a Sensi device.

</details>

***

**`smartthings_metadata`** *Object*

Metadata for a SmartThings device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for a SmartThings device.
* **`device_name`** *String*

  Device name for a SmartThings device.
* **`location_id`** *String*

  Location ID for a SmartThings device.
* **`model`** *String*

  Model for a SmartThings device.

</details>

***

**`tado_metadata`** *Object*

Metadata for a tado° device.

<details>

<summary>Child Properties</summary>

* **`device_type`** *String*

  Device type for a tado° device.
* **`serial_no`** *String*

  Serial number for a tado° device.

</details>

***

**`tedee_metadata`** *Object*

Metadata for a Tedee device.

<details>

<summary>Child Properties</summary>

* **`bridge_id`** *Number*

  Bridge ID for a Tedee device.
* **`bridge_name`** *String*

  Bridge name for a Tedee device.
* **`device_id`** *Number*

  Device ID for a Tedee device.
* **`device_model`** *String*

  Device model for a Tedee device.
* **`device_name`** *String*

  Device name for a Tedee device.
* **`keypad_id`** *Number*

  Keypad ID for a Tedee device.
* **`serial_number`** *String*

  Serial number for a Tedee device.

</details>

***

**`ttlock_metadata`** *Object*

Metadata for a TTLock device.

<details>

<summary>Child Properties</summary>

* **`feature_value`** *String*

  Feature value for a TTLock device.
* **`features`** *Object*

  Features for a TTLock device.
* **`features.incomplete_keyboard_passcode`** *Boolean*

  Indicates whether a TTLock device supports an incomplete keyboard passcode.
* **`features.lock_command`** *Boolean*

  Indicates whether a TTLock device supports the lock command.
* **`features.passcode`** *Boolean*

  Indicates whether a TTLock device supports a passcode.
* **`features.passcode_management`** *Boolean*

  Indicates whether a TTLock device supports passcode management.
* **`features.unlock_via_gateway`** *Boolean*

  Indicates whether a TTLock device supports unlock via gateway.
* **`features.wifi`** *Boolean*

  Indicates whether a TTLock device supports Wi-Fi.
* **`has_gateway`** *Boolean*

  Indicates whether a TTLock device has a gateway.
* **`lock_alias`** *String*

  Lock alias for a TTLock device.
* **`lock_id`** *Number*

  Lock ID for a TTLock device.
* **`wireless_keypads`** *List* *of Objects*

  Wireless keypads for a TTLock device.
* **`wireless_keypad_id`** *Number*

  ID for a wireless keypad for a TTLock device.
* **`wireless_keypad_name`** *String*

  Name for a wireless keypad for a TTLock device.

</details>

***

**`two_n_metadata`** *Object*

Metadata for a 2N device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *Number*

  Device ID for a 2N device.
* **`device_name`** *String*

  Device name for a 2N device.

</details>

***

**`ultraloq_metadata`** *Object*

Metadata for an Ultraloq device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for an Ultraloq device.
* **`device_name`** *String*

  Device name for an Ultraloq device.

</details>

***

**`visionline_metadata`** *Object*

Metadata for an ASSA ABLOY Visionline system.

<details>

<summary>Child Properties</summary>

* **`encoder_id`** *String*

  Encoder ID for an ASSA ABLOY Visionline system.

</details>

***

**`wyze_metadata`** *Object*

Metadata for a Wyze device.

<details>

<summary>Child Properties</summary>

* **`device_id`** *String*

  Device ID for a Wyze device.
* **`device_info_model`** *String*

  Device information model for a Wyze device.
* **`device_name`** *String*

  Device name for a Wyze device.
* **`keypad_uuid`** *String*

  Keypad UUID for a Wyze device.
* **`locker_status_hardlock`** *Number*

  Locker status (hardlock) for a Wyze device.
* **`product_model`** *String*

  Product model for a Wyze device.
* **`product_name`** *String*

  Product name for a Wyze device.
* **`product_type`** *String*

  Product type for a Wyze device.

</details>

***

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

<details>

<summary>Child Object Properties</summary>

**`constraint_type`** *Enum*

**`max_length`** *Number*

Maximum name length constraint for access codes.

**`min_length`** *Number*

Minimum name length constraint for access codes.

</details>

***

**`has_native_entry_events`** *Boolean*

Indicates whether the device supports native entry events.

***

**`keypad_battery`** *Object*

Keypad battery status.

<details>

<summary>Child Properties</summary>

* **`level`** *Number*

  Keypad battery charge level.

</details>

***

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

{% hint style="warning" %}
**Deprecated**. use device.can\_program\_offline\_access\_codes
{% endhint %}

***

**`online_access_codes_enabled`** *Boolean*

Indicates whether it is currently possible to use online access codes for the device.

{% hint style="warning" %}
**Deprecated**. use device.can\_program\_online\_access\_codes
{% endhint %}

***

**`supported_code_lengths`** *List* *of Numbers*

Supported code lengths for access codes.

***

**`supports_accessory_keypad`** *Boolean*

{% hint style="warning" %}
**Deprecated**. use device.properties.model.can\_connect\_accessory\_keypad
{% endhint %}

***

**`supports_backup_access_code_pool`** *Boolean*

Indicates whether the device supports a [backup access code pool](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes).

***

**`supports_offline_access_codes`** *Boolean*

{% hint style="warning" %}
**Deprecated**. use offline\_access\_codes\_enabled
{% endhint %}

***

## Hardware

**`accessory_keypad`** *Object*

Accessory keypad properties and state.

<details>

<summary>Child Properties</summary>

* **`battery`** *Object*

  Keypad battery properties.
* **`battery.level`** *Number*
* **`is_connected`** *Boolean*

  Indicates if an accessory keypad is connected to the device.

</details>

***

**`appearance`** *Object*

Appearance-related properties, as reported by the device.

<details>

<summary>Child Properties</summary>

* **`name`** *String*

  Name of the device as seen from the provider API and application, not settable through Seam.

</details>

***

**`battery`** *Object*

Represents the current status of the battery charge level.

<details>

<summary>Child Properties</summary>

* **`level`** *Number*

  Battery charge level as a value between 0 and 1, inclusive.
* **`status`** *Enum*

  Represents the current status of the battery charge level. Values are `critical`, which indicates an extremely low level, suggesting imminent shutdown or an urgent need for charging; `low`, which signifies that the battery is under the preferred threshold and should be charged soon; `good`, which denotes a satisfactory charge level, adequate for normal use without the immediate need for recharging; and `full`, which represents a battery that is fully charged, providing the maximum duration of usage.

</details>

***

**`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

**`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](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules).

{% hint style="warning" %}
**Deprecated**. Use `active_thermostat_schedule_id` with `/thermostats/schedules/get` instead.
{% endhint %}

<details>

<summary>Child Properties</summary>

* **`climate_preset_key`** *String*

  Key of the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) to use for the [thermostat schedule](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
* **`created_at`** *Datetime*

  Date and time at which the [thermostat schedule](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created.
* **`device_id`** *UUID*

  ID of the desired [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) device.
* **`ends_at`** *Datetime*

  Date and time at which the [thermostat schedule](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
* **`errors`** *List* *of Objects*

  Errors associated with the [thermostat schedule](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
* **`error_code`** *String*

  Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
* **`message`** *String*

  Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

  * **`is_override_allowed`** *Boolean*

    Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.
  * **`max_override_period_minutes`** *Number*

    Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets). See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
  * **`name`** *String*

    User-friendly name to identify the [thermostat schedule](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
  * **`starts_at`** *Datetime*

    Date and time at which the [thermostat schedule](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
  * **`thermostat_schedule_id`** *UUID*

    ID of the [thermostat schedule](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
  * **`workspace_id`** *UUID*

    ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) that contains the thermostat schedule.

</details>

***

**`active_thermostat_schedule_id`** *UUID*

ID of the active [thermostat schedule](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules).

***

**`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](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) for the thermostat.

<details>

<summary>Child Object Properties</summary>

**`can_delete`** *Boolean*

Indicates whether the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted.

**`can_edit`** *Boolean*

Indicates whether the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited.

**`can_use_with_thermostat_daily_programs`** *Boolean*

Indicates whether the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program.

**`climate_preset_key`** *String*

Unique key to identify the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets).

**`climate_preset_mode`** *Enum*

The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.

**`cooling_set_point_celsius`** *Number*

Temperature to which the thermostat should cool (in °C). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).

**`cooling_set_point_fahrenheit`** *Number*

Temperature to which the thermostat should cool (in °F). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).

**`display_name`** *String*

Display name for the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets).

**`ecobee_metadata`** *Object*

Metadata specific to the Ecobee climate, if applicable.

**`ecobee_metadata.climate_ref`** *String*

Reference to the Ecobee climate, if applicable.

**`ecobee_metadata.is_optimized`** *Boolean*

Indicates if the climate preset is optimized by Ecobee.

**`ecobee_metadata.owner`** *Enum*

Indicates whether the climate preset is owned by the user or the system.

**`fan_mode_setting`** *Enum*

Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`.

**`heating_set_point_celsius`** *Number*

Temperature to which the thermostat should heat (in °C). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).

**`heating_set_point_fahrenheit`** *Number*

Temperature to which the thermostat should heat (in °F). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).

**`hvac_mode_setting`** *Enum*

Desired [HVAC mode](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`.

**`manual_override_allowed`** *Boolean*

Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).

{% hint style="warning" %}
**Deprecated**. Use 'thermostat\_schedule.is\_override\_allowed'
{% endhint %}

**`name`** *String*

User-friendly name to identify the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets).

</details>

***

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

<details>

<summary>Child Properties</summary>

* **`can_delete`** *Boolean*

  Indicates whether the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted.
* **`can_edit`** *Boolean*

  Indicates whether the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited.
* **`can_use_with_thermostat_daily_programs`** *Boolean*

  Indicates whether the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program.
* **`climate_preset_key`** *String*

  Unique key to identify the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets).
* **`climate_preset_mode`** *Enum*

  The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
* **`cooling_set_point_celsius`** *Number*

  Temperature to which the thermostat should cool (in °C). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
* **`cooling_set_point_fahrenheit`** *Number*

  Temperature to which the thermostat should cool (in °F). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
* **`display_name`** *String*

  Display name for the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets).
* **`ecobee_metadata`** *Object*

  Metadata specific to the Ecobee climate, if applicable.
* **`ecobee_metadata.climate_ref`** *String*

  Reference to the Ecobee climate, if applicable.
* **`ecobee_metadata.is_optimized`** *Boolean*

  Indicates if the climate preset is optimized by Ecobee.
* **`ecobee_metadata.owner`** *Enum*

  Indicates whether the climate preset is owned by the user or the system.
* **`fan_mode_setting`** *Enum*

  Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`.
* **`heating_set_point_celsius`** *Number*

  Temperature to which the thermostat should heat (in °C). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
* **`heating_set_point_fahrenheit`** *Number*

  Temperature to which the thermostat should heat (in °F). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
* **`hvac_mode_setting`** *Enum*

  Desired [HVAC mode](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`.
* **`manual_override_allowed`** *Boolean*

  Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).

{% hint style="warning" %}
**Deprecated**. Use 'thermostat\_schedule.is\_override\_allowed'
{% endhint %}

* **`name`** *String*

  User-friendly name to identify the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets).

</details>

***

**`default_climate_setting`** *Object*

{% hint style="warning" %}
**Deprecated**. use fallback\_climate\_preset\_key to specify a fallback climate preset instead.
{% endhint %}

<details>

<summary>Child Properties</summary>

* **`can_delete`** *Boolean*

  Indicates whether the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted.
* **`can_edit`** *Boolean*

  Indicates whether the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited.
* **`can_use_with_thermostat_daily_programs`** *Boolean*

  Indicates whether the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program.
* **`climate_preset_key`** *String*

  Unique key to identify the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets).
* **`climate_preset_mode`** *Enum*

  The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
* **`cooling_set_point_celsius`** *Number*

  Temperature to which the thermostat should cool (in °C). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
* **`cooling_set_point_fahrenheit`** *Number*

  Temperature to which the thermostat should cool (in °F). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
* **`display_name`** *String*

  Display name for the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets).
* **`ecobee_metadata`** *Object*

  Metadata specific to the Ecobee climate, if applicable.
* **`ecobee_metadata.climate_ref`** *String*

  Reference to the Ecobee climate, if applicable.
* **`ecobee_metadata.is_optimized`** *Boolean*

  Indicates if the climate preset is optimized by Ecobee.
* **`ecobee_metadata.owner`** *Enum*

  Indicates whether the climate preset is owned by the user or the system.
* **`fan_mode_setting`** *Enum*

  Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`.
* **`heating_set_point_celsius`** *Number*

  Temperature to which the thermostat should heat (in °C). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
* **`heating_set_point_fahrenheit`** *Number*

  Temperature to which the thermostat should heat (in °F). See also [Set Points](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
* **`hvac_mode_setting`** *Enum*

  Desired [HVAC mode](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`.
* **`manual_override_allowed`** *Boolean*

  Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).

{% hint style="warning" %}
**Deprecated**. Use 'thermostat\_schedule.is\_override\_allowed'
{% endhint %}

* **`name`** *String*

  User-friendly name to identify the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets).

</details>

***

**`fallback_climate_preset_key`** *String*

Key of the [fallback climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset) for the thermostat.

***

**`fan_mode_setting`** *Enum*

{% hint style="warning" %}
**Deprecated**. Use `current_climate_setting.fan_mode_setting` instead.
{% endhint %}

<details>

<summary>Enum values</summary>

* `auto`
* `on`
* `circulate`

</details>

***

**`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](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °C.

***

**`max_cooling_set_point_fahrenheit`** *Number*

Maximum [cooling set point](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °F.

***

**`max_heating_set_point_celsius`** *Number*

Maximum [heating set point](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in °C.

***

**`max_heating_set_point_fahrenheit`** *Number*

Maximum [heating set point](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points#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](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °C.

***

**`min_cooling_set_point_fahrenheit`** *Number*

Minimum [cooling set point](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °F.

***

**`min_heating_cooling_delta_celsius`** *Number*

Minimum [temperature difference](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points#minimum-heating-cooling-temperature-delta) in °C between the cooling and heating set points when in heat-cool (auto) mode.

***

**`min_heating_cooling_delta_fahrenheit`** *Number*

Minimum [temperature difference](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points#minimum-heating-cooling-temperature-delta) 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](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in °C.

***

**`min_heating_set_point_fahrenheit`** *Number*

Minimum [heating set point](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/understanding-thermostat-concepts/set-points#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](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.

<details>

<summary>Child Properties</summary>

* **`lower_limit_celsius`** *Number*

  Lower limit in °C within the current [temperature threshold](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
* **`lower_limit_fahrenheit`** *Number*

  Lower limit in °F within the current [temperature threshold](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
* **`upper_limit_celsius`** *Number*

  Upper limit in °C within the current [temperature threshold](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
* **`upper_limit_fahrenheit`** *Number*

  Upper limit in °F within the current [temperature threshold](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.

</details>

***

**`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](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-programs) for the thermostat.

<details>

<summary>Child Object Properties</summary>

**`created_at`** *Datetime*

Date and time at which the thermostat daily program was created.

**`device_id`** *UUID*

ID of the thermostat device on which the thermostat daily program is configured.

**`name`** *String*

User-friendly name to identify the thermostat daily program.

**`periods`** *List* *of Objects*

Array of thermostat daily program periods.

* **`climate_preset_key`** *String*

  Key of the [climate preset](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the `starts_at_time`.
* **`starts_at_time`** *String*

  Time at which the thermostat daily program period starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.

**`thermostat_daily_program_id`** *UUID*

ID of the thermostat daily program.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) that contains the thermostat daily program.

</details>

***

**`thermostat_weekly_program`** *Object*

Current [weekly program](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/thermostats/creating-and-managing-thermostat-programs) for the thermostat.

<details>

<summary>Child Properties</summary>

* **`created_at`** *Datetime*

  Date and time at which the thermostat weekly program was created.
* **`friday_program_id`** *UUID*

  ID of the thermostat daily program to run on Fridays.
* **`monday_program_id`** *UUID*

  ID of the thermostat daily program to run on Mondays.
* **`saturday_program_id`** *UUID*

  ID of the thermostat daily program to run on Saturdays.
* **`sunday_program_id`** *UUID*

  ID of the thermostat daily program to run on Sundays.
* **`thursday_program_id`** *UUID*

  ID of the thermostat daily program to run on Thursdays.
* **`tuesday_program_id`** *UUID*

  ID of the thermostat daily program to run on Tuesdays.
* **`wednesday_program_id`** *UUID*

  ID of the thermostat daily program to run on Wednesdays.

</details>

***

## Errors

**`account_disconnected`**

Indicates that the account is disconnected.

***

**`bridge_disconnected`**

Indicates that the Seam API cannot communicate with [Seam Bridge](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/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](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/capability-guides/access-systems/troubleshooting-your-access-control-system#acs_system.errors.seam_bridge_disconnected).

***

**`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](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes) 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.

***

**`functional_offline_device`**

Indicates that the device is offline but has some functionality available.

***

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

***

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

***

**`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

**`hub_required_for_addtional_capabilities`**

Indicates that a hub or relay must be connected to unlock additional capabilities such as remote unlock.

***

**`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."

***

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

* [Properties](#properties)
* [Events](#events)
* [Endpoints](#endpoints)

{% tabs %}
{% tab title="Device Provider" %}
A device provider resource.

```json
{
  "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"]
}
```

{% endtab %}
{% endtabs %}

***

## Properties

**`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*

<details>

<summary>Enum values</summary>

* `hotek`
* `dormakaba_community`
* `legic_connect`
* `akuvox`
* `august`
* `avigilon_alta`
* `brivo`
* `butterflymx`
* `schlage`
* `smartthings`
* `yale`
* `genie`
* `doorking`
* `salto`
* `salto_ks`
* `lockly`
* `ttlock`
* `linear`
* `noiseaware`
* `nuki`
* `seam_relay_admin`
* `igloo`
* `kwikset`
* `minut`
* `my_2n`
* `controlbyweb`
* `nest`
* `igloohome`
* `ecobee`
* `hubitat`
* `four_suites`
* `dormakaba_oracode`
* `pti`
* `wyze`
* `seam_passport`
* `visionline`
* `assa_abloy_credential_service`
* `tedee`
* `honeywell_resideo`
* `latch`
* `akiles`
* `assa_abloy_vostio`
* `assa_abloy_vostio_credential_service`
* `tado`
* `salto_space`
* `sensi`
* `kwikset2`
* `keynest`
* `dormakaba_ambiance`
* `ultraloq`

</details>

***

**`display_name`** *String*

***

**`image_url`** *String*

***

**`provider_categories`** *List* *of Enums*

***

## Events

**`device.connected`**

The status of a [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) 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.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.connected`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.added`**

A [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) was added to Seam or was re-added to Seam after having been removed.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.added`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.converted_to_unmanaged`**

A managed device was successfully converted to an [unmanaged device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices/managed-and-unmanaged-devices).

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.converted_to_unmanaged`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.disconnected`**

The status of a [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) changed from online to offline. That is, the `device.properties.online` property changed from `true` to `false`.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`error_code`** *Enum*

Error code associated with the disconnection event, if any.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.disconnected`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.tampered`**

A [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) detected that it was tampered with, for example, opened or moved.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.tampered`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.low_battery`**

A [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) battery level dropped below the low threshold.

<details>

<summary>Properties</summary>

**`battery_level`** *Number*

Number in the range 0 to 1.0 indicating the amount of battery in the affected device, as reported by the device.

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.low_battery`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.battery_status_changed`**

A [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) battery status changed since the last `battery_status_changed` event.

<details>

<summary>Properties</summary>

**`battery_level`** *Number*

Number in the range 0 to 1.0 indicating the amount of battery in the affected device, as reported by the device.

**`battery_status`** *Enum*

Battery status of the affected device, calculated from the numeric `battery_level` value.

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.battery_status_changed`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.removed`**

A [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) was removed externally from the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts).

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.removed`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.deleted`**

A [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) was deleted.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.deleted`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.third_party_integration_detected`**

Seam detected that a [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) is using a third-party integration that will interfere with Seam device management.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.third_party_integration_detected`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.third_party_integration_no_longer_detected`**

Seam detected that a [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) is no longer using a third-party integration that was interfering with Seam device management.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.third_party_integration_no_longer_detected`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.salto.privacy_mode_activated`**

A [Salto device](https://docs.seam.co/latest/device-and-system-integration-guides/salto-locks) activated privacy mode.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.salto.privacy_mode_activated`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.salto.privacy_mode_deactivated`**

A [Salto device](https://docs.seam.co/latest/device-and-system-integration-guides/salto-locks) deactivated privacy mode.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.salto.privacy_mode_deactivated`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.connection_became_flaky`**

Seam detected a flaky [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) connection.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.connection_became_flaky`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.connection_stabilized`**

Seam detected that a previously-flaky [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) connection stabilized.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.connection_stabilized`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.error.subscription_required`**

A third-party subscription is required to use all [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) features.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.error.subscription_required`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.error.subscription_required.resolved`**

A third-party subscription is active or no longer required to use all [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) features.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.error.subscription_required.resolved`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.accessory_keypad_connected`**

An accessory keypad was connected to a [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices).

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.accessory_keypad_connected`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.accessory_keypad_disconnected`**

An accessory keypad was disconnected from a [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices).

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.accessory_keypad_disconnected`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

**`device.name_changed`**

The name of a [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices) was changed.

<details>

<summary>Properties</summary>

**`connected_account_custom_metadata`** *Record*

Custom metadata of the connected account, present when connected\_account\_id is provided.

**`connected_account_id`** *UUID*

ID of the [connected account](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/connected-accounts) associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_custom_metadata`** *Record*

Custom metadata of the device, present when device\_id is provided.

**`device_id`** *UUID*

ID of the affected device.

**`device_name`** *String*

The new name of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `device.name_changed`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/workspaces) associated with the event.

</details>

***

## Endpoints

[**`/devices/get`**](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/api/devices/get)

Returns a specified [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices).

[**`/devices/list`**](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/api/devices/list)

Returns a list of all [devices](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices).

[**`/devices/list_device_providers`**](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/api/devices/list_device_providers)

Returns a list of all device providers.

[**`/devices/update`**](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/api/devices/update)

Updates a specified [device](https://docs.seam.co/latest/~/revisions/WnT0iExlRmVG3JXMNm4C/core-concepts/devices).
