> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seam.co/llms.txt
> Use this file to discover all available pages before exploring further.

# List Devices

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



## OpenAPI

````yaml /openapi.json post /devices/list
openapi: 3.0.0
info:
  title: Seam Connect
  version: 1.0.0
servers:
  - url: https://connect.getseam.com
security: []
tags:
  - description: access_codes
    name: /access_codes
  - description: acs
    name: /acs
  - description: action_attempts
    name: /action_attempts
  - description: client_sessions
    name: /client_sessions
  - description: connected_accounts
    name: /connected_accounts
  - description: connect_webviews
    name: /connect_webviews
  - description: devices
    name: /devices
  - description: events
    name: /events
  - description: health
    name: /health
  - description: locks
    name: /locks
  - description: networks
    name: /networks
  - description: noise_sensors
    name: /noise_sensors
  - description: phones
    name: /phones
  - description: thermostats
    name: /thermostats
  - description: user_identities
    name: /user_identities
  - description: webhooks
    name: /webhooks
  - description: workspaces
    name: /workspaces
paths:
  /devices/list:
    post:
      tags:
        - /devices
      summary: List Devices
      description: >-
        Returns a list of all
        [devices](https://docs.seam.co/core-concepts/devices).
      operationId: devicesListPost
      requestBody:
        content:
          application/json:
            schema:
              properties:
                connect_webview_id:
                  description: >-
                    ID of the Connect Webview for which you want to list
                    devices.
                  format: uuid
                  type: string
                connected_account_id:
                  description: >-
                    ID of the connected account for which you want to list
                    devices.
                  format: uuid
                  type: string
                connected_account_ids:
                  description: >-
                    Array of IDs of the connected accounts for which you want to
                    list devices.
                  items:
                    format: uuid
                    type: string
                  type: array
                created_before:
                  description: >-
                    Timestamp by which to limit returned devices. Returns
                    devices created before this timestamp.
                  format: date-time
                  type: string
                custom_metadata_has:
                  additionalProperties:
                    oneOf:
                      - type: string
                      - type: boolean
                  description: >-
                    Set of key:value [custom
                    metadata](https://docs.seam.co/core-concepts/devices/adding-custom-metadata-to-a-device)
                    pairs for which you want to list devices.
                  type: object
                customer_key:
                  description: Customer key for which you want to list devices.
                  type: string
                device_ids:
                  description: Array of device IDs for which you want to list devices.
                  items:
                    format: uuid
                    type: string
                  type: array
                device_type:
                  description: Device type for which you want to list devices.
                  oneOf:
                    - description: |-
                        Device type for smartlocks.
                                  
                      enum:
                        - akuvox_lock
                        - august_lock
                        - brivo_access_point
                        - butterflymx_panel
                        - avigilon_alta_entry
                        - doorking_lock
                        - genie_door
                        - igloo_lock
                        - linear_lock
                        - lockly_lock
                        - kwikset_lock
                        - nuki_lock
                        - salto_lock
                        - schlage_lock
                        - smartthings_lock
                        - wyze_lock
                        - yale_lock
                        - two_n_intercom
                        - controlbyweb_device
                        - ttlock_lock
                        - igloohome_lock
                        - four_suites_door
                        - dormakaba_oracode_door
                        - tedee_lock
                        - akiles_lock
                        - ultraloq_lock
                        - keyincode_lock
                        - omnitec_lock
                      type: string
                    - description: |-
                        Device type for keys.
                                  
                      enum:
                        - keynest_key
                      type: string
                    - description: |-
                        Device type for noise sensors.
                                  
                      enum:
                        - noiseaware_activity_zone
                        - minut_sensor
                      type: string
                    - description: |-
                        Device type for thermostats.
                                  
                      enum:
                        - ecobee_thermostat
                        - nest_thermostat
                        - honeywell_resideo_thermostat
                        - tado_thermostat
                        - sensi_thermostat
                        - smartthings_thermostat
                      type: string
                    - description: |-
                        Device type for phones.
                                  
                      enum:
                        - ios_phone
                        - android_phone
                      type: string
                    - description: Device type for cameras.
                      enum:
                        - ring_camera
                      type: string
                device_types:
                  description: Array of device types for which you want to list devices.
                  items:
                    oneOf:
                      - description: |-
                          Device type for smartlocks.
                                    
                        enum:
                          - akuvox_lock
                          - august_lock
                          - brivo_access_point
                          - butterflymx_panel
                          - avigilon_alta_entry
                          - doorking_lock
                          - genie_door
                          - igloo_lock
                          - linear_lock
                          - lockly_lock
                          - kwikset_lock
                          - nuki_lock
                          - salto_lock
                          - schlage_lock
                          - smartthings_lock
                          - wyze_lock
                          - yale_lock
                          - two_n_intercom
                          - controlbyweb_device
                          - ttlock_lock
                          - igloohome_lock
                          - four_suites_door
                          - dormakaba_oracode_door
                          - tedee_lock
                          - akiles_lock
                          - ultraloq_lock
                          - keyincode_lock
                          - omnitec_lock
                        type: string
                      - description: |-
                          Device type for keys.
                                    
                        enum:
                          - keynest_key
                        type: string
                      - description: |-
                          Device type for noise sensors.
                                    
                        enum:
                          - noiseaware_activity_zone
                          - minut_sensor
                        type: string
                      - description: |-
                          Device type for thermostats.
                                    
                        enum:
                          - ecobee_thermostat
                          - nest_thermostat
                          - honeywell_resideo_thermostat
                          - tado_thermostat
                          - sensi_thermostat
                          - smartthings_thermostat
                        type: string
                      - description: |-
                          Device type for phones.
                                    
                        enum:
                          - ios_phone
                          - android_phone
                        type: string
                      - description: Device type for cameras.
                        enum:
                          - ring_camera
                        type: string
                  type: array
                exclude_if:
                  items:
                    enum:
                      - can_remotely_unlock
                      - can_remotely_lock
                      - can_program_offline_access_codes
                      - can_program_online_access_codes
                      - can_hvac_heat
                      - can_hvac_cool
                      - can_hvac_heat_cool
                      - can_turn_off_hvac
                      - can_simulate_removal
                      - can_simulate_connection
                      - can_simulate_disconnection
                      - can_unlock_with_code
                      - can_run_thermostat_programs
                      - can_program_thermostat_programs_as_weekday_weekend
                      - can_program_thermostat_programs_as_different_each_day
                      - can_program_thermostat_programs_as_same_each_day
                      - can_simulate_hub_connection
                      - can_simulate_hub_disconnection
                      - can_simulate_paid_subscription
                      - can_configure_auto_lock
                    type: string
                  type: array
                  x-undocumented: Only used internally.
                include_if:
                  items:
                    enum:
                      - can_remotely_unlock
                      - can_remotely_lock
                      - can_program_offline_access_codes
                      - can_program_online_access_codes
                      - can_hvac_heat
                      - can_hvac_cool
                      - can_hvac_heat_cool
                      - can_turn_off_hvac
                      - can_simulate_removal
                      - can_simulate_connection
                      - can_simulate_disconnection
                      - can_unlock_with_code
                      - can_run_thermostat_programs
                      - can_program_thermostat_programs_as_weekday_weekend
                      - can_program_thermostat_programs_as_different_each_day
                      - can_program_thermostat_programs_as_same_each_day
                      - can_simulate_hub_connection
                      - can_simulate_hub_disconnection
                      - can_simulate_paid_subscription
                      - can_configure_auto_lock
                    type: string
                  type: array
                  x-undocumented: Only used internally.
                limit:
                  default: 500
                  description: Numerical limit on the number of devices to return.
                  format: float
                  type: number
                manufacturer:
                  description: Manufacturer for which you want to list devices.
                  enum:
                    - akuvox
                    - august
                    - avigilon_alta
                    - brivo
                    - butterflymx
                    - doorking
                    - four_suites
                    - genie
                    - igloo
                    - keywe
                    - kwikset
                    - linear
                    - lockly
                    - nuki
                    - philia
                    - salto
                    - samsung
                    - schlage
                    - seam
                    - unknown
                    - wyze
                    - yale
                    - two_n
                    - ttlock
                    - igloohome
                    - controlbyweb
                    - dormakaba_oracode
                    - tedee
                    - keyincode
                    - akiles
                    - ecobee
                    - honeywell_resideo
                    - keynest
                    - korelock
                    - minut
                    - nest
                    - noiseaware
                    - sensi
                    - smartthings
                    - tado
                    - ultraloq
                    - ring
                    - ical
                    - lodgify
                    - hostaway
                    - guesty
                    - acuity_scheduling
                    - omnitec
                    - slack
                  type: string
                page_cursor:
                  description: >-
                    Identifies the specific page of results to return, obtained
                    from the previous page's `next_page_cursor`.
                  nullable: true
                  type: string
                search:
                  description: >-
                    String for which to search. Filters returned devices to
                    include all records that satisfy a partial match using
                    `device_id` (full or partial UUID prefix, minimum 4
                    characters), `connected_account_id`, `display_name`,
                    `custom_metadata` or `location.location_name`.
                  minLength: 1
                  type: string
                space_id:
                  description: ID of the space for which you want to list devices.
                  format: uuid
                  type: string
                unstable_location_id:
                  deprecated: true
                  format: uuid
                  nullable: true
                  type: string
                  x-deprecated: Use `space_id`.
                user_identifier_key:
                  description: >-
                    Your own internal user ID for the user for which you want to
                    list devices.
                  type: string
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  devices:
                    items:
                      $ref: '#/components/schemas/device'
                    type: array
                  ok:
                    type: boolean
                  pagination:
                    $ref: '#/components/schemas/pagination'
                required:
                  - devices
                  - pagination
                  - ok
                type: object
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      security:
        - client_session_with_customer: []
        - client_session: []
        - pat_with_workspace: []
        - console_session_with_workspace: []
        - api_key: []
      x-codeSamples:
        - lang: javascript
          label: Seam SDK
          source: |-
            await seam.devices.list({
              connected_account_id: "a0b1c2d3-e4f5-6a7b-8c9d-0e1f2a3b4c5d",
              limit: 50,
            });

            /*
            [
              {
                "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,
                "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"
              }
            ]
            */
        - lang: bash
          label: cURL
          source: >-
            curl --include --request POST
            "https://connect.getseam.com/devices/list" \
              --header "Authorization: Bearer $SEAM_API_KEY" \
              --json @- <<EOF
            {
              "connected_account_id": "a0b1c2d3-e4f5-6a7b-8c9d-0e1f2a3b4c5d",
              "limit": 50
            }

            EOF


            # Response:

            # {

            #   "devices": [

            #     {

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

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

            #     }

            #   ]

            # }
        - lang: python
          label: Seam SDK
          source: >-
            seam.devices.list(connected_account_id="a0b1c2d3-e4f5-6a7b-8c9d-0e1f2a3b4c5d",
            limit=50)


            # [
                Device(
                    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,
                    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",
                )
            ]
        - lang: ruby
          label: Seam SDK
          source: >-
            seam.devices.list(connected_account_id:
            "a0b1c2d3-e4f5-6a7b-8c9d-0e1f2a3b4c5d", limit: 50)


            # => [
              {
                "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,
                "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: %w[auto on],
                  available_hvac_mode_settings: %w[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",
              },
            ]
        - lang: php
          label: Seam SDK
          source: |-
            $seam->devices->list(
                connected_account_id: "a0b1c2d3-e4f5-6a7b-8c9d-0e1f2a3b4c5d",
                limit: 50,
            );

            // [
                [
                    "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,
                    "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",
                ],
            ];
        - lang: bash
          label: Seam CLI
          source: >-
            seam devices list --connected_account_id
            "a0b1c2d3-e4f5-6a7b-8c9d-0e1f2a3b4c5d" --limit 50


            # [

            #   {

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

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

            #   }

            # ]
components:
  schemas:
    device:
      description: >-
        Represents a [device](https://docs.seam.co/core-concepts/devices) that
        has been connected to Seam.
      properties:
        can_configure_auto_lock:
          type: boolean
        can_hvac_cool:
          type: boolean
        can_hvac_heat:
          type: boolean
        can_hvac_heat_cool:
          type: boolean
        can_program_offline_access_codes:
          type: boolean
        can_program_online_access_codes:
          type: boolean
        can_program_thermostat_programs_as_different_each_day:
          type: boolean
        can_program_thermostat_programs_as_same_each_day:
          type: boolean
        can_program_thermostat_programs_as_weekday_weekend:
          type: boolean
        can_remotely_lock:
          type: boolean
        can_remotely_unlock:
          type: boolean
        can_run_thermostat_programs:
          type: boolean
        can_simulate_connection:
          type: boolean
        can_simulate_disconnection:
          type: boolean
        can_simulate_hub_connection:
          type: boolean
        can_simulate_hub_disconnection:
          type: boolean
        can_simulate_paid_subscription:
          type: boolean
        can_simulate_removal:
          type: boolean
        can_turn_off_hvac:
          type: boolean
        can_unlock_with_code:
          type: boolean
        capabilities_supported:
          description: |2-

                    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/capability-guides/device-and-system-capabilities#capability-flags).
                    
          items:
            description: |2-

                      Collection of capabilities that the device supports when connected to Seam. **Important:** Superseded by [capability flags](https://docs.seam.co/capability-guides/device-and-system-capabilities#capability-flags).
                      
            enum:
              - access_code
              - lock
              - noise_detection
              - thermostat
              - battery
              - phone
            type: string
          type: array
        connected_account_id:
          description: Unique identifier for the account associated with the device.
          format: uuid
          type: string
        created_at:
          description: Date and time at which the device object was created.
          format: date-time
          type: string
        custom_metadata:
          additionalProperties:
            oneOf:
              - type: string
              - type: boolean
          description: >-
            Set of key:value pairs. Adding custom metadata to a resource, such
            as a [Connect
            Webview](https://docs.seam.co/core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview),
            [connected
            account](https://docs.seam.co/core-concepts/connected-accounts/adding-custom-metadata-to-a-connected-account),
            or
            [device](https://docs.seam.co/core-concepts/devices/adding-custom-metadata-to-a-device),
            enables you to store custom information, like customer details or
            internal IDs from your application.
          type: object
        device_id:
          description: ID of the device.
          format: uuid
          type: string
        device_manufacturer:
          description: >-
            Manufacturer of the device. Represents the hardware brand, which may
            differ from the provider.
          properties:
            display_name:
              description: >-
                Display name for the manufacturer, such as `August`, `Yale`,
                `Salto`, and so on.
              type: string
            image_url:
              description: Image URL for the manufacturer logo.
              format: uri
              type: string
            manufacturer:
              description: >-
                Manufacturer identifier, such as `august`, `yale`, `salto`, and
                so on.
              type: string
          required:
            - manufacturer
            - display_name
          type: object
          x-property-group-key: hardware
        device_provider:
          description: >-
            Provider of the device. Represents the third-party service through
            which the device is controlled.
          properties:
            device_provider_name:
              description: >-
                Device provider name. Corresponds to the integration type, such
                as `august`, `schlage`, `yale_access`, and so on.
              type: string
            display_name:
              description: Display name for the device provider type.
              type: string
            image_url:
              description: Image URL for the device provider.
              format: uri
              type: string
            provider_category:
              description: >-
                Provider category. Indicates the third-party provider type, such
                as `stable`, for stable integrations, or `internal`, for
                internal integrations.
              type: string
          required:
            - provider_category
            - device_provider_name
            - display_name
          type: object
          x-property-group-key: hardware
        device_type:
          description: Type of the device.
          oneOf:
            - description: |-
                Device type for smartlocks.
                          
              enum:
                - akuvox_lock
                - august_lock
                - brivo_access_point
                - butterflymx_panel
                - avigilon_alta_entry
                - doorking_lock
                - genie_door
                - igloo_lock
                - linear_lock
                - lockly_lock
                - kwikset_lock
                - nuki_lock
                - salto_lock
                - schlage_lock
                - smartthings_lock
                - wyze_lock
                - yale_lock
                - two_n_intercom
                - controlbyweb_device
                - ttlock_lock
                - igloohome_lock
                - four_suites_door
                - dormakaba_oracode_door
                - tedee_lock
                - akiles_lock
                - ultraloq_lock
                - keyincode_lock
                - omnitec_lock
              type: string
            - description: |-
                Device type for keys.
                          
              enum:
                - keynest_key
              type: string
            - description: |-
                Device type for noise sensors.
                          
              enum:
                - noiseaware_activity_zone
                - minut_sensor
              type: string
            - description: |-
                Device type for thermostats.
                          
              enum:
                - ecobee_thermostat
                - nest_thermostat
                - honeywell_resideo_thermostat
                - tado_thermostat
                - sensi_thermostat
                - smartthings_thermostat
              type: string
            - description: |-
                Device type for phones.
                          
              enum:
                - ios_phone
                - android_phone
              type: string
            - description: Device type for cameras.
              enum:
                - ring_camera
              type: string
        display_name:
          description: >-
            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.
          type: string
        errors:
          type: array
          description: >-
            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.
          items:
            type: object
            properties:
              error_code:
                type: string
                description: Error or warning code.
              message:
                type: string
                description: Human-readable description.
              created_at:
                type: string
                format: date-time
                description: When this error or warning was generated.
        is_managed:
          description: >-
            Indicates whether Seam manages the device. See also [Managed and
            Unmanaged
            Devices](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices).
          enum:
            - true
          type: boolean
        location:
          description: Location information for the device.
          properties:
            location_name:
              description: |-
                Name of the device location.
                          
              type: string
            time_zone:
              description: |-
                Time zone of the device location.
                          
              type: string
            timezone:
              deprecated: true
              description: Time zone of the device location.
              type: string
              x-deprecated: Use `time_zone` instead.
          type: object
          x-property-group-key: hardware
        nickname:
          description: Optional nickname to describe the device, settable through Seam.
          type: string
        properties:
          allOf:
            - allOf:
                - allOf:
                    - properties:
                        accessory_keypad:
                          description: Accessory keypad properties and state.
                          properties:
                            battery:
                              description: |-
                                Keypad battery properties.
                                          
                              properties:
                                level:
                                  format: float
                                  maximum: 1
                                  minimum: 0
                                  type: number
                              required:
                                - level
                              type: object
                            is_connected:
                              description: >-
                                Indicates if an accessory keypad is connected to
                                the device.
                                        
                              type: boolean
                          required:
                            - is_connected
                          type: object
                          x-property-group-key: hardware
                        appearance:
                          description: >-
                            Appearance-related properties, as reported by the
                            device.
                          properties:
                            name:
                              description: >-
                                Name of the device as seen from the provider API
                                and application, not settable through Seam.
                              type: string
                          required:
                            - name
                          type: object
                          x-property-group-key: hardware
                        battery:
                          description: >-
                            Represents the current status of the battery charge
                            level.
                          properties:
                            level:
                              description: >-
                                Battery charge level as a value between 0 and 1,
                                inclusive.
                                          
                              format: float
                              maximum: 1
                              minimum: 0
                              type: number
                            status:
                              description: >-
                                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.
                                          
                              enum:
                                - critical
                                - low
                                - good
                                - full
                              type: string
                          required:
                            - level
                            - status
                          type: object
                          x-property-group-key: hardware
                        battery_level:
                          description: >-
                            Indicates the battery level of the device as a
                            decimal value between 0 and 1, inclusive.
                          format: float
                          maximum: 1
                          minimum: 0
                          type: number
                          x-property-group-key: hardware
                        currently_triggering_noise_threshold_ids:
                          description: >-
                            Array of noise threshold IDs that are currently
                            triggering.
                          items:
                            type: string
                          type: array
                          x-property-group-key: noise_sensors
                        has_direct_power:
                          description: Indicates whether the device has direct power.
                          type: boolean
                          x-property-group-key: hardware
                        image_alt_text:
                          description: Alt text for the device image.
                          type: string
                          x-property-group-key: hardware
                        image_url:
                          description: Image URL for the device.
                          format: uri
                          type: string
                          x-property-group-key: hardware
                        manufacturer:
                          description: >-
                            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.
                          type: string
                          x-property-group-key: hardware
                        model:
                          description: Device model-related properties.
                          properties:
                            accessory_keypad_supported:
                              deprecated: true
                              type: boolean
                              x-deprecated: >-
                                use
                                device.properties.model.can_connect_accessory_keypad
                            can_connect_accessory_keypad:
                              description: |2-

                                          Indicates whether the device can connect a accessory keypad.
                                      
                              type: boolean
                            display_name:
                              description: |2-

                                          Display name of the device model.
                                      
                              type: string
                            has_built_in_keypad:
                              description: |2-

                                          Indicates whether the device has a built in accessory keypad.
                                      
                              type: boolean
                            manufacturer_display_name:
                              description: |2-

                                          Display name that corresponds to the manufacturer-specific terminology for the device.
                                      
                              type: string
                            offline_access_codes_supported:
                              deprecated: true
                              type: boolean
                              x-deprecated: use device.can_program_offline_access_codes.
                            online_access_codes_supported:
                              deprecated: true
                              type: boolean
                              x-deprecated: use device.can_program_online_access_codes.
                          required:
                            - display_name
                            - manufacturer_display_name
                          type: object
                        name:
                          deprecated: true
                          description: Name of the device.
                          type: string
                          x-deprecated: use device.display_name instead
                        noise_level_decibels:
                          description: >-
                            Indicates current noise level in decibels, if the
                            device supports noise detection.
                          format: float
                          type: number
                          x-property-group-key: noise_sensors
                        offline_access_codes_enabled:
                          deprecated: true
                          description: >-
                            Indicates whether it is currently possible to use
                            offline access codes for the device.
                          type: boolean
                          x-deprecated: use device.can_program_offline_access_codes
                          x-property-group-key: access_codes
                        online:
                          description: Indicates whether the device is online.
                          type: boolean
                        online_access_codes_enabled:
                          deprecated: true
                          description: >-
                            Indicates whether it is currently possible to use
                            online access codes for the device.
                          type: boolean
                          x-deprecated: use device.can_program_online_access_codes
                          x-property-group-key: access_codes
                        serial_number:
                          description: Serial number of the device.
                          type: string
                          x-property-group-key: hardware
                        supports_accessory_keypad:
                          deprecated: true
                          type: boolean
                          x-deprecated: >-
                            use
                            device.properties.model.can_connect_accessory_keypad
                          x-property-group-key: access_codes
                        supports_offline_access_codes:
                          deprecated: true
                          type: boolean
                          x-deprecated: use offline_access_codes_enabled
                          x-property-group-key: access_codes
                      required:
                        - online
                        - name
                        - appearance
                        - model
                      type: object
                    - description: |2-

                                  Properties of the phone.
                                  
                      properties:
                        assa_abloy_credential_service_metadata:
                          description: >-
                            ASSA ABLOY Credential Service metadata for the
                            phone.
                          properties:
                            endpoints:
                              description: Endpoints associated with the phone.
                              items:
                                properties:
                                  endpoint_id:
                                    description: ID of the associated endpoint.
                                    type: string
                                  is_active:
                                    description: Indicated whether the endpoint is active.
                                    type: boolean
                                required:
                                  - endpoint_id
                                  - is_active
                                type: object
                              type: array
                            has_active_endpoint:
                              description: >-
                                Indicates whether the credential service has
                                active endpoints associated with the phone.
                              type: boolean
                          required:
                            - has_active_endpoint
                            - endpoints
                          type: object
                        salto_space_credential_service_metadata:
                          description: >-
                            Salto Space credential service metadata for the
                            phone.
                          properties:
                            has_active_phone:
                              description: >-
                                Indicates whether the credential service has an
                                active associated phone.
                              type: boolean
                          required:
                            - has_active_phone
                          type: object
                      type: object
                - description: Provider-specific metadata.
                  properties:
                    akiles_metadata:
                      description: Metadata for an Akiles device.
                      properties:
                        _member_group_id:
                          description: Group ID to which to add users for an Akiles device.
                          type: string
                        gadget_id:
                          description: Gadget ID for an Akiles device.
                          type: string
                        gadget_name:
                          description: Gadget name for an Akiles device.
                          type: string
                        product_name:
                          description: Product name for an Akiles device.
                          type: string
                      required:
                        - gadget_name
                        - gadget_id
                        - product_name
                      type: object
                    assa_abloy_vostio_metadata:
                      description: Metadata for an ASSA ABLOY Vostio system.
                      properties:
                        encoder_name:
                          description: Encoder name for an ASSA ABLOY Vostio system.
                          type: string
                      required:
                        - encoder_name
                      type: object
                    august_metadata:
                      description: Metadata for an August device.
                      properties:
                        has_keypad:
                          description: Indicates whether an August device has a keypad.
                          type: boolean
                        house_id:
                          description: House ID for an August device.
                          type: string
                        house_name:
                          description: House name for an August device.
                          type: string
                        keypad_battery_level:
                          description: Keypad battery level for an August device.
                          type: string
                        lock_id:
                          description: Lock ID for an August device.
                          type: string
                        lock_name:
                          description: Lock name for an August device.
                          type: string
                        model:
                          description: Model for an August device.
                          type: string
                      required:
                        - lock_id
                        - lock_name
                        - house_name
                        - has_keypad
                      type: object
                    avigilon_alta_metadata:
                      description: Metadata for an Avigilon Alta system.
                      properties:
                        entry_name:
                          description: Entry name for an Avigilon Alta system.
                          type: string
                        entry_relays_total_count:
                          description: >-
                            Total count of entry relays for an Avigilon Alta
                            system.
                          format: float
                          type: number
                        org_name:
                          description: Organization name for an Avigilon Alta system.
                          type: string
                        site_id:
                          description: Site ID for an Avigilon Alta system.
                          format: float
                          type: number
                        site_name:
                          description: Site name for an Avigilon Alta system.
                          type: string
                        zone_id:
                          description: Zone ID for an Avigilon Alta system.
                          format: float
                          type: number
                        zone_name:
                          description: Zone name for an Avigilon Alta system.
                          type: string
                      required:
                        - entry_name
                        - org_name
                        - zone_id
                        - zone_name
                        - site_id
                        - site_name
                        - entry_relays_total_count
                      type: object
                    brivo_metadata:
                      description: Metadata for a Brivo device.
                      properties:
                        activation_enabled:
                          description: >-
                            Indicates whether the Brivo access point has
                            activation (remote unlock) enabled.
                          type: boolean
                        device_name:
                          description: Device name for a Brivo device.
                          type: string
                      type: object
                    controlbyweb_metadata:
                      description: Metadata for a ControlByWeb device.
                      properties:
                        device_id:
                          description: Device ID for a ControlByWeb device.
                          type: string
                        device_name:
                          description: Device name for a ControlByWeb device.
                          type: string
                        relay_name:
                          description: Relay name for a ControlByWeb device.
                          nullable: true
                          type: string
                      required:
                        - device_id
                        - device_name
                        - relay_name
                      type: object
                    dormakaba_oracode_metadata:
                      description: Metadata for a dormakaba Oracode device.
                      properties:
                        device_id:
                          description: Device ID for a dormakaba Oracode device.
                          oneOf:
                            - format: float
                              type: number
                            - type: string
                        door_id:
                          description: Door ID for a dormakaba Oracode device.
                          format: float
                          type: number
                        door_is_wireless:
                          description: >-
                            Indicates whether a door is wireless for a dormakaba
                            Oracode device.
                          type: boolean
                        door_name:
                          description: Door name for a dormakaba Oracode device.
                          type: string
                        iana_timezone:
                          description: IANA time zone for a dormakaba Oracode device.
                          type: string
                        predefined_time_slots:
                          description: >-
                            Predefined time slots for a dormakaba Oracode
                            device.
                          items:
                            description: Time slot for a dormakaba Oracode device.
                            properties:
                              check_in_time:
                                description: >-
                                  Check in time for a time slot for a dormakaba
                                  Oracode device.
                                type: string
                              check_out_time:
                                description: >-
                                  Checkout time for a time slot for a dormakaba
                                  Oracode device.
                                type: string
                              dormakaba_oracode_user_level_id:
                                description: >-
                                  ID of a user level for a dormakaba Oracode
                                  device.
                                format: uuid
                                type: string
                              dormakaba_oracode_user_level_prefix:
                                description: >-
                                  Prefix for a user level for a dormakaba
                                  Oracode device.
                                format: float
                                type: number
                              is_24_hour:
                                description: >-
                                  Indicates whether a time slot for a dormakaba
                                  Oracode device is a 24-hour time slot.
                                type: boolean
                              is_biweekly_mode:
                                description: >-
                                  Indicates whether a time slot for a dormakaba
                                  Oracode device is in biweekly mode.
                                type: boolean
                              is_master:
                                description: >-
                                  Indicates whether a time slot for a dormakaba
                                  Oracode device is a master time slot.
                                type: boolean
                              is_one_shot:
                                description: >-
                                  Indicates whether a time slot for a dormakaba
                                  Oracode device is a one-shot time slot.
                                type: boolean
                              name:
                                description: >-
                                  Name of a time slot for a dormakaba Oracode
                                  device.
                                type: string
                              prefix:
                                description: >-
                                  Prefix for a time slot for a dormakaba Oracode
                                  device.
                                format: float
                                type: number
                            required:
                              - name
                              - prefix
                              - check_in_time
                              - check_out_time
                              - is_24_hour
                              - is_biweekly_mode
                              - is_one_shot
                              - is_master
                              - dormakaba_oracode_user_level_prefix
                              - dormakaba_oracode_user_level_id
                            type: object
                          type: array
                        site_id:
                          deprecated: true
                          description: Site ID for a dormakaba Oracode device.
                          format: float
                          nullable: true
                          type: number
                          x-deprecated: Previously marked as "@DEPRECATED."
                        site_name:
                          description: Site name for a dormakaba Oracode device.
                          type: string
                      required:
                        - door_name
                        - door_is_wireless
                        - site_id
                        - site_name
                      type: object
                    ecobee_metadata:
                      description: Metadata for an ecobee device.
                      properties:
                        device_name:
                          description: Device name for an ecobee device.
                          type: string
                        ecobee_device_id:
                          description: Device ID for an ecobee device.
                          type: string
                      required:
                        - ecobee_device_id
                        - device_name
                      type: object
                    four_suites_metadata:
                      description: Metadata for a 4SUITES device.
                      properties:
                        device_id:
                          description: Device ID for a 4SUITES device.
                          format: float
                          type: number
                        device_name:
                          description: Device name for a 4SUITES device.
                          type: string
                        reclose_delay_in_seconds:
                          description: Reclose delay, in seconds, for a 4SUITES device.
                          format: float
                          type: number
                      required:
                        - device_id
                        - device_name
                        - reclose_delay_in_seconds
                      type: object
                    genie_metadata:
                      description: Metadata for a Genie device.
                      properties:
                        device_name:
                          description: Lock name for a Genie device.
                          type: string
                        door_name:
                          description: Door name for a Genie device.
                          type: string
                      required:
                        - device_name
                        - door_name
                      type: object
                    honeywell_resideo_metadata:
                      description: Metadata for a Honeywell Resideo device.
                      properties:
                        device_name:
                          description: Device name for a Honeywell Resideo device.
                          type: string
                        honeywell_resideo_device_id:
                          description: Device ID for a Honeywell Resideo device.
                          type: string
                      required:
                        - honeywell_resideo_device_id
                        - device_name
                      type: object
                    igloo_metadata:
                      description: Metadata for an igloo device.
                      properties:
                        bridge_id:
                          description: Bridge ID for an igloo device.
                          type: string
                        device_id:
                          description: Device ID for an igloo device.
                          type: string
                        model:
                          description: Model for an igloo device.
                          type: string
                      required:
                        - device_id
                        - bridge_id
                      type: object
                    igloohome_metadata:
                      description: Metadata for an igloohome device.
                      properties:
                        bridge_id:
                          description: Bridge ID for an igloohome device.
                          type: string
                        bridge_name:
                          description: Bridge name for an igloohome device.
                          type: string
                        device_id:
                          description: Device ID for an igloohome device.
                          type: string
                        device_name:
                          description: Device name for an igloohome device.
                          type: string
                        is_accessory_keypad_linked_to_bridge:
                          description: >-
                            Indicates whether a keypad is linked to a bridge for
                            an igloohome device.
                          type: boolean
                        keypad_id:
                          description: Keypad ID for an igloohome device.
                          type: string
                      required:
                        - device_id
                        - device_name
                      type: object
                    keynest_metadata:
                      description: Metadata for a KeyNest device.
                      properties:
                        address:
                          description: Address for a KeyNest device.
                          nullable: true
                          type: string
                        current_or_last_store_id:
                          description: Current or last store ID for a KeyNest device.
                          format: float
                          type: number
                        current_status:
                          description: Current status for a KeyNest device.
                          nullable: true
                          type: string
                        current_user_company:
                          description: Current user company for a KeyNest device.
                          nullable: true
                          type: string
                        current_user_email:
                          description: Current user email for a KeyNest device.
                          nullable: true
                          type: string
                        current_user_name:
                          description: Current user name for a KeyNest device.
                          nullable: true
                          type: string
                        current_user_phone_number:
                          description: Current user phone number for a KeyNest device.
                          nullable: true
                          type: string
                        default_office_id:
                          description: Default office ID for a KeyNest device.
                          format: float
                          type: number
                        device_name:
                          description: Device name for a KeyNest device.
                          type: string
                        fob_id:
                          description: Fob ID for a KeyNest device.
                          format: float
                          type: number
                        handover_method:
                          description: Handover method for a KeyNest device.
                          nullable: true
                          type: string
                        has_photo:
                          description: Whether the KeyNest device has a photo.
                          type: boolean
                        is_quadient_locker:
                          description: >-
                            Whether the key is in a locker that does not support
                            the access codes API.
                          type: boolean
                        key_id:
                          description: Key ID for a KeyNest device.
                          type: string
                        key_notes:
                          description: Key notes for a KeyNest device.
                          nullable: true
                          type: string
                        keynest_app_user:
                          description: KeyNest app user for a KeyNest device.
                          nullable: true
                          type: string
                        last_movement:
                          description: Last movement timestamp for a KeyNest device.
                          type: string
                        property_id:
                          description: Property ID for a KeyNest device.
                          nullable: true
                          type: string
                        property_postcode:
                          description: Property postcode for a KeyNest device.
                          nullable: true
                          type: string
                        status_type:
                          description: Status type for a KeyNest device.
                          type: string
                        subscription_plan:
                          description: Subscription plan for a KeyNest device.
                          type: string
                      type: object
                    korelock_metadata:
                      description: Metadata for a Korelock device.
                      properties:
                        device_id:
                          description: Device ID for a Korelock device.
                          type: string
                        device_name:
                          description: Device name for a Korelock device.
                          type: string
                        firmware_version:
                          description: Firmware version for a Korelock device.
                          type: string
                        location_id:
                          description: >-
                            Location ID for a Korelock device. Required for
                            timebound access codes.
                          nullable: true
                          type: string
                        model_code:
                          description: Model code for a Korelock device.
                          type: string
                        serial_number:
                          description: Serial number for a Korelock device.
                          type: string
                        wifi_signal_strength:
                          description: WiFi signal strength (0-1) for a Korelock device.
                          format: float
                          type: number
                      type: object
                    kwikset_metadata:
                      description: Metadata for a Kwikset device.
                      properties:
                        device_id:
                          description: Device ID for a Kwikset device.
                          type: string
                        device_name:
                          description: Device name for a Kwikset device.
                          type: string
                        model_number:
                          description: Model number for a Kwikset device.
                          type: string
                      required:
                        - device_id
                        - device_name
                        - model_number
                      type: object
                    lockly_metadata:
                      description: Metadata for a Lockly device.
                      properties:
                        device_id:
                          description: Device ID for a Lockly device.
                          type: string
                        device_name:
                          description: Device name for a Lockly device.
                          type: string
                        model:
                          description: Model for a Lockly device.
                          type: string
                      required:
                        - device_id
                        - device_name
                      type: object
                    minut_metadata:
                      description: Metadata for a Minut device.
                      properties:
                        device_id:
                          description: Device ID for a Minut device.
                          type: string
                        device_name:
                          description: Device name for a Minut device.
                          type: string
                        latest_sensor_values:
                          description: Latest sensor values for a Minut device.
                          properties:
                            accelerometer_z:
                              description: >-
                                Latest accelerometer Z-axis reading for a Minut
                                device.
                              properties:
                                time:
                                  description: >-
                                    Time of latest accelerometer Z-axis reading
                                    for a Minut device.
                                  type: string
                                value:
                                  description: >-
                                    Value of latest accelerometer Z-axis reading
                                    for a Minut device.
                                  format: float
                                  type: number
                              required:
                                - time
                                - value
                              type: object
                            humidity:
                              description: Latest humidity reading for a Minut device.
                              properties:
                                time:
                                  description: >-
                                    Time of latest humidity reading for a Minut
                                    device.
                                  type: string
                                value:
                                  description: >-
                                    Value of latest humidity reading for a Minut
                                    device.
                                  format: float
                                  type: number
                              required:
                                - time
                                - value
                              type: object
                            pressure:
                              description: Latest pressure reading for a Minut device.
                              properties:
                                time:
                                  description: >-
                                    Time of latest pressure reading for a Minut
                                    device.
                                  type: string
                                value:
                                  description: >-
                                    Value of latest pressure reading for a Minut
                                    device.
                                  format: float
                                  type: number
                              required:
                                - time
                                - value
                              type: object
                            sound:
                              description: Latest sound reading for a Minut device.
                              properties:
                                time:
                                  description: >-
                                    Time of latest sound reading for a Minut
                                    device.
                                  type: string
                                value:
                                  description: >-
                                    Value of latest sound reading for a Minut
                                    device.
                                  format: float
                                  type: number
                              required:
                                - time
                                - value
                              type: object
                            temperature:
                              description: Latest temperature reading for a Minut device.
                              properties:
                                time:
                                  description: >-
                                    Time of latest temperature reading for a
                                    Minut device.
                                  type: string
                                value:
                                  description: >-
                                    Value of latest temperature reading for a
                                    Minut device.
                                  format: float
                                  type: number
                              required:
                                - time
                                - value
                              type: object
                          required:
                            - temperature
                            - sound
                            - humidity
                            - pressure
                            - accelerometer_z
                          type: object
                      required:
                        - device_id
                        - device_name
                        - latest_sensor_values
                      type: object
                    nest_metadata:
                      description: Metadata for a Google Nest device.
                      properties:
                        device_custom_name:
                          description: >-
                            Custom device name for a Google Nest device. The
                            device owner sets this value.
                          type: string
                        device_name:
                          description: >-
                            Device name for a Google Nest device. Google sets
                            this value.
                          type: string
                        display_name:
                          description: Display name for a Google Nest device.
                          type: string
                        nest_device_id:
                          description: Device ID for a Google Nest device.
                          type: string
                      required:
                        - nest_device_id
                        - device_name
                        - device_custom_name
                      type: object
                    noiseaware_metadata:
                      description: Metadata for a NoiseAware device.
                      properties:
                        device_id:
                          description: Device ID for a NoiseAware device.
                          type: string
                        device_model:
                          description: Device model for a NoiseAware device.
                          enum:
                            - indoor
                            - outdoor
                          type: string
                        device_name:
                          description: Device name for a NoiseAware device.
                          type: string
                        noise_level_decibel:
                          description: Noise level, in decibels, for a NoiseAware device.
                          format: float
                          type: number
                        noise_level_nrs:
                          description: >-
                            Noise level, expressed as a Noise Risk Score (NRS),
                            for a NoiseAware device.
                          format: float
                          type: number
                      required:
                        - device_model
                        - noise_level_nrs
                        - noise_level_decibel
                        - device_name
                        - device_id
                      type: object
                    nuki_metadata:
                      description: Metadata for a Nuki device.
                      properties:
                        device_id:
                          description: Device ID for a Nuki device.
                          type: string
                        device_name:
                          description: Device name for a Nuki device.
                          type: string
                        keypad_2_paired:
                          description: >-
                            Indicates whether keypad 2 is paired for a Nuki
                            device.
                          type: boolean
                        keypad_battery_critical:
                          description: >-
                            Indicates whether the keypad battery is in a
                            critical state for a Nuki device.
                          type: boolean
                        keypad_paired:
                          description: >-
                            Indicates whether the keypad is paired for a Nuki
                            device.
                          type: boolean
                      required:
                        - device_id
                        - device_name
                      type: object
                    omnitec_metadata:
                      description: Metadata for an Omnitec device.
                      properties:
                        has_gateway:
                          description: >-
                            Whether the Omnitec lock has a connected gateway for
                            remote operations.
                          type: boolean
                        lock_id:
                          description: Lock ID for an Omnitec device.
                          format: float
                          type: number
                        lock_mac:
                          description: Bluetooth MAC address for an Omnitec device.
                          type: string
                        lock_name:
                          description: Lock name for an Omnitec device.
                          type: string
                        timezone_raw_offset_ms:
                          description: >-
                            Static UTC offset of the Omnitec lock in
                            milliseconds. Does not account for DST.
                          format: float
                          type: number
                      required:
                        - lock_id
                        - lock_name
                        - lock_mac
                        - has_gateway
                        - timezone_raw_offset_ms
                      type: object
                    ring_metadata:
                      description: Metadata for a Ring device.
                      properties:
                        device_id:
                          description: Device ID for a Ring device.
                          type: string
                        device_name:
                          description: Device name for a Ring device.
                          type: string
                      required:
                        - device_id
                        - device_name
                      type: object
                    salto_ks_metadata:
                      description: Metadata for a Salto KS device.
                      properties:
                        battery_level:
                          description: Battery level for a Salto KS device.
                          type: string
                        customer_reference:
                          description: Customer reference for a Salto KS device.
                          type: string
                        has_custom_pin_subscription:
                          description: >-
                            Indicates whether the site has a Salto KS
                            subscription that supports custom PINs.
                          type: boolean
                        lock_id:
                          description: Lock ID for a Salto KS device.
                          type: string
                        lock_type:
                          description: Lock type for a Salto KS device.
                          type: string
                        locked_state:
                          description: Locked state for a Salto KS device.
                          type: string
                        model:
                          description: Model for a Salto KS device.
                          type: string
                        site_id:
                          description: >-
                            Site ID for the Salto KS site to which the device
                            belongs.
                          type: string
                        site_name:
                          description: >-
                            Site name for the Salto KS site to which the device
                            belongs.
                          type: string
                      required:
                        - lock_id
                        - customer_reference
                        - lock_type
                        - battery_level
                        - locked_state
                      type: object
                    salto_metadata:
                      deprecated: true
                      description: Metada for a Salto device.
                      properties:
                        battery_level:
                          description: Battery level for a Salto device.
                          type: string
                        customer_reference:
                          description: Customer reference for a Salto device.
                          type: string
                        lock_id:
                          description: Lock ID for a Salto device.
                          type: string
                        lock_type:
                          description: Lock type for a Salto device.
                          type: string
                        locked_state:
                          description: Locked state for a Salto device.
                          type: string
                        model:
                          description: Model for a Salto device.
                          type: string
                        site_id:
                          description: >-
                            Site ID for the Salto KS site to which the device
                            belongs.
                          type: string
                        site_name:
                          description: >-
                            Site name for the Salto KS site to which the device
                            belongs.
                          type: string
                      required:
                        - lock_id
                        - customer_reference
                        - lock_type
                        - battery_level
                        - locked_state
                      type: object
                      x-deprecated: Use `salto_ks_metadata ` instead.
                    schlage_metadata:
                      description: Metadata for a Schlage device.
                      properties:
                        device_id:
                          description: Device ID for a Schlage device.
                          type: string
                        device_name:
                          description: Device name for a Schlage device.
                          type: string
                        model:
                          description: Model for a Schlage device.
                          type: string
                      required:
                        - device_id
                        - device_name
                      type: object
                    seam_bridge_metadata:
                      description: Metadata for Seam Bridge.
                      properties:
                        device_num:
                          description: Device number for Seam Bridge.
                          format: float
                          type: number
                        name:
                          description: Name for Seam Bridge.
                          type: string
                        unlock_method:
                          description: Unlock method for Seam Bridge.
                          enum:
                            - bridge
                            - doorking
                          type: string
                      required:
                        - device_num
                        - name
                      type: object
                    sensi_metadata:
                      description: Metadata for a Sensi device.
                      properties:
                        device_id:
                          description: Device ID for a Sensi device.
                          type: string
                        device_name:
                          description: Device name for a Sensi device.
                          type: string
                        dual_setpoints_not_supported:
                          description: >-
                            Set to true when the device does not support the
                            /dual-setpoints API endpoint.
                          type: boolean
                        enforced_setpoint_range_celsius:
                          description: >-
                            Enforced setpoint range in Celsius for a Sensi
                            device, derived from an OutOfRange API error.
                        product_type:
                          description: Product type for a Sensi device.
                          type: string
                      required:
                        - device_id
                        - device_name
                        - product_type
                      type: object
                    smartthings_metadata:
                      description: Metadata for a SmartThings device.
                      properties:
                        device_id:
                          description: Device ID for a SmartThings device.
                          type: string
                        device_name:
                          description: Device name for a SmartThings device.
                          type: string
                        location_id:
                          description: Location ID for a SmartThings device.
                          type: string
                        model:
                          description: Model for a SmartThings device.
                          type: string
                      required:
                        - device_id
                        - device_name
                      type: object
                    tado_metadata:
                      description: Metadata for a tado° device.
                      properties:
                        device_type:
                          description: Device type for a tado° device.
                          type: string
                        serial_no:
                          description: Serial number for a tado° device.
                          type: string
                      required:
                        - serial_no
                        - device_type
                      type: object
                    tedee_metadata:
                      description: Metadata for a Tedee device.
                      properties:
                        bridge_id:
                          description: Bridge ID for a Tedee device.
                          format: float
                          type: number
                        bridge_name:
                          description: Bridge name for a Tedee device.
                          type: string
                        device_id:
                          description: Device ID for a Tedee device.
                          format: float
                          type: number
                        device_model:
                          description: Device model for a Tedee device.
                          type: string
                        device_name:
                          description: Device name for a Tedee device.
                          type: string
                        keypad_id:
                          description: Keypad ID for a Tedee device.
                          format: float
                          type: number
                        serial_number:
                          description: Serial number for a Tedee device.
                          type: string
                      required:
                        - device_id
                        - serial_number
                        - device_name
                        - device_model
                        - bridge_id
                        - bridge_name
                      type: object
                    ttlock_metadata:
                      description: Metadata for a TTLock device.
                      properties:
                        feature_value:
                          description: Feature value for a TTLock device.
                          type: string
                        features:
                          description: Features for a TTLock device.
                          properties:
                            auto_lock_time_config:
                              description: >-
                                Indicates whether a TTLock device supports
                                auto-lock time configuration.
                              type: boolean
                            incomplete_keyboard_passcode:
                              description: >-
                                Indicates whether a TTLock device supports an
                                incomplete keyboard passcode.
                              type: boolean
                            lock_command:
                              description: >-
                                Indicates whether a TTLock device supports the
                                lock command.
                              type: boolean
                            passcode:
                              description: >-
                                Indicates whether a TTLock device supports a
                                passcode.
                              type: boolean
                            passcode_management:
                              description: >-
                                Indicates whether a TTLock device supports
                                passcode management.
                              type: boolean
                            unlock_via_gateway:
                              description: >-
                                Indicates whether a TTLock device supports
                                unlock via gateway.
                              type: boolean
                            wifi:
                              description: >-
                                Indicates whether a TTLock device supports
                                Wi-Fi.
                              type: boolean
                          required:
                            - passcode
                            - passcode_management
                            - unlock_via_gateway
                            - lock_command
                            - incomplete_keyboard_passcode
                            - wifi
                            - auto_lock_time_config
                          type: object
                        has_gateway:
                          description: Indicates whether a TTLock device has a gateway.
                          type: boolean
                        lock_alias:
                          description: Lock alias for a TTLock device.
                          type: string
                        lock_id:
                          description: Lock ID for a TTLock device.
                          format: float
                          type: number
                        timezone_raw_offset_ms:
                          description: >-
                            Lock-side timezone offset in milliseconds east of
                            UTC, as configured in the TTLock app. Source of
                            truth for the lock's wall-clock interpretation of
                            access code start/end times — a misconfigured value
                            here is the typical cause of customer "codes offset
                            by N hours" reports. Diagnostic only; Seam does not
                            convert times based on this value.
                          format: float
                          nullable: true
                          type: number
                        wireless_keypads:
                          description: Wireless keypads for a TTLock device.
                          items:
                            properties:
                              wireless_keypad_id:
                                description: ID for a wireless keypad for a TTLock device.
                                format: float
                                type: number
                              wireless_keypad_name:
                                description: >-
                                  Name for a wireless keypad for a TTLock
                                  device.
                                type: string
                            required:
                              - wireless_keypad_id
                              - wireless_keypad_name
                            type: object
                          type: array
                      required:
                        - lock_id
                        - lock_alias
                        - feature_value
                        - features
                      type: object
                    two_n_metadata:
                      description: Metadata for a 2N device.
                      properties:
                        device_id:
                          description: Device ID for a 2N device.
                          format: float
                          type: number
                        device_name:
                          description: Device name for a 2N device.
                          type: string
                      required:
                        - device_id
                        - device_name
                      type: object
                    ultraloq_metadata:
                      description: Metadata for an Ultraloq device.
                      properties:
                        device_id:
                          description: Device ID for an Ultraloq device.
                          type: string
                        device_name:
                          description: Device name for an Ultraloq device.
                          type: string
                        device_type:
                          description: Device type for an Ultraloq device.
                          type: string
                        time_zone:
                          description: IANA timezone for the Ultraloq device.
                          nullable: true
                          type: string
                      required:
                        - device_id
                        - device_name
                        - device_type
                        - time_zone
                      type: object
                    visionline_metadata:
                      description: Metadata for an ASSA ABLOY Visionline system.
                      properties:
                        encoder_id:
                          description: Encoder ID for an ASSA ABLOY Visionline system.
                          type: string
                      required:
                        - encoder_id
                      type: object
                    wyze_metadata:
                      description: Metadata for a Wyze device.
                      properties:
                        device_id:
                          description: Device ID for a Wyze device.
                          type: string
                        device_info_model:
                          description: Device information model for a Wyze device.
                          type: string
                        device_name:
                          description: Device name for a Wyze device.
                          type: string
                        keypad_uuid:
                          description: Keypad UUID for a Wyze device.
                          type: string
                        locker_status_hardlock:
                          description: Locker status (hardlock) for a Wyze device.
                          format: float
                          type: number
                        product_model:
                          description: Product model for a Wyze device.
                          type: string
                        product_name:
                          description: Product name for a Wyze device.
                          type: string
                        product_type:
                          description: Product type for a Wyze device.
                          type: string
                      required:
                        - device_id
                        - device_name
                        - product_name
                        - product_type
                        - product_model
                        - device_info_model
                      type: object
                  type: object
                  x-property-group-key: provider_metadata
            - allOf:
                - properties:
                    _experimental_supported_code_from_access_codes_lengths:
                      items:
                        format: float
                        type: number
                      type: array
                      x-undocumented: Marked as experimental.
                    auto_lock_delay_seconds:
                      description: >-
                        The delay in seconds before the lock automatically locks
                        after being unlocked.
                      format: float
                      type: number
                      x-property-group-key: locks
                    auto_lock_enabled:
                      description: Indicates whether automatic locking is enabled.
                      type: boolean
                      x-property-group-key: locks
                    code_constraints:
                      description: >-
                        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.
                      items:
                        description: Access code constraint.
                        oneOf:
                          - description: Code constraint for access codes.
                            properties:
                              constraint_type:
                                description: Code constraint type for access codes.
                                enum:
                                  - 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
                                  - unique_first_four_digits
                                  - no_all_same_digits
                                type: string
                            required:
                              - constraint_type
                            type: object
                          - description: Name constraint for access codes.
                            properties:
                              constraint_type:
                                enum:
                                  - name_length
                                  - name_must_be_unique
                                type: string
                              max_length:
                                description: >-
                                  Maximum name length constraint for access
                                  codes.
                                format: float
                                type: number
                              min_length:
                                description: >-
                                  Minimum name length constraint for access
                                  codes.
                                format: float
                                type: number
                            required:
                              - constraint_type
                            type: object
                      type: array
                      x-property-group-key: access_codes
                    door_open:
                      description: Indicates whether the door is open.
                      type: boolean
                      x-property-group-key: locks
                    has_native_entry_events:
                      description: >-
                        Indicates whether the device supports native entry
                        events.
                      type: boolean
                      x-property-group-key: access_codes
                    keypad_battery:
                      description: Keypad battery status.
                      properties:
                        level:
                          description: |2-

                                      Keypad battery charge level.
                                      
                          format: float
                          type: number
                      required:
                        - level
                      type: object
                      x-property-group-key: access_codes
                    locked:
                      description: Indicates whether the lock is locked.
                      type: boolean
                      x-property-group-key: locks
                    max_active_codes_supported:
                      description: >-
                        Maximum number of active access codes that the device
                        supports.
                      format: float
                      type: number
                      x-property-group-key: access_codes
                    supported_code_lengths:
                      description: Supported code lengths for access codes.
                      items:
                        format: float
                        type: number
                      type: array
                      x-property-group-key: access_codes
                    supports_backup_access_code_pool:
                      description: >-
                        Indicates whether the device supports a [backup access
                        code
                        pool](https://docs.seam.co/low-level-apis/smart-locks/access-codes/backup-access-codes).
                      type: boolean
                      x-property-group-key: access_codes
                  type: object
                - properties:
                    active_thermostat_schedule:
                      deprecated: true
                      description: >-
                        Active [thermostat
                        schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
                      nullable: true
                      properties:
                        climate_preset_key:
                          description: >-
                            Key of the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                            to use for the [thermostat
                            schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
                          type: string
                        created_at:
                          description: >-
                            Date and time at which the [thermostat
                            schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules)
                            was created.
                          format: date-time
                          type: string
                        device_id:
                          description: >-
                            ID of the desired
                            [thermostat](https://docs.seam.co/capability-guides/thermostats)
                            device.
                          format: uuid
                          type: string
                        ends_at:
                          description: >-
                            Date and time at which the [thermostat
                            schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules)
                            ends, in [ISO
                            8601](https://www.iso.org/iso-8601-date-and-time-format.html)
                            format.
                          format: date-time
                          type: string
                        errors:
                          description: >-
                            Errors associated with the [thermostat
                            schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
                          items:
                            properties:
                              error_code:
                                description: >-
                                  Unique identifier of the type of error.
                                  Enables quick recognition and categorization
                                  of the issue.
                                type: string
                              message:
                                description: >-
                                  Detailed description of the error. Provides
                                  insights into the issue and potentially how to
                                  rectify it.
                                type: string
                            required:
                              - error_code
                              - message
                            type: object
                          type: array
                        is_override_allowed:
                          description: >-
                            Indicates whether a person at the thermostat can
                            change the thermostat's settings after the
                            [thermostat
                            schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules)
                            starts.
                          type: boolean
                        max_override_period_minutes:
                          description: >-
                            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/capability-guides/thermostats/creating-and-managing-climate-presets).
                            See also [Specifying Manual Override
                            Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
                          exclusiveMinimum: true
                          minimum: 0
                          nullable: true
                          type: integer
                        name:
                          description: >-
                            User-friendly name to identify the [thermostat
                            schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
                          nullable: true
                          type: string
                        starts_at:
                          description: >-
                            Date and time at which the [thermostat
                            schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules)
                            starts, in [ISO
                            8601](https://www.iso.org/iso-8601-date-and-time-format.html)
                            format.
                          format: date-time
                          type: string
                        thermostat_schedule_id:
                          description: >-
                            ID of the [thermostat
                            schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
                          format: uuid
                          type: string
                        workspace_id:
                          description: >-
                            ID of the
                            [workspace](https://docs.seam.co/core-concepts/workspaces)
                            that contains the thermostat schedule.
                          format: uuid
                          type: string
                      required:
                        - thermostat_schedule_id
                        - device_id
                        - name
                        - climate_preset_key
                        - starts_at
                        - ends_at
                        - workspace_id
                        - created_at
                        - errors
                      type: object
                      x-deprecated: >-
                        Use `active_thermostat_schedule_id` with
                        `/thermostats/schedules/get` instead.
                      x-property-group-key: thermostats
                      x-route-path: /thermostats/schedules
                    active_thermostat_schedule_id:
                      description: >-
                        ID of the active [thermostat
                        schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
                      format: uuid
                      nullable: true
                      type: string
                      x-property-group-key: thermostats
                    available_climate_preset_modes:
                      description: >-
                        Climate preset modes that the thermostat supports, such
                        as "home", "away", "wake", "sleep", "occupied", and
                        "unoccupied".
                      items:
                        enum:
                          - home
                          - away
                          - wake
                          - sleep
                          - occupied
                          - unoccupied
                        type: string
                      type: array
                      x-draft: Needs review.
                      x-property-group-key: thermostats
                    available_climate_presets:
                      description: >-
                        Available [climate
                        presets](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                        for the thermostat.
                      items:
                        properties:
                          can_delete:
                            description: >-
                              Indicates whether the [climate
                              preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                              key can be deleted.
                            type: boolean
                          can_edit:
                            description: >-
                              Indicates whether the [climate
                              preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                              key can be edited.
                            type: boolean
                          can_use_with_thermostat_daily_programs:
                            description: >-
                              Indicates whether the [climate
                              preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                              key can be programmed in a thermostat daily
                              program.
                            type: boolean
                          climate_preset_key:
                            description: >-
                              Unique key to identify the [climate
                              preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets).
                            type: string
                          climate_preset_mode:
                            description: |2-

                                  The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
                                
                            enum:
                              - home
                              - away
                              - wake
                              - sleep
                              - occupied
                              - unoccupied
                            type: string
                          cooling_set_point_celsius:
                            description: >-
                              Temperature to which the thermostat should cool
                              (in °C). See also [Set
                              Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                            format: float
                            type: number
                          cooling_set_point_fahrenheit:
                            description: >-
                              Temperature to which the thermostat should cool
                              (in °F). See also [Set
                              Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                            format: float
                            type: number
                          display_name:
                            description: >-
                              Display name for the [climate
                              preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets).
                            type: string
                          ecobee_metadata:
                            description: |2-

                                  Metadata specific to the Ecobee climate, if applicable.
                                
                            properties:
                              climate_ref:
                                description: >-
                                  Reference to the Ecobee climate, if
                                  applicable.
                                type: string
                              is_optimized:
                                description: >-
                                  Indicates if the climate preset is optimized
                                  by Ecobee.
                                type: boolean
                              owner:
                                description: >-
                                  Indicates whether the climate preset is owned
                                  by the user or the system.
                                enum:
                                  - user
                                  - system
                                type: string
                            required:
                              - climate_ref
                              - is_optimized
                              - owner
                            type: object
                          fan_mode_setting:
                            description: >-
                              Desired [fan mode
                              setting](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings),
                              such as `on`, `auto`, or `circulate`.
                            enum:
                              - auto
                              - 'on'
                              - circulate
                            type: string
                          heating_set_point_celsius:
                            description: >-
                              Temperature to which the thermostat should heat
                              (in °C). See also [Set
                              Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                            format: float
                            type: number
                          heating_set_point_fahrenheit:
                            description: >-
                              Temperature to which the thermostat should heat
                              (in °F). See also [Set
                              Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                            format: float
                            type: number
                          hvac_mode_setting:
                            description: >-
                              Desired [HVAC
                              mode](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode)
                              setting, such as `heat`, `cool`, `heat_cool`, or
                              `off`.
                            enum:
                              - 'off'
                              - heat
                              - cool
                              - heat_cool
                              - eco
                            type: string
                          manual_override_allowed:
                            deprecated: true
                            description: >-
                              Indicates whether a person at the thermostat can
                              change the thermostat's settings. See [Specifying
                              Manual Override
                              Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
                            type: boolean
                            x-deprecated: Use 'thermostat_schedule.is_override_allowed'
                          name:
                            default: null
                            description: >-
                              User-friendly name to identify the [climate
                              preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets).
                            nullable: true
                            type: string
                        required:
                          - climate_preset_key
                          - can_edit
                          - can_delete
                          - can_use_with_thermostat_daily_programs
                          - display_name
                          - manual_override_allowed
                        type: object
                      type: array
                      x-property-group-key: thermostats
                    available_fan_mode_settings:
                      description: Fan mode settings that the thermostat supports.
                      items:
                        enum:
                          - auto
                          - 'on'
                          - circulate
                        type: string
                      type: array
                      x-property-group-key: thermostats
                    available_hvac_mode_settings:
                      description: HVAC mode settings that the thermostat supports.
                      items:
                        enum:
                          - 'off'
                          - heat
                          - cool
                          - heat_cool
                          - eco
                        type: string
                      type: array
                      x-property-group-key: thermostats
                    current_climate_setting:
                      description: Current climate setting.
                      properties:
                        can_delete:
                          description: >-
                            Indicates whether the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                            key can be deleted.
                          type: boolean
                        can_edit:
                          description: >-
                            Indicates whether the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                            key can be edited.
                          type: boolean
                        can_use_with_thermostat_daily_programs:
                          description: >-
                            Indicates whether the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                            key can be programmed in a thermostat daily program.
                          type: boolean
                        climate_preset_key:
                          description: >-
                            Unique key to identify the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets).
                          type: string
                        climate_preset_mode:
                          description: |2-

                                The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
                              
                          enum:
                            - home
                            - away
                            - wake
                            - sleep
                            - occupied
                            - unoccupied
                          type: string
                        cooling_set_point_celsius:
                          description: >-
                            Temperature to which the thermostat should cool (in
                            °C). See also [Set
                            Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                          format: float
                          type: number
                        cooling_set_point_fahrenheit:
                          description: >-
                            Temperature to which the thermostat should cool (in
                            °F). See also [Set
                            Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                          format: float
                          type: number
                        display_name:
                          description: >-
                            Display name for the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets).
                          type: string
                        ecobee_metadata:
                          description: |2-

                                Metadata specific to the Ecobee climate, if applicable.
                              
                          properties:
                            climate_ref:
                              description: Reference to the Ecobee climate, if applicable.
                              type: string
                            is_optimized:
                              description: >-
                                Indicates if the climate preset is optimized by
                                Ecobee.
                              type: boolean
                            owner:
                              description: >-
                                Indicates whether the climate preset is owned by
                                the user or the system.
                              enum:
                                - user
                                - system
                              type: string
                          required:
                            - climate_ref
                            - is_optimized
                            - owner
                          type: object
                        fan_mode_setting:
                          description: >-
                            Desired [fan mode
                            setting](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings),
                            such as `on`, `auto`, or `circulate`.
                          enum:
                            - auto
                            - 'on'
                            - circulate
                          type: string
                        heating_set_point_celsius:
                          description: >-
                            Temperature to which the thermostat should heat (in
                            °C). See also [Set
                            Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                          format: float
                          type: number
                        heating_set_point_fahrenheit:
                          description: >-
                            Temperature to which the thermostat should heat (in
                            °F). See also [Set
                            Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                          format: float
                          type: number
                        hvac_mode_setting:
                          description: >-
                            Desired [HVAC
                            mode](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode)
                            setting, such as `heat`, `cool`, `heat_cool`, or
                            `off`.
                          enum:
                            - 'off'
                            - heat
                            - cool
                            - heat_cool
                            - eco
                          type: string
                        manual_override_allowed:
                          deprecated: true
                          description: >-
                            Indicates whether a person at the thermostat can
                            change the thermostat's settings. See [Specifying
                            Manual Override
                            Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
                          type: boolean
                          x-deprecated: Use 'thermostat_schedule.is_override_allowed'
                        name:
                          default: null
                          description: >-
                            User-friendly name to identify the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets).
                          nullable: true
                          type: string
                      type: object
                      x-property-group-key: thermostats
                    default_climate_setting:
                      deprecated: true
                      properties:
                        can_delete:
                          description: >-
                            Indicates whether the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                            key can be deleted.
                          type: boolean
                        can_edit:
                          description: >-
                            Indicates whether the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                            key can be edited.
                          type: boolean
                        can_use_with_thermostat_daily_programs:
                          description: >-
                            Indicates whether the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                            key can be programmed in a thermostat daily program.
                          type: boolean
                        climate_preset_key:
                          description: >-
                            Unique key to identify the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets).
                          type: string
                        climate_preset_mode:
                          description: |2-

                                The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
                              
                          enum:
                            - home
                            - away
                            - wake
                            - sleep
                            - occupied
                            - unoccupied
                          type: string
                        cooling_set_point_celsius:
                          description: >-
                            Temperature to which the thermostat should cool (in
                            °C). See also [Set
                            Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                          format: float
                          type: number
                        cooling_set_point_fahrenheit:
                          description: >-
                            Temperature to which the thermostat should cool (in
                            °F). See also [Set
                            Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                          format: float
                          type: number
                        display_name:
                          description: >-
                            Display name for the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets).
                          type: string
                        ecobee_metadata:
                          description: |2-

                                Metadata specific to the Ecobee climate, if applicable.
                              
                          properties:
                            climate_ref:
                              description: Reference to the Ecobee climate, if applicable.
                              type: string
                            is_optimized:
                              description: >-
                                Indicates if the climate preset is optimized by
                                Ecobee.
                              type: boolean
                            owner:
                              description: >-
                                Indicates whether the climate preset is owned by
                                the user or the system.
                              enum:
                                - user
                                - system
                              type: string
                          required:
                            - climate_ref
                            - is_optimized
                            - owner
                          type: object
                        fan_mode_setting:
                          description: >-
                            Desired [fan mode
                            setting](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings),
                            such as `on`, `auto`, or `circulate`.
                          enum:
                            - auto
                            - 'on'
                            - circulate
                          type: string
                        heating_set_point_celsius:
                          description: >-
                            Temperature to which the thermostat should heat (in
                            °C). See also [Set
                            Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                          format: float
                          type: number
                        heating_set_point_fahrenheit:
                          description: >-
                            Temperature to which the thermostat should heat (in
                            °F). See also [Set
                            Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
                          format: float
                          type: number
                        hvac_mode_setting:
                          description: >-
                            Desired [HVAC
                            mode](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode)
                            setting, such as `heat`, `cool`, `heat_cool`, or
                            `off`.
                          enum:
                            - 'off'
                            - heat
                            - cool
                            - heat_cool
                            - eco
                          type: string
                        manual_override_allowed:
                          deprecated: true
                          description: >-
                            Indicates whether a person at the thermostat can
                            change the thermostat's settings. See [Specifying
                            Manual Override
                            Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
                          type: boolean
                          x-deprecated: Use 'thermostat_schedule.is_override_allowed'
                        name:
                          default: null
                          description: >-
                            User-friendly name to identify the [climate
                            preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets).
                          nullable: true
                          type: string
                      type: object
                      x-deprecated: >-
                        use fallback_climate_preset_key to specify a fallback
                        climate preset instead.
                      x-property-group-key: thermostats
                    fallback_climate_preset_key:
                      description: >-
                        Key of the [fallback climate
                        preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset)
                        for the thermostat.
                      minLength: 1
                      nullable: true
                      type: string
                      x-property-group-key: thermostats
                    fan_mode_setting:
                      deprecated: true
                      enum:
                        - auto
                        - 'on'
                        - circulate
                      type: string
                      x-deprecated: Use `current_climate_setting.fan_mode_setting` instead.
                      x-property-group-key: thermostats
                    is_cooling:
                      description: >-
                        Indicates whether the connected HVAC system is currently
                        cooling, as reported by the thermostat.
                      type: boolean
                      x-property-group-key: thermostats
                    is_fan_running:
                      description: >-
                        Indicates whether the fan in the connected HVAC system
                        is currently running, as reported by the thermostat.
                      type: boolean
                      x-property-group-key: thermostats
                    is_heating:
                      description: >-
                        Indicates whether the connected HVAC system is currently
                        heating, as reported by the thermostat.
                      type: boolean
                      x-property-group-key: thermostats
                    is_temporary_manual_override_active:
                      description: >-
                        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`.
                      type: boolean
                      x-property-group-key: thermostats
                    max_cooling_set_point_celsius:
                      description: >-
                        Maximum [cooling set
                        point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point)
                        in °C.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    max_cooling_set_point_fahrenheit:
                      description: >-
                        Maximum [cooling set
                        point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point)
                        in °F.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    max_heating_set_point_celsius:
                      description: >-
                        Maximum [heating set
                        point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point)
                        in °C.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    max_heating_set_point_fahrenheit:
                      description: >-
                        Maximum [heating set
                        point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point)
                        in °F.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    max_thermostat_daily_program_periods_per_day:
                      description: >-
                        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.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    max_unique_climate_presets_per_thermostat_weekly_program:
                      description: >-
                        Maximum number of climate presets that the thermostat
                        can support for weekly programming.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    min_cooling_set_point_celsius:
                      description: >-
                        Minimum [cooling set
                        point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point)
                        in °C.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    min_cooling_set_point_fahrenheit:
                      description: >-
                        Minimum [cooling set
                        point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point)
                        in °F.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    min_heating_cooling_delta_celsius:
                      description: >-
                        Minimum [temperature
                        difference](https://docs.seam.co/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.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    min_heating_cooling_delta_fahrenheit:
                      description: >-
                        Minimum [temperature
                        difference](https://docs.seam.co/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.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    min_heating_set_point_celsius:
                      description: >-
                        Minimum [heating set
                        point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point)
                        in °C.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    min_heating_set_point_fahrenheit:
                      description: >-
                        Minimum [heating set
                        point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point)
                        in °F.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    relative_humidity:
                      description: >-
                        Reported relative humidity, as a value between 0 and 1,
                        inclusive.
                      format: float
                      maximum: 1
                      minimum: 0
                      type: number
                      x-property-group-key: thermostats
                    temperature_celsius:
                      description: Reported temperature in °C.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    temperature_fahrenheit:
                      description: Reported temperature in °F.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    temperature_threshold:
                      description: >-
                        Current [temperature
                        threshold](https://docs.seam.co/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds)
                        set for the thermostat.
                      properties:
                        lower_limit_celsius:
                          description: >-
                            Lower limit in °C within the current [temperature
                            threshold](https://docs.seam.co/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds)
                            set for the thermostat.
                                      
                          format: float
                          nullable: true
                          type: number
                        lower_limit_fahrenheit:
                          description: >-
                            Lower limit in °F within the current [temperature
                            threshold](https://docs.seam.co/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds)
                            set for the thermostat.
                                      
                          format: float
                          nullable: true
                          type: number
                        upper_limit_celsius:
                          description: >-
                            Upper limit in °C within the current [temperature
                            threshold](https://docs.seam.co/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds)
                            set for the thermostat.
                                      
                          format: float
                          nullable: true
                          type: number
                        upper_limit_fahrenheit:
                          description: >-
                            Upper limit in °F within the current [temperature
                            threshold](https://docs.seam.co/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds)
                            set for the thermostat.
                                      
                          format: float
                          nullable: true
                          type: number
                      required:
                        - lower_limit_celsius
                        - lower_limit_fahrenheit
                        - upper_limit_celsius
                        - upper_limit_fahrenheit
                      type: object
                      x-property-group-key: thermostats
                    thermostat_daily_program_period_precision_minutes:
                      description: >-
                        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.
                      format: float
                      type: number
                      x-property-group-key: thermostats
                    thermostat_daily_programs:
                      description: >-
                        Configured [daily
                        programs](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-programs)
                        for the thermostat.
                      items:
                        description: >-
                          Represents a thermostat daily program, consisting of a
                          set of periods, each of which has a starting time and
                          the key that identifies the climate preset to apply at
                          the starting time.
                        properties:
                          created_at:
                            description: >-
                              Date and time at which the thermostat daily
                              program was created.
                            format: date-time
                            type: string
                          device_id:
                            description: >-
                              ID of the thermostat device on which the
                              thermostat daily program is configured.
                            format: uuid
                            type: string
                          name:
                            description: >-
                              User-friendly name to identify the thermostat
                              daily program.
                            nullable: true
                            type: string
                          periods:
                            description: Array of thermostat daily program periods.
                            items:
                              description: >-
                                Period for a thermostat daily program. Consists
                                of a starts at time and the key that identifies
                                the configured climate preset to apply at the
                                starting time.
                              properties:
                                climate_preset_key:
                                  description: >-
                                    Key of the [climate
                                    preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets)
                                    to activate at the `starts_at_time`.
                                  type: string
                                starts_at_time:
                                  description: >-
                                    Time at which the thermostat daily program
                                    period starts, in [ISO
                                    8601](https://www.iso.org/iso-8601-date-and-time-format.html)
                                    format.
                                  pattern: ^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$
                                  type: string
                              required:
                                - starts_at_time
                                - climate_preset_key
                              type: object
                            type: array
                          thermostat_daily_program_id:
                            description: ID of the thermostat daily program.
                            format: uuid
                            type: string
                          workspace_id:
                            description: >-
                              ID of the
                              [workspace](https://docs.seam.co/core-concepts/workspaces)
                              that contains the thermostat daily program.
                            format: uuid
                            type: string
                        required:
                          - thermostat_daily_program_id
                          - device_id
                          - name
                          - periods
                          - workspace_id
                          - created_at
                        type: object
                        x-route-path: /thermostats/daily_programs
                      type: array
                      x-property-group-key: thermostats
                    thermostat_weekly_program:
                      description: >-
                        Current [weekly
                        program](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-programs)
                        for the thermostat.
                      nullable: true
                      properties:
                        created_at:
                          description: >-
                            Date and time at which the thermostat weekly program
                            was created.
                          format: date-time
                          type: string
                        friday_program_id:
                          description: >-
                            ID of the thermostat daily program to run on
                            Fridays.
                          format: uuid
                          nullable: true
                          type: string
                        monday_program_id:
                          description: >-
                            ID of the thermostat daily program to run on
                            Mondays.
                          format: uuid
                          nullable: true
                          type: string
                        saturday_program_id:
                          description: >-
                            ID of the thermostat daily program to run on
                            Saturdays.
                          format: uuid
                          nullable: true
                          type: string
                        sunday_program_id:
                          description: >-
                            ID of the thermostat daily program to run on
                            Sundays.
                          format: uuid
                          nullable: true
                          type: string
                        thursday_program_id:
                          description: >-
                            ID of the thermostat daily program to run on
                            Thursdays.
                          format: uuid
                          nullable: true
                          type: string
                        tuesday_program_id:
                          description: >-
                            ID of the thermostat daily program to run on
                            Tuesdays.
                          format: uuid
                          nullable: true
                          type: string
                        wednesday_program_id:
                          description: >-
                            ID of the thermostat daily program to run on
                            Wednesdays.
                          format: uuid
                          nullable: true
                          type: string
                      required:
                        - monday_program_id
                        - tuesday_program_id
                        - wednesday_program_id
                        - thursday_program_id
                        - friday_program_id
                        - saturday_program_id
                        - sunday_program_id
                        - created_at
                      type: object
                      x-property-group-key: thermostats
                  type: object
          description: Properties of the device.
          x-property-groups:
            access_codes:
              name: Access Codes
            hardware:
              name: Hardware
            locks:
              name: Locks
            noise_sensors:
              name: Noise Sensors
            phones:
              name: Phones
            provider_metadata:
              name: Provider Metadata
            thermostats:
              name: Thermostats
        space_ids:
          description: IDs of the spaces the device is in.
          items:
            format: uuid
            type: string
          type: array
        warnings:
          type: array
          description: >-
            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.
          items:
            type: object
            properties:
              error_code:
                type: string
                description: Error or warning code.
              message:
                type: string
                description: Human-readable description.
              created_at:
                type: string
                format: date-time
                description: When this error or warning was generated.
        workspace_id:
          description: Unique identifier for the Seam workspace associated with the device.
          format: uuid
          type: string
      required:
        - device_id
        - device_type
        - space_ids
        - display_name
        - capabilities_supported
        - properties
        - connected_account_id
        - workspace_id
        - errors
        - warnings
        - created_at
        - is_managed
        - custom_metadata
      type: object
      x-property-groups:
        access_codes:
          name: Access Codes
        hardware:
          name: Hardware
        locks:
          name: Locks
        noise_sensors:
          name: Noise Sensors
        phones:
          name: Phones
        provider_metadata:
          name: Provider Metadata
        thermostats:
          name: Thermostats
      x-route-path: /devices
    pagination:
      description: Information about the current page of results.
      properties:
        has_next_page:
          description: Indicates whether there is another page of results after this one.
          type: boolean
        next_page_cursor:
          description: >-
            Opaque value that can be used to select the next page of results via
            the `page_cursor` parameter.
          nullable: true
          type: string
        next_page_url:
          description: URL to get the next page of results.
          format: uri
          nullable: true
          type: string
      required:
        - next_page_cursor
        - has_next_page
        - next_page_url
      type: object
  securitySchemes:
    client_session_with_customer:
      bearerFormat: Customer Client Session Token
      scheme: bearer
      type: http
    client_session:
      bearerFormat: Client Session Token
      scheme: bearer
      type: http
    pat_with_workspace:
      bearerFormat: API Token
      scheme: bearer
      type: http
    console_session_with_workspace:
      bearerFormat: Console Session Token
      scheme: bearer
      type: http
    api_key:
      bearerFormat: API Key
      scheme: bearer
      type: http

````