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

# Get related Space resources

> Gets all related resources for one or more Spaces.



## OpenAPI

````yaml /openapi.json post /spaces/get_related
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:
  /spaces/get_related:
    post:
      tags: []
      summary: Get related Space resources
      description: Gets all related resources for one or more Spaces.
      operationId: spacesGetRelatedPost
      requestBody:
        content:
          application/json:
            schema:
              properties:
                exclude:
                  items:
                    enum:
                      - spaces
                      - devices
                      - acs_entrances
                      - connected_accounts
                      - acs_systems
                      - access_methods
                    type: string
                  type: array
                include:
                  items:
                    enum:
                      - spaces
                      - devices
                      - acs_entrances
                      - connected_accounts
                      - acs_systems
                      - access_methods
                    type: string
                  type: array
                space_ids:
                  description: >-
                    IDs of the spaces that you want to get along with their
                    related resources.
                  items:
                    format: uuid
                    type: string
                  type: array
                space_keys:
                  description: >-
                    Keys of the spaces that you want to get along with their
                    related resources.
                  items:
                    type: string
                  type: array
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  batch:
                    description: A batch of workspace resources.
                    properties:
                      access_methods:
                        items:
                          $ref: '#/components/schemas/access_method'
                        type: array
                      acs_entrances:
                        items:
                          $ref: '#/components/schemas/acs_entrance'
                        type: array
                      acs_systems:
                        items:
                          $ref: '#/components/schemas/acs_system'
                        type: array
                      connected_accounts:
                        items:
                          $ref: '#/components/schemas/connected_account'
                        type: array
                      devices:
                        items:
                          $ref: '#/components/schemas/device'
                        type: array
                      spaces:
                        items:
                          $ref: '#/components/schemas/space'
                        type: array
                    type: object
                    x-route-path: /workspaces
                  ok:
                    type: boolean
                required:
                  - batch
                  - ok
                type: object
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      security:
        - pat_with_workspace: []
        - console_session_with_workspace: []
        - api_key: []
        - client_session_with_customer: []
components:
  schemas:
    access_method:
      description: >-
        Represents an access method for an Access Grant. Access methods describe
        the modes of access, such as PIN codes, plastic cards, and mobile keys.
        For a mobile key, the access method also stores the URL for the
        associated Instant Key.
      properties:
        access_method_id:
          description: ID of the access method.
          format: uuid
          type: string
        client_session_token:
          description: Token of the client session associated with the access method.
          type: string
        code:
          description: The actual PIN code for code access methods.
          nullable: true
          type: string
        created_at:
          description: Date and time at which the access method was created.
          format: date-time
          type: string
        customization_profile_id:
          description: ID of the customization profile associated with the access method.
          format: uuid
          type: string
        display_name:
          description: Display name of the access method.
          type: string
        instant_key_url:
          description: URL of the Instant Key for mobile key access methods.
          format: uri
          type: string
        is_assignment_required:
          description: >-
            Indicates whether an existing card credential must be assigned to
            this access method before it can be issued. Only applies to
            card-mode access methods on systems that support credential
            assignment.
          type: boolean
        is_encoding_required:
          description: >-
            Indicates whether encoding with an card encoder is required to issue
            or reissue the plastic card associated with the access method.
          type: boolean
        is_issued:
          description: Indicates whether the access method has been issued.
          type: boolean
        is_ready_for_assignment:
          description: >-
            Indicates whether the access method is ready for card assignment.
            This is true when the access method is in card mode, has not yet
            been issued, and the system supports credential assignment.
          type: boolean
        is_ready_for_encoding:
          description: >-
            Indicates whether the access method is ready to be encoded. This is
            true when the credential has been created and the card has not yet
            been issued.
          type: boolean
        issued_at:
          description: Date and time at which the access method was issued.
          format: date-time
          nullable: true
          type: string
        mode:
          description: >-
            Access method mode. Supported values: `code`, `card`, `mobile_key`,
            `cloud_key`.
          enum:
            - code
            - card
            - mobile_key
            - cloud_key
          type: string
        pending_mutations:
          description: >-
            Pending mutations for the [access
            method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant).
            Indicates operations that are in progress.
          items:
            discriminator:
              propertyName: mutation_code
            oneOf:
              - description: >-
                  Seam is in the process of provisioning access for this access
                  method on new devices.
                properties:
                  created_at:
                    description: Date and time at which the mutation was created.
                    format: date-time
                    type: string
                  from:
                    description: Previous device configuration.
                    properties:
                      device_ids:
                        description: Previous device IDs where access was provisioned.
                        items:
                          format: uuid
                          type: string
                        type: array
                    required:
                      - device_ids
                    type: object
                  message:
                    description: Detailed description of the mutation.
                    type: string
                  mutation_code:
                    description: >-
                      Mutation code to indicate that Seam is in the process of
                      provisioning access for this access method on new devices.
                    enum:
                      - provisioning_access
                    type: string
                  to:
                    description: New device configuration.
                    properties:
                      device_ids:
                        description: New device IDs where access is being provisioned.
                        items:
                          format: uuid
                          type: string
                        type: array
                    required:
                      - device_ids
                    type: object
                required:
                  - created_at
                  - message
                  - mutation_code
                  - from
                  - to
                type: object
              - description: >-
                  Seam is in the process of revoking access for this access
                  method from devices.
                properties:
                  created_at:
                    description: Date and time at which the mutation was created.
                    format: date-time
                    type: string
                  from:
                    description: Previous device configuration.
                    properties:
                      device_ids:
                        description: Previous device IDs where access existed.
                        items:
                          format: uuid
                          type: string
                        type: array
                    required:
                      - device_ids
                    type: object
                  message:
                    description: Detailed description of the mutation.
                    type: string
                  mutation_code:
                    description: >-
                      Mutation code to indicate that Seam is in the process of
                      revoking access for this access method from devices.
                    enum:
                      - revoking_access
                    type: string
                  to:
                    description: New device configuration.
                    properties:
                      device_ids:
                        description: New device IDs where access should remain.
                        items:
                          format: uuid
                          type: string
                        type: array
                    required:
                      - device_ids
                    type: object
                required:
                  - created_at
                  - message
                  - mutation_code
                  - from
                  - to
                type: object
              - description: >-
                  Seam is in the process of updating the access times for this
                  access method.
                properties:
                  created_at:
                    description: Date and time at which the mutation was created.
                    format: date-time
                    type: string
                  from:
                    description: Previous access time configuration.
                    properties:
                      ends_at:
                        description: Previous end time for access.
                        format: date-time
                        nullable: true
                        type: string
                      starts_at:
                        description: Previous start time for access.
                        format: date-time
                        nullable: true
                        type: string
                    required:
                      - starts_at
                      - ends_at
                    type: object
                  message:
                    description: Detailed description of the mutation.
                    type: string
                  mutation_code:
                    description: >-
                      Mutation code to indicate that Seam is in the process of
                      updating the access times for this access method.
                    enum:
                      - updating_access_times
                    type: string
                  to:
                    description: New access time configuration.
                    properties:
                      ends_at:
                        description: New end time for access.
                        format: date-time
                        nullable: true
                        type: string
                      starts_at:
                        description: New start time for access.
                        format: date-time
                        nullable: true
                        type: string
                    required:
                      - starts_at
                      - ends_at
                    type: object
                required:
                  - created_at
                  - message
                  - mutation_code
                  - from
                  - to
                type: object
          type: array
        warnings:
          description: >-
            Warnings associated with the [access
            method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant).
          items:
            description: >-
              Warning associated with the [access
              method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant).
            discriminator:
              propertyName: warning_code
            oneOf:
              - description: >-
                  Indicates that the [access
                  method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant)
                  is being deleted.
                properties:
                  created_at:
                    description: Date and time at which Seam created the warning.
                    format: date-time
                    type: string
                  message:
                    description: >-
                      Detailed description of the warning. Provides insights
                      into the issue and potentially how to rectify it.
                    type: string
                  warning_code:
                    description: >-
                      Unique identifier of the type of warning. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - being_deleted
                    type: string
                required:
                  - created_at
                  - message
                  - warning_code
                type: object
              - description: >-
                  Indicates that the access times for this [access
                  method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant)
                  are being updated.
                properties:
                  created_at:
                    description: Date and time at which Seam created the warning.
                    format: date-time
                    type: string
                  message:
                    description: >-
                      Detailed description of the warning. Provides insights
                      into the issue and potentially how to rectify it.
                    type: string
                  warning_code:
                    description: >-
                      Unique identifier of the type of warning. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - updating_access_times
                    type: string
                required:
                  - created_at
                  - message
                  - warning_code
                type: object
              - description: >-
                  Indicates that all attempts to create an access code on this
                  device before the start time failed and a backup access code
                  was used to ensure access was provided in time.
                properties:
                  created_at:
                    description: Date and time at which Seam created the warning.
                    format: date-time
                    type: string
                  message:
                    description: >-
                      Detailed description of the warning. Provides insights
                      into the issue and potentially how to rectify it.
                    type: string
                  original_access_method_id:
                    description: >-
                      ID of the original access method from which this backup
                      access method was split, if applicable.
                    format: uuid
                    type: string
                  warning_code:
                    description: >-
                      Unique identifier of the type of warning. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - pulled_backup_access_code
                    type: string
                required:
                  - created_at
                  - message
                  - warning_code
                type: object
          type: array
        workspace_id:
          description: ID of the Seam workspace associated with the access method.
          format: uuid
          type: string
      required:
        - workspace_id
        - access_method_id
        - display_name
        - mode
        - created_at
        - issued_at
        - is_issued
        - warnings
        - pending_mutations
      type: object
      x-draft: Early access.
      x-route-path: /access_methods
    acs_entrance:
      description: >-
        Represents an
        [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details)
        within an [access control
        system](https://docs.seam.co/low-level-apis/access-systems).
      properties:
        acs_entrance_id:
          description: >-
            ID of the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          format: uuid
          type: string
        acs_system_id:
          description: >-
            ID of the [access control
            system](https://docs.seam.co/low-level-apis/access-systems) that
            contains the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          format: uuid
          type: string
        assa_abloy_vostio_metadata:
          description: >-
            ASSA ABLOY Vostio-specific metadata associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          properties:
            door_name:
              description: Name of the door in the Vostio access system.
              type: string
            door_number:
              description: Number of the door in the Vostio access system.
              format: float
              type: number
            door_type:
              description: Type of the door in the Vostio access system.
              enum:
                - CommonDoor
                - EntranceDoor
                - GuestDoor
                - Elevator
              type: string
            pms_id:
              description: PMS ID of the door in the Vostio access system.
              type: string
            stand_open:
              description: >-
                Indicates whether keys are allowed to set the door in stand open
                mode in the Vostio access system.
              type: boolean
          required:
            - door_type
            - door_name
          type: object
        avigilon_alta_metadata:
          description: >-
            Avigilon Alta-specific metadata associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          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: >-
            Brivo-specific metadata associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          properties:
            access_point_id:
              description: ID of the access point in the Brivo access system.
              type: string
            site_id:
              description: ID of the site that the access point belongs to.
              format: float
              type: number
            site_name:
              description: Name of the site that the access point belongs to.
              type: string
          required:
            - access_point_id
            - site_id
            - site_name
          type: object
        can_belong_to_reservation:
          description: >-
            Indicates whether the ACS entrance can belong to a reservation via
            an access_grant.reservation_key.
          type: boolean
        can_unlock_with_card:
          description: >-
            Indicates whether the ACS entrance can be unlocked with card
            credentials.
          type: boolean
        can_unlock_with_cloud_key:
          description: >-
            Indicates whether the ACS entrance can be unlocked with cloud key
            credentials.
          type: boolean
        can_unlock_with_code:
          description: Indicates whether the ACS entrance can be unlocked with pin codes.
          type: boolean
        can_unlock_with_mobile_key:
          description: >-
            Indicates whether the ACS entrance can be unlocked with mobile key
            credentials.
          type: boolean
        connected_account_id:
          description: >-
            ID of the [connected
            account](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details)
            associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          format: uuid
          type: string
        created_at:
          description: >-
            Date and time at which the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details)
            was created.
          format: date-time
          type: string
        display_name:
          description: >-
            Display name for the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          type: string
        dormakaba_ambiance_metadata:
          description: >-
            dormakaba Ambiance-specific metadata associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          properties:
            access_point_name:
              description: >-
                Name of the access point in the dormakaba Ambiance access
                system.
              type: string
          required:
            - access_point_name
          type: object
        dormakaba_community_metadata:
          description: >-
            dormakaba Community-specific metadata associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          properties:
            access_point_profile:
              description: >-
                Type of access point profile in the dormakaba Community access
                system.
              type: string
          required:
            - access_point_profile
          type: object
        errors:
          description: >-
            Errors associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          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
        hotek_metadata:
          description: >-
            Hotek-specific metadata associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          properties:
            common_area_name:
              description: Display name of the entrance.
              type: string
            common_area_number:
              description: Display name of the entrance.
              type: string
            room_number:
              description: Room number of the entrance.
              type: string
          type: object
        is_locked:
          description: >-
            Indicates whether the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details)
            is currently locked.
          type: boolean
        latch_metadata:
          description: >-
            Latch-specific metadata associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          properties:
            accessibility_type:
              description: Accessibility type in the Latch access system.
              type: string
            door_name:
              description: Name of the door in the Latch access system.
              type: string
            door_type:
              description: Type of the door in the Latch access system.
              type: string
            is_connected:
              description: Indicates whether the entrance is connected.
              type: boolean
          required:
            - accessibility_type
            - door_name
            - door_type
            - is_connected
          type: object
        salto_ks_metadata:
          description: >-
            Salto KS-specific metadata associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          properties:
            battery_level:
              description: Battery level of the door access device.
              type: string
            door_name:
              description: Name of the door in the Salto KS access system.
              type: string
            intrusion_alarm:
              description: Indicates whether an intrusion alarm is active on the door.
              type: boolean
            left_open_alarm:
              description: Indicates whether the door is left open.
              type: boolean
            lock_type:
              description: Type of the lock in the Salto KS access system.
              type: string
            locked_state:
              description: Locked state of the door in the Salto KS access system.
              type: string
            online:
              description: Indicates whether the door access device is online.
              type: boolean
            privacy_mode:
              description: Indicates whether privacy mode is enabled for the lock.
              type: boolean
          required:
            - door_name
            - locked_state
            - lock_type
            - battery_level
          type: object
        salto_space_metadata:
          description: >-
            Salto Space-specific metadata associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          properties:
            audit_on_keys:
              description: >-
                Indicates whether AuditOnKeys is enabled for the door in the
                Salto Space access system.
              type: boolean
            door_description:
              description: Description of the door in the Salto Space access system.
              type: string
            door_id:
              description: Door ID in the Salto Space access system.
              type: string
            door_name:
              description: Name of the door in the Salto Space access system.
              type: string
            room_description:
              description: Description of the room in the Salto Space access system.
              type: string
            room_name:
              description: Name of the room in the Salto Space access system.
              type: string
          type: object
        space_ids:
          description: IDs of the spaces that the entrance is in.
          items:
            format: uuid
            type: string
          type: array
        visionline_metadata:
          description: >-
            Visionline-specific metadata associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          properties:
            door_category:
              description: Category of the door in the Visionline access system.
              enum:
                - entrance
                - guest
                - elevator reader
                - common
                - common (PMS)
              type: string
            door_name:
              description: Name of the door in the Visionline access system.
              type: string
            profiles:
              description: Profile for the door in the Visionline access system.
              items:
                properties:
                  visionline_door_profile_id:
                    description: Door profile ID in the Visionline access system.
                    type: string
                  visionline_door_profile_type:
                    description: Door profile type in the Visionline access system.
                    enum:
                      - BLE
                      - commonDoor
                      - touch
                    type: string
                required:
                  - visionline_door_profile_id
                  - visionline_door_profile_type
                type: object
              type: array
          required:
            - door_name
            - door_category
          type: object
        warnings:
          description: >-
            Warnings associated with the
            [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
          items:
            description: >-
              Warning associated with the
              [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
            discriminator:
              propertyName: warning_code
            oneOf:
              - description: >-
                  Indicates that a change in the reported device model has been
                  detected for this Salto KS entrance, which may occur after an
                  IQ hub reset. Access code support may be affected. See
                  https://help.getseam.com/articles/5098842588-salto-ks-lock-loses-access-code-support
                  for troubleshooting steps.
                properties:
                  created_at:
                    description: Date and time at which Seam created the warning.
                    format: date-time
                    type: string
                  message:
                    description: >-
                      Detailed description of the warning. Provides insights
                      into the issue and potentially how to rectify it.
                    type: string
                  warning_code:
                    description: >-
                      Unique identifier of the type of warning. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - salto_ks_entrance_access_code_support_removed
                    type: string
                required:
                  - created_at
                  - message
                  - warning_code
                type: object
              - description: >-
                  Indicates that this entrance shares a zone with other
                  entrances in Avigilon Alta and cannot be added to an access
                  group individually.
                properties:
                  created_at:
                    description: Date and time at which Seam created the warning.
                    format: date-time
                    type: string
                  message:
                    description: >-
                      Detailed description of the warning. Provides insights
                      into the issue and potentially how to rectify it.
                    type: string
                  warning_code:
                    description: >-
                      Unique identifier of the type of warning. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - entrance_shares_zone
                    type: string
                required:
                  - created_at
                  - message
                  - warning_code
                type: object
              - description: >-
                  Indicates that this entrance requires additional configuration
                  in the access control system before Seam can fully manage it.
                properties:
                  created_at:
                    description: Date and time at which Seam created the warning.
                    format: date-time
                    type: string
                  message:
                    description: >-
                      Detailed description of the warning. Provides insights
                      into the issue and potentially how to rectify it.
                    type: string
                  warning_code:
                    description: >-
                      Unique identifier of the type of warning. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - entrance_setup_required
                    type: string
                required:
                  - created_at
                  - message
                  - warning_code
                type: object
              - description: >-
                  Indicates that this entrance is in privacy mode. When privacy
                  mode is enabled, access codes, mobile keys, and remote unlocks
                  will not work unless the user has admin access.
                properties:
                  created_at:
                    description: Date and time at which Seam created the warning.
                    format: date-time
                    type: string
                  message:
                    description: >-
                      Detailed description of the warning. Provides insights
                      into the issue and potentially how to rectify it.
                    type: string
                  warning_code:
                    description: >-
                      Unique identifier of the type of warning. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - salto_ks_privacy_mode
                    type: string
                required:
                  - created_at
                  - message
                  - warning_code
                type: object
          type: array
      required:
        - acs_system_id
        - acs_entrance_id
        - space_ids
        - created_at
        - display_name
        - connected_account_id
        - errors
        - warnings
      type: object
      x-route-path: /acs/entrances
    acs_system:
      description: >-
        Represents an [access control
        system](https://docs.seam.co/low-level-apis/access-systems).


        Within an `acs_system`, create
        [`acs_user`s](https://docs.seam.co/api/acs/users/object#acs_user) and
        [`acs_credential`s](https://docs.seam.co/api/acs/credentials/object#acs_credential)
        to grant access to the `acs_user`s.


        For details about the resources associated with an access control
        system, see the [access control systems
        namespace](https://docs.seam.co/api/acs/object).
      properties:
        acs_access_group_count:
          format: float
          type: number
        acs_system_id:
          description: >-
            ID of the [access control
            system](https://docs.seam.co/low-level-apis/access-systems).
          format: uuid
          type: string
        acs_user_count:
          format: float
          type: number
        connected_account_id:
          description: >-
            ID of the [connected
            account](https://docs.seam.co/core-concepts/connected-accounts)
            associated with the [access control
            system](https://docs.seam.co/low-level-apis/access-systems).
          format: uuid
          type: string
        connected_account_ids:
          deprecated: true
          description: >-
            IDs of the [connected
            accounts](https://docs.seam.co/core-concepts/connected-accounts)
            associated with the [access control
            system](https://docs.seam.co/low-level-apis/access-systems).
          items:
            format: uuid
            type: string
          type: array
          x-deprecated: Use `connected_account_id`.
        created_at:
          description: >-
            Date and time at which the [access control
            system](https://docs.seam.co/low-level-apis/access-systems) was
            created.
          format: date-time
          type: string
        default_credential_manager_acs_system_id:
          description: >-
            ID of the default credential manager `acs_system` for this [access
            control system](https://docs.seam.co/low-level-apis/access-systems).
          format: uuid
          nullable: true
          type: string
        errors:
          type: array
          description: >-
            Errors associated with the [access control
            system](https://docs.seam.co/low-level-apis/access-systems).
          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.
        external_type:
          description: >-
            Brand-specific terminology for the [access control
            system](https://docs.seam.co/low-level-apis/access-systems) type.
          enum:
            - pti_site
            - avigilon_alta_org
            - salto_ks_site
            - salto_space_system
            - brivo_account
            - hid_credential_manager_organization
            - visionline_system
            - assa_abloy_credential_service
            - latch_building
            - dormakaba_community_site
            - dormakaba_ambiance_site
            - legic_connect_credential_service
            - assa_abloy_vostio
            - assa_abloy_vostio_credential_service
            - hotek_site
          type: string
        external_type_display_name:
          description: >-
            Display name that corresponds to the brand-specific terminology for
            the [access control
            system](https://docs.seam.co/low-level-apis/access-systems) type.
          type: string
        image_alt_text:
          description: >-
            Alternative text for the [access control
            system](https://docs.seam.co/low-level-apis/access-systems) image.
          type: string
        image_url:
          description: >-
            URL for the image that represents the [access control
            system](https://docs.seam.co/low-level-apis/access-systems).
          type: string
        is_credential_manager:
          description: Indicates whether the `acs_system` is a credential manager.
          type: boolean
        location:
          properties:
            time_zone:
              description: >-
                Time zone in which the [access control
                system](https://docs.seam.co/low-level-apis/access-systems) is
                located.
              nullable: true
              type: string
          required:
            - time_zone
          type: object
        name:
          description: >-
            Name of the [access control
            system](https://docs.seam.co/low-level-apis/access-systems).
          type: string
        system_type:
          deprecated: true
          enum:
            - pti_site
            - avigilon_alta_org
            - salto_ks_site
            - salto_space_system
            - brivo_account
            - hid_credential_manager_organization
            - visionline_system
            - assa_abloy_credential_service
            - latch_building
            - dormakaba_community_site
            - dormakaba_ambiance_site
            - legic_connect_credential_service
            - assa_abloy_vostio
            - assa_abloy_vostio_credential_service
            - hotek_site
          type: string
          x-deprecated: Use `external_type`.
        system_type_display_name:
          deprecated: true
          type: string
          x-deprecated: Use `external_type_display_name`.
        visionline_metadata:
          properties:
            lan_address:
              description: >-
                IP address or hostname of the main Visionline server relative to
                [Seam
                Bridge](https://docs.seam.co/capability-guides/seam-bridge) on
                the local network.
              type: string
            mobile_access_uuid:
              description: >-
                Keyset loaded into a reader. Mobile keys and reader
                administration tools securely authenticate only with readers
                programmed with a matching keyset.
              type: string
            system_id:
              description: >-
                Unique ID assigned by the ASSA ABLOY licensing team that
                identifies each hotel in your credential manager.
              type: string
          required:
            - mobile_access_uuid
            - system_id
            - lan_address
          type: object
        warnings:
          description: >-
            Warnings associated with the [access control
            system](https://docs.seam.co/low-level-apis/access-systems).
          items:
            description: >-
              Warning associated with the [access control
              system](https://docs.seam.co/low-level-apis/access-systems).
            discriminator:
              propertyName: warning_code
            oneOf:
              - description: >-
                  Indicates that the Salto KS site has exceeded 80% of the
                  maximum number of allowed users. Increase your subscription
                  limit or delete some users from your site to rectify the
                  issue.
                properties:
                  created_at:
                    description: Date and time at which Seam created the warning.
                    format: date-time
                    type: string
                  message:
                    description: >-
                      Detailed description of the warning. Provides insights
                      into the issue and potentially how to rectify it.
                    type: string
                  warning_code:
                    description: >-
                      Unique identifier of the type of warning. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - salto_ks_subscription_limit_almost_reached
                    type: string
                required:
                  - created_at
                  - message
                  - warning_code
                type: object
              - description: >-
                  Indicates the [access control
                  system](https://docs.seam.co/low-level-apis/access-systems)
                  time zone could not be determined because the reported
                  physical location does not match the time zone configured on
                  the physical [ACS
                  entrances](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
                properties:
                  created_at:
                    description: Date and time at which Seam created the warning.
                    format: date-time
                    type: string
                  message:
                    description: >-
                      Detailed description of the warning. Provides insights
                      into the issue and potentially how to rectify it.
                    type: string
                  misconfigured_acs_entrance_ids:
                    deprecated: true
                    items:
                      format: uuid
                      type: string
                    type: array
                    x-deprecated: this field is deprecated.
                  warning_code:
                    description: >-
                      Unique identifier of the type of warning. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - time_zone_does_not_match_location
                    type: string
                required:
                  - created_at
                  - message
                  - warning_code
                type: object
              - description: >-
                  Indicates that the access control system requires additional
                  setup before it can be fully operational. Follow the
                  instructions in the warning message to complete the setup.
                properties:
                  created_at:
                    description: Date and time at which Seam created the warning.
                    format: date-time
                    type: string
                  message:
                    description: >-
                      Detailed description of the warning. Provides insights
                      into the issue and potentially how to rectify it.
                    type: string
                  warning_code:
                    description: >-
                      Unique identifier of the type of warning. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - setup_required
                    type: string
                required:
                  - created_at
                  - message
                  - warning_code
                type: object
          type: array
        workspace_id:
          description: >-
            ID of the [workspace](https://docs.seam.co/core-concepts/workspaces)
            that contains the [access control
            system](https://docs.seam.co/low-level-apis/access-systems).
          format: uuid
          type: string
      required:
        - acs_system_id
        - is_credential_manager
        - location
        - name
        - created_at
        - workspace_id
        - connected_account_ids
        - connected_account_id
        - image_url
        - image_alt_text
        - errors
        - warnings
      type: object
      x-route-path: /acs/systems
    connected_account:
      description: >-
        Represents a [connected
        account](https://docs.seam.co/core-concepts/connected-accounts). A
        connected account is an external third-party account to which your user
        has authorized Seam to get access, for example, an August account with a
        list of door locks.
      properties:
        accepted_capabilities:
          description: >-
            List of capabilities that were accepted during the account
            connection process.
          items:
            description: |2

                High-level device capabilities that can be restricted in connect webviews.
                These represent the main device categories that customers can opt into.
            enum:
              - lock
              - thermostat
              - noise_sensor
              - access_control
              - camera
            type: string
          type: array
        account_type:
          description: Type of connected account.
          type: string
        account_type_display_name:
          description: Display name for the connected account type.
          type: string
        automatically_manage_new_devices:
          description: >-
            Indicates whether Seam should [import all new
            devices](https://docs.seam.co/core-concepts/connect-webviews/customizing-connect-webviews#automatically_manage_new_devices)
            for the connected account to make these devices available for
            management by the Seam API.
          type: boolean
        connected_account_id:
          description: ID of the connected account.
          format: uuid
          type: string
        created_at:
          description: Date and time at which the connected account 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
        customer_key:
          description: >-
            Your unique key for the customer associated with this connected
            account.
          type: string
        default_checkin_time:
          description: >-
            Default reservation check-in time for this connected account, as
            `HH:mm` (24-hour). Sourced from the connector configuration — set
            during the connect_webview for providers like Lodgify whose API does
            not expose check-in times.
          type: string
        default_checkout_time:
          description: >-
            Default reservation check-out time for this connected account, as
            `HH:mm` (24-hour). Sourced from the connector configuration.
          type: string
        display_name:
          description: Display name for the connected account.
          type: string
        errors:
          description: Errors associated with the connected account.
          items:
            discriminator:
              propertyName: error_code
            oneOf:
              - description: Indicates that the account is disconnected.
                properties:
                  created_at:
                    description: Date and time at which Seam created the error.
                    format: date-time
                    type: string
                  error_code:
                    description: >-
                      Unique identifier of the type of error. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - account_disconnected
                    type: string
                  is_bridge_error:
                    description: >-
                      Indicates whether the error is related to [Seam
                      Bridge](https://docs.seam.co/capability-guides/seam-bridge).
                    type: boolean
                  is_connected_account_error:
                    description: >-
                      Indicates whether the error is related specifically to the
                      connected account.
                    type: boolean
                  message:
                    description: >-
                      Detailed description of the error. Provides insights into
                      the issue and potentially how to rectify it.
                    type: string
                required:
                  - created_at
                  - message
                  - error_code
                type: object
              - description: >-
                  Indicates that the Seam API cannot communicate with [Seam
                  Bridge](https://docs.seam.co/capability-guides/seam-bridge),
                  for example, if the Seam Bridge executable has stopped or if
                  the computer running the Seam Bridge executable is offline.
                  See also [Troubleshooting Your Access Control
                  System](https://docs.seam.co/low-level-apis/access-systems/troubleshooting-your-access-control-system#acs_system.errors.seam_bridge_disconnected).
                properties:
                  created_at:
                    description: Date and time at which Seam created the error.
                    format: date-time
                    type: string
                  error_code:
                    description: >-
                      Unique identifier of the type of error. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - bridge_disconnected
                    type: string
                  is_bridge_error:
                    description: >-
                      Indicates whether the error is related to [Seam
                      Bridge](https://docs.seam.co/capability-guides/seam-bridge).
                    type: boolean
                  is_connected_account_error:
                    description: >-
                      Indicates whether the error is related specifically to the
                      connected account.
                    type: boolean
                  message:
                    description: >-
                      Detailed description of the error. Provides insights into
                      the issue and potentially how to rectify it.
                    type: string
                required:
                  - created_at
                  - message
                  - error_code
                type: object
              - description: >-
                  Indicates that the maximum number of users allowed for the
                  site has been reached. This means that new access codes cannot
                  be created. Contact Salto support to increase the user limit.
                properties:
                  created_at:
                    description: Date and time at which Seam created the error.
                    format: date-time
                    type: string
                  error_code:
                    description: >-
                      Unique identifier of the type of error. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - salto_ks_subscription_limit_exceeded
                    type: string
                  is_bridge_error:
                    description: >-
                      Indicates whether the error is related to [Seam
                      Bridge](https://docs.seam.co/capability-guides/seam-bridge).
                    type: boolean
                  is_connected_account_error:
                    description: >-
                      Indicates whether the error is related specifically to the
                      connected account.
                    type: boolean
                  message:
                    description: >-
                      Detailed description of the error. Provides insights into
                      the issue and potentially how to rectify it.
                    type: string
                  salto_ks_metadata:
                    description: >-
                      Salto KS metadata associated with the connected account
                      that has an error.
                    properties:
                      sites:
                        description: >-
                          Salto sites associated with the connected account that
                          has an error.
                        items:
                          description: >-
                            Salto site associated with the connected account
                            that has an error.
                          properties:
                            site_id:
                              description: >-
                                ID of a Salto site associated with the connected
                                account that has an error.
                              type: string
                            site_name:
                              description: >-
                                Name of a Salto site associated with the
                                connected account that has an error.
                              type: string
                            site_user_subscription_limit:
                              description: >-
                                Subscription limit of site users for a Salto
                                site associated with the connected account that
                                has an error.
                              minimum: 0
                              type: integer
                            subscribed_site_user_count:
                              description: >-
                                Count of subscribed site users for a Salto site
                                associated with the connected account that has
                                an error.
                              minimum: 0
                              type: integer
                          required:
                            - site_id
                            - site_name
                            - subscribed_site_user_count
                            - site_user_subscription_limit
                          type: object
                        type: array
                    required:
                      - sites
                    type: object
                required:
                  - created_at
                  - message
                  - error_code
                  - salto_ks_metadata
                type: object
              - description: >-
                  Indicates that one or more dormakaba sites associated with the
                  connected account could not be connected. Contact dormakaba
                  support.
                properties:
                  created_at:
                    description: Date and time at which Seam created the error.
                    format: date-time
                    type: string
                  error_code:
                    description: >-
                      Unique identifier of the type of error. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - dormakaba_sites_disconnected
                    type: string
                  is_bridge_error:
                    description: >-
                      Indicates whether the error is related to [Seam
                      Bridge](https://docs.seam.co/capability-guides/seam-bridge).
                    type: boolean
                  is_connected_account_error:
                    description: >-
                      Indicates whether the error is related specifically to the
                      connected account.
                    type: boolean
                  message:
                    description: >-
                      Detailed description of the error. Provides insights into
                      the issue and potentially how to rectify it.
                    type: string
                required:
                  - created_at
                  - message
                  - error_code
                type: object
          type: array
        ical_feed_origin:
          description: >-
            For iCal connected accounts, the platform that produced the feed
            (for example, `airbnb`, `vrbo`, or `booking`), or `unknown` when it
            could not be determined. Intended for rendering the source
            platform's logo.
          type: string
        ical_url:
          description: >-
            For iCal connected accounts, the feed URL for the connection.
            Sourced from the connector configuration.
          type: string
        image_url:
          description: Logo URL for the connected account provider.
          format: uri
          type: string
        time_zone:
          description: >-
            IANA time zone (e.g. America/Los_Angeles) for this connected
            account. Sourced from the connector configuration.
          type: string
        user_identifier:
          deprecated: true
          description: User identifier associated with the connected account.
          properties:
            api_url:
              description: >-
                API URL for the user identifier associated with the connected
                account.
              type: string
            email:
              description: >-
                Email address of the user identifier associated with the
                connected account.
              type: string
            exclusive:
              description: >-
                Indicates whether the user identifier associated with the
                connected account is exclusive.
              type: boolean
            phone:
              description: >-
                Phone number of the user identifier associated with the
                connected account.
              type: string
            username:
              description: >-
                Username of the user identifier associated with the connected
                account.
              type: string
          type: object
          x-deprecated: Use `display_name` instead.
        warnings:
          type: array
          description: Warnings associated with the connected account.
          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.
      required:
        - connected_account_id
        - account_type_display_name
        - display_name
        - errors
        - warnings
        - custom_metadata
        - automatically_manage_new_devices
        - accepted_capabilities
      type: object
      x-route-path: /connected_accounts
    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
    space:
      description: >-
        Represents a space that is a logical grouping of devices and entrances.
        You can assign access to an entire space, thereby making granting access
        more efficient.
      properties:
        acs_entrance_count:
          description: Number of entrances in the space.
          format: float
          type: number
        created_at:
          description: Date and time at which the space was created.
          format: date-time
          type: string
        customer_data:
          description: Reservation/stay-related defaults for the space.
          properties:
            address:
              description: Postal address for the space.
              nullable: true
              type: string
            default_checkin_time:
              description: >-
                Default check-in time for reservations at the space, as HH:mm or
                HH:mm:ss.
              nullable: true
              pattern: ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$
              type: string
            default_checkout_time:
              description: >-
                Default check-out time for reservations at the space, as HH:mm
                or HH:mm:ss.
              nullable: true
              pattern: ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$
              type: string
            time_zone:
              description: IANA time zone for the space, e.g. America/Los_Angeles.
              nullable: true
              type: string
          type: object
        customer_key:
          description: Customer key associated with the space.
          type: string
        device_count:
          description: Number of devices in the space.
          format: float
          type: number
        display_name:
          description: Display name for the space.
          type: string
        geolocation:
          description: Geographic coordinates (latitude and longitude) of the space.
          nullable: true
          properties:
            latitude:
              description: Latitude of the space, in decimal degrees.
              format: float
              type: number
            longitude:
              description: Longitude of the space, in decimal degrees.
              format: float
              type: number
          required:
            - latitude
            - longitude
          type: object
        name:
          description: Name of the space.
          type: string
        parent_space_id:
          format: uuid
          type: string
          x-undocumented: Only used internally.
        parent_space_key:
          type: string
          x-undocumented: Only used internally.
        space_id:
          description: ID of the space.
          format: uuid
          type: string
        space_key:
          description: Unique key for the space within the workspace.
          type: string
        workspace_id:
          description: >-
            ID of the [workspace](https://docs.seam.co/core-concepts/workspaces)
            associated with the space.
          format: uuid
          type: string
      required:
        - space_id
        - workspace_id
        - name
        - display_name
        - created_at
        - device_count
        - acs_entrance_count
      type: object
      x-draft: Early access.
      x-route-path: /spaces
  securitySchemes:
    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
    client_session_with_customer:
      bearerFormat: Customer Client Session Token
      scheme: bearer
      type: http

````