@seamapi/types 1.438.0 → 1.439.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/connect.cjs +216 -1
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +7321 -141
  4. package/lib/seam/connect/internal/schemas.d.ts +1 -1
  5. package/lib/seam/connect/internal/schemas.js +1 -1
  6. package/lib/seam/connect/internal/schemas.js.map +1 -1
  7. package/lib/seam/connect/model-types.d.ts +1 -1
  8. package/lib/seam/connect/models/batches/batch.d.ts +5669 -0
  9. package/lib/seam/connect/models/batches/batch.js +8 -0
  10. package/lib/seam/connect/models/batches/batch.js.map +1 -0
  11. package/lib/seam/connect/models/batches/index.d.ts +2 -0
  12. package/lib/seam/connect/models/batches/index.js +3 -0
  13. package/lib/seam/connect/models/batches/index.js.map +1 -0
  14. package/lib/seam/connect/models/batches/spaces.d.ts +5669 -0
  15. package/lib/seam/connect/models/batches/spaces.js +13 -0
  16. package/lib/seam/connect/models/batches/spaces.js.map +1 -0
  17. package/lib/seam/connect/models/events/seam-event.js +1 -1
  18. package/lib/seam/connect/models/index.d.ts +1 -0
  19. package/lib/seam/connect/models/index.js +1 -0
  20. package/lib/seam/connect/models/index.js.map +1 -1
  21. package/lib/seam/connect/openapi.d.ts +223 -0
  22. package/lib/seam/connect/openapi.js +183 -0
  23. package/lib/seam/connect/openapi.js.map +1 -1
  24. package/lib/seam/connect/route-types.d.ts +1287 -0
  25. package/lib/seam/connect/schemas.d.ts +1 -1
  26. package/lib/seam/connect/schemas.js +1 -1
  27. package/lib/seam/connect/schemas.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/lib/seam/connect/internal/schemas.ts +1 -0
  30. package/src/lib/seam/connect/model-types.ts +1 -0
  31. package/src/lib/seam/connect/models/batches/batch.ts +12 -0
  32. package/src/lib/seam/connect/models/batches/index.ts +2 -0
  33. package/src/lib/seam/connect/models/batches/spaces.ts +16 -0
  34. package/src/lib/seam/connect/models/events/seam-event.ts +1 -1
  35. package/src/lib/seam/connect/models/index.ts +1 -0
  36. package/src/lib/seam/connect/openapi.ts +185 -0
  37. package/src/lib/seam/connect/route-types.ts +1632 -0
  38. package/src/lib/seam/connect/schemas.ts +1 -0
@@ -46609,6 +46609,1293 @@ export interface Routes {
46609
46609
  };
46610
46610
  };
46611
46611
  };
46612
+ '/spaces/get_related': {
46613
+ route: '/spaces/get_related';
46614
+ method: 'GET' | 'POST';
46615
+ queryParams: {};
46616
+ jsonBody: {};
46617
+ commonParams: {
46618
+ /** IDs of the spaces that you want to get along with their related resources. */
46619
+ space_ids: string[];
46620
+ include?: Array<'spaces' | 'devices' | 'acs_entrances'> | undefined;
46621
+ exclude?: Array<'spaces' | 'devices' | 'acs_entrances'> | undefined;
46622
+ };
46623
+ formData: {};
46624
+ jsonResponse: {
46625
+ /** Represents a resource batch. */
46626
+ batch: {
46627
+ batch_type: 'spaces';
46628
+ spaces?: Array<{
46629
+ /** ID of the space. */
46630
+ space_id: string;
46631
+ /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) associated with the space. */
46632
+ workspace_id: string;
46633
+ /** Name of the space. */
46634
+ name: string;
46635
+ /** Display name for the space. */
46636
+ display_name: string;
46637
+ /** Date and time at which the space was created. */
46638
+ created_at: string;
46639
+ }> | undefined;
46640
+ devices?: Array<{
46641
+ /** ID of the device. */
46642
+ device_id: string;
46643
+ /** Type of the device. */
46644
+ device_type: ('akuvox_lock' | 'august_lock' | 'brivo_access_point' | 'butterflymx_panel' | 'avigilon_alta_entry' | 'doorking_lock' | 'genie_door' | 'igloo_lock' | 'linear_lock' | 'lockly_lock' | 'kwikset_lock' | 'nuki_lock' | 'salto_lock' | 'schlage_lock' | 'seam_relay' | 'smartthings_lock' | 'wyze_lock' | 'yale_lock' | 'two_n_intercom' | 'controlbyweb_device' | 'ttlock_lock' | 'igloohome_lock' | 'hubitat_lock' | 'four_suites_door' | 'dormakaba_oracode_door' | 'tedee_lock' | 'akiles_lock') | ('noiseaware_activity_zone' | 'minut_sensor') | ('ecobee_thermostat' | 'nest_thermostat' | 'honeywell_resideo_thermostat' | 'tado_thermostat' | 'sensi_thermostat' | 'smartthings_thermostat') | ('ios_phone' | 'android_phone');
46645
+ /** Optional nickname to describe the device, settable through Seam. */
46646
+ nickname?: string | undefined;
46647
+ /** 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. */
46648
+ display_name: string;
46649
+ /**
46650
+ Collection of capabilities that the device supports when connected to Seam. Values are `access_code`, which indicates that the device can manage and utilize digital PIN codes for secure access; `lock`, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; `noise_detection`, which indicates that the device supports monitoring and responding to ambient noise levels; `thermostat`, which indicates that the device can regulate and adjust indoor temperatures; `battery`, which indicates that the device can manage battery life and health; and `phone`, which indicates that the device is a mobile device, such as a smartphone. **Important:** Superseded by [capability flags](https://docs.seam.co/latest/capability-guides/device-and-system-capabilities#capability-flags).
46651
+ */
46652
+ capabilities_supported: Array<'access_code' | 'lock' | 'noise_detection' | 'thermostat' | 'battery' | 'phone'>;
46653
+ /** Properties of the device. */
46654
+ properties: (({
46655
+ /** Indicates whether the device is online. */
46656
+ online: boolean;
46657
+ /** Name of the device.
46658
+ * @deprecated use device.display_name instead */
46659
+ name: string;
46660
+ /** Accessory keypad properties and state. */
46661
+ accessory_keypad?: {
46662
+ /** Indicates if an accessory keypad is connected to the device.
46663
+ */
46664
+ is_connected: boolean;
46665
+ /** Keypad battery properties.
46666
+ */
46667
+ battery?: {
46668
+ level: number;
46669
+ } | undefined;
46670
+ } | undefined;
46671
+ /** Appearance-related properties, as reported by the device. */
46672
+ appearance: {
46673
+ /** Name of the device as seen from the provider API and application, not settable through Seam. */
46674
+ name: string;
46675
+ };
46676
+ /** Device model-related properties. */
46677
+ model: {
46678
+ /**
46679
+ Indicates whether the device can connect a accessory keypad.
46680
+ */
46681
+ can_connect_accessory_keypad?: boolean | undefined;
46682
+ /**
46683
+ Display name of the device model.
46684
+ */
46685
+ display_name: string;
46686
+ /**
46687
+ Display name that corresponds to the manufacturer-specific terminology for the device.
46688
+ */
46689
+ manufacturer_display_name: string;
46690
+ /**
46691
+ Indicates whether the device has a built in accessory keypad.
46692
+ */
46693
+ has_built_in_keypad?: boolean | undefined;
46694
+ /**
46695
+ * @deprecated use device.can_program_offline_access_codes. */
46696
+ offline_access_codes_supported?: boolean | undefined;
46697
+ /**
46698
+ * @deprecated use device.can_program_online_access_codes. */
46699
+ online_access_codes_supported?: boolean | undefined;
46700
+ /**
46701
+ * @deprecated use device.properties.model.can_connect_accessory_keypad */
46702
+ accessory_keypad_supported?: boolean | undefined;
46703
+ };
46704
+ /** Indicates whether the device has direct power. */
46705
+ has_direct_power?: boolean | undefined;
46706
+ /** Indicates the battery level of the device as a decimal value between 0 and 1, inclusive. */
46707
+ battery_level?: number | undefined;
46708
+ /** Represents the current status of the battery charge level. */
46709
+ battery?: {
46710
+ /** Battery charge level as a value between 0 and 1, inclusive.
46711
+ */
46712
+ level: number;
46713
+ /** 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.
46714
+ */
46715
+ status: 'critical' | 'low' | 'good' | 'full';
46716
+ } | undefined;
46717
+ /** 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. */
46718
+ manufacturer?: string | undefined;
46719
+ /** Image URL for the device. */
46720
+ image_url?: string | undefined;
46721
+ /** Alt text for the device image. */
46722
+ image_alt_text?: string | undefined;
46723
+ /** Serial number of the device. */
46724
+ serial_number?: string | undefined;
46725
+ /** Indicates whether it is currently possible to use online access codes for the device. */
46726
+ online_access_codes_enabled?: boolean | undefined;
46727
+ /** Indicates whether it is currently possible to use offline access codes for the device. */
46728
+ offline_access_codes_enabled?: boolean | undefined;
46729
+ /**
46730
+ * @deprecated use device.properties.model.can_connect_accessory_keypad */
46731
+ supports_accessory_keypad?: boolean | undefined;
46732
+ /**
46733
+ * @deprecated use offline_access_codes_enabled */
46734
+ supports_offline_access_codes?: boolean | undefined;
46735
+ /** Indicates current noise level in decibels, if the device supports noise detection. */
46736
+ noise_level_decibels?: number | undefined;
46737
+ /** Array of noise threshold IDs that are currently triggering. */
46738
+ currently_triggering_noise_threshold_ids?: string[] | undefined;
46739
+ } & {
46740
+ /** ASSA ABLOY Credential Service metadata for the phone. */
46741
+ assa_abloy_credential_service_metadata?: ({
46742
+ /** Indicates whether the credential service has active endpoints associated with the phone. */
46743
+ has_active_endpoint: boolean;
46744
+ /** Endpoints associated with the phone. */
46745
+ endpoints: Array<{
46746
+ /** ID of the associated endpoint. */
46747
+ endpoint_id: string;
46748
+ /** Indicated whether the endpoint is active. */
46749
+ is_active: boolean;
46750
+ }>;
46751
+ } | undefined) | undefined;
46752
+ /** Salto Space credential service metadata for the phone. */
46753
+ salto_space_credential_service_metadata?: ({
46754
+ /** Indicates whether the credential service has an active associated phone. */
46755
+ has_active_phone: boolean;
46756
+ } | undefined) | undefined;
46757
+ }) & {
46758
+ /** Metadata for an August device. */
46759
+ august_metadata?: {
46760
+ /** Lock ID for an August device. */
46761
+ lock_id: string;
46762
+ /** Lock name for an August device. */
46763
+ lock_name: string;
46764
+ /** House name for an August device. */
46765
+ house_name: string;
46766
+ /** Indicates whether an August device has a keypad. */
46767
+ has_keypad: boolean;
46768
+ /** Keypad battery level for an August device. */
46769
+ keypad_battery_level?: string | undefined;
46770
+ /** Model for an August device. */
46771
+ model?: string | undefined;
46772
+ /** House ID for an August device. */
46773
+ house_id?: string | undefined;
46774
+ } | undefined;
46775
+ /** Metadata for an Avigilon Alta system. */
46776
+ avigilon_alta_metadata?: {
46777
+ /** Entry name for an Avigilon Alta system. */
46778
+ entry_name: string;
46779
+ /** Organization name for an Avigilon Alta system. */
46780
+ org_name: string;
46781
+ /** Zone ID for an Avigilon Alta system. */
46782
+ zone_id: number;
46783
+ /** Zone name for an Avigilon Alta system. */
46784
+ zone_name: string;
46785
+ /** Site ID for an Avigilon Alta system. */
46786
+ site_id: number;
46787
+ /** Site name for an Avigilon Alta system. */
46788
+ site_name: string;
46789
+ /** Total count of entry relays for an Avigilon Alta system. */
46790
+ entry_relays_total_count: number;
46791
+ } | undefined;
46792
+ /** Metadata for a Schlage device. */
46793
+ schlage_metadata?: {
46794
+ /** Device ID for a Schlage device. */
46795
+ device_id: string;
46796
+ /** Device name for a Schlage device. */
46797
+ device_name: string;
46798
+ /** Model for a Schlage device. */
46799
+ model?: string | undefined;
46800
+ } | undefined;
46801
+ /** Metadata for a SmartThings device. */
46802
+ smartthings_metadata?: {
46803
+ /** Device ID for a SmartThings device. */
46804
+ device_id: string;
46805
+ /** Device name for a SmartThings device. */
46806
+ device_name: string;
46807
+ /** Model for a SmartThings device. */
46808
+ model?: string | undefined;
46809
+ /** Location ID for a SmartThings device. */
46810
+ location_id?: string | undefined;
46811
+ } | undefined;
46812
+ /** Metadata for a Lockly device. */
46813
+ lockly_metadata?: {
46814
+ /** Device ID for a Lockly device. */
46815
+ device_id: string;
46816
+ /** Device name for a Lockly device. */
46817
+ device_name: string;
46818
+ /** Model for a Lockly device. */
46819
+ model?: string | undefined;
46820
+ } | undefined;
46821
+ /** Metadata for a Nuki device. */
46822
+ nuki_metadata?: {
46823
+ /** Device ID for a Nuki device. */
46824
+ device_id: string;
46825
+ /** Device name for a Nuki device. */
46826
+ device_name: string;
46827
+ /** Indicates whether the keypad battery is in a critical state for a Nuki device. */
46828
+ keypad_battery_critical?: boolean | undefined;
46829
+ /** Indicates whether the keypad is paired for a Nuki device. */
46830
+ keypad_paired?: boolean | undefined;
46831
+ /** Indicates whether keypad 2 is paired for a Nuki device. */
46832
+ keypad_2_paired?: boolean | undefined;
46833
+ } | undefined;
46834
+ /** Metadata for a Kwikset device. */
46835
+ kwikset_metadata?: {
46836
+ /** Device ID for a Kwikset device. */
46837
+ device_id: string;
46838
+ /** Device name for a Kwikset device. */
46839
+ device_name: string;
46840
+ /** Model number for a Kwikset device. */
46841
+ model_number: string;
46842
+ } | undefined;
46843
+ /** Metada for a Salto device.
46844
+ * @deprecated Use `salto_ks_metadata ` instead. */
46845
+ salto_metadata?: {
46846
+ /** Lock ID for a Salto device. */
46847
+ lock_id: string;
46848
+ /** Customer reference for a Salto device. */
46849
+ customer_reference: string;
46850
+ /** Lock type for a Salto device. */
46851
+ lock_type: string;
46852
+ /** Battery level for a Salto device. */
46853
+ battery_level: string;
46854
+ /** Locked state for a Salto device. */
46855
+ locked_state: string;
46856
+ /** Model for a Salto device. */
46857
+ model?: string | undefined;
46858
+ } | undefined;
46859
+ /** Metadata for a Salto KS device. */
46860
+ salto_ks_metadata?: {
46861
+ /** Lock ID for a Salto KS device. */
46862
+ lock_id: string;
46863
+ /** Customer reference for a Salto KS device. */
46864
+ customer_reference: string;
46865
+ /** Lock type for a Salto KS device. */
46866
+ lock_type: string;
46867
+ /** Battery level for a Salto KS device. */
46868
+ battery_level: string;
46869
+ /** Locked state for a Salto KS device. */
46870
+ locked_state: string;
46871
+ /** Model for a Salto KS device. */
46872
+ model?: string | undefined;
46873
+ } | undefined;
46874
+ /** Metadata for a Genie device. */
46875
+ genie_metadata?: {
46876
+ /** Lock name for a Genie device. */
46877
+ device_name: string;
46878
+ /** Door name for a Genie device. */
46879
+ door_name: string;
46880
+ } | undefined;
46881
+ /** Metadata for a Brivo device. */
46882
+ brivo_metadata?: {
46883
+ /** Device name for a Brivo device. */
46884
+ device_name: string;
46885
+ } | undefined;
46886
+ /** Metadata for an igloo device. */
46887
+ igloo_metadata?: {
46888
+ /** Device ID for an igloo device. */
46889
+ device_id: string;
46890
+ /** Bridge ID for an igloo device. */
46891
+ bridge_id: string;
46892
+ /** Model for an igloo device. */
46893
+ model?: string | undefined;
46894
+ } | undefined;
46895
+ /** Metadata for a NoiseAware device. */
46896
+ noiseaware_metadata?: {
46897
+ /** Device model for a NoiseAware device. */
46898
+ device_model: 'indoor' | 'outdoor';
46899
+ /** Noise level, expressed as a Noise Risk Score (NRS), for a NoiseAware device. */
46900
+ noise_level_nrs: number;
46901
+ /** Noise level, in decibels, for a NoiseAware device. */
46902
+ noise_level_decibel: number;
46903
+ /** Device name for a NoiseAware device. */
46904
+ device_name: string;
46905
+ /** Device ID for a NoiseAware device. */
46906
+ device_id: string;
46907
+ } | undefined;
46908
+ /** Metadata for a Minut device. */
46909
+ minut_metadata?: {
46910
+ /** Device ID for a Minut device. */
46911
+ device_id: string;
46912
+ /** Device name for a Minut device. */
46913
+ device_name: string;
46914
+ /** Latest sensor values for a Minut device. */
46915
+ latest_sensor_values: {
46916
+ /** Latest temperature reading for a Minut device. */
46917
+ temperature: {
46918
+ /** Time of latest temperature reading for a Minut device. */
46919
+ time: string;
46920
+ /** Value of latest temperature reading for a Minut device. */
46921
+ value: number;
46922
+ };
46923
+ /** Latest sound reading for a Minut device. */
46924
+ sound: {
46925
+ /** Time of latest sound reading for a Minut device. */
46926
+ time: string;
46927
+ /** Value of latest sound reading for a Minut device. */
46928
+ value: number;
46929
+ };
46930
+ /** Latest humidity reading for a Minut device. */
46931
+ humidity: {
46932
+ /** Time of latest humidity reading for a Minut device. */
46933
+ time: string;
46934
+ /** Value of latest humidity reading for a Minut device. */
46935
+ value: number;
46936
+ };
46937
+ /** Latest pressure reading for a Minut device. */
46938
+ pressure: {
46939
+ /** Time of latest pressure reading for a Minut device. */
46940
+ time: string;
46941
+ /** Value of latest pressure reading for a Minut device. */
46942
+ value: number;
46943
+ };
46944
+ /** Latest accelerometer Z-axis reading for a Minut device. */
46945
+ accelerometer_z: {
46946
+ /** Time of latest accelerometer Z-axis reading for a Minut device. */
46947
+ time: string;
46948
+ /** Value of latest accelerometer Z-axis reading for a Minut device. */
46949
+ value: number;
46950
+ };
46951
+ };
46952
+ } | undefined;
46953
+ /** Metadata for a 4SUITES device. */
46954
+ four_suites_metadata?: {
46955
+ /** Device ID for a 4SUITES device. */
46956
+ device_id: number;
46957
+ /** Device name for a 4SUITES device. */
46958
+ device_name: string;
46959
+ /** Reclose delay, in seconds, for a 4SUITES device. */
46960
+ reclose_delay_in_seconds: number;
46961
+ } | undefined;
46962
+ /** Metadata for a 2N device. */
46963
+ two_n_metadata?: {
46964
+ /** Device ID for a 2N device. */
46965
+ device_id: number;
46966
+ /** Device name for a 2N device. */
46967
+ device_name: string;
46968
+ } | undefined;
46969
+ /** Metadata for a ControlByWeb device. */
46970
+ controlbyweb_metadata?: {
46971
+ /** Device ID for a ControlByWeb device. */
46972
+ device_id: string;
46973
+ /** Device name for a ControlByWeb device. */
46974
+ device_name: string;
46975
+ /** Relay name for a ControlByWeb device. */
46976
+ relay_name: string | null;
46977
+ } | undefined;
46978
+ /** Metadata for a TTLock device. */
46979
+ ttlock_metadata?: {
46980
+ /** Lock ID for a TTLock device. */
46981
+ lock_id: number;
46982
+ /** Lock alias for a TTLock device. */
46983
+ lock_alias: string;
46984
+ /** Feature value for a TTLock device. */
46985
+ feature_value: string;
46986
+ /** Features for a TTLock device. */
46987
+ features: {
46988
+ /** Indicates whether a TTLock device supports a passcode. */
46989
+ passcode: boolean;
46990
+ /** Indicates whether a TTLock device supports passcode management. */
46991
+ passcode_management: boolean;
46992
+ /** Indicates whether a TTLock device supports unlock via gateway. */
46993
+ unlock_via_gateway: boolean;
46994
+ /** Indicates whether a TTLock device supports the lock command. */
46995
+ lock_command: boolean;
46996
+ /** Indicates whether a TTLock device supports an incomplete keyboard passcode. */
46997
+ incomplete_keyboard_passcode: boolean;
46998
+ /** Indicates whether a TTLock device supports Wi-Fi. */
46999
+ wifi: boolean;
47000
+ };
47001
+ /** Indicates whether a TTLock device has a gateway. */
47002
+ has_gateway?: boolean | undefined;
47003
+ /** Wireless keypads for a TTLock device. */
47004
+ wireless_keypads?: Array<{
47005
+ /** ID for a wireless keypad for a TTLock device. */
47006
+ wireless_keypad_id: number;
47007
+ /** Name for a wireless keypad for a TTLock device. */
47008
+ wireless_keypad_name: string;
47009
+ }> | undefined;
47010
+ } | undefined;
47011
+ /** Metadata for Seam Bridge. */
47012
+ seam_bridge_metadata?: {
47013
+ /** Unlock method for Seam Bridge. */
47014
+ unlock_method?: ('bridge' | 'doorking') | undefined;
47015
+ /** Device number for Seam Bridge. */
47016
+ device_num: number;
47017
+ /** Name for Seam Bridge. */
47018
+ name: string;
47019
+ } | undefined;
47020
+ /** Metadata for an igloohome device. */
47021
+ igloohome_metadata?: {
47022
+ /** Device ID for an igloohome device. */
47023
+ device_id: string;
47024
+ /** Device name for an igloohome device. */
47025
+ device_name: string;
47026
+ /** Bridge ID for an igloohome device. */
47027
+ bridge_id?: string | undefined;
47028
+ /** Bridge name for an igloohome device. */
47029
+ bridge_name?: string | undefined;
47030
+ /** Keypad ID for an igloohome device. */
47031
+ keypad_id?: string | undefined;
47032
+ /** Indicates whether a keypad is linked to a bridge for an igloohome device. */
47033
+ is_keypad_linked_to_bridge?: boolean | undefined;
47034
+ } | undefined;
47035
+ /** Metadata for a Google Nest device. */
47036
+ nest_metadata?: {
47037
+ /** Device ID for a Google Nest device. */
47038
+ nest_device_id: string;
47039
+ /** Device name for a Google Nest device. Google sets this value. */
47040
+ device_name: string;
47041
+ /** Custom device name for a Google Nest device. The device owner sets this value. */
47042
+ device_custom_name: string;
47043
+ /** Display name for a Google Nest device. */
47044
+ display_name?: string | undefined;
47045
+ } | undefined;
47046
+ /** Metadata for an ecobee device. */
47047
+ ecobee_metadata?: {
47048
+ /** Device ID for an ecobee device. */
47049
+ ecobee_device_id: string;
47050
+ /** Device name for an ecobee device. */
47051
+ device_name: string;
47052
+ } | undefined;
47053
+ /** Metadata for a Honeywell Resideo device. */
47054
+ honeywell_resideo_metadata?: {
47055
+ /** Device ID for a Honeywell Resideo device. */
47056
+ honeywell_resideo_device_id: string;
47057
+ /** Device name for a Honeywell Resideo device. */
47058
+ device_name: string;
47059
+ } | undefined;
47060
+ /** Metadata for a Hubitat device. */
47061
+ hubitat_metadata?: {
47062
+ /** Device ID for a Hubitat device. */
47063
+ device_id: string;
47064
+ /** Device name for a Hubitat device. */
47065
+ device_name: string;
47066
+ /** Device label for a Hubitat device. */
47067
+ device_label: string;
47068
+ } | undefined;
47069
+ /** Metadata for a dormakaba Oracode device. */
47070
+ dormakaba_oracode_metadata?: {
47071
+ /** Door ID for a dormakaba Oracode device. */
47072
+ door_id?: number | undefined;
47073
+ /** Door name for a dormakaba Oracode device. */
47074
+ door_name: string;
47075
+ /** Device ID for a dormakaba Oracode device. */
47076
+ device_id?: (number | string) | undefined;
47077
+ /** Indicates whether a door is wireless for a dormakaba Oracode device. */
47078
+ door_is_wireless: boolean;
47079
+ /** Site ID for a dormakaba Oracode device.
47080
+ * @deprecated Previously marked as "@DEPRECATED." */
47081
+ site_id: number | null;
47082
+ /** Site name for a dormakaba Oracode device. */
47083
+ site_name: string;
47084
+ /** IANA time zone for a dormakaba Oracode device. */
47085
+ iana_timezone?: string | undefined;
47086
+ /** Predefined time slots for a dormakaba Oracode device. */
47087
+ predefined_time_slots?: Array<{
47088
+ /** Name of a time slot for a dormakaba Oracode device. */
47089
+ name: string;
47090
+ /** Prefix for a time slot for a dormakaba Oracode device. */
47091
+ prefix: number;
47092
+ /** Check in time for a time slot for a dormakaba Oracode device. */
47093
+ check_in_time: string;
47094
+ /** Checkout time for a time slot for a dormakaba Oracode device. */
47095
+ check_out_time: string;
47096
+ /** Indicates whether a time slot for a dormakaba Oracode device is a 24-hour time slot. */
47097
+ is_24_hour: boolean;
47098
+ /** Indicates whether a time slot for a dormakaba Oracode device is in biweekly mode. */
47099
+ is_biweekly_mode: boolean;
47100
+ /** Indicates whether a time slot for a dormakaba Oracode device is a one-shot time slot. */
47101
+ is_one_shot: boolean;
47102
+ /** Indicates whether a time slot for a dormakaba Oracode device is a master time slot. */
47103
+ is_master: boolean;
47104
+ /** Prefix for a user level for a dormakaba Oracode device. */
47105
+ ext_dormakaba_oracode_user_level_prefix: number;
47106
+ /** ID of a user level for a dormakaba Oracode device. */
47107
+ dormakaba_oracode_user_level_id: string;
47108
+ }> | undefined;
47109
+ } | undefined;
47110
+ /** Metadata for a Wyze device. */
47111
+ wyze_metadata?: {
47112
+ /** Device ID for a Wyze device. */
47113
+ device_id: string;
47114
+ /** Device name for a Wyze device. */
47115
+ device_name: string;
47116
+ /** Product name for a Wyze device. */
47117
+ product_name: string;
47118
+ /** Product type for a Wyze device. */
47119
+ product_type: string;
47120
+ /** Product model for a Wyze device. */
47121
+ product_model: string;
47122
+ /** Device information model for a Wyze device. */
47123
+ device_info_model: string;
47124
+ /** Keypad UUID for a Wyze device. */
47125
+ keypad_uuid?: string | undefined;
47126
+ /** Locker status (hardlock) for a Wyze device. */
47127
+ locker_status_hardlock?: number | undefined;
47128
+ } | undefined;
47129
+ /** Metadata for a Tedee device. */
47130
+ tedee_metadata?: {
47131
+ /** Device ID for a Tedee device. */
47132
+ device_id: number;
47133
+ /** Serial number for a Tedee device. */
47134
+ serial_number: string;
47135
+ /** Device name for a Tedee device. */
47136
+ device_name: string;
47137
+ /** Device model for a Tedee device. */
47138
+ device_model: string;
47139
+ /** Bridge ID for a Tedee device. */
47140
+ bridge_id: number;
47141
+ /** Bridge name for a Tedee device. */
47142
+ bridge_name: string;
47143
+ /** Keypad ID for a Tedee device. */
47144
+ keypad_id?: number | undefined;
47145
+ } | undefined;
47146
+ /** Metadata for an ASSA ABLOY Visionline system. */
47147
+ visionline_metadata?: {
47148
+ /** Encoder ID for an ASSA ABLOY Visionline system. */
47149
+ encoder_id: string;
47150
+ } | undefined;
47151
+ /** Metadata for an Akiles device. */
47152
+ akiles_metadata?: {
47153
+ /** Gadget name for an Akiles device. */
47154
+ gadget_name: string;
47155
+ /** Gadget ID for an Akiles device. */
47156
+ gadget_id: string;
47157
+ /** Product name for an Akiles device. */
47158
+ product_name: string;
47159
+ /** Group ID to which to add users for an Akiles device. */
47160
+ _member_group_id?: string | undefined;
47161
+ } | undefined;
47162
+ /** Metadata for an ASSA ABLOY Vostio system. */
47163
+ assa_abloy_vostio_metadata?: {
47164
+ /** Encoder name for an ASSA ABLOY Vostio system. */
47165
+ encoder_name: string;
47166
+ } | undefined;
47167
+ /** Metadata for a tado° device. */
47168
+ tado_metadata?: {
47169
+ /** Serial number for a tado° device. */
47170
+ serial_no: string;
47171
+ /** Device type for a tado° device. */
47172
+ device_type: string;
47173
+ } | undefined;
47174
+ /** Metadata for a Sensi device. */
47175
+ sensi_metadata?: {
47176
+ /** Device ID for a Sensi device. */
47177
+ device_id: string;
47178
+ /** Device name for a Sensi device. */
47179
+ device_name: string;
47180
+ /** Product type for a Sensi device. */
47181
+ product_type: string;
47182
+ } | undefined;
47183
+ }) & ({
47184
+ /** */
47185
+ _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
47186
+ /** 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. */
47187
+ code_constraints?: (Array<{
47188
+ /** Code constraint type for access codes. */
47189
+ constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
47190
+ } | {
47191
+ constraint_type: 'name_length' | 'name_must_be_unique';
47192
+ /** Minimum name length constraint for access codes. */
47193
+ min_length?: number | undefined;
47194
+ /** Maximum name length constraint for access codes. */
47195
+ max_length?: number | undefined;
47196
+ }> | undefined) | undefined;
47197
+ /** Supported code lengths for access codes. */
47198
+ supported_code_lengths?: (number[] | undefined) | undefined;
47199
+ /** Maximum number of active access codes that the device supports. */
47200
+ max_active_codes_supported?: (number | undefined) | undefined;
47201
+ /** Indicates whether the device supports a [backup access code pool](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes). */
47202
+ supports_backup_access_code_pool?: (boolean | undefined) | undefined;
47203
+ /** Indicates whether the device supports native entry events. */
47204
+ has_native_entry_events?: (boolean | undefined) | undefined;
47205
+ /** Indicates whether the lock is locked. */
47206
+ locked?: (boolean | undefined) | undefined;
47207
+ /** Keypad battery status. */
47208
+ keypad_battery?: ({
47209
+ /**
47210
+ Keypad battery charge level.
47211
+ */
47212
+ level: number;
47213
+ } | undefined) | undefined;
47214
+ /** Indicates whether the door is open. */
47215
+ door_open?: (boolean | undefined) | undefined;
47216
+ } & {
47217
+ /** Reported temperature in °F. */
47218
+ temperature_fahrenheit?: number | undefined;
47219
+ /** Reported temperature in °C. */
47220
+ temperature_celsius?: number | undefined;
47221
+ /** Reported relative humidity, as a value between 0 and 1, inclusive. */
47222
+ relative_humidity?: number | undefined;
47223
+ /** HVAC mode settings that the thermostat supports. */
47224
+ available_hvac_mode_settings?: Array<'off' | 'heat' | 'cool' | 'heat_cool'> | undefined;
47225
+ /** Fan mode settings that the thermostat supports. */
47226
+ available_fan_mode_settings?: Array<'auto' | 'on' | 'circulate'> | undefined;
47227
+ /** Climate preset modes that the thermostat supports, such as "home", "away", "wake", "sleep", "occupied", and "unoccupied". */
47228
+ available_climate_preset_modes?: Array<'home' | 'away' | 'wake' | 'sleep' | 'occupied' | 'unoccupied'> | undefined;
47229
+ /** Indicates whether the connected HVAC system is currently heating, as reported by the thermostat. */
47230
+ is_heating?: boolean | undefined;
47231
+ /** Indicates whether the connected HVAC system is currently cooling, as reported by the thermostat. */
47232
+ is_cooling?: boolean | undefined;
47233
+ /** Indicates whether the fan in the connected HVAC system is currently running, as reported by the thermostat. */
47234
+ is_fan_running?: boolean | undefined;
47235
+ /**
47236
+ * @deprecated Use `current_climate_setting.fan_mode_setting` instead. */
47237
+ fan_mode_setting?: ('auto' | 'on' | 'circulate') | undefined;
47238
+ /** 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`. */
47239
+ is_temporary_manual_override_active?: boolean | undefined;
47240
+ /** Current climate setting. */
47241
+ current_climate_setting?: {
47242
+ /** Unique key to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). */
47243
+ climate_preset_key?: string | undefined;
47244
+ /** Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited. */
47245
+ can_edit?: boolean | undefined;
47246
+ /** Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted. */
47247
+ can_delete?: boolean | undefined;
47248
+ /** Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program. */
47249
+ can_program?: boolean | undefined;
47250
+ /** User-friendly name to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). */
47251
+ name?: ((string | null) | undefined) | undefined;
47252
+ /** Display name for the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). */
47253
+ display_name?: string | undefined;
47254
+ /**
47255
+ The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
47256
+ */
47257
+ climate_preset_mode?: (('home' | 'away' | 'wake' | 'sleep' | 'occupied' | 'unoccupied') | undefined) | undefined;
47258
+ /** Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`. */
47259
+ fan_mode_setting?: (('auto' | 'on' | 'circulate') | undefined) | undefined;
47260
+ /** Desired [HVAC mode](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`. */
47261
+ hvac_mode_setting?: (('off' | 'heat' | 'cool' | 'heat_cool') | undefined) | undefined;
47262
+ /** Temperature to which the thermostat should cool (in °C). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47263
+ cooling_set_point_celsius?: (number | undefined) | undefined;
47264
+ /** Temperature to which the thermostat should heat (in °C). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47265
+ heating_set_point_celsius?: (number | undefined) | undefined;
47266
+ /** Temperature to which the thermostat should cool (in °F). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47267
+ cooling_set_point_fahrenheit?: (number | undefined) | undefined;
47268
+ /** Temperature to which the thermostat should heat (in °F). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47269
+ heating_set_point_fahrenheit?: (number | undefined) | undefined;
47270
+ /** Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
47271
+ * @deprecated Use 'thermostat_schedule.is_override_allowed' */
47272
+ manual_override_allowed?: boolean | undefined;
47273
+ /**
47274
+ Metadata specific to the Ecobee climate, if applicable.
47275
+ */
47276
+ ecobee_metadata?: ({
47277
+ /** Reference to the Ecobee climate, if applicable. */
47278
+ climate_ref: string;
47279
+ /** Indicates if the climate preset is optimized by Ecobee. */
47280
+ is_optimized: boolean;
47281
+ /** Indicates whether the climate preset is owned by the user or the system. */
47282
+ owner: 'user' | 'system';
47283
+ } | undefined) | undefined;
47284
+ } | undefined;
47285
+ /**
47286
+ * @deprecated use fallback_climate_preset_key to specify a fallback climate preset instead. */
47287
+ default_climate_setting?: {
47288
+ /** Unique key to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). */
47289
+ climate_preset_key?: string | undefined;
47290
+ /** Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited. */
47291
+ can_edit?: boolean | undefined;
47292
+ /** Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted. */
47293
+ can_delete?: boolean | undefined;
47294
+ /** Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program. */
47295
+ can_program?: boolean | undefined;
47296
+ /** User-friendly name to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). */
47297
+ name?: ((string | null) | undefined) | undefined;
47298
+ /** Display name for the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). */
47299
+ display_name?: string | undefined;
47300
+ /**
47301
+ The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
47302
+ */
47303
+ climate_preset_mode?: (('home' | 'away' | 'wake' | 'sleep' | 'occupied' | 'unoccupied') | undefined) | undefined;
47304
+ /** Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`. */
47305
+ fan_mode_setting?: (('auto' | 'on' | 'circulate') | undefined) | undefined;
47306
+ /** Desired [HVAC mode](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`. */
47307
+ hvac_mode_setting?: (('off' | 'heat' | 'cool' | 'heat_cool') | undefined) | undefined;
47308
+ /** Temperature to which the thermostat should cool (in °C). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47309
+ cooling_set_point_celsius?: (number | undefined) | undefined;
47310
+ /** Temperature to which the thermostat should heat (in °C). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47311
+ heating_set_point_celsius?: (number | undefined) | undefined;
47312
+ /** Temperature to which the thermostat should cool (in °F). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47313
+ cooling_set_point_fahrenheit?: (number | undefined) | undefined;
47314
+ /** Temperature to which the thermostat should heat (in °F). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47315
+ heating_set_point_fahrenheit?: (number | undefined) | undefined;
47316
+ /** Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
47317
+ * @deprecated Use 'thermostat_schedule.is_override_allowed' */
47318
+ manual_override_allowed?: boolean | undefined;
47319
+ /**
47320
+ Metadata specific to the Ecobee climate, if applicable.
47321
+ */
47322
+ ecobee_metadata?: ({
47323
+ /** Reference to the Ecobee climate, if applicable. */
47324
+ climate_ref: string;
47325
+ /** Indicates if the climate preset is optimized by Ecobee. */
47326
+ is_optimized: boolean;
47327
+ /** Indicates whether the climate preset is owned by the user or the system. */
47328
+ owner: 'user' | 'system';
47329
+ } | undefined) | undefined;
47330
+ } | undefined;
47331
+ /** Available [climate presets](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) for the thermostat. */
47332
+ available_climate_presets?: Array<{
47333
+ /** Unique key to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). */
47334
+ climate_preset_key: string;
47335
+ /** Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited. */
47336
+ can_edit: boolean;
47337
+ /** Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted. */
47338
+ can_delete: boolean;
47339
+ /** Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program. */
47340
+ can_program: boolean;
47341
+ /** User-friendly name to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). */
47342
+ name?: (string | null) | undefined;
47343
+ /** Display name for the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). */
47344
+ display_name: string;
47345
+ /**
47346
+ The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.
47347
+ */
47348
+ climate_preset_mode?: ('home' | 'away' | 'wake' | 'sleep' | 'occupied' | 'unoccupied') | undefined;
47349
+ /** Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`. */
47350
+ fan_mode_setting?: ('auto' | 'on' | 'circulate') | undefined;
47351
+ /** Desired [HVAC mode](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`. */
47352
+ hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
47353
+ /** Temperature to which the thermostat should cool (in °C). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47354
+ cooling_set_point_celsius?: number | undefined;
47355
+ /** Temperature to which the thermostat should heat (in °C). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47356
+ heating_set_point_celsius?: number | undefined;
47357
+ /** Temperature to which the thermostat should cool (in °F). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47358
+ cooling_set_point_fahrenheit?: number | undefined;
47359
+ /** Temperature to which the thermostat should heat (in °F). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points). */
47360
+ heating_set_point_fahrenheit?: number | undefined;
47361
+ /** Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
47362
+ * @deprecated Use 'thermostat_schedule.is_override_allowed' */
47363
+ manual_override_allowed: boolean;
47364
+ /**
47365
+ Metadata specific to the Ecobee climate, if applicable.
47366
+ */
47367
+ ecobee_metadata?: {
47368
+ /** Reference to the Ecobee climate, if applicable. */
47369
+ climate_ref: string;
47370
+ /** Indicates if the climate preset is optimized by Ecobee. */
47371
+ is_optimized: boolean;
47372
+ /** Indicates whether the climate preset is owned by the user or the system. */
47373
+ owner: 'user' | 'system';
47374
+ } | undefined;
47375
+ }> | undefined;
47376
+ /** Key of the [fallback climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset) for the thermostat. */
47377
+ fallback_climate_preset_key?: (string | null) | undefined;
47378
+ /** Active [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
47379
+ * @deprecated Use `active_thermostat_schedule_id` with `/thermostats/schedules/get` instead. */
47380
+ active_thermostat_schedule?: ({
47381
+ /** ID of the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules). */
47382
+ thermostat_schedule_id: string;
47383
+ /** ID of the desired [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) device. */
47384
+ device_id: string;
47385
+ /** User-friendly name to identify the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules). */
47386
+ name: string | null;
47387
+ /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to use for the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules). */
47388
+ climate_preset_key: string;
47389
+ /** Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions). */
47390
+ max_override_period_minutes?: (number | null) | undefined;
47391
+ /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
47392
+ starts_at: string;
47393
+ /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */
47394
+ is_override_allowed?: boolean | undefined;
47395
+ /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
47396
+ ends_at: string;
47397
+ /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the thermostat schedule. */
47398
+ workspace_id: string;
47399
+ /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */
47400
+ created_at: string;
47401
+ /** Errors associated with the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules). */
47402
+ errors: Array<{
47403
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47404
+ error_code: string;
47405
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47406
+ message: string;
47407
+ }>;
47408
+ } | null) | undefined;
47409
+ /** ID of the active [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules). */
47410
+ active_thermostat_schedule_id?: (string | null) | undefined;
47411
+ /** Configured [daily programs](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-programs) for the thermostat. */
47412
+ thermostat_daily_programs?: (Array<{
47413
+ /** ID of the thermostat daily program. */
47414
+ thermostat_daily_program_id: string;
47415
+ /** ID of the thermostat device on which the thermostat daily program is configured. */
47416
+ device_id: string;
47417
+ /** User-friendly name to identify the thermostat daily program. */
47418
+ name: string | null;
47419
+ /** Array of thermostat daily program periods. */
47420
+ periods: Array<{
47421
+ /** Time at which the thermostat daily program period starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
47422
+ starts_at_time: string;
47423
+ /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the `starts_at_time`. */
47424
+ climate_preset_key: string;
47425
+ }>;
47426
+ /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the thermostat daily program. */
47427
+ workspace_id: string;
47428
+ /** Date and time at which the thermostat daily program was created. */
47429
+ created_at: string;
47430
+ }> | undefined) | undefined;
47431
+ /** Current [weekly program](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-programs) for the thermostat. */
47432
+ thermostat_weekly_program?: (({
47433
+ /** ID of the thermostat daily program to run on Mondays. */
47434
+ monday_program_id: string | null;
47435
+ /** ID of the thermostat daily program to run on Tuesdays. */
47436
+ tuesday_program_id: string | null;
47437
+ /** ID of the thermostat daily program to run on Wednesdays. */
47438
+ wednesday_program_id: string | null;
47439
+ /** ID of the thermostat daily program to run on Thursdays. */
47440
+ thursday_program_id: string | null;
47441
+ /** ID of the thermostat daily program to run on Fridays. */
47442
+ friday_program_id: string | null;
47443
+ /** ID of the thermostat daily program to run on Saturdays. */
47444
+ saturday_program_id: string | null;
47445
+ /** ID of the thermostat daily program to run on Sundays. */
47446
+ sunday_program_id: string | null;
47447
+ /** Date and time at which the thermostat weekly program was created. */
47448
+ created_at: string;
47449
+ } | null) | undefined) | undefined;
47450
+ /** Minimum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °C. */
47451
+ min_cooling_set_point_celsius?: number | undefined;
47452
+ /** Minimum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °F. */
47453
+ min_cooling_set_point_fahrenheit?: number | undefined;
47454
+ /** Maximum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °C. */
47455
+ max_cooling_set_point_celsius?: number | undefined;
47456
+ /** Maximum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in °F. */
47457
+ max_cooling_set_point_fahrenheit?: number | undefined;
47458
+ /** Minimum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in °C. */
47459
+ min_heating_set_point_celsius?: number | undefined;
47460
+ /** Minimum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in °F. */
47461
+ min_heating_set_point_fahrenheit?: number | undefined;
47462
+ /** Maximum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in °C. */
47463
+ max_heating_set_point_celsius?: number | undefined;
47464
+ /** Maximum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in °F. */
47465
+ max_heating_set_point_fahrenheit?: number | undefined;
47466
+ /** Minimum [temperature difference](https://docs.seam.co/latest/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. */
47467
+ min_heating_cooling_delta_celsius?: number | undefined;
47468
+ /** Minimum [temperature difference](https://docs.seam.co/latest/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. */
47469
+ min_heating_cooling_delta_fahrenheit?: number | undefined;
47470
+ /** Current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat. */
47471
+ temperature_threshold?: ({
47472
+ /** Lower limit in °C within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
47473
+ */
47474
+ lower_limit_celsius: number | null;
47475
+ /** Lower limit in °F within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
47476
+ */
47477
+ lower_limit_fahrenheit: number | null;
47478
+ /** Upper limit in °C within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
47479
+ */
47480
+ upper_limit_celsius: number | null;
47481
+ /** Upper limit in °F within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
47482
+ */
47483
+ upper_limit_fahrenheit: number | null;
47484
+ } | undefined) | undefined;
47485
+ });
47486
+ /** Location information for the device. */
47487
+ location: {
47488
+ /** Name of the device location.
47489
+ */
47490
+ location_name?: string | undefined;
47491
+ /** Time zone of the device location.
47492
+ */
47493
+ timezone?: string | undefined;
47494
+ } | null;
47495
+ /** Unique identifier for the account associated with the device. */
47496
+ connected_account_id: string;
47497
+ /** Unique identifier for the Seam workspace associated with the device. */
47498
+ workspace_id: string;
47499
+ /** 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. */
47500
+ errors: Array<{
47501
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47502
+ message: string;
47503
+ /** Indicates that the error is not a device error. */
47504
+ is_device_error: false;
47505
+ /** Date and time at which Seam created the error. */
47506
+ created_at: string;
47507
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47508
+ error_code: 'account_disconnected';
47509
+ /** Indicates that the error is a [connected account](https://docs.seam.co/latest/api/connected_accounts) error. */
47510
+ is_connected_account_error: true;
47511
+ } | {
47512
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47513
+ message: string;
47514
+ /** Indicates that the error is not a device error. */
47515
+ is_device_error: false;
47516
+ /** Date and time at which Seam created the error. */
47517
+ created_at: string;
47518
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47519
+ error_code: 'salto_ks_subscription_limit_exceeded';
47520
+ /** Indicates that the error is a [connected account](https://docs.seam.co/latest/api/connected_accounts) error. */
47521
+ is_connected_account_error: true;
47522
+ } | {
47523
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47524
+ message: string;
47525
+ /** Indicates that the error is a device error. */
47526
+ is_device_error: true;
47527
+ /** Date and time at which Seam created the error. */
47528
+ created_at: string;
47529
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47530
+ error_code: 'device_offline';
47531
+ } | {
47532
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47533
+ message: string;
47534
+ /** Indicates that the error is a device error. */
47535
+ is_device_error: true;
47536
+ /** Date and time at which Seam created the error. */
47537
+ created_at: string;
47538
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47539
+ error_code: 'device_removed';
47540
+ } | {
47541
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47542
+ message: string;
47543
+ /** Indicates that the error is a device error. */
47544
+ is_device_error: true;
47545
+ /** Date and time at which Seam created the error. */
47546
+ created_at: string;
47547
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47548
+ error_code: 'hub_disconnected';
47549
+ } | {
47550
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47551
+ message: string;
47552
+ /** Indicates that the error is a device error. */
47553
+ is_device_error: true;
47554
+ /** Date and time at which Seam created the error. */
47555
+ created_at: string;
47556
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47557
+ error_code: 'device_disconnected';
47558
+ } | {
47559
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47560
+ message: string;
47561
+ /** Indicates that the error is a device error. */
47562
+ is_device_error: true;
47563
+ /** Date and time at which Seam created the error. */
47564
+ created_at: string;
47565
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47566
+ error_code: 'empty_backup_access_code_pool';
47567
+ } | {
47568
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47569
+ message: string;
47570
+ /** Indicates that the error is a device error. */
47571
+ is_device_error: true;
47572
+ /** Date and time at which Seam created the error. */
47573
+ created_at: string;
47574
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47575
+ error_code: 'august_lock_not_authorized';
47576
+ } | {
47577
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47578
+ message: string;
47579
+ /** Indicates that the error is a device error. */
47580
+ is_device_error: true;
47581
+ /** Date and time at which Seam created the error. */
47582
+ created_at: string;
47583
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47584
+ error_code: 'august_lock_missing_bridge';
47585
+ } | {
47586
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47587
+ message: string;
47588
+ /** Indicates that the error is a device error. */
47589
+ is_device_error: true;
47590
+ /** Date and time at which Seam created the error. */
47591
+ created_at: string;
47592
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47593
+ error_code: 'ttlock_lock_not_paired_to_gateway';
47594
+ } | {
47595
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47596
+ message: string;
47597
+ /** Indicates that the error is a device error. */
47598
+ is_device_error: true;
47599
+ /** Date and time at which Seam created the error. */
47600
+ created_at: string;
47601
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47602
+ error_code: 'missing_device_credentials';
47603
+ } | {
47604
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47605
+ message: string;
47606
+ /** Indicates that the error is a device error. */
47607
+ is_device_error: true;
47608
+ /** Date and time at which Seam created the error. */
47609
+ created_at: string;
47610
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47611
+ error_code: 'auxiliary_heat_running';
47612
+ } | {
47613
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47614
+ message: string;
47615
+ /** Indicates that the error is a device error. */
47616
+ is_device_error: true;
47617
+ /** Date and time at which Seam created the error. */
47618
+ created_at: string;
47619
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47620
+ error_code: 'subscription_required';
47621
+ } | {
47622
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47623
+ message: string;
47624
+ /** Indicates that the error is a device error. */
47625
+ is_device_error: true;
47626
+ /** Date and time at which Seam created the error. */
47627
+ created_at: string;
47628
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47629
+ error_code: 'lockly_missing_wifi_bridge';
47630
+ } | {
47631
+ /** Date and time at which Seam created the error. */
47632
+ created_at: string;
47633
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47634
+ message: string;
47635
+ /** Indicates whether the error is related specifically to the connected account. */
47636
+ is_connected_account_error?: boolean | undefined;
47637
+ /** Indicates whether the error is related to [Seam Bridge](https://docs.seam.co/latest/capability-guides/seam-bridge). */
47638
+ is_bridge_error?: boolean | undefined;
47639
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47640
+ error_code: 'invalid_credentials';
47641
+ } | {
47642
+ /** Date and time at which Seam created the error. */
47643
+ created_at: string;
47644
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47645
+ message: string;
47646
+ /** Indicates whether the error is related specifically to the connected account. */
47647
+ is_connected_account_error?: boolean | undefined;
47648
+ /** Indicates whether the error is related to [Seam Bridge](https://docs.seam.co/latest/capability-guides/seam-bridge). */
47649
+ is_bridge_error?: boolean | undefined;
47650
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47651
+ error_code: 'bridge_disconnected';
47652
+ }>;
47653
+ /** 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. */
47654
+ warnings: Array<{
47655
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47656
+ message: string;
47657
+ /** Date and time at which Seam created the warning. */
47658
+ created_at: string;
47659
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47660
+ warning_code: 'partial_backup_access_code_pool';
47661
+ } | {
47662
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47663
+ message: string;
47664
+ /** Date and time at which Seam created the warning. */
47665
+ created_at: string;
47666
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47667
+ warning_code: 'many_active_backup_codes';
47668
+ } | {
47669
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47670
+ message: string;
47671
+ /** Date and time at which Seam created the warning. */
47672
+ created_at: string;
47673
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47674
+ warning_code: 'wyze_device_missing_gateway';
47675
+ } | {
47676
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47677
+ message: string;
47678
+ /** Date and time at which Seam created the warning. */
47679
+ created_at: string;
47680
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47681
+ warning_code: 'functional_offline_device';
47682
+ } | {
47683
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47684
+ message: string;
47685
+ /** Date and time at which Seam created the warning. */
47686
+ created_at: string;
47687
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47688
+ warning_code: 'third_party_integration_detected';
47689
+ } | {
47690
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47691
+ message: string;
47692
+ /** Date and time at which Seam created the warning. */
47693
+ created_at: string;
47694
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47695
+ warning_code: 'nest_thermostat_in_manual_eco_mode';
47696
+ } | {
47697
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47698
+ message: string;
47699
+ /** Date and time at which Seam created the warning. */
47700
+ created_at: string;
47701
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47702
+ warning_code: 'ttlock_lock_gateway_unlocking_not_enabled';
47703
+ } | {
47704
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47705
+ message: string;
47706
+ /** Date and time at which Seam created the warning. */
47707
+ created_at: string;
47708
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47709
+ warning_code: 'ttlock_weak_gateway_signal';
47710
+ } | {
47711
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47712
+ message: string;
47713
+ /** Date and time at which Seam created the warning. */
47714
+ created_at: string;
47715
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47716
+ warning_code: 'power_saving_mode';
47717
+ } | {
47718
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47719
+ message: string;
47720
+ /** Date and time at which Seam created the warning. */
47721
+ created_at: string;
47722
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47723
+ warning_code: 'temperature_threshold_exceeded';
47724
+ } | {
47725
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47726
+ message: string;
47727
+ /** Date and time at which Seam created the warning. */
47728
+ created_at: string;
47729
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47730
+ warning_code: 'device_communication_degraded';
47731
+ } | {
47732
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47733
+ message: string;
47734
+ /** Date and time at which Seam created the warning. */
47735
+ created_at: string;
47736
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47737
+ warning_code: 'scheduled_maintenance_window';
47738
+ } | {
47739
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47740
+ message: string;
47741
+ /** Date and time at which Seam created the warning. */
47742
+ created_at: string;
47743
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47744
+ warning_code: 'device_has_flaky_connection';
47745
+ } | {
47746
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47747
+ message: string;
47748
+ /** Date and time at which Seam created the warning. */
47749
+ created_at: string;
47750
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47751
+ warning_code: 'salto_ks_office_mode';
47752
+ } | {
47753
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47754
+ message: string;
47755
+ /** Date and time at which Seam created the warning. */
47756
+ created_at: string;
47757
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47758
+ warning_code: 'salto_ks_privacy_mode';
47759
+ } | {
47760
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47761
+ message: string;
47762
+ /** Date and time at which Seam created the warning. */
47763
+ created_at: string;
47764
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47765
+ warning_code: 'salto_ks_subscription_limit_almost_reached';
47766
+ } | {
47767
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47768
+ message: string;
47769
+ /** Date and time at which Seam created the warning. */
47770
+ created_at: string;
47771
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47772
+ warning_code: 'unknown_issue_with_phone';
47773
+ } | {
47774
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
47775
+ message: string;
47776
+ /** Date and time at which Seam created the warning. */
47777
+ created_at: string;
47778
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
47779
+ warning_code: 'lockly_time_zone_not_configured';
47780
+ }>;
47781
+ /** Date and time at which the device object was created. */
47782
+ created_at: string;
47783
+ /** Indicates whether Seam manages the device. See also [Managed and Unmanaged Devices](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices). */
47784
+ is_managed: true;
47785
+ /** Set of key:value pairs. Adding custom metadata to a resource, such as a [Connect Webview](https://docs.seam.co/latest/core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview), [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts/adding-custom-metadata-to-a-connected-account), or [device](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device), enables you to store custom information, like customer details or internal IDs from your application. */
47786
+ custom_metadata: Record<string, string | boolean>;
47787
+ can_remotely_unlock?: boolean | undefined;
47788
+ can_remotely_lock?: boolean | undefined;
47789
+ can_program_offline_access_codes?: boolean | undefined;
47790
+ can_program_online_access_codes?: boolean | undefined;
47791
+ can_hvac_heat?: boolean | undefined;
47792
+ can_hvac_cool?: boolean | undefined;
47793
+ can_hvac_heat_cool?: boolean | undefined;
47794
+ can_turn_off_hvac?: boolean | undefined;
47795
+ can_simulate_removal?: boolean | undefined;
47796
+ can_simulate_connection?: boolean | undefined;
47797
+ can_simulate_disconnection?: boolean | undefined;
47798
+ can_unlock_with_code?: boolean | undefined;
47799
+ }> | undefined;
47800
+ acs_entrances?: Array<{
47801
+ /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details). */
47802
+ acs_system_id: string;
47803
+ /** ID of the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details). */
47804
+ acs_entrance_id: string;
47805
+ /** Date and time at which the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details) was created. */
47806
+ created_at: string;
47807
+ /** Display name for the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details). */
47808
+ display_name: string;
47809
+ /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details) associated with the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details). */
47810
+ connected_account_id: string;
47811
+ /** Errors associated with the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details). */
47812
+ errors: Array<{
47813
+ /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */
47814
+ error_code: string;
47815
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
47816
+ message: string;
47817
+ }>;
47818
+ /** Latch-specific metadata associated with the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details). */
47819
+ latch_metadata?: {
47820
+ /** Accessibility type in the Latch access system. */
47821
+ accessibility_type: string;
47822
+ /** Name of the door in the Latch access system. */
47823
+ door_name: string;
47824
+ /** Type of the door in the Latch access system. */
47825
+ door_type: string;
47826
+ /** Indicates whether the entrance is connected. */
47827
+ is_connected: boolean;
47828
+ } | undefined;
47829
+ /** Visionline-specific metadata associated with the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details). */
47830
+ visionline_metadata?: {
47831
+ /** Name of the door in the Visionline access system. */
47832
+ door_name: string;
47833
+ /** Category of the door in the Visionline access system. */
47834
+ door_category: 'entrance' | 'guest' | 'elevator reader' | 'common' | 'common (PMS)';
47835
+ /** Profile for the door in the Visionline access system. */
47836
+ profiles?: Array<{
47837
+ /** Door profile ID in the Visionline access system. */
47838
+ visionline_door_profile_id: string;
47839
+ /** Door profile type in the Visionline access system. */
47840
+ visionline_door_profile_type: 'BLE' | 'commonDoor' | 'touch';
47841
+ }> | undefined;
47842
+ } | undefined;
47843
+ /** Salto KS-specific metadata associated with the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details). */
47844
+ salto_ks_metadata?: {
47845
+ /** Name of the door in the Salto KS access system. */
47846
+ door_name: string;
47847
+ /** Locked state of the door in the Salto KS access system. */
47848
+ locked_state: string;
47849
+ /** Type of the lock in the Salto KS access system. */
47850
+ lock_type: string;
47851
+ /** Indicates whether the door access device is online. */
47852
+ online?: boolean | undefined;
47853
+ /** Battery level of the door access device. */
47854
+ battery_level: string;
47855
+ /** Indicates whether the door is left open. */
47856
+ left_open_alarm?: boolean | undefined;
47857
+ /** Indicates whether an intrusion alarm is active on the door. */
47858
+ intrusion_alarm?: boolean | undefined;
47859
+ /** Indicates whether privacy mode is enabled for the lock. */
47860
+ privacy_mode?: boolean | undefined;
47861
+ } | undefined;
47862
+ /** dormakaba Community-specific metadata associated with the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details). */
47863
+ dormakaba_community_metadata?: {
47864
+ /** Name of the access point in the dormakaba Community access system. */
47865
+ access_point_name: string;
47866
+ } | undefined;
47867
+ /** ASSA ABLOY Vostio-specific metadata associated with the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details). */
47868
+ assa_abloy_vostio_metadata?: {
47869
+ /** Type of the door in the Vostio access system. */
47870
+ door_type: 'CommonDoor' | 'EntranceDoor' | 'GuestDoor' | 'Elevator';
47871
+ /** Name of the door in the Vostio access system. */
47872
+ door_name: string;
47873
+ /** Number of the door in the Vostio access system. */
47874
+ door_number?: number | undefined;
47875
+ /** Indicates whether keys are allowed to set the door in stand open mode in the Vostio access system. */
47876
+ stand_open?: boolean | undefined;
47877
+ /** PMS ID of the door in the Vostio access system. */
47878
+ pms_id?: string | undefined;
47879
+ } | undefined;
47880
+ /** Salto Space-specific metadata associated with the [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details). */
47881
+ salto_space_metadata?: {
47882
+ /** Name of the door in the Salto Space access system. */
47883
+ door_name: string;
47884
+ /** External door ID in the Salto Space access system. */
47885
+ ext_door_id: string;
47886
+ /** Description of the door in the Salto Space access system. */
47887
+ door_description?: string | undefined;
47888
+ } | undefined;
47889
+ /** Indicates whether the ACS entrance can be unlocked with mobile key credentials. */
47890
+ can_unlock_with_mobile_key?: boolean | undefined;
47891
+ /** Indicates whether the ACS entrance can be unlocked with card credentials. */
47892
+ can_unlock_with_card?: boolean | undefined;
47893
+ /** Indicates whether the ACS entrance can be unlocked with pin codes. */
47894
+ can_unlock_with_code?: boolean | undefined;
47895
+ }> | undefined;
47896
+ };
47897
+ };
47898
+ };
46612
47899
  '/spaces/list': {
46613
47900
  route: '/spaces/list';
46614
47901
  method: 'GET' | 'POST';