diff --git a/docs/api/_report.md b/docs/api/_report.md
index 327adc94..44f8a47b 100644
--- a/docs/api/_report.md
+++ b/docs/api/_report.md
@@ -16,7 +16,6 @@
- `/devices/simulate`
- `/devices/unmanaged`
- `/events`
-- `/locks`
- `/networks`
- `/noise_sensors`
- `/noise_sensors/noise_thresholds`
diff --git a/docs/api/locks/README.md b/docs/api/locks/README.md
new file mode 100644
index 00000000..5a50e6bf
--- /dev/null
+++ b/docs/api/locks/README.md
@@ -0,0 +1,4516 @@
+# Locks
+
+## `device`
+
+### `can_hvac_cool`
+
+Format: `Boolean`
+
+---
+
+### `can_hvac_heat`
+
+Format: `Boolean`
+
+---
+
+### `can_hvac_heat_cool`
+
+Format: `Boolean`
+
+---
+
+### `can_program_offline_access_codes`
+
+Format: `Boolean`
+
+---
+
+### `can_program_online_access_codes`
+
+Format: `Boolean`
+
+---
+
+### `can_remotely_lock`
+
+Format: `Boolean`
+
+---
+
+### `can_remotely_unlock`
+
+Format: `Boolean`
+
+---
+
+### `can_simulate_connection`
+
+Format: `Boolean`
+
+---
+
+### `can_simulate_disconnection`
+
+Format: `Boolean`
+
+---
+
+### `can_simulate_removal`
+
+Format: `Boolean`
+
+---
+
+### `can_turn_off_hvac`
+
+Format: `Boolean`
+
+---
+
+### `capabilities_supported`
+
+Format: `List`
+
+Item format: `Enum`
+
+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; and "battery," which indicates that the device can manage battery life and health.
+
+---
+
+### `connected_account_id`
+
+Format: `UUID`
+
+Unique identifier for the account associated with the device.
+
+---
+
+### `created_at`
+
+Format: `Datetime`
+
+Date and time at which the device object was created.
+
+---
+
+### `custom_metadata`
+
+Format: `Record`
+
+---
+
+### `device_id`
+
+Format: `UUID`
+
+Unique identifier for the device.
+
+---
+
+### `device_type`
+
+Format: `Enum`
+
+Type of the device.
+
+Possible enum values:
+- `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`
+- `noiseaware_activity_zone`
+- `minut_sensor`
+- `ecobee_thermostat`
+- `nest_thermostat`
+- `honeywell_resideo_thermostat`
+- `tado_thermostat`
+- `sensi_thermostat`
+- `ios_phone`
+- `android_phone`
+
+---
+
+### `display_name`
+
+Format: `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-1)
+
+Format: `List`
+
+Item format: `Object`
+
+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:
+
+account_disconnected
+
+Account is disconnected
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `account_disconnected`
+
+---
+
+**`is_connected_account_error`**
+Format: `Boolean`
+
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+salto_ks_subscription_limit_exceeded
+
+Salto site user limit reached.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `salto_ks_subscription_limit_exceeded`
+
+---
+
+**`is_connected_account_error`**
+Format: `Boolean`
+
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+device_offline
+
+Device is offline
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `device_offline`
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+device_removed
+
+Device has been removed
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `device_removed`
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+hub_disconnected
+
+Hub is disconnected
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `hub_disconnected`
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+device_disconnected
+
+Device is disconnected
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `device_disconnected`
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+empty_backup_access_code_pool
+
+The backup access code pool is empty.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `empty_backup_access_code_pool`
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+august_lock_not_authorized
+
+User is not authorized to use the August Lock.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `august_lock_not_authorized`
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+august_lock_missing_bridge
+
+Lock is not connected to the Seam Bridge.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `august_lock_missing_bridge`
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+ttlock_lock_not_paired_to_gateway
+
+Lock is not paired with a Gateway.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `ttlock_lock_not_paired_to_gateway`
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+missing_device_credentials
+
+Missing device credentials.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `missing_device_credentials`
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+auxiliary_heat_running
+
+The auxiliary heat is running.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `auxiliary_heat_running`
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+subscription_required
+
+Subscription required to connect.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `subscription_required`
+
+---
+
+**`is_device_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+invalid_credentials
+
+Credentials provided were invalid.
+
+**`created_at`**
+Format: `Datetime`
+
+
+Date and time at which Seam created the error.
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `invalid_credentials`
+
+---
+
+**`is_bridge_error`**
+Format: `Boolean`
+
+
+---
+
+**`is_connected_account_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+bridge_disconnected
+
+Indicates that the Seam API cannot communicate with [Seam Bridge](../../capability-guides/seam-bridge.md), for example, if Seam Bridge executable has stopped or if the computer running the Seam Bridge executable is offline.
+ See also [Troubleshooting Your Access Control System](../../capability-guides/access-systems/troubleshooting-your-access-control-system.md#acs_system.errors.seam_bridge_disconnected).
+
+**`created_at`**
+Format: `Datetime`
+
+
+Date and time at which Seam created the error.
+
+---
+
+**`error_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `bridge_disconnected`
+
+---
+
+**`is_bridge_error`**
+Format: `Boolean`
+
+
+---
+
+**`is_connected_account_error`**
+Format: `Boolean`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+
+
+---
+
+### `is_managed`
+
+Format: `Boolean`
+
+Indicates whether Seam manages the device.
+
+---
+
+### `location`
+
+Format: `Object`
+
+Location information for the device.
+
+
+
+location_name
Format: String
+
+Name of the device location.
+
+
+
+
+timezone
Format: String
+
+Time zone of the device location.
+
+
+---
+
+### `nickname`
+
+Format: `String`
+
+Optional nickname to describe the device, settable through Seam
+
+---
+
+### `properties`
+
+Format: `Object`
+
+Properties of the device.
+
+
+
+accessory_keypad
Format: Object
+
+Represents the accessory keypad state.
+
+
+
+
+accessory_keypad.battery
Format: Object
+
+Indicates if the keypad battery properties.
+
+
+
+
+accessory_keypad.battery.level
Format: Number
+
+
+
+
+accessory_keypad.is_connected
Format: Boolean
+
+Indicates if the accessory_keypad is connected to the device.
+
+
+
+
+appearance
Format: Object
+
+
+
+
+appearance.name
Format: String
+
+Name of the device as seen from the provider API and application, not settable through Seam.
+
+
+
+
+battery
Format: Object
+
+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.
+
+
+
+
+battery.level
Format: Number
+
+
+
+
+battery.status
Format: Enum
+
+Possible enum values:
+- `critical`
+- `low`
+- `good`
+- `full`
+
+
+
+
+battery_level
Format: Number
+
+Indicates the battery level of the device as a decimal value between 0 and 1, inclusive.
+
+
+
+
+currently_triggering_noise_threshold_ids
Format: List
Item format: String
+
+Array of noise threshold IDs that are currently triggering.
+
+
+
+
+has_direct_power
Format: Boolean
+
+Indicates whether the device has direct power.
+
+
+
+
+image_alt_text
Format: String
+
+Alt text for the device image.
+
+
+
+
+image_url
Format: String
+
+Image URL for the device.
+
+
+
+
+manufacturer
Format: String
+
+Manufacturer of the device.
+
+
+
+
+model
Format: Object
+
+
+
+
+model.accessory_keypad_supported
Format: Boolean
+
+{% hint style="warning" %}
+**Deprecated**. use device.properties.model.can_connect_accessory_keypad
+{% endhint %}
+
+
+
+
+model.can_connect_accessory_keypad
Format: Boolean
+
+Indicates whether the device can connect a accessory keypad.
+
+
+
+
+model.display_name
Format: String
+
+Display name of the device model.
+
+
+
+
+model.has_built_in_keypad
Format: Boolean
+
+Indicates whether the device has a built in accessory keypad.
+
+
+
+
+model.manufacturer_display_name
Format: String
+
+Display name that corresponds to the manufacturer-specific terminology for the device.
+
+
+
+
+model.offline_access_codes_supported
Format: Boolean
+
+Indicates whether the device supports offline access codes.
+
+
+
+
+model.online_access_codes_supported
Format: Boolean
+
+Indicates whether the device supports online access codes.
+
+
+
+
+name
Format: String
+
+{% hint style="warning" %}
+**Deprecated**. use device.display_name instead
+{% endhint %}
+
+Name of the device.
+
+
+
+
+noise_level_decibels
Format: Number
+
+Indicates current noise level in decibels, if the device supports noise detection.
+
+
+
+
+offline_access_codes_enabled
Format: Boolean
+
+Indicates whether it is currently possible to use offline access codes for the device.
+
+
+
+
+online
Format: Boolean
+
+Indicates whether the device is online.
+
+
+
+
+online_access_codes_enabled
Format: Boolean
+
+Indicates whether it is currently possible to use online access codes for the device.
+
+
+
+
+serial_number
Format: String
+
+Serial number of the device.
+
+
+
+
+supports_accessory_keypad
Format: Boolean
+
+{% hint style="warning" %}
+**Deprecated**. use device.properties.model.can_connect_accessory_keypad
+{% endhint %}
+
+
+
+
+supports_offline_access_codes
Format: Boolean
+
+{% hint style="warning" %}
+**Deprecated**. use offline_access_codes_enabled
+{% endhint %}
+
+
+
+
+assa_abloy_credential_service_metadata
Format: Object
+
+ASSA ABLOY Credential Service metadata for the phone.
+
+
+
+
+assa_abloy_credential_service_metadata.endpoints
Format: List
Item format: Object
+
+Endpoints associated with the phone.
+
+- endpoint_id
Format: String
+
+ ID of the associated endpoint.
+
+
+- is_active
Format: Boolean
+
+ Indicated whether the endpoint is active.
+
+
+
+
+
+assa_abloy_credential_service_metadata.has_active_endpoint
Format: Boolean
+
+Indicates whether the credential service has active endpoints associated with the phone.
+
+
+
+
+salto_space_credential_service_metadata
Format: Object
+
+Salto Space credential service metadata for the phone.
+
+
+
+
+salto_space_credential_service_metadata.has_active_phone
Format: Boolean
+
+Indicates whether the credential service has an active associated phone.
+
+
+
+
+akiles_metadata
Format: Object
+
+
+
+
+akiles_metadata._member_group_id
Format: String
+
+
+
+
+akiles_metadata.gadget_id
Format: String
+
+
+
+
+akiles_metadata.gadget_name
Format: String
+
+
+
+
+akiles_metadata.product_name
Format: String
+
+
+
+
+assa_abloy_vostio_metadata
Format: Object
+
+
+
+
+assa_abloy_vostio_metadata.encoder_name
Format: String
+
+
+
+
+august_metadata
Format: Object
+
+
+
+
+august_metadata.has_keypad
Format: Boolean
+
+
+
+
+august_metadata.house_id
Format: String
+
+
+
+
+august_metadata.house_name
Format: String
+
+
+
+
+august_metadata.keypad_battery_level
Format: String
+
+
+
+
+august_metadata.lock_id
Format: String
+
+
+
+
+august_metadata.lock_name
Format: String
+
+
+
+
+august_metadata.model
Format: String
+
+
+
+
+avigilon_alta_metadata
Format: Object
+
+
+
+
+avigilon_alta_metadata.entry_name
Format: String
+
+
+
+
+avigilon_alta_metadata.entry_relays_total_count
Format: Number
+
+
+
+
+avigilon_alta_metadata.org_name
Format: String
+
+
+
+
+avigilon_alta_metadata.site_id
Format: Number
+
+
+
+
+avigilon_alta_metadata.site_name
Format: String
+
+
+
+
+avigilon_alta_metadata.zone_id
Format: Number
+
+
+
+
+avigilon_alta_metadata.zone_name
Format: String
+
+
+
+
+brivo_metadata
Format: Object
+
+
+
+
+brivo_metadata.device_name
Format: String
+
+
+
+
+controlbyweb_metadata
Format: Object
+
+
+
+
+controlbyweb_metadata.device_id
Format: String
+
+
+
+
+controlbyweb_metadata.device_name
Format: String
+
+
+
+
+controlbyweb_metadata.relay_name
Format: String
+
+
+
+
+dormakaba_oracode_metadata
Format: Object
+
+
+
+
+dormakaba_oracode_metadata.device_id
Format: Object
+
+
+
+
+dormakaba_oracode_metadata.door_id
Format: Number
+
+
+
+
+dormakaba_oracode_metadata.door_is_wireless
Format: Boolean
+
+
+
+
+dormakaba_oracode_metadata.door_name
Format: String
+
+
+
+
+dormakaba_oracode_metadata.iana_timezone
Format: String
+
+
+
+
+dormakaba_oracode_metadata.predefined_time_slots
Format: List
Item format: Object
+
+- check_in_time
Format: String
+
+
+- check_out_time
Format: String
+
+
+- dormakaba_oracode_user_level_id
Format: UUID
+
+
+- ext_dormakaba_oracode_user_level_prefix
Format: Number
+
+
+- is_24_hour
Format: Boolean
+
+
+- is_biweekly_mode
Format: Boolean
+
+
+- is_master
Format: Boolean
+
+
+- is_one_shot
Format: Boolean
+
+
+- name
Format: String
+
+
+- prefix
Format: Number
+
+
+
+
+
+dormakaba_oracode_metadata.site_id
Format: Number
+
+@DEPRECATED
+
+
+
+
+dormakaba_oracode_metadata.site_name
Format: String
+
+
+
+
+ecobee_metadata
Format: Object
+
+
+
+
+ecobee_metadata.device_name
Format: String
+
+
+
+
+ecobee_metadata.ecobee_device_id
Format: String
+
+
+
+
+four_suites_metadata
Format: Object
+
+
+
+
+four_suites_metadata.device_id
Format: Number
+
+
+
+
+four_suites_metadata.device_name
Format: String
+
+
+
+
+four_suites_metadata.reclose_delay_in_seconds
Format: Number
+
+
+
+
+genie_metadata
Format: Object
+
+
+
+
+genie_metadata.device_name
Format: String
+
+
+
+
+genie_metadata.door_name
Format: String
+
+
+
+
+honeywell_resideo_metadata
Format: Object
+
+
+
+
+honeywell_resideo_metadata.device_name
Format: String
+
+
+
+
+honeywell_resideo_metadata.honeywell_resideo_device_id
Format: String
+
+
+
+
+hubitat_metadata
Format: Object
+
+
+
+
+hubitat_metadata.device_id
Format: String
+
+
+
+
+hubitat_metadata.device_label
Format: String
+
+
+
+
+hubitat_metadata.device_name
Format: String
+
+
+
+
+igloo_metadata
Format: Object
+
+
+
+
+igloo_metadata.bridge_id
Format: String
+
+
+
+
+igloo_metadata.device_id
Format: String
+
+
+
+
+igloo_metadata.model
Format: String
+
+
+
+
+igloohome_metadata
Format: Object
+
+
+
+
+igloohome_metadata.bridge_id
Format: String
+
+
+
+
+igloohome_metadata.bridge_name
Format: String
+
+
+
+
+igloohome_metadata.device_id
Format: String
+
+
+
+
+igloohome_metadata.device_name
Format: String
+
+
+
+
+igloohome_metadata.keypad_id
Format: String
+
+
+
+
+kwikset_metadata
Format: Object
+
+
+
+
+kwikset_metadata.device_id
Format: String
+
+
+
+
+kwikset_metadata.device_name
Format: String
+
+
+
+
+kwikset_metadata.model_number
Format: String
+
+
+
+
+lockly_metadata
Format: Object
+
+
+
+
+lockly_metadata.device_id
Format: String
+
+
+
+
+lockly_metadata.device_name
Format: String
+
+
+
+
+lockly_metadata.model
Format: String
+
+
+
+
+minut_metadata
Format: Object
+
+
+
+
+minut_metadata.device_id
Format: String
+
+
+
+
+minut_metadata.device_name
Format: String
+
+
+
+
+minut_metadata.latest_sensor_values
Format: Object
+
+
+
+
+minut_metadata.latest_sensor_values.accelerometer_z
Format: Object
+
+
+
+
+minut_metadata.latest_sensor_values.accelerometer_z.time
Format: String
+
+
+
+
+minut_metadata.latest_sensor_values.accelerometer_z.value
Format: Number
+
+
+
+
+minut_metadata.latest_sensor_values.humidity
Format: Object
+
+
+
+
+minut_metadata.latest_sensor_values.humidity.time
Format: String
+
+
+
+
+minut_metadata.latest_sensor_values.humidity.value
Format: Number
+
+
+
+
+minut_metadata.latest_sensor_values.pressure
Format: Object
+
+
+
+
+minut_metadata.latest_sensor_values.pressure.time
Format: String
+
+
+
+
+minut_metadata.latest_sensor_values.pressure.value
Format: Number
+
+
+
+
+minut_metadata.latest_sensor_values.sound
Format: Object
+
+
+
+
+minut_metadata.latest_sensor_values.sound.time
Format: String
+
+
+
+
+minut_metadata.latest_sensor_values.sound.value
Format: Number
+
+
+
+
+minut_metadata.latest_sensor_values.temperature
Format: Object
+
+
+
+
+minut_metadata.latest_sensor_values.temperature.time
Format: String
+
+
+
+
+minut_metadata.latest_sensor_values.temperature.value
Format: Number
+
+
+
+
+nest_metadata
Format: Object
+
+
+
+
+nest_metadata.device_custom_name
Format: String
+
+
+
+
+nest_metadata.device_name
Format: String
+
+
+
+
+nest_metadata.display_name
Format: String
+
+
+
+
+nest_metadata.nest_device_id
Format: String
+
+
+
+
+noiseaware_metadata
Format: Object
+
+
+
+
+noiseaware_metadata.device_id
Format: String
+
+
+
+
+noiseaware_metadata.device_model
Format: Enum
+
+Possible enum values:
+- `indoor`
+- `outdoor`
+
+
+
+
+noiseaware_metadata.device_name
Format: String
+
+
+
+
+noiseaware_metadata.noise_level_decibel
Format: Number
+
+
+
+
+noiseaware_metadata.noise_level_nrs
Format: Number
+
+
+
+
+nuki_metadata
Format: Object
+
+
+
+
+nuki_metadata.device_id
Format: String
+
+
+
+
+nuki_metadata.device_name
Format: String
+
+
+
+
+nuki_metadata.keypad_2_paired
Format: Boolean
+
+
+
+
+nuki_metadata.keypad_battery_critical
Format: Boolean
+
+
+
+
+nuki_metadata.keypad_paired
Format: Boolean
+
+
+
+
+salto_ks_metadata
Format: Object
+
+
+
+
+salto_ks_metadata.battery_level
Format: String
+
+
+
+
+salto_ks_metadata.customer_reference
Format: String
+
+
+
+
+salto_ks_metadata.lock_id
Format: String
+
+
+
+
+salto_ks_metadata.lock_type
Format: String
+
+
+
+
+salto_ks_metadata.locked_state
Format: String
+
+
+
+
+salto_ks_metadata.model
Format: String
+
+
+
+
+salto_metadata
Format: Object
+
+
+ ---
+ deprecated: Use `salto_ks_metadata ` instead.
+
+
+
+
+
+salto_metadata.battery_level
Format: String
+
+
+
+
+salto_metadata.customer_reference
Format: String
+
+
+
+
+salto_metadata.lock_id
Format: String
+
+
+
+
+salto_metadata.lock_type
Format: String
+
+
+
+
+salto_metadata.locked_state
Format: String
+
+
+
+
+salto_metadata.model
Format: String
+
+
+
+
+schlage_metadata
Format: Object
+
+
+
+
+schlage_metadata.device_id
Format: String
+
+
+
+
+schlage_metadata.device_name
Format: String
+
+
+
+
+schlage_metadata.model
Format: String
+
+
+
+
+seam_bridge_metadata
Format: Object
+
+
+
+
+seam_bridge_metadata.device_num
Format: Number
+
+
+
+
+seam_bridge_metadata.name
Format: String
+
+
+
+
+seam_bridge_metadata.unlock_method
Format: Enum
+
+Possible enum values:
+- `bridge`
+- `doorking`
+
+
+
+
+sensi_metadata
Format: Object
+
+
+
+
+sensi_metadata.device_id
Format: String
+
+
+
+
+sensi_metadata.device_name
Format: String
+
+
+
+
+sensi_metadata.product_type
Format: String
+
+
+
+
+smartthings_metadata
Format: Object
+
+
+
+
+smartthings_metadata.device_id
Format: String
+
+
+
+
+smartthings_metadata.device_name
Format: String
+
+
+
+
+smartthings_metadata.location_id
Format: String
+
+
+
+
+smartthings_metadata.model
Format: String
+
+
+
+
+tado_metadata
Format: Object
+
+
+
+
+tado_metadata.device_type
Format: String
+
+
+
+
+tado_metadata.serial_no
Format: String
+
+
+
+
+tedee_metadata
Format: Object
+
+
+
+
+tedee_metadata.bridge_id
Format: Number
+
+
+
+
+tedee_metadata.bridge_name
Format: String
+
+
+
+
+tedee_metadata.device_id
Format: Number
+
+
+
+
+tedee_metadata.device_model
Format: String
+
+
+
+
+tedee_metadata.device_name
Format: String
+
+
+
+
+tedee_metadata.keypad_id
Format: Number
+
+
+
+
+tedee_metadata.serial_number
Format: String
+
+
+
+
+ttlock_metadata
Format: Object
+
+
+
+
+ttlock_metadata.feature_value
Format: String
+
+
+
+
+ttlock_metadata.features
Format: Object
+
+
+
+
+ttlock_metadata.features.incomplete_keyboard_passcode
Format: Boolean
+
+
+
+
+ttlock_metadata.features.lock_command
Format: Boolean
+
+
+
+
+ttlock_metadata.features.passcode
Format: Boolean
+
+
+
+
+ttlock_metadata.features.passcode_management
Format: Boolean
+
+
+
+
+ttlock_metadata.features.unlock_via_gateway
Format: Boolean
+
+
+
+
+ttlock_metadata.features.wifi
Format: Boolean
+
+
+
+
+ttlock_metadata.has_gateway
Format: Boolean
+
+
+
+
+ttlock_metadata.lock_alias
Format: String
+
+
+
+
+ttlock_metadata.lock_id
Format: Number
+
+
+
+
+ttlock_metadata.wireless_keypads
Format: List
Item format: Object
+
+- wireless_keypad_id
Format: Number
+
+
+- wireless_keypad_name
Format: String
+
+
+
+
+
+two_n_metadata
Format: Object
+
+
+
+
+two_n_metadata.device_id
Format: Number
+
+
+
+
+two_n_metadata.device_name
Format: String
+
+
+
+
+visionline_metadata
Format: Object
+
+
+
+
+visionline_metadata.encoder_id
Format: String
+
+
+
+
+wyze_metadata
Format: Object
+
+
+
+
+wyze_metadata.device_id
Format: String
+
+
+
+
+wyze_metadata.device_info_model
Format: String
+
+
+
+
+wyze_metadata.device_name
Format: String
+
+
+
+
+wyze_metadata.keypad_uuid
Format: String
+
+
+
+
+wyze_metadata.locker_status_hardlock
Format: Number
+
+
+
+
+wyze_metadata.product_model
Format: String
+
+
+
+
+wyze_metadata.product_name
Format: String
+
+
+
+
+wyze_metadata.product_type
Format: String
+
+
+
+
+_experimental_supported_code_from_access_codes_lengths
Format: List
Item format: Number
+
+
+
+
+code_constraints
Format: List
Item format: Object
+
+- constraint_type
Format: Enum
+
+ Possible enum values:
+ - `no_zeros`
+ - `cannot_start_with_12`
+ - `no_triple_consecutive_ints`
+ - `cannot_specify_pin_code`
+ - `pin_code_matches_existing_set`
+ - `start_date_in_future`
+ - `no_ascending_or_descending_sequence`
+ - `at_least_three_unique_digits`
+ - `cannot_contain_089`
+ - `cannot_contain_0789`
+ - `name_length`
+ - `name_must_be_unique`
+
+
+- max_length
Format: Number
+
+
+- min_length
Format: Number
+
+
+
+
+
+door_open
Format: Boolean
+
+
+
+
+has_native_entry_events
Format: Boolean
+
+
+
+
+keypad_battery
Format: Object
+
+
+
+
+keypad_battery.level
Format: Number
+
+
+
+
+locked
Format: Boolean
+
+
+
+
+max_active_codes_supported
Format: Number
+
+
+
+
+supported_code_lengths
Format: List
Item format: Number
+
+
+
+
+supports_backup_access_code_pool
Format: Boolean
+
+
+
+
+active_thermostat_schedule
Format: Object
+
+Represents a [thermostat schedule](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) that activates a configured [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) on a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) at a specified starting time and deactivates the climate preset at a specified ending time.
+
+
+
+
+active_thermostat_schedule.climate_preset_key
Format: String
+
+Key of the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) to use for the [thermostat schedule](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md).
+
+
+
+
+active_thermostat_schedule.created_at
Format: Datetime
+
+Date and time at which the [thermostat schedule](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) was created.
+
+
+
+
+active_thermostat_schedule.device_id
Format: UUID
+
+ID of the desired [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) device.
+
+
+
+
+active_thermostat_schedule.ends_at
Format: Datetime
+
+Date and time at which the [thermostat schedule](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
+
+
+
+
+active_thermostat_schedule.errors
Format: List
Item format: Object
+
+Errors associated with the [thermostat schedule](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md).
+
+- error_code
Format: String
+
+ Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
+
+
+- message
Format: String
+
+ Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
+
+
+
+
+
+active_thermostat_schedule.is_override_allowed
Format: Boolean
+
+Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) starts.
+
+
+
+
+active_thermostat_schedule.max_override_period_minutes
Format: 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](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md). See also [Specifying Manual Override Permissions](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions).
+
+
+
+
+active_thermostat_schedule.name
Format: String
+
+User-friendly name to identify the [thermostat schedule](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md).
+
+
+
+
+active_thermostat_schedule.starts_at
Format: Datetime
+
+Date and time at which the [thermostat schedule](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
+
+
+
+
+active_thermostat_schedule.thermostat_schedule_id
Format: UUID
+
+ID of the [thermostat schedule](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md).
+
+
+
+
+available_climate_presets
Format: List
Item format: Object
+
+- can_delete
Format: Boolean
+
+ Indicates whether the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) key can be deleted.
+
+
+- can_edit
Format: Boolean
+
+ Indicates whether the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) key can be edited.
+
+
+- can_program
Format: Boolean
+
+ Indicates whether the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) key can be programmed in a thermostat daily program.
+
+
+- climate_preset_key
Format: String
+
+ Unique key to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md).
+
+
+- cooling_set_point_celsius
Format: Number
+
+ Temperature to which the thermostat should cool (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+- cooling_set_point_fahrenheit
Format: Number
+
+ Temperature to which the thermostat should cool (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+- display_name
Format: String
+
+ Display name for the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md).
+
+
+- fan_mode_setting
Format: 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`.
+
+ Possible enum values:
+ - `auto`
+ - `on`
+ - `circulate`
+
+
+- heating_set_point_celsius
Format: Number
+
+ Temperature to which the thermostat should heat (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+- heating_set_point_fahrenheit
Format: Number
+
+ Temperature to which the thermostat should heat (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+- hvac_mode_setting
Format: Enum
+
+ Desired [HVAC mode](../../capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md) setting, such as `heat`, `cool`, `heat_cool`, or `off`.
+
+ Possible enum values:
+ - `off`
+ - `heat`
+ - `cool`
+ - `heat_cool`
+
+
+- manual_override_allowed
Format: Boolean
+
+ {% hint style="warning" %}
+ **Deprecated**. Use 'thermostat_schedule.is_override_allowed'
+ {% endhint %}
+
+ Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions).
+
+
+- name
Format: String
+
+ User-friendly name to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md).
+
+
+
+
+
+available_fan_mode_settings
Format: List
Item format: Enum
+
+
+
+
+available_hvac_mode_settings
Format: List
Item format: Enum
+
+
+
+
+current_climate_setting
Format: Object
+
+
+
+
+current_climate_setting.can_delete
Format: Boolean
+
+Indicates whether the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) key can be deleted.
+
+
+
+
+current_climate_setting.can_edit
Format: Boolean
+
+Indicates whether the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) key can be edited.
+
+
+
+
+current_climate_setting.can_program
Format: Boolean
+
+Indicates whether the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) key can be programmed in a thermostat daily program.
+
+
+
+
+current_climate_setting.climate_preset_key
Format: String
+
+Unique key to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md).
+
+
+
+
+current_climate_setting.cooling_set_point_celsius
Format: Number
+
+Temperature to which the thermostat should cool (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+
+
+current_climate_setting.cooling_set_point_fahrenheit
Format: Number
+
+Temperature to which the thermostat should cool (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+
+
+current_climate_setting.display_name
Format: String
+
+Display name for the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md).
+
+
+
+
+current_climate_setting.fan_mode_setting
Format: 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`.
+
+Possible enum values:
+- `auto`
+- `on`
+- `circulate`
+
+
+
+
+current_climate_setting.heating_set_point_celsius
Format: Number
+
+Temperature to which the thermostat should heat (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+
+
+current_climate_setting.heating_set_point_fahrenheit
Format: Number
+
+Temperature to which the thermostat should heat (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+
+
+current_climate_setting.hvac_mode_setting
Format: Enum
+
+Desired [HVAC mode](../../capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md) setting, such as `heat`, `cool`, `heat_cool`, or `off`.
+
+Possible enum values:
+- `off`
+- `heat`
+- `cool`
+- `heat_cool`
+
+
+
+
+current_climate_setting.manual_override_allowed
Format: Boolean
+
+{% hint style="warning" %}
+**Deprecated**. Use 'thermostat_schedule.is_override_allowed'
+{% endhint %}
+
+Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions).
+
+
+
+
+current_climate_setting.name
Format: String
+
+User-friendly name to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md).
+
+
+
+
+default_climate_setting
Format: Object
+
+{% hint style="warning" %}
+**Deprecated**. use fallback_climate_preset_key to specify a fallback climate preset instead.
+{% endhint %}
+
+
+
+
+default_climate_setting.can_delete
Format: Boolean
+
+Indicates whether the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) key can be deleted.
+
+
+
+
+default_climate_setting.can_edit
Format: Boolean
+
+Indicates whether the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) key can be edited.
+
+
+
+
+default_climate_setting.can_program
Format: Boolean
+
+Indicates whether the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) key can be programmed in a thermostat daily program.
+
+
+
+
+default_climate_setting.climate_preset_key
Format: String
+
+Unique key to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md).
+
+
+
+
+default_climate_setting.cooling_set_point_celsius
Format: Number
+
+Temperature to which the thermostat should cool (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+
+
+default_climate_setting.cooling_set_point_fahrenheit
Format: Number
+
+Temperature to which the thermostat should cool (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+
+
+default_climate_setting.display_name
Format: String
+
+Display name for the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md).
+
+
+
+
+default_climate_setting.fan_mode_setting
Format: 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`.
+
+Possible enum values:
+- `auto`
+- `on`
+- `circulate`
+
+
+
+
+default_climate_setting.heating_set_point_celsius
Format: Number
+
+Temperature to which the thermostat should heat (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+
+
+default_climate_setting.heating_set_point_fahrenheit
Format: Number
+
+Temperature to which the thermostat should heat (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md).
+
+
+
+
+default_climate_setting.hvac_mode_setting
Format: Enum
+
+Desired [HVAC mode](../../capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md) setting, such as `heat`, `cool`, `heat_cool`, or `off`.
+
+Possible enum values:
+- `off`
+- `heat`
+- `cool`
+- `heat_cool`
+
+
+
+
+default_climate_setting.manual_override_allowed
Format: Boolean
+
+{% hint style="warning" %}
+**Deprecated**. Use 'thermostat_schedule.is_override_allowed'
+{% endhint %}
+
+Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions).
+
+
+
+
+default_climate_setting.name
Format: String
+
+User-friendly name to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md).
+
+
+
+
+fallback_climate_preset_key
Format: String
+
+
+
+
+fan_mode_setting
Format: Enum
+
+{% hint style="warning" %}
+**Deprecated**. use current_climate_setting.fan_mode_setting instead.
+{% endhint %}
+
+Possible enum values:
+- `auto`
+- `on`
+- `circulate`
+
+
+
+
+is_cooling
Format: Boolean
+
+
+
+
+is_fan_running
Format: Boolean
+
+
+
+
+is_heating
Format: Boolean
+
+
+
+
+is_temporary_manual_override_active
Format: Boolean
+
+
+
+
+max_cooling_set_point_celsius
Format: Number
+
+
+
+
+max_cooling_set_point_fahrenheit
Format: Number
+
+
+
+
+max_heating_set_point_celsius
Format: Number
+
+
+
+
+max_heating_set_point_fahrenheit
Format: Number
+
+
+
+
+min_cooling_set_point_celsius
Format: Number
+
+
+
+
+min_cooling_set_point_fahrenheit
Format: Number
+
+
+
+
+min_heating_cooling_delta_celsius
Format: Number
+
+
+
+
+min_heating_cooling_delta_fahrenheit
Format: Number
+
+
+
+
+min_heating_set_point_celsius
Format: Number
+
+
+
+
+min_heating_set_point_fahrenheit
Format: Number
+
+
+
+
+relative_humidity
Format: Number
+
+
+
+
+temperature_celsius
Format: Number
+
+
+
+
+temperature_fahrenheit
Format: Number
+
+
+
+
+temperature_threshold
Format: Object
+
+
+
+
+temperature_threshold.lower_limit_celsius
Format: Number
+
+
+
+
+temperature_threshold.lower_limit_fahrenheit
Format: Number
+
+
+
+
+temperature_threshold.upper_limit_celsius
Format: Number
+
+
+
+
+temperature_threshold.upper_limit_fahrenheit
Format: Number
+
+
+
+
+thermostat_daily_programs
Format: List
Item format: Object
+
+- created_at
Format: Datetime
+
+ Date and time at which the thermostat daily program was created.
+
+
+- device_id
Format: UUID
+
+ ID of the desired thermostat device.
+
+
+- name
Format: String
+
+ User-friendly name to identify the thermostat daily program.
+
+
+- periods
Format: List
Item format: Object
+
+ Array of thermostat daily program periods.
+
+- climate_preset_key
Format: String
+
+ Key of the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) to activate at the starts_at_time.
+
+
+- starts_at_time
Format: String
+
+ Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
+
+
+
+- thermostat_daily_program_id
Format: UUID
+
+ ID of the thermostat daily program.
+
+
+
+
+
+thermostat_weekly_program
Format: Object
+
+
+
+
+thermostat_weekly_program.created_at
Format: Datetime
+
+Date and time at which the thermostat weekly program was created.
+
+
+
+
+thermostat_weekly_program.device_id
Format: UUID
+
+ID of the thermostat device the weekly program is for.
+
+
+
+
+thermostat_weekly_program.friday_program_id
Format: UUID
+
+ID of the thermostat daily program to run on Fridays.
+
+
+
+
+thermostat_weekly_program.monday_program_id
Format: UUID
+
+ID of the thermostat daily program to run on Mondays.
+
+
+
+
+thermostat_weekly_program.saturday_program_id
Format: UUID
+
+ID of the thermostat daily program to run on Saturdays.
+
+
+
+
+thermostat_weekly_program.sunday_program_id
Format: UUID
+
+ID of the thermostat daily program to run on Sundays.
+
+
+
+
+thermostat_weekly_program.thursday_program_id
Format: UUID
+
+ID of the thermostat daily program to run on Thursdays.
+
+
+
+
+thermostat_weekly_program.tuesday_program_id
Format: UUID
+
+ID of the thermostat daily program to run on Tuesdays.
+
+
+
+
+thermostat_weekly_program.wednesday_program_id
Format: UUID
+
+ID of the thermostat daily program to run on Wednesdays.
+
+
+---
+
+### [`warnings`](./#warnings-1)
+
+Format: `List`
+
+Item format: `Object`
+
+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:
+
+partial_backup_access_code_pool
+
+Backup access code unhealthy.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `partial_backup_access_code_pool`
+
+
+
+many_active_backup_codes
+
+Too many backup codes.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `many_active_backup_codes`
+
+
+
+wyze_device_missing_gateway
+
+Wyze Lock is not connected to a gateway.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `wyze_device_missing_gateway`
+
+
+
+functional_offline_device
+
+Device is offline, but has some functionality available.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `functional_offline_device`
+
+
+
+third_party_integration_detected
+
+Third-party integration detected.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `third_party_integration_detected`
+
+
+
+nest_thermostat_in_manual_eco_mode
+
+Nest thermostat in manual eco mode.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `nest_thermostat_in_manual_eco_mode`
+
+
+
+ttlock_lock_gateway_unlocking_not_enabled
+
+Remote Unlock feature not enabled in settings.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `ttlock_lock_gateway_unlocking_not_enabled`
+
+
+
+ttlock_weak_gateway_signal
+
+Gateway signal is weak.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `ttlock_weak_gateway_signal`
+
+
+
+temperature_threshold_exceeded
+
+Temperature threshold exceeded.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `temperature_threshold_exceeded`
+
+
+
+device_communication_degraded
+
+Device appears to be unresponsive.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `device_communication_degraded`
+
+
+
+scheduled_maintenance_window
+
+Scheduled maintenance window detected.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `scheduled_maintenance_window`
+
+
+
+device_has_flaky_connection
+
+Device has flaky connection.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `device_has_flaky_connection`
+
+
+
+salto_ks_office_mode
+
+Lock is in Office Mode. Access Codes will not unlock doors.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `salto_ks_office_mode`
+
+
+
+salto_ks_privacy_mode
+
+Lock is in Privacy Mode. Access Codes will not unlock doors.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `salto_ks_privacy_mode`
+
+
+
+salto_ks_subscription_limit_almost_reached
+
+Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Please increase your subscription limit, or delete some users from your site to rectify this.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `salto_ks_subscription_limit_almost_reached`
+
+
+
+unknown_issue_with_phone
+
+An unknown issue occurred while syncing the state of this phone with the provider. This issue may affect the proper functioning of this phone.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `unknown_issue_with_phone`
+
+
+
+lockly_time_zone_not_configured
+
+We detected that this device does not have a time zone configured. Time bound codes may not work as expected.
+
+**`created_at`**
+Format: `Datetime`
+
+
+---
+
+**`message`**
+Format: `String`
+
+
+---
+
+**`warning_code`**
+Format: `Enum`
+
+
+Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
+
+Possible enum values:
+- `lockly_time_zone_not_configured`
+
+
+
+---
+
+### `workspace_id`
+
+Format: `UUID`
+
+Unique identifier for the Seam workspace associated with the device.
+
+---
+
+## Errors
+
+### `account_disconnected`
+
+Account is disconnected
+
+---
+
+### `salto_ks_subscription_limit_exceeded`
+
+Salto site user limit reached.
+
+---
+
+### `device_offline`
+
+Device is offline
+
+---
+
+### `device_removed`
+
+Device has been removed
+
+---
+
+### `hub_disconnected`
+
+Hub is disconnected
+
+---
+
+### `device_disconnected`
+
+Device is disconnected
+
+---
+
+### `empty_backup_access_code_pool`
+
+The backup access code pool is empty.
+
+---
+
+### `august_lock_not_authorized`
+
+User is not authorized to use the August Lock.
+
+---
+
+### `august_lock_missing_bridge`
+
+Lock is not connected to the Seam Bridge.
+
+---
+
+### `ttlock_lock_not_paired_to_gateway`
+
+Lock is not paired with a Gateway.
+
+---
+
+### `missing_device_credentials`
+
+Missing device credentials.
+
+---
+
+### `auxiliary_heat_running`
+
+The auxiliary heat is running.
+
+---
+
+### `subscription_required`
+
+Subscription required to connect.
+
+---
+
+### `invalid_credentials`
+
+Credentials provided were invalid.
+
+---
+
+### `bridge_disconnected`
+
+Indicates that the Seam API cannot communicate with [Seam Bridge](../../capability-guides/seam-bridge.md), for example, if Seam Bridge executable has stopped or if the computer running the Seam Bridge executable is offline.
+ See also [Troubleshooting Your Access Control System](../../capability-guides/access-systems/troubleshooting-your-access-control-system.md#acs_system.errors.seam_bridge_disconnected).
+
+---
+
+## Warnings
+
+### `partial_backup_access_code_pool`
+
+Backup access code unhealthy.
+
+---
+
+### `many_active_backup_codes`
+
+Too many backup codes.
+
+---
+
+### `wyze_device_missing_gateway`
+
+Wyze Lock is not connected to a gateway.
+
+---
+
+### `functional_offline_device`
+
+Device is offline, but has some functionality available.
+
+---
+
+### `third_party_integration_detected`
+
+Third-party integration detected.
+
+---
+
+### `nest_thermostat_in_manual_eco_mode`
+
+Nest thermostat in manual eco mode.
+
+---
+
+### `ttlock_lock_gateway_unlocking_not_enabled`
+
+Remote Unlock feature not enabled in settings.
+
+---
+
+### `ttlock_weak_gateway_signal`
+
+Gateway signal is weak.
+
+---
+
+### `temperature_threshold_exceeded`
+
+Temperature threshold exceeded.
+
+---
+
+### `device_communication_degraded`
+
+Device appears to be unresponsive.
+
+---
+
+### `scheduled_maintenance_window`
+
+Scheduled maintenance window detected.
+
+---
+
+### `device_has_flaky_connection`
+
+Device has flaky connection.
+
+---
+
+### `salto_ks_office_mode`
+
+Lock is in Office Mode. Access Codes will not unlock doors.
+
+---
+
+### `salto_ks_privacy_mode`
+
+Lock is in Privacy Mode. Access Codes will not unlock doors.
+
+---
+
+### `salto_ks_subscription_limit_almost_reached`
+
+Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Please increase your subscription limit, or delete some users from your site to rectify this.
+
+---
+
+### `unknown_issue_with_phone`
+
+An unknown issue occurred while syncing the state of this phone with the provider. This issue may affect the proper functioning of this phone.
+
+---
+
+### `lockly_time_zone_not_configured`
+
+We detected that this device does not have a time zone configured. Time bound codes may not work as expected.
+
+---
+
+## Endpoints
+
+
+---
+
+## Events
+
+### `device.connected`
+
+The status of a [device](../../core-concepts/devices/README.md) 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.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.connected`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.added`
+
+A [device](../../core-concepts/devices/README.md) was added to Seam or was re-added to Seam after having been removed.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.added`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.converted_to_unmanaged`
+
+A managed device was successfully converted to an [unmanaged device](../../core-concepts/devices/managed-and-unmanaged-devices.md).
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.converted_to_unmanaged`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.unmanaged.converted_to_managed`
+
+An [unmanaged device](../../core-concepts/devices/managed-and-unmanaged-devices.md) was successfully converted to a managed device.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.unmanaged.converted_to_managed`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.unmanaged.connected`
+
+The status of an [unmanaged device](../../core-concepts/devices/managed-and-unmanaged-devices.md) changed from offline to online. That is, the `device.properties.online` property changed from `false` to `true`.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.unmanaged.connected`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.disconnected`
+
+The status of a [device](../../core-concepts/devices/README.md) changed from online to offline. That is, the `device.properties.online` property changed from `true` to `false`.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+error_code
Format: Enum
+
+Error code associated with the disconnection event, if any.
+
+Possible enum values:
+- `account_disconnected`
+- `hub_disconnected`
+- `device_disconnected`
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.disconnected`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.unmanaged.disconnected`
+
+The status of an [unmanaged device](../../core-concepts/devices/managed-and-unmanaged-devices.md) changed from online to offline. That is, the `device.properties.online` property changed from `true` to `false`.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+error_code
Format: Enum
+
+Error code associated with the disconnection event, if any.
+
+Possible enum values:
+- `account_disconnected`
+- `hub_disconnected`
+- `device_disconnected`
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.unmanaged.disconnected`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.tampered`
+
+A [device](../../core-concepts/devices/README.md) detected that it was tampered with, for example, opened or moved.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.tampered`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.low_battery`
+
+A [device](../../core-concepts/devices/README.md) battery level dropped below the low threshold.
+
+
+
+battery_level
Format: Number
+
+Number in the range 0 to 1.0 indicating the amount of battery in the device, as reported by the device.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.low_battery`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.battery_status_changed`
+
+A [device](../../core-concepts/devices/README.md) battery status changed since the last `battery_status_changed` event.
+
+
+
+battery_level
Format: Number
+
+Number in the range 0 to 1.0 indicating the amount of battery in the device, as reported by the device.
+
+
+
+battery_status
Format: Enum
+
+Battery status of the device, calculated from the numeric `battery_level` value.
+
+Possible enum values:
+- `critical`
+- `low`
+- `good`
+- `full`
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.battery_status_changed`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.removed`
+
+A [device](../../core-concepts/devices/README.md) was removed externally from the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.removed`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.deleted`
+
+A [device](../../core-concepts/devices/README.md) was deleted.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.deleted`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.third_party_integration_detected`
+
+Seam detected that a [device](../../core-concepts/devices/README.md) is using a third-party integration that will interfere with Seam device management.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.third_party_integration_detected`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.third_party_integration_no_longer_detected`
+
+Seam detected that a [device](../../core-concepts/devices/README.md) is no longer using a third-party integration that was interfering with Seam device management.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.third_party_integration_no_longer_detected`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.salto.privacy_mode_activated`
+
+A [Salto device](https://docs.seam.co/latest/device-and-system-integration-guides/salto-locks) activated privacy mode.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.salto.privacy_mode_activated`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.salto.privacy_mode_deactivated`
+
+A [Salto device](https://docs.seam.co/latest/device-and-system-integration-guides/salto-locks) deactivated privacy mode.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.salto.privacy_mode_deactivated`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.connection_became_flaky`
+
+Seam detected a flaky [device](../../core-concepts/devices/README.md) connection.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.connection_became_flaky`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.connection_stabilized`
+
+Seam detected that a previously-flaky [device](../../core-concepts/devices/README.md) connection stabilized.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.connection_stabilized`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.error.subscription_required`
+
+A third-party subscription is required to use all [device](../../core-concepts/devices/README.md) features.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.error.subscription_required`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.error.subscription_required.resolved`
+
+A third-party subscription is active or no longer required to use all [device](../../core-concepts/devices/README.md) features.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.error.subscription_required.resolved`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.accessory_keypad_connected`
+
+An accessory keypad was connected to a [device](../../core-concepts/devices/README.md).
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.accessory_keypad_connected`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.accessory_keypad_disconnected`
+
+An accessory keypad was disconnected from a [device](../../core-concepts/devices/README.md).
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.accessory_keypad_disconnected`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
+### `device.name_changed`
+
+The name of a [device](../../core-concepts/devices/README.md) was changed.
+
+
+
+connected_account_id
Format: UUID
+
+ID of the [connected account](../../core-concepts/connected-accounts/README.md).
+
+
+
+created_at
Format: Datetime
+
+Date and time at which the event was created.
+
+
+
+device_id
Format: UUID
+
+ID of the device.
+
+
+
+device_name
Format: String
+
+The new name of the device.
+
+
+
+event_id
Format: UUID
+
+ID of the event.
+
+
+
+event_type
Format: Enum
+
+Value: `device.name_changed`
+
+
+
+occurred_at
Format: Datetime
+
+Date and time at which the event occurred.
+
+
+
+workspace_id
Format: UUID
+
+ID of the [workspace](../../core-concepts/workspaces/README.md).
+
+---
+
diff --git a/src/data/paths.yaml b/src/data/paths.yaml
index 4b9238aa..485a0c02 100644
--- a/src/data/paths.yaml
+++ b/src/data/paths.yaml
@@ -80,3 +80,12 @@
title: Enrollment Automations
resources:
- enrollment_automation
+
+/locks:
+ title: Locks
+ resources:
+ - device
+
+/locks/simulate:
+ title: Lock Simulations
+ resources: []
diff --git a/src/lib/reference.ts b/src/lib/reference.ts
index adae39a5..93d1f63c 100644
--- a/src/lib/reference.ts
+++ b/src/lib/reference.ts
@@ -57,7 +57,8 @@ export const reference = (
!route.path.startsWith('/acs') &&
!route.path.startsWith('/thermostats') &&
!route.path.startsWith('/phones') &&
- !route.path.startsWith('/user_identities')
+ !route.path.startsWith('/user_identities') &&
+ !route.path.startsWith('/locks')
) {
continue
}