---
title: "Get related Access Method resources"
method: POST
path: "/access_methods/get_related"
---

# Get related Access Method resources

`POST /access_methods/get_related`

Gets all related resources for one or more Access Methods.

## Request body

- object
  - `access_method_ids` string[], required — IDs of the access methods that you want to get along with their related resources.
  - `exclude` string[]
  - `include` string[]

## Response `200`

OK

- object
  - `batch` object, required — A batch of workspace resources.
    - `access_grants` AccessGrant[]
      - `access_grant_id` string, uuid, required — ID of the Access Grant.
      - `access_grant_key` string — Unique key for the access grant within the workspace.
      - `access_method_ids` string[], required — IDs of the access methods created for the Access Grant.
      - `client_session_token` string — Client Session Token. Only returned if the Access Grant has a mobile_key access method.
      - `created_at` string, date-time, required — Date and time at which the Access Grant was created.
      - `customization_profile_id` string, uuid — ID of the customization profile associated with the Access Grant.
      - `display_name` string, required — Display name of the Access Grant.
      - `ends_at` string, date-time, nullable, required — Date and time at which the Access Grant ends.
      - `errors` object[], required — Errors associated with the [access grant](/use-cases/granting-access).
        - `created_at` string, date-time, required — Date and time at which Seam created the error.
        - `error_code` 'cannot_create_requested_access_methods', required — Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
        - `message` string, required — Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
        - `missing_device_ids` string[] — IDs of the devices that did not receive an access code at grant creation. Use these to identify which specific devices failed when the message reports a partial failure.
      - `instant_key_url` string, uri — Instant Key URL. Only returned if the Access Grant has a single mobile_key access_method.
      - `location_ids` string[], required — Deprecated. Use `space_ids`.
      - `name` string, nullable, required — Name of the Access Grant. If not provided, the display name will be computed.
      - `pending_mutations` union[], required — List of pending mutations for the access grant. This shows updates that are in progress.
        - union
          - object — Seam is in the process of updating the devices/spaces associated with this access grant.
            - `created_at` string, date-time, required — Date and time at which the mutation was created.
            - `from` object, required — Previous location configuration.
              - …
            - `message` string, required — Detailed description of the mutation.
            - `mutation_code` 'updating_spaces', required — Mutation code to indicate that Seam is in the process of updating the spaces (devices) associated with this access grant.
            - `to` object, required — New location configuration.
              - …
          - object — Seam is in the process of updating the access times for this access grant.
            - `access_method_ids` string[], required — IDs of the access methods being updated.
            - `created_at` string, date-time, required — Date and time at which the mutation was created.
            - `from` object, required — Previous access time configuration.
              - …
            - `message` string, required — Detailed description of the mutation.
            - `mutation_code` 'updating_access_times', required — Mutation code to indicate that Seam is in the process of updating the access times for this access grant.
            - `to` object, required — New access time configuration.
              - …
      - `requested_access_methods` object[], required — Access methods that the user requested for the Access Grant.
        - `code` string — Specific PIN code to use for this access method. Only applicable when mode is 'code'.
        - `created_access_method_ids` string[], required — IDs of the access methods created for the requested access method.
        - `created_at` string, date-time, required — Date and time at which the requested access method was added to the Access Grant.
        - `display_name` string, required — Display name of the access method.
        - `instant_key_max_use_count` integer — Maximum number of times the instant key can be used. Only applicable when mode is 'mobile_key'. Defaults to 1 if not specified.
        - `mode` 'code' | 'card' | 'mobile_key' | 'cloud_key', required — Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
      - `reservation_key` string — Reservation key for the access grant.
      - `space_ids` string[], required — IDs of the spaces to which the Access Grant gives access.
      - `starts_at` string, date-time, required — Date and time at which the Access Grant starts.
      - `user_identity_id` string, uuid, required — ID of user identity to which the Access Grant gives access.
      - `warnings` object[], required — Warnings associated with the [access grant](/use-cases/granting-access).
        - `error_code` string — Error or warning code.
        - `message` string — Human-readable description.
        - `created_at` string, date-time — When this error or warning was generated.
      - `workspace_id` string, uuid, required — ID of the Seam workspace associated with the Access Grant.
    - `access_methods` AccessMethod[]
      - `access_method_id` string, uuid, required — ID of the access method.
      - `client_session_token` string — Token of the client session associated with the access method.
      - `code` string, nullable — The actual PIN code for code access methods.
      - `created_at` string, date-time, required — Date and time at which the access method was created.
      - `customization_profile_id` string, uuid — ID of the customization profile associated with the access method.
      - `display_name` string, required — Display name of the access method.
      - `errors` object[], required — Errors associated with the [access method](/use-cases/granting-access/creating-an-access-grant).
        - `created_at` string, date-time, required — Date and time at which Seam created the error.
        - `error_code` 'failed_to_issue', required — Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
        - `message` string, required — Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
      - `instant_key_url` string, uri — URL of the Instant Key for mobile key access methods.
      - `is_assignment_required` boolean — 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.
      - `is_encoding_required` boolean — Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method.
      - `is_issued` boolean, required — Indicates whether the access method has been issued.
      - `is_ready_for_assignment` boolean — 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.
      - `is_ready_for_encoding` boolean — 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.
      - `issued_at` string, date-time, nullable, required — Date and time at which the access method was issued.
      - `mode` 'code' | 'card' | 'mobile_key' | 'cloud_key', required — Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
      - `pending_mutations` union[], required — Pending mutations for the [access method](/use-cases/granting-access/creating-an-access-grant). Indicates operations that are in progress.
        - union
          - object — Seam is in the process of provisioning access for this access method on new devices.
            - `created_at` string, date-time, required — Date and time at which the mutation was created.
            - `from` object, required — Previous device configuration.
              - …
            - `message` string, required — Detailed description of the mutation.
            - `mutation_code` 'provisioning_access', required — Mutation code to indicate that Seam is in the process of provisioning access for this access method on new devices.
            - `to` object, required — New device configuration.
              - …
          - object — Seam is in the process of revoking access for this access method from devices.
            - `created_at` string, date-time, required — Date and time at which the mutation was created.
            - `from` object, required — Previous device configuration.
              - …
            - `message` string, required — Detailed description of the mutation.
            - `mutation_code` 'revoking_access', required — Mutation code to indicate that Seam is in the process of revoking access for this access method from devices.
            - `to` object, required — New device configuration.
              - …
          - object — Seam is in the process of updating the access times for this access method.
            - `created_at` string, date-time, required — Date and time at which the mutation was created.
            - `from` object, required — Previous access time configuration.
              - …
            - `message` string, required — Detailed description of the mutation.
            - `mutation_code` 'updating_access_times', required — Mutation code to indicate that Seam is in the process of updating the access times for this access method.
            - `to` object, required — New access time configuration.
              - …
      - `warnings` union[], required — Warnings associated with the [access method](/use-cases/granting-access/creating-an-access-grant).
        - union — Warning associated with the [access method](/use-cases/granting-access/creating-an-access-grant).
          - object — Indicates that the [access method](/use-cases/granting-access/creating-an-access-grant) is being deleted.
            - `created_at` string, date-time, required — Date and time at which Seam created the warning.
            - `message` string, required — Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
            - `warning_code` 'being_deleted', required — Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
          - object — Indicates that the access times for this [access method](/use-cases/granting-access/creating-an-access-grant) are being updated.
            - `created_at` string, date-time, required — Date and time at which Seam created the warning.
            - `message` string, required — Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
            - `warning_code` 'updating_access_times', required — Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
          - object — 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.
            - `created_at` string, date-time, required — Date and time at which Seam created the warning.
            - `message` string, required — Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
            - `original_access_method_id` string, uuid — ID of the original access method from which this backup access method was split, if applicable.
            - `warning_code` 'pulled_backup_access_code', required — Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
          - object — Indicates that Seam has not yet issued this [access method](/use-cases/granting-access/creating-an-access-grant), even though its access grant is about to begin, so access may not be ready when the recipient arrives. Seam is still attempting to issue it, and this warning clears automatically once issuance succeeds.
            - `created_at` string, date-time, required — Date and time at which Seam created the warning.
            - `message` string, required — Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
            - `warning_code` 'delay_in_issuing', required — Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
      - `workspace_id` string, uuid, required — ID of the Seam workspace associated with the access method.
    - `acs_credentials` AcsCredential[]
      - `access_method` 'code' | 'card' | 'mobile_key' | 'cloud_key', required — Access method for the [credential](/low-level-apis/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
      - `acs_credential_id` string, uuid, required — ID of the [credential](/low-level-apis/access-systems/managing-credentials).
      - `acs_credential_pool_id` string, uuid — ID of the credential pool to which the credential belongs.
      - `acs_system_id` string, uuid, required — ID of the [access control system](/low-level-apis/access-systems) that contains the [credential](/low-level-apis/access-systems/managing-credentials).
      - `acs_user_id` string, uuid — ID of the [ACS user](/low-level-apis/access-systems/user-management) to whom the [credential](/low-level-apis/access-systems/managing-credentials) belongs.
      - `assa_abloy_vostio_metadata` object — Vostio-specific metadata for the [credential](/low-level-apis/access-systems/managing-credentials).
        - `auto_join` boolean — Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors.
        - `door_names` string[] — Names of the doors to which to grant access in the Vostio access system.
        - `endpoint_id` string — Endpoint ID in the Vostio access system.
        - `key_id` string — Key ID in the Vostio access system.
        - `key_issuing_request_id` string — Key issuing request ID in the Vostio access system.
        - `override_guest_acs_entrance_ids` string[] — IDs of the guest entrances to override in the Vostio access system.
      - `card_number` string, nullable — Number of the card associated with the [credential](/low-level-apis/access-systems/managing-credentials).
      - `code` string, nullable — Access (PIN) code for the [credential](/low-level-apis/access-systems/managing-credentials).
      - `connected_account_id` string, uuid, required — ID of the [connected account](/core-concepts/connected-accounts) to which the [credential](/low-level-apis/access-systems/managing-credentials) belongs.
      - `created_at` string, date-time, required — Date and time at which the [credential](/low-level-apis/access-systems/managing-credentials) was created.
      - `display_name` string, required — Display name that corresponds to the [credential](/low-level-apis/access-systems/managing-credentials) type.
      - `ends_at` string — Date and time at which the [credential](/low-level-apis/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`.
      - `errors` object[], required — Errors associated with the [credential](/low-level-apis/access-systems/managing-credentials).
        - `error_code` string, required
        - `message` string, required
      - `external_type` 'pti_card' | 'brivo_credential' | 'hid_credential' | 'visionline_card' | 'salto_ks_credential' | 'assa_abloy_vostio_key' | 'salto_space_key' | 'latch_access' | 'dormakaba_ambiance_credential' | 'hotek_card' | 'salto_ks_tag' | 'avigilon_alta_credential' | 'kisi_credential' — Brand-specific terminology for the [credential](/low-level-apis/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`.
      - `external_type_display_name` string — Display name that corresponds to the brand-specific terminology for the [credential](/low-level-apis/access-systems/managing-credentials) type.
      - `is_issued` boolean — Indicates whether the [credential](/low-level-apis/access-systems/managing-credentials) has been encoded onto a card.
      - `is_latest_desired_state_synced_with_provider` boolean, nullable — Indicates whether the latest state of the [credential](/low-level-apis/access-systems/managing-credentials) has been synced from Seam to the provider.
      - `is_managed` true, required — Indicates whether Seam manages the credential.
      - `is_multi_phone_sync_credential` boolean — Indicates whether the [credential](/low-level-apis/access-systems/managing-credentials) is a [multi-phone sync credential](/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials).
      - `is_one_time_use` boolean — Indicates whether the [credential](/low-level-apis/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use.
      - `issued_at` string, date-time, nullable — Date and time at which the [credential](/low-level-apis/access-systems/managing-credentials) was encoded onto a card.
      - `latest_desired_state_synced_with_provider_at` string, date-time, nullable — Date and time at which the state of the [credential](/low-level-apis/access-systems/managing-credentials) was most recently synced from Seam to the provider.
      - `parent_acs_credential_id` string, uuid — ID of the parent [credential](/low-level-apis/access-systems/managing-credentials).
      - `starts_at` string — Date and time at which the [credential](/low-level-apis/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
      - `user_identity_id` string, uuid — ID of the [user identity](/api/user_identities/object) to whom the [credential](/low-level-apis/access-systems/managing-credentials) belongs.
      - `visionline_metadata` object — Visionline-specific metadata for the [credential](/low-level-apis/access-systems/managing-credentials).
        - `auto_join` boolean — Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors.
        - `card_function_type` 'guest' | 'staff' — Card function type in the Visionline access system.
        - `card_id` string — ID of the card in the Visionline access system.
        - `common_acs_entrance_ids` string[] — Common entrance IDs in the Visionline access system.
        - `credential_id` string — ID of the credential in the Visionline access system.
        - `guest_acs_entrance_ids` string[] — Guest entrance IDs in the Visionline access system.
        - `is_valid` boolean — Indicates whether the credential is valid.
        - `joiner_acs_credential_ids` string[] — IDs of the credentials to which you want to join.
      - `warnings` object[], required — Warnings associated with the [credential](/low-level-apis/access-systems/managing-credentials).
        - `error_code` string — Error or warning code.
        - `message` string — Human-readable description.
        - `created_at` string, date-time — When this error or warning was generated.
      - `workspace_id` string, uuid, required — ID of the workspace that contains the [credential](/low-level-apis/access-systems/managing-credentials).
    - `acs_entrances` AcsEntrance[]
      - `acs_entrance_id` string, uuid, required — ID of the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
      - `acs_system_id` string, uuid, required — ID of the [access control system](/low-level-apis/access-systems) that contains the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
      - `assa_abloy_vostio_metadata` object — ASSA ABLOY Vostio-specific metadata associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `door_name` string — Name of the door in the Vostio access system.
        - `door_number` number, float — Number of the door in the Vostio access system.
        - `door_type` 'CommonDoor' | 'EntranceDoor' | 'GuestDoor' | 'Elevator' — Type of the door in the Vostio access system.
        - `pms_id` string — PMS ID of the door in the Vostio access system.
        - `stand_open` boolean — Indicates whether keys are allowed to set the door in stand open mode in the Vostio access system.
      - `avigilon_alta_metadata` object — Avigilon Alta-specific metadata associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `entry_name` string — Entry name for an Avigilon Alta system.
        - `entry_relays_total_count` number, float — Total count of entry relays for an Avigilon Alta system.
        - `org_name` string — Organization name for an Avigilon Alta system.
        - `site_id` number, float — Site ID for an Avigilon Alta system.
        - `site_name` string — Site name for an Avigilon Alta system.
        - `zone_id` number, float — Zone ID for an Avigilon Alta system.
        - `zone_name` string — Zone name for an Avigilon Alta system.
      - `brivo_metadata` object — Brivo-specific metadata associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `access_point_id` string — ID of the access point in the Brivo access system.
        - `site_id` number, float — ID of the site that the access point belongs to.
        - `site_name` string — Name of the site that the access point belongs to.
      - `can_belong_to_reservation` boolean — Indicates whether the ACS entrance can belong to a reservation via an access_grant.reservation_key.
      - `can_unlock_with_card` boolean — Indicates whether the ACS entrance can be unlocked with card credentials.
      - `can_unlock_with_cloud_key` boolean — Indicates whether the ACS entrance can be unlocked with cloud key credentials.
      - `can_unlock_with_code` boolean — Indicates whether the ACS entrance can be unlocked with pin codes.
      - `can_unlock_with_mobile_key` boolean — Indicates whether the ACS entrance can be unlocked with mobile key credentials.
      - `connected_account_id` string, uuid, required — ID of the [connected account](/low-level-apis/access-systems/retrieving-entrance-details) associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
      - `created_at` string, date-time, required — Date and time at which the [entrance](/low-level-apis/access-systems/retrieving-entrance-details) was created.
      - `display_name` string, required — Display name for the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
      - `dormakaba_ambiance_metadata` object — dormakaba Ambiance-specific metadata associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `access_point_name` string — Name of the access point in the dormakaba Ambiance access system.
      - `dormakaba_community_metadata` object — dormakaba Community-specific metadata associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `access_point_profile` string — Type of access point profile in the dormakaba Community access system.
      - `errors` object[], required — Errors associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `error_code` string, required — Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
        - `message` string, required — Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
      - `hotek_metadata` object — Hotek-specific metadata associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `common_area_name` string — Display name of the entrance.
        - `common_area_number` string — Display name of the entrance.
        - `room_number` string — Room number of the entrance.
      - `is_locked` boolean — Indicates whether the [entrance](/low-level-apis/access-systems/retrieving-entrance-details) is currently locked.
      - `latch_metadata` object — Latch-specific metadata associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `accessibility_type` string — Accessibility type in the Latch access system.
        - `door_name` string — Name of the door in the Latch access system.
        - `door_type` string — Type of the door in the Latch access system.
        - `is_connected` boolean — Indicates whether the entrance is connected.
      - `salto_ks_metadata` object — Salto KS-specific metadata associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `battery_level` string — Battery level of the door access device.
        - `door_name` string — Name of the door in the Salto KS access system.
        - `intrusion_alarm` boolean — Indicates whether an intrusion alarm is active on the door.
        - `left_open_alarm` boolean — Indicates whether the door is left open.
        - `lock_type` string — Type of the lock in the Salto KS access system.
        - `locked_state` string — Locked state of the door in the Salto KS access system.
        - `online` boolean — Indicates whether the door access device is online.
        - `privacy_mode` boolean — Indicates whether privacy mode is enabled for the lock.
      - `salto_space_metadata` object — Salto Space-specific metadata associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `audit_on_keys` boolean — Indicates whether AuditOnKeys is enabled for the door in the Salto Space access system.
        - `door_description` string — Description of the door in the Salto Space access system.
        - `door_id` string — Door ID in the Salto Space access system.
        - `door_name` string — Name of the door in the Salto Space access system.
        - `room_description` string — Description of the room in the Salto Space access system.
        - `room_name` string — Name of the room in the Salto Space access system.
      - `space_ids` string[], required — IDs of the spaces that the entrance is in.
      - `visionline_metadata` object — Visionline-specific metadata associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `door_category` 'entrance' | 'guest' | 'elevator reader' | 'common' | 'common (PMS)' — Category of the door in the Visionline access system.
        - `door_name` string — Name of the door in the Visionline access system.
        - `profiles` object[] — Profile for the door in the Visionline access system.
          - `visionline_door_profile_id` string — Door profile ID in the Visionline access system.
          - `visionline_door_profile_type` 'BLE' | 'commonDoor' | 'touch' — Door profile type in the Visionline access system.
      - `warnings` object[], required — Warnings associated with the [entrance](/low-level-apis/access-systems/retrieving-entrance-details).
        - `error_code` string — Error or warning code.
        - `message` string — Human-readable description.
        - `created_at` string, date-time — When this error or warning was generated.
    - `client_sessions` ClientSession[]
      - `client_session_id` string, uuid, required — ID of the client session.
      - `connect_webview_ids` string[], required — IDs of the [Connect Webviews](/core-concepts/connect-webviews) associated with the [client session](/core-concepts/authentication/client-session-tokens).
      - `connected_account_ids` string[], required — IDs of the [connected accounts](/core-concepts/connected-accounts) associated with the [client session](/core-concepts/authentication/client-session-tokens).
      - `created_at` string, date-time, required — Date and time at which the [client session](/core-concepts/authentication/client-session-tokens) was created.
      - `customer_key` string — Customer key associated with the [client session](/core-concepts/authentication/client-session-tokens).
      - `device_count` number, float, required — Number of devices associated with the [client session](/core-concepts/authentication/client-session-tokens).
      - `expires_at` string, date-time, required — Date and time at which the [client session](/core-concepts/authentication/client-session-tokens) expires.
      - `token` string, required — Client session token associated with the [client session](/core-concepts/authentication/client-session-tokens).
      - `user_identifier_key` string, nullable, required — Your user ID for the user associated with the [client session](/core-concepts/authentication/client-session-tokens).
      - `user_identity_id` string, uuid — ID of the [user identity](/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) associated with the client session.
      - `user_identity_ids` string[], required — Deprecated. Use `user_identity_id` instead. IDs of the [user identities](/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) associated with the client session.
      - `workspace_id` string, uuid, required — ID of the workspace associated with the client session.
    - `devices` Device[]
      - `can_configure_auto_lock` boolean — Indicates whether the lock supports configuring automatic locking.
      - `can_hvac_cool` boolean — Indicates whether the thermostat supports cooling.
      - `can_hvac_heat` boolean — Indicates whether the thermostat supports heating.
      - `can_hvac_heat_cool` boolean — Indicates whether the thermostat supports simultaneous heating and cooling.
      - `can_program_offline_access_codes` boolean — Indicates whether the device supports programming offline access codes.
      - `can_program_online_access_codes` boolean — Indicates whether the device supports programming online access codes.
      - `can_program_thermostat_programs_as_different_each_day` boolean — Indicates whether the thermostat supports different climate programs for each day of the week.
      - `can_program_thermostat_programs_as_same_each_day` boolean — Indicates whether the thermostat supports a single climate program applied to every day.
      - `can_program_thermostat_programs_as_weekday_weekend` boolean — Indicates whether the thermostat supports weekday/weekend climate programs.
      - `can_remotely_lock` boolean — Indicates whether the device supports remote locking.
      - `can_remotely_unlock` boolean — Indicates whether the device supports remote unlocking.
      - `can_run_thermostat_programs` boolean — Indicates whether the thermostat supports running climate programs.
      - `can_simulate_connection` boolean — Indicates whether the device supports simulating connection in a sandbox.
      - `can_simulate_disconnection` boolean — Indicates whether the device supports simulating disconnection in a sandbox.
      - `can_simulate_hub_connection` boolean — Indicates whether the hub supports simulating connection in a sandbox.
      - `can_simulate_hub_disconnection` boolean — Indicates whether the hub supports simulating disconnection in a sandbox.
      - `can_simulate_paid_subscription` boolean — Indicates whether the device supports simulating a paid subscription in a sandbox.
      - `can_simulate_removal` boolean — Indicates whether the device supports simulating removal in a sandbox.
      - `can_turn_off_hvac` boolean — Indicates whether the thermostat can be turned off.
      - `can_unlock_with_code` boolean — Indicates whether the lock supports unlocking with an access code.
      - `capabilities_supported` string[], required — 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](/capability-guides/device-and-system-capabilities#capability-flags).
      - `connected_account_id` string, uuid, required — Unique identifier for the account associated with the device.
      - `created_at` string, date-time, required — Date and time at which the device object was created.
      - `custom_metadata` object, required — Set of key:value pairs. Adding custom metadata to a resource, such as a [Connect Webview](/core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview), [connected account](/core-concepts/connected-accounts/adding-custom-metadata-to-a-connected-account), or [device](/core-concepts/devices/adding-custom-metadata-to-a-device), enables you to store custom information, like customer details or internal IDs from your application.
      - `device_id` string, uuid, required — ID of the device.
      - `device_manufacturer` object — Manufacturer of the device. Represents the hardware brand, which may differ from the provider.
        - `display_name` string, required — Display name for the manufacturer, such as `August`, `Yale`, `Salto`, and so on.
        - `image_url` string, uri — Image URL for the manufacturer logo.
        - `manufacturer` string, required — Manufacturer identifier, such as `august`, `yale`, `salto`, and so on.
      - `device_provider` object — Provider of the device. Represents the third-party service through which the device is controlled.
        - `device_provider_name` string, required — Device provider name. Corresponds to the integration type, such as `august`, `schlage`, `yale_access`, and so on.
        - `display_name` string, required — Display name for the device provider type.
        - `image_url` string, uri — Image URL for the device provider.
        - `provider_category` string, required — Provider category. Indicates the third-party provider type, such as `stable`, for stable integrations, or `internal`, for internal integrations.
      - `device_type` union, required — Type of the device.
        - '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' | 'kisi_lock' — Device type for smartlocks.
        - 'keynest_key' — Device type for keys.
        - 'noiseaware_activity_zone' | 'minut_sensor' — Device type for noise sensors.
        - 'ecobee_thermostat' | 'nest_thermostat' | 'honeywell_resideo_thermostat' | 'tado_thermostat' | 'sensi_thermostat' | 'smartthings_thermostat' — Device type for thermostats.
        - 'ios_phone' | 'android_phone' — Device type for phones.
        - 'ring_camera' — Device type for cameras.
      - `display_name` string, required — Display name of the device, defaults to nickname (if it is set) or `properties.appearance.name`, otherwise. Enables administrators and users to identify the device easily, especially when there are numerous devices.
      - `errors` object[], required — Array of errors associated with the device. Each error object within the array contains two fields: `error_code` and `message`. `error_code` is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. `message` provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.
        - `error_code` string — Error or warning code.
        - `message` string — Human-readable description.
        - `created_at` string, date-time — When this error or warning was generated.
      - `is_managed` true, required — Indicates whether Seam manages the device. See also [Managed and Unmanaged Devices](/core-concepts/devices/managed-and-unmanaged-devices).
      - `location` object — Location information for the device.
        - `location_name` string — Name of the device location.
        - `time_zone` string — Time zone of the device location.
        - `timezone` string — Deprecated. Use `time_zone` instead. Time zone of the device location.
      - `nickname` string — Optional nickname to describe the device, settable through Seam.
      - `properties` object, required — Properties of the device.
        - `accessory_keypad` object — Accessory keypad properties and state.
          - `battery` object — Keypad battery properties.
            - `level` number, float, required
          - `is_connected` boolean, required — Indicates if an accessory keypad is connected to the device.
        - `appearance` object, required — Appearance-related properties, as reported by the device.
          - `name` string, required — Name of the device as seen from the provider API and application, not settable through Seam.
        - `battery` object — Represents the current status of the battery charge level.
          - `level` number, float, required — Battery charge level as a value between 0 and 1, inclusive.
          - `status` 'critical' | 'low' | 'good' | 'full', required — Represents the current status of the battery charge level. Values are `critical`, which indicates an extremely low level, suggesting imminent shutdown or an urgent need for charging; `low`, which signifies that the battery is under the preferred threshold and should be charged soon; `good`, which denotes a satisfactory charge level, adequate for normal use without the immediate need for recharging; and `full`, which represents a battery that is fully charged, providing the maximum duration of usage.
        - `battery_level` number, float — Indicates the battery level of the device as a decimal value between 0 and 1, inclusive.
        - `currently_triggering_noise_threshold_ids` string[] — Array of noise threshold IDs that are currently triggering.
        - `has_direct_power` boolean — Indicates whether the device has direct power.
        - `image_alt_text` string — Alt text for the device image.
        - `image_url` string, uri — Image URL for the device.
        - `manufacturer` string — Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub.
        - `model` object, required — Device model-related properties.
          - `accessory_keypad_supported` boolean — Deprecated. use device.properties.model.can_connect_accessory_keypad
          - `can_connect_accessory_keypad` boolean — Indicates whether the device can connect a accessory keypad.
          - `display_name` string, required — Display name of the device model.
          - `has_built_in_keypad` boolean — Indicates whether the device has a built in accessory keypad.
          - `manufacturer_display_name` string, required — Display name that corresponds to the manufacturer-specific terminology for the device.
          - `offline_access_codes_supported` boolean — Deprecated. use device.can_program_offline_access_codes.
          - `online_access_codes_supported` boolean — Deprecated. use device.can_program_online_access_codes.
        - `name` string, required — Deprecated. use device.display_name instead Name of the device.
        - `noise_level_decibels` number, float — Indicates current noise level in decibels, if the device supports noise detection.
        - `offline_access_codes_enabled` boolean — Deprecated. use device.can_program_offline_access_codes Indicates whether it is currently possible to use offline access codes for the device.
        - `online` boolean, required — Indicates whether the device is online.
        - `online_access_codes_enabled` boolean — Deprecated. use device.can_program_online_access_codes Indicates whether it is currently possible to use online access codes for the device.
        - `serial_number` string — Serial number of the device.
        - `supports_accessory_keypad` boolean — Deprecated. use device.properties.model.can_connect_accessory_keypad
        - `supports_offline_access_codes` boolean — Deprecated. use offline_access_codes_enabled
        - `assa_abloy_credential_service_metadata` object — ASSA ABLOY Credential Service metadata for the phone.
          - `endpoints` object[] — Endpoints associated with the phone.
            - `endpoint_id` string — ID of the associated endpoint.
            - `is_active` boolean — Indicated whether the endpoint is active.
          - `has_active_endpoint` boolean — Indicates whether the credential service has active endpoints associated with the phone.
        - `salto_space_credential_service_metadata` object — Salto Space credential service metadata for the phone.
          - `has_active_phone` boolean — Indicates whether the credential service has an active associated phone.
        - `akiles_metadata` object — Metadata for an Akiles device.
          - `_member_group_id` string — Group ID to which to add users for an Akiles device.
          - `gadget_id` string — Gadget ID for an Akiles device.
          - `gadget_name` string — Gadget name for an Akiles device.
          - `product_name` string — Product name for an Akiles device.
        - `assa_abloy_vostio_metadata` object — Metadata for an ASSA ABLOY Vostio system.
          - `encoder_name` string — Encoder name for an ASSA ABLOY Vostio system.
        - `august_metadata` object — Metadata for an August device.
          - `has_keypad` boolean — Indicates whether an August device has a keypad.
          - `house_id` string — House ID for an August device.
          - `house_name` string — House name for an August device.
          - `keypad_battery_level` string — Keypad battery level for an August device.
          - `lock_id` string — Lock ID for an August device.
          - `lock_name` string — Lock name for an August device.
          - `model` string — Model for an August device.
        - `avigilon_alta_metadata` object — Metadata for an Avigilon Alta system.
          - `entry_name` string — Entry name for an Avigilon Alta system.
          - `entry_relays_total_count` number, float — Total count of entry relays for an Avigilon Alta system.
          - `org_name` string — Organization name for an Avigilon Alta system.
          - `site_id` number, float — Site ID for an Avigilon Alta system.
          - `site_name` string — Site name for an Avigilon Alta system.
          - `zone_id` number, float — Zone ID for an Avigilon Alta system.
          - `zone_name` string — Zone name for an Avigilon Alta system.
        - `brivo_metadata` object — Metadata for a Brivo device.
          - `activation_enabled` boolean — Indicates whether the Brivo access point has activation (remote unlock) enabled.
          - `device_name` string — Device name for a Brivo device.
        - `controlbyweb_metadata` object — Metadata for a ControlByWeb device.
          - `device_id` string — Device ID for a ControlByWeb device.
          - `device_name` string — Device name for a ControlByWeb device.
          - `relay_name` string, nullable — Relay name for a ControlByWeb device.
        - `dormakaba_oracode_metadata` object — Metadata for a dormakaba Oracode device.
          - `device_id` union — Device ID for a dormakaba Oracode device.
            - number, float
            - string
          - `door_id` number, float — Door ID for a dormakaba Oracode device.
          - `door_is_wireless` boolean — Indicates whether a door is wireless for a dormakaba Oracode device.
          - `door_name` string — Door name for a dormakaba Oracode device.
          - `iana_timezone` string — IANA time zone for a dormakaba Oracode device.
          - `predefined_time_slots` object[] — Predefined time slots for a dormakaba Oracode device.
            - `check_in_time` string — Check in time for a time slot for a dormakaba Oracode device.
            - `check_out_time` string — Checkout time for a time slot for a dormakaba Oracode device.
            - `dormakaba_oracode_user_level_id` string, uuid — ID of a user level for a dormakaba Oracode device.
            - `dormakaba_oracode_user_level_prefix` number, float — Prefix for a user level for a dormakaba Oracode device.
            - `is_24_hour` boolean — Indicates whether a time slot for a dormakaba Oracode device is a 24-hour time slot.
            - `is_biweekly_mode` boolean — Indicates whether a time slot for a dormakaba Oracode device is in biweekly mode.
            - `is_master` boolean — Indicates whether a time slot for a dormakaba Oracode device is a master time slot.
            - `is_one_shot` boolean — Indicates whether a time slot for a dormakaba Oracode device is a one-shot time slot.
            - `name` string — Name of a time slot for a dormakaba Oracode device.
            - `prefix` number, float — Prefix for a time slot for a dormakaba Oracode device.
          - `site_id` number, float, nullable — Deprecated. Previously marked as "@DEPRECATED." Site ID for a dormakaba Oracode device.
          - `site_name` string — Site name for a dormakaba Oracode device.
        - `ecobee_metadata` object — Metadata for an ecobee device.
          - `device_name` string — Device name for an ecobee device.
          - `ecobee_device_id` string — Device ID for an ecobee device.
        - `four_suites_metadata` object — Metadata for a 4SUITES device.
          - `device_id` number, float — Device ID for a 4SUITES device.
          - `device_name` string — Device name for a 4SUITES device.
          - `reclose_delay_in_seconds` number, float — Reclose delay, in seconds, for a 4SUITES device.
        - `genie_metadata` object — Metadata for a Genie device.
          - `device_name` string — Lock name for a Genie device.
          - `door_name` string — Door name for a Genie device.
        - `honeywell_resideo_metadata` object — Metadata for a Honeywell Resideo device.
          - `device_name` string — Device name for a Honeywell Resideo device.
          - `honeywell_resideo_device_id` string — Device ID for a Honeywell Resideo device.
        - `igloo_metadata` object — Metadata for an igloo device.
          - `bridge_id` string — Bridge ID for an igloo device.
          - `device_id` string — Device ID for an igloo device.
          - `model` string — Model for an igloo device.
        - `igloohome_metadata` object — Metadata for an igloohome device.
          - `bridge_id` string — Bridge ID for an igloohome device.
          - `bridge_name` string — Bridge name for an igloohome device.
          - `device_id` string — Device ID for an igloohome device.
          - `device_name` string — Device name for an igloohome device.
          - `is_accessory_keypad_linked_to_bridge` boolean — Indicates whether a keypad is linked to a bridge for an igloohome device.
          - `keypad_id` string — Keypad ID for an igloohome device.
        - `keynest_metadata` object — Metadata for a KeyNest device.
          - `address` string, nullable — Address for a KeyNest device.
          - `current_or_last_store_id` number, float — Current or last store ID for a KeyNest device.
          - `current_status` string, nullable — Current status for a KeyNest device.
          - `current_user_company` string, nullable — Current user company for a KeyNest device.
          - `current_user_email` string, nullable — Current user email for a KeyNest device.
          - `current_user_name` string, nullable — Current user name for a KeyNest device.
          - `current_user_phone_number` string, nullable — Current user phone number for a KeyNest device.
          - `default_office_id` number, float — Default office ID for a KeyNest device.
          - `device_name` string — Device name for a KeyNest device.
          - `fob_id` number, float — Fob ID for a KeyNest device.
          - `handover_method` string, nullable — Handover method for a KeyNest device.
          - `has_photo` boolean — Whether the KeyNest device has a photo.
          - `is_quadient_locker` boolean — Whether the key is in a locker that does not support the access codes API.
          - `key_id` string — Key ID for a KeyNest device.
          - `key_notes` string, nullable — Key notes for a KeyNest device.
          - `keynest_app_user` string, nullable — KeyNest app user for a KeyNest device.
          - `last_movement` string — Last movement timestamp for a KeyNest device.
          - `property_id` string, nullable — Property ID for a KeyNest device.
          - `property_postcode` string, nullable — Property postcode for a KeyNest device.
          - `status_type` string — Status type for a KeyNest device.
          - `subscription_plan` string — Subscription plan for a KeyNest device.
        - `kisi_metadata` object — Metadata for a Kisi device.
          - `description` string, nullable — Description for a Kisi device.
          - `lock_id` number, float — Lock ID for a Kisi device.
          - `lock_name` string — Lock name for a Kisi device.
          - `place_name` string, nullable — Place name for a Kisi device.
        - `korelock_metadata` object — Metadata for a Korelock device.
          - `device_id` string — Device ID for a Korelock device.
          - `device_name` string — Device name for a Korelock device.
          - `firmware_version` string — Firmware version for a Korelock device.
          - `location_id` string, nullable — Location ID for a Korelock device. Required for timebound access codes.
          - `model_code` string — Model code for a Korelock device.
          - `serial_number` string — Serial number for a Korelock device.
          - `wifi_signal_strength` number, float — WiFi signal strength (0-1) for a Korelock device.
        - `kwikset_metadata` object — Metadata for a Kwikset device.
          - `device_id` string — Device ID for a Kwikset device.
          - `device_name` string — Device name for a Kwikset device.
          - `model_number` string — Model number for a Kwikset device.
        - `lockly_metadata` object — Metadata for a Lockly device.
          - `device_id` string — Device ID for a Lockly device.
          - `device_name` string — Device name for a Lockly device.
          - `model` string — Model for a Lockly device.
        - `minut_metadata` object — Metadata for a Minut device.
          - `device_id` string — Device ID for a Minut device.
          - `device_name` string — Device name for a Minut device.
          - `latest_sensor_values` object — Latest sensor values for a Minut device.
            - `accelerometer_z` object — Latest accelerometer Z-axis reading for a Minut device.
              - …
            - `humidity` object — Latest humidity reading for a Minut device.
              - …
            - `pressure` object — Latest pressure reading for a Minut device.
              - …
            - `sound` object — Latest sound reading for a Minut device.
              - …
            - `temperature` object — Latest temperature reading for a Minut device.
              - …
        - `nest_metadata` object — Metadata for a Google Nest device.
          - `device_custom_name` string — Custom device name for a Google Nest device. The device owner sets this value.
          - `device_name` string — Device name for a Google Nest device. Google sets this value.
          - `display_name` string — Display name for a Google Nest device.
          - `nest_device_id` string — Device ID for a Google Nest device.
        - `noiseaware_metadata` object — Metadata for a NoiseAware device.
          - `device_id` string — Device ID for a NoiseAware device.
          - `device_model` 'indoor' | 'outdoor' — Device model for a NoiseAware device.
          - `device_name` string — Device name for a NoiseAware device.
          - `noise_level_decibel` number, float — Noise level, in decibels, for a NoiseAware device.
          - `noise_level_nrs` number, float — Noise level, expressed as a Noise Risk Score (NRS), for a NoiseAware device.
        - `nuki_metadata` object — Metadata for a Nuki device.
          - `device_id` string — Device ID for a Nuki device.
          - `device_name` string — Device name for a Nuki device.
          - `keypad_2_paired` boolean — Indicates whether keypad 2 is paired for a Nuki device.
          - `keypad_battery_critical` boolean — Indicates whether the keypad battery is in a critical state for a Nuki device.
          - `keypad_paired` boolean — Indicates whether the keypad is paired for a Nuki device.
        - `omnitec_metadata` object — Metadata for an Omnitec device.
          - `has_gateway` boolean — Whether the Omnitec lock has a connected gateway for remote operations.
          - `lock_alias` string — Operator-assigned alias for an Omnitec device.
          - `lock_id` number, float — Lock ID for an Omnitec device.
          - `lock_mac` string — Bluetooth MAC address for an Omnitec device.
          - `lock_name` string — Lock name for an Omnitec device.
          - `time_zone` string, nullable — IANA time zone for the Omnitec device, used to schedule time-bound access codes at the correct local time (accounting for DST).
          - `timezone_raw_offset_ms` number, float — Static UTC offset of the Omnitec lock in milliseconds. Does not account for DST.
        - `ring_metadata` object — Metadata for a Ring device.
          - `device_id` string — Device ID for a Ring device.
          - `device_name` string — Device name for a Ring device.
        - `salto_ks_metadata` object — Metadata for a Salto KS device.
          - `battery_level` string — Battery level for a Salto KS device.
          - `customer_reference` string — Customer reference for a Salto KS device.
          - `has_custom_pin_subscription` boolean — Indicates whether the site has a Salto KS subscription that supports custom PINs.
          - `lock_id` string — Lock ID for a Salto KS device.
          - `lock_type` string — Lock type for a Salto KS device.
          - `locked_state` string — Locked state for a Salto KS device.
          - `model` string — Model for a Salto KS device.
          - `site_id` string — Site ID for the Salto KS site to which the device belongs.
          - `site_name` string — Site name for the Salto KS site to which the device belongs.
        - `salto_metadata` object — Deprecated. Use `salto_ks_metadata ` instead. Metada for a Salto device.
          - `battery_level` string — Battery level for a Salto device.
          - `customer_reference` string — Customer reference for a Salto device.
          - `lock_id` string — Lock ID for a Salto device.
          - `lock_type` string — Lock type for a Salto device.
          - `locked_state` string — Locked state for a Salto device.
          - `model` string — Model for a Salto device.
          - `site_id` string — Site ID for the Salto KS site to which the device belongs.
          - `site_name` string — Site name for the Salto KS site to which the device belongs.
        - `schlage_metadata` object — Metadata for a Schlage device.
          - `device_id` string — Device ID for a Schlage device.
          - `device_name` string — Device name for a Schlage device.
          - `model` string — Model for a Schlage device.
        - `seam_bridge_metadata` object — Metadata for Seam Bridge.
          - `device_num` number, float — Device number for Seam Bridge.
          - `name` string — Name for Seam Bridge.
          - `unlock_method` 'bridge' | 'doorking' — Unlock method for Seam Bridge.
        - `sensi_metadata` object — Metadata for a Sensi device.
          - `device_id` string — Device ID for a Sensi device.
          - `device_name` string — Device name for a Sensi device.
          - `dual_setpoints_not_supported` boolean — Set to true when the device does not support the /dual-setpoints API endpoint.
          - `enforced_setpoint_range_celsius` unknown
          - `product_type` string — Product type for a Sensi device.
        - `smartthings_metadata` object — Metadata for a SmartThings device.
          - `device_id` string — Device ID for a SmartThings device.
          - `device_name` string — Device name for a SmartThings device.
          - `location_id` string — Location ID for a SmartThings device.
          - `model` string — Model for a SmartThings device.
        - `tado_metadata` object — Metadata for a tado° device.
          - `device_type` string — Device type for a tado° device.
          - `serial_no` string — Serial number for a tado° device.
        - `tedee_metadata` object — Metadata for a Tedee device.
          - `bridge_id` number, float — Bridge ID for a Tedee device.
          - `bridge_name` string — Bridge name for a Tedee device.
          - `device_id` number, float — Device ID for a Tedee device.
          - `device_model` string — Device model for a Tedee device.
          - `device_name` string — Device name for a Tedee device.
          - `keypad_id` number, float — Keypad ID for a Tedee device.
          - `serial_number` string — Serial number for a Tedee device.
        - `ttlock_metadata` object — Metadata for a TTLock device.
          - `feature_value` string — Feature value for a TTLock device.
          - `features` object — Features for a TTLock device.
            - `auto_lock_time_config` boolean — Indicates whether a TTLock device supports auto-lock time configuration.
            - `incomplete_keyboard_passcode` boolean — Indicates whether a TTLock device supports an incomplete keyboard passcode.
            - `lock_command` boolean — Indicates whether a TTLock device supports the lock command.
            - `passcode` boolean — Indicates whether a TTLock device supports a passcode.
            - `passcode_management` boolean — Indicates whether a TTLock device supports passcode management.
            - `unlock_via_gateway` boolean — Indicates whether a TTLock device supports unlock via gateway.
            - `wifi` boolean — Indicates whether a TTLock device supports Wi-Fi.
          - `has_gateway` boolean — Indicates whether a TTLock device has a gateway.
          - `lock_alias` string — Lock alias for a TTLock device.
          - `lock_id` number, float — Lock ID for a TTLock device.
          - `timezone_raw_offset_ms` number, float, nullable — 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.
          - `wireless_keypads` object[] — Wireless keypads for a TTLock device.
            - `wireless_keypad_id` number, float — ID for a wireless keypad for a TTLock device.
            - `wireless_keypad_name` string — Name for a wireless keypad for a TTLock device.
        - `two_n_metadata` object — Metadata for a 2N device.
          - `device_id` number, float — Device ID for a 2N device.
          - `device_name` string — Device name for a 2N device.
        - `ultraloq_metadata` object — Metadata for an Ultraloq device.
          - `device_id` string — Device ID for an Ultraloq device.
          - `device_name` string — Device name for an Ultraloq device.
          - `device_type` string — Device type for an Ultraloq device.
          - `time_zone` string, nullable — IANA timezone for the Ultraloq device.
        - `visionline_metadata` object — Metadata for an ASSA ABLOY Visionline system.
          - `encoder_id` string — Encoder ID for an ASSA ABLOY Visionline system.
        - `wyze_metadata` object — Metadata for a Wyze device.
          - `device_id` string — Device ID for a Wyze device.
          - `device_info_model` string — Device information model for a Wyze device.
          - `device_name` string — Device name for a Wyze device.
          - `keypad_uuid` string — Keypad UUID for a Wyze device.
          - `locker_status_hardlock` number, float — Locker status (hardlock) for a Wyze device.
          - `product_model` string — Product model for a Wyze device.
          - `product_name` string — Product name for a Wyze device.
          - `product_type` string — Product type for a Wyze device.
        - `auto_lock_delay_seconds` number, float — The delay in seconds before the lock automatically locks after being unlocked.
        - `auto_lock_enabled` boolean — Indicates whether automatic locking is enabled.
        - `backup_access_code_pool_enabled` boolean — Indicates whether the [backup access code pool](/low-level-apis/smart-locks/access-codes/backup-access-codes) is currently enabled for the device. To disable it, set this to `false` using [/devices/update](/api/devices/update).
        - `code_constraints` union[] — 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.
          - union — Access code constraint.
            - object — Code constraint for access codes.
              - …
            - object — Name constraint for access codes.
              - …
        - `door_open` boolean — Indicates whether the door is open.
        - `has_native_entry_events` boolean — Indicates whether the device supports native entry events.
        - `keypad_battery` object — Keypad battery status.
          - `level` number, float, required — Keypad battery charge level.
        - `locked` boolean — Indicates whether the lock is locked.
        - `max_active_codes_supported` number, float — Maximum number of active access codes that the device supports.
        - `offline_time_frame_options` object[] — Time frames that may be requested when creating an offline access code, expressed as a list of options. The caller picks one option (by matching the requested duration when the options' duration ranges do not overlap, or by `display_name` when they do) and satisfies that one option's rules. When `undefined`, any time frame works.
          - `display_name` string, required — Label for this option. For a single-option device, the product name (for example, `algoPIN` or `SmartPIN`); for a multi-option device, a label that distinguishes it (for example, `Hourly` or `Fixed start times`).
          - `end_date_recurrence_rule` string — iCalendar recurrence rule (RRULE) that the end date must fall on. Constrains which calendar dates are selectable, independent of the time-of-day rules.
          - `matching_start_end_time` true — When `true`, the start and end must fall at the same time of day (the caller picks which). Mutually exclusive with `time_pairs`.
          - `max_duration` string — Maximum duration this option covers, as an ISO 8601 duration (for example, `PT672H` or `P367D`). Omitted when there is no maximum.
          - `min_duration` string — Minimum duration this option covers, as an ISO 8601 duration (for example, `PT1H` or `P29D`). Omitted when there is no minimum.
          - `start_date_recurrence_rule` string — iCalendar recurrence rule (RRULE) that the start date must fall on (for example, `FREQ=MONTHLY;BYDAY=1MO,3MO`). Constrains which calendar dates are selectable, independent of the time-of-day rules.
          - `time_pairs` object[] — Fixed start/end time pairings the caller chooses from. Mutually exclusive with `matching_start_end_time`.
            - `display_name` string, required — Label for the start/end time pairing.
            - `end_time` string, required — End time of day as a 24-hour `HH:MM` value, interpreted in the option's `time_zone`. An `end_time` earlier on the clock than `start_time` means the end falls on a later date.
            - `start_time` string, required — Start time of day as a 24-hour `HH:MM` value, interpreted in the option's `time_zone`.
          - `time_zone` string — IANA time zone for interpreting `time_pairs` and the date recurrence rules. Present only when the option fixes times or dates.
        - `online_time_frame_options` object[] — Time frames that may be requested when creating an online access code, expressed as a list of options. The caller picks one option (by matching the requested duration when the options' duration ranges do not overlap, or by `display_name` when they do) and satisfies that one option's rules. When `undefined`, any time frame works.
          - `display_name` string, required — Label for this option. For a single-option device, the product name (for example, `algoPIN` or `SmartPIN`); for a multi-option device, a label that distinguishes it (for example, `Hourly` or `Fixed start times`).
          - `end_date_recurrence_rule` string — iCalendar recurrence rule (RRULE) that the end date must fall on. Constrains which calendar dates are selectable, independent of the time-of-day rules.
          - `matching_start_end_time` true — When `true`, the start and end must fall at the same time of day (the caller picks which). Mutually exclusive with `time_pairs`.
          - `max_duration` string — Maximum duration this option covers, as an ISO 8601 duration (for example, `PT672H` or `P367D`). Omitted when there is no maximum.
          - `min_duration` string — Minimum duration this option covers, as an ISO 8601 duration (for example, `PT1H` or `P29D`). Omitted when there is no minimum.
          - `start_date_recurrence_rule` string — iCalendar recurrence rule (RRULE) that the start date must fall on (for example, `FREQ=MONTHLY;BYDAY=1MO,3MO`). Constrains which calendar dates are selectable, independent of the time-of-day rules.
          - `time_pairs` object[] — Fixed start/end time pairings the caller chooses from. Mutually exclusive with `matching_start_end_time`.
            - `display_name` string, required — Label for the start/end time pairing.
            - `end_time` string, required — End time of day as a 24-hour `HH:MM` value, interpreted in the option's `time_zone`. An `end_time` earlier on the clock than `start_time` means the end falls on a later date.
            - `start_time` string, required — Start time of day as a 24-hour `HH:MM` value, interpreted in the option's `time_zone`.
          - `time_zone` string — IANA time zone for interpreting `time_pairs` and the date recurrence rules. Present only when the option fixes times or dates.
        - `supported_code_lengths` number[] — Supported code lengths for access codes.
        - `supports_backup_access_code_pool` boolean — Indicates whether the device supports a [backup access code pool](/low-level-apis/smart-locks/access-codes/backup-access-codes).
        - `active_thermostat_schedule` object, nullable — Deprecated. Use `active_thermostat_schedule_id` with `/thermostats/schedules/get` instead. Active [thermostat schedule](/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
          - `climate_preset_key` string, required — Key of the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets) to use for the [thermostat schedule](/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
          - `created_at` string, date-time, required — Date and time at which the [thermostat schedule](/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created.
          - `device_id` string, uuid, required — ID of the desired [thermostat](/capability-guides/thermostats) device.
          - `ends_at` string, date-time, required — Date and time at which the [thermostat schedule](/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
          - `errors` object[], required — Errors associated with the [thermostat schedule](/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
            - `error_code` string, required — Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
            - `message` string, required — Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
          - `is_override_allowed` boolean — Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.
          - `max_override_period_minutes` integer, nullable — Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets). See also [Specifying Manual Override Permissions](/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
          - `name` string, nullable, required — User-friendly name to identify the [thermostat schedule](/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
          - `starts_at` string, date-time, required — Date and time at which the [thermostat schedule](/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
          - `thermostat_schedule_id` string, uuid, required — ID of the [thermostat schedule](/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
          - `workspace_id` string, uuid, required — ID of the workspace that contains the thermostat schedule.
        - `active_thermostat_schedule_id` string, uuid, nullable — ID of the active [thermostat schedule](/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
        - `available_climate_preset_modes` string[] — Climate preset modes that the thermostat supports, such as "home", "away", "wake", "sleep", "occupied", and "unoccupied".
        - `available_climate_presets` object[] — Available [climate presets](/capability-guides/thermostats/creating-and-managing-climate-presets) for the thermostat.
          - `can_delete` boolean, required — Indicates whether the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted.
          - `can_edit` boolean, required — Indicates whether the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited.
          - `can_use_with_thermostat_daily_programs` boolean, required — Indicates whether the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program.
          - `climate_preset_key` string, required — Unique key to identify the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets).
          - `climate_preset_mode` 'home' | 'away' | 'wake' | 'sleep' | 'occupied' | 'unoccupied' — The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
          - `cooling_set_point_celsius` number, float — Temperature to which the thermostat should cool (in °C). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `cooling_set_point_fahrenheit` number, float — Temperature to which the thermostat should cool (in °F). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `display_name` string, required — Display name for the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets).
          - `ecobee_metadata` object — Metadata specific to the Ecobee climate, if applicable.
            - `climate_ref` string — Reference to the Ecobee climate, if applicable.
            - `is_optimized` boolean — Indicates if the climate preset is optimized by Ecobee.
            - `owner` 'user' | 'system' — Indicates whether the climate preset is owned by the user or the system.
          - `fan_mode_setting` 'auto' | 'on' | 'circulate' — Desired [fan mode setting](/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`.
          - `heating_set_point_celsius` number, float — Temperature to which the thermostat should heat (in °C). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `heating_set_point_fahrenheit` number, float — Temperature to which the thermostat should heat (in °F). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `hvac_mode_setting` 'off' | 'heat' | 'cool' | 'heat_cool' | 'eco' — Desired [HVAC mode](/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`.
          - `manual_override_allowed` boolean, required — Deprecated. Use 'thermostat_schedule.is_override_allowed' Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
          - `name` string, nullable — User-friendly name to identify the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets).
        - `available_fan_mode_settings` string[] — Fan mode settings that the thermostat supports.
        - `available_hvac_mode_settings` string[] — HVAC mode settings that the thermostat supports.
        - `current_climate_setting` object — Current climate setting.
          - `can_delete` boolean — Indicates whether the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted.
          - `can_edit` boolean — Indicates whether the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited.
          - `can_use_with_thermostat_daily_programs` boolean — Indicates whether the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program.
          - `climate_preset_key` string — Unique key to identify the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets).
          - `climate_preset_mode` 'home' | 'away' | 'wake' | 'sleep' | 'occupied' | 'unoccupied' — The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
          - `cooling_set_point_celsius` number, float — Temperature to which the thermostat should cool (in °C). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `cooling_set_point_fahrenheit` number, float — Temperature to which the thermostat should cool (in °F). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `display_name` string — Display name for the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets).
          - `ecobee_metadata` object — Metadata specific to the Ecobee climate, if applicable.
            - `climate_ref` string — Reference to the Ecobee climate, if applicable.
            - `is_optimized` boolean — Indicates if the climate preset is optimized by Ecobee.
            - `owner` 'user' | 'system' — Indicates whether the climate preset is owned by the user or the system.
          - `fan_mode_setting` 'auto' | 'on' | 'circulate' — Desired [fan mode setting](/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`.
          - `heating_set_point_celsius` number, float — Temperature to which the thermostat should heat (in °C). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `heating_set_point_fahrenheit` number, float — Temperature to which the thermostat should heat (in °F). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `hvac_mode_setting` 'off' | 'heat' | 'cool' | 'heat_cool' | 'eco' — Desired [HVAC mode](/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`.
          - `manual_override_allowed` boolean — Deprecated. Use 'thermostat_schedule.is_override_allowed' Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
          - `name` string, nullable — User-friendly name to identify the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets).
        - `default_climate_setting` object — Deprecated. use fallback_climate_preset_key to specify a fallback climate preset instead.
          - `can_delete` boolean — Indicates whether the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted.
          - `can_edit` boolean — Indicates whether the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited.
          - `can_use_with_thermostat_daily_programs` boolean — Indicates whether the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program.
          - `climate_preset_key` string — Unique key to identify the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets).
          - `climate_preset_mode` 'home' | 'away' | 'wake' | 'sleep' | 'occupied' | 'unoccupied' — The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
          - `cooling_set_point_celsius` number, float — Temperature to which the thermostat should cool (in °C). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `cooling_set_point_fahrenheit` number, float — Temperature to which the thermostat should cool (in °F). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `display_name` string — Display name for the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets).
          - `ecobee_metadata` object — Metadata specific to the Ecobee climate, if applicable.
            - `climate_ref` string — Reference to the Ecobee climate, if applicable.
            - `is_optimized` boolean — Indicates if the climate preset is optimized by Ecobee.
            - `owner` 'user' | 'system' — Indicates whether the climate preset is owned by the user or the system.
          - `fan_mode_setting` 'auto' | 'on' | 'circulate' — Desired [fan mode setting](/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`.
          - `heating_set_point_celsius` number, float — Temperature to which the thermostat should heat (in °C). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `heating_set_point_fahrenheit` number, float — Temperature to which the thermostat should heat (in °F). See also [Set Points](/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
          - `hvac_mode_setting` 'off' | 'heat' | 'cool' | 'heat_cool' | 'eco' — Desired [HVAC mode](/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`.
          - `manual_override_allowed` boolean — Deprecated. Use 'thermostat_schedule.is_override_allowed' Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
          - `name` string, nullable — User-friendly name to identify the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets).
        - `fallback_climate_preset_key` string, nullable — Key of the [fallback climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset) for the thermostat.
        - `fan_mode_setting` 'auto' | 'on' | 'circulate' — Deprecated. Use `current_climate_setting.fan_mode_setting` instead.
        - `is_cooling` boolean — Indicates whether the connected HVAC system is currently cooling, as reported by the thermostat.
        - `is_fan_running` boolean — Indicates whether the fan in the connected HVAC system is currently running, as reported by the thermostat.
        - `is_heating` boolean — Indicates whether the connected HVAC system is currently heating, as reported by the thermostat.
        - `is_temporary_manual_override_active` boolean — Indicates whether the current thermostat settings differ from the most recent active program or schedule that Seam activated. For this condition to occur, `current_climate_setting.manual_override_allowed` must also be `true`.
        - `max_cooling_set_point_celsius` number, float — Maximum [cooling set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °C.
        - `max_cooling_set_point_fahrenheit` number, float — Maximum [cooling set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °F.
        - `max_heating_set_point_celsius` number, float — Maximum [heating set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in °C.
        - `max_heating_set_point_fahrenheit` number, float — Maximum [heating set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in °F.
        - `max_thermostat_daily_program_periods_per_day` number, float — Maximum number of periods that the thermostat can support per day. For example, if the thermostat supports 4 periods per day, this value is 4.
        - `max_unique_climate_presets_per_thermostat_weekly_program` number, float — Maximum number of climate presets that the thermostat can support for weekly programming.
        - `min_cooling_set_point_celsius` number, float — Minimum [cooling set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °C.
        - `min_cooling_set_point_fahrenheit` number, float — Minimum [cooling set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °F.
        - `min_heating_cooling_delta_celsius` number, float — Minimum [temperature difference](/capability-guides/thermostats/understanding-thermostat-concepts/set-points#minimum-heating-cooling-temperature-delta) in °C between the cooling and heating set points when in heat-cool (auto) mode.
        - `min_heating_cooling_delta_fahrenheit` number, float — Minimum [temperature difference](/capability-guides/thermostats/understanding-thermostat-concepts/set-points#minimum-heating-cooling-temperature-delta) in °F between the cooling and heating set points when in heat-cool (auto) mode.
        - `min_heating_set_point_celsius` number, float — Minimum [heating set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in °C.
        - `min_heating_set_point_fahrenheit` number, float — Minimum [heating set point](/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in °F.
        - `relative_humidity` number, float — Reported relative humidity, as a value between 0 and 1, inclusive.
        - `temperature_celsius` number, float — Reported temperature in °C.
        - `temperature_fahrenheit` number, float — Reported temperature in °F.
        - `temperature_threshold` object — Current [temperature threshold](/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
          - `lower_limit_celsius` number, float, nullable, required — Lower limit in °C within the current [temperature threshold](/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
          - `lower_limit_fahrenheit` number, float, nullable, required — Lower limit in °F within the current [temperature threshold](/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
          - `upper_limit_celsius` number, float, nullable, required — Upper limit in °C within the current [temperature threshold](/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
          - `upper_limit_fahrenheit` number, float, nullable, required — Upper limit in °F within the current [temperature threshold](/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
        - `thermostat_daily_program_period_precision_minutes` number, float — Precision of the thermostat's period in minutes. For example, if the thermostat supports 15-minute periods, this value is 15. All values are relative to the top of the hour, so for 15 minutes, the periods would be 0, 15, 30, and 45 minutes past the hour.
        - `thermostat_daily_programs` object[] — Configured [daily programs](/capability-guides/thermostats/creating-and-managing-thermostat-programs) for the thermostat.
          - `created_at` string, date-time, required — Date and time at which the thermostat daily program was created.
          - `device_id` string, uuid, required — ID of the thermostat device on which the thermostat daily program is configured.
          - `name` string, nullable, required — User-friendly name to identify the thermostat daily program.
          - `periods` object[], required — Array of thermostat daily program periods.
            - `climate_preset_key` string, required — Key of the [climate preset](/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the `starts_at_time`.
            - `starts_at_time` string, required — Time at which the thermostat daily program period starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
          - `thermostat_daily_program_id` string, uuid, required — ID of the thermostat daily program.
          - `workspace_id` string, uuid, required — ID of the workspace that contains the thermostat daily program.
        - `thermostat_weekly_program` object, nullable — Current [weekly program](/capability-guides/thermostats/creating-and-managing-thermostat-programs) for the thermostat.
          - `created_at` string, date-time, required — Date and time at which the thermostat weekly program was created.
          - `friday_program_id` string, uuid, nullable, required — ID of the thermostat daily program to run on Fridays.
          - `monday_program_id` string, uuid, nullable, required — ID of the thermostat daily program to run on Mondays.
          - `saturday_program_id` string, uuid, nullable, required — ID of the thermostat daily program to run on Saturdays.
          - `sunday_program_id` string, uuid, nullable, required — ID of the thermostat daily program to run on Sundays.
          - `thursday_program_id` string, uuid, nullable, required — ID of the thermostat daily program to run on Thursdays.
          - `tuesday_program_id` string, uuid, nullable, required — ID of the thermostat daily program to run on Tuesdays.
          - `wednesday_program_id` string, uuid, nullable, required — ID of the thermostat daily program to run on Wednesdays.
      - `space_ids` string[], required — IDs of the spaces the device is in.
      - `warnings` object[], required — Array of warnings associated with the device. Each warning object within the array contains two fields: `warning_code` and `message`. `warning_code` is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. `message` provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.
        - `error_code` string — Error or warning code.
        - `message` string — Human-readable description.
        - `created_at` string, date-time — When this error or warning was generated.
      - `workspace_id` string, uuid, required — Unique identifier for the Seam workspace associated with the device.
    - `instant_keys` InstantKey[]
      - `client_session_id` string, uuid, required — ID of the client session associated with the Instant Key.
      - `created_at` string, date-time, required — Date and time at which the Instant Key was created.
      - `customization` object — Customization applied to the Instant Key UI.
        - `logo_url` string, uri — URL of the logo displayed on the Instant Key.
        - `primary_color` string — Primary color used in the Instant Key UI.
        - `secondary_color` string — Secondary color used in the Instant Key UI.
      - `customization_profile_id` string, uuid — ID of the customization profile associated with the Instant Key.
      - `expires_at` string, date-time, required — Date and time at which the Instant Key expires.
      - `instant_key_id` string, uuid, required — ID of the Instant Key.
      - `instant_key_url` string, uri, required — Shareable URL for the Instant Key. Use the URL to deliver the Instant Key to your user through a link in a text message or email or by embedding it in your web app.
      - `user_identity_id` string, uuid, required — ID of the user identity associated with the Instant Key.
      - `workspace_id` string, uuid, required — ID of the workspace that contains the Instant Key.
    - `spaces` Space[]
      - `acs_entrance_count` number, float, required — Number of entrances in the space.
      - `created_at` string, date-time, required — Date and time at which the space was created.
      - `customer_data` object — Reservation/stay-related defaults for the space. Also carries the provider/PMS-supplied name under a `<connector_type>_name` key (e.g. `guesty_name`), which Seam preserves when you rename the space (read-only — managed by Seam).
        - `address` string, nullable — Postal address for the space.
        - `default_checkin_time` string, nullable — Default check-in time for reservations at the space, as HH:mm or HH:mm:ss.
        - `default_checkout_time` string, nullable — Default check-out time for reservations at the space, as HH:mm or HH:mm:ss.
        - `time_zone` string, nullable — IANA time zone for the space, e.g. America/Los_Angeles.
      - `customer_key` string — Customer key associated with the space.
      - `device_count` number, float, required — Number of devices in the space.
      - `display_name` string, required — Display name for the space.
      - `geolocation` object, nullable — Geographic coordinates (latitude and longitude) of the space.
        - `latitude` number, float, required — Latitude of the space, in decimal degrees.
        - `longitude` number, float, required — Longitude of the space, in decimal degrees.
      - `name` string, required — Name of the space.
      - `space_id` string, uuid, required — ID of the space.
      - `space_key` string — Unique key for the space within the workspace.
      - `workspace_id` string, uuid, required — ID of the workspace associated with the space.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

---

[API](https://skmtc.net/seam/apis/seam-connect.md) · [All operations](https://skmtc.net/seam/apis/seam-connect/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/seam/seam-connect/versions/00c35395ce12/schema)
