@seamapi/types 1.240.0 → 1.242.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 (62) hide show
  1. package/dist/connect.cjs +1592 -904
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +3728 -1455
  4. package/dist/devicedb.d.cts +30 -30
  5. package/lib/seam/connect/internal/schemas.d.ts +1 -1
  6. package/lib/seam/connect/internal/schemas.js +1 -1
  7. package/lib/seam/connect/internal/schemas.js.map +1 -1
  8. package/lib/seam/connect/model-types.d.ts +1 -1
  9. package/lib/seam/connect/models/access-codes/managed-access-code.d.ts +4 -4
  10. package/lib/seam/connect/models/access-codes/unmanaged-access-code.d.ts +1 -1
  11. package/lib/seam/connect/models/acs/acs-user.d.ts +316 -84
  12. package/lib/seam/connect/models/acs/acs-user.js +72 -22
  13. package/lib/seam/connect/models/acs/acs-user.js.map +1 -1
  14. package/lib/seam/connect/models/action-attempts/action-attempt.d.ts +78 -0
  15. package/lib/seam/connect/models/action-attempts/action-attempt.js +2 -0
  16. package/lib/seam/connect/models/action-attempts/action-attempt.js.map +1 -1
  17. package/lib/seam/connect/models/action-attempts/activate-climate-preset.d.ts +80 -0
  18. package/lib/seam/connect/models/action-attempts/activate-climate-preset.js +25 -0
  19. package/lib/seam/connect/models/action-attempts/activate-climate-preset.js.map +1 -0
  20. package/lib/seam/connect/models/devices/capability-properties/index.d.ts +185 -83
  21. package/lib/seam/connect/models/devices/capability-properties/thermostat.d.ts +185 -83
  22. package/lib/seam/connect/models/devices/capability-properties/thermostat.js +15 -6
  23. package/lib/seam/connect/models/devices/capability-properties/thermostat.js.map +1 -1
  24. package/lib/seam/connect/models/devices/device.d.ts +263 -119
  25. package/lib/seam/connect/models/devices/phone.d.ts +187 -85
  26. package/lib/seam/connect/models/devices/unmanaged-device.d.ts +185 -83
  27. package/lib/seam/connect/models/thermostats/climate-preset.d.ts +83 -0
  28. package/lib/seam/connect/models/thermostats/climate-preset.js +18 -0
  29. package/lib/seam/connect/models/thermostats/climate-preset.js.map +1 -0
  30. package/lib/seam/connect/models/thermostats/climate-setting-schedule.d.ts +18 -34
  31. package/lib/seam/connect/models/thermostats/climate-setting-schedule.js +8 -10
  32. package/lib/seam/connect/models/thermostats/climate-setting-schedule.js.map +1 -1
  33. package/lib/seam/connect/models/thermostats/index.d.ts +1 -1
  34. package/lib/seam/connect/models/thermostats/index.js +1 -1
  35. package/lib/seam/connect/models/thermostats/index.js.map +1 -1
  36. package/lib/seam/connect/openapi.d.ts +1019 -570
  37. package/lib/seam/connect/openapi.js +1334 -723
  38. package/lib/seam/connect/openapi.js.map +1 -1
  39. package/lib/seam/connect/route-types.d.ts +1824 -476
  40. package/lib/seam/connect/schemas.d.ts +1 -1
  41. package/lib/seam/connect/schemas.js +1 -1
  42. package/lib/seam/connect/schemas.js.map +1 -1
  43. package/lib/seam/devicedb/models/device-model.d.ts +8 -8
  44. package/lib/seam/devicedb/models/manufacturer.d.ts +2 -2
  45. package/lib/seam/devicedb/route-specs.d.ts +20 -20
  46. package/package.json +2 -2
  47. package/src/lib/seam/connect/internal/schemas.ts +2 -2
  48. package/src/lib/seam/connect/model-types.ts +1 -1
  49. package/src/lib/seam/connect/models/acs/acs-user.ts +100 -27
  50. package/src/lib/seam/connect/models/action-attempts/action-attempt.ts +2 -0
  51. package/src/lib/seam/connect/models/action-attempts/activate-climate-preset.ts +36 -0
  52. package/src/lib/seam/connect/models/devices/capability-properties/thermostat.ts +16 -6
  53. package/src/lib/seam/connect/models/thermostats/climate-preset.ts +24 -0
  54. package/src/lib/seam/connect/models/thermostats/climate-setting-schedule.ts +16 -19
  55. package/src/lib/seam/connect/models/thermostats/index.ts +1 -1
  56. package/src/lib/seam/connect/openapi.ts +1385 -708
  57. package/src/lib/seam/connect/route-types.ts +2122 -520
  58. package/src/lib/seam/connect/schemas.ts +1 -1
  59. package/lib/seam/connect/models/thermostats/climate-setting.d.ts +0 -24
  60. package/lib/seam/connect/models/thermostats/climate-setting.js +0 -11
  61. package/lib/seam/connect/models/thermostats/climate-setting.js.map +0 -1
  62. package/src/lib/seam/connect/models/thermostats/climate-setting.ts +0 -14
@@ -718,7 +718,129 @@ export default {
718
718
  'x-deprecated': 'use email_address.',
719
719
  },
720
720
  email_address: { format: 'email', type: 'string' },
721
- errors: {},
721
+ errors: {
722
+ items: {
723
+ description: 'Error associated with the `acs_user`.',
724
+ oneOf: [
725
+ {
726
+ description:
727
+ 'Indicates that the ACS user was deleted from the ACS system outside of Seam.',
728
+ properties: {
729
+ created_at: {
730
+ description:
731
+ 'Date and time at which Seam created the error.',
732
+ format: 'date-time',
733
+ type: 'string',
734
+ },
735
+ error_code: {
736
+ enum: ['deleted_externally'],
737
+ type: 'string',
738
+ },
739
+ message: {
740
+ description:
741
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
742
+ type: 'string',
743
+ },
744
+ },
745
+ required: ['created_at', 'message', 'error_code'],
746
+ type: 'object',
747
+ },
748
+ {
749
+ description:
750
+ 'Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.',
751
+ properties: {
752
+ created_at: {
753
+ description:
754
+ 'Date and time at which Seam created the error.',
755
+ format: 'date-time',
756
+ type: 'string',
757
+ },
758
+ error_code: {
759
+ enum: ['salto_ks_subscription_limit_exceeded'],
760
+ type: 'string',
761
+ },
762
+ message: {
763
+ description:
764
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
765
+ type: 'string',
766
+ },
767
+ },
768
+ required: ['created_at', 'message', 'error_code'],
769
+ type: 'object',
770
+ },
771
+ {
772
+ description:
773
+ "Indicates that the user was not created on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
774
+ properties: {
775
+ created_at: {
776
+ description:
777
+ 'Date and time at which Seam created the error.',
778
+ format: 'date-time',
779
+ type: 'string',
780
+ },
781
+ message: {
782
+ description:
783
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
784
+ type: 'string',
785
+ },
786
+ warning_code: {
787
+ enum: ['failed_to_create_on_acs_system'],
788
+ type: 'string',
789
+ },
790
+ },
791
+ required: ['created_at', 'message', 'warning_code'],
792
+ type: 'object',
793
+ },
794
+ {
795
+ description:
796
+ "Indicates that the user was not updated on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
797
+ properties: {
798
+ created_at: {
799
+ description:
800
+ 'Date and time at which Seam created the error.',
801
+ format: 'date-time',
802
+ type: 'string',
803
+ },
804
+ message: {
805
+ description:
806
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
807
+ type: 'string',
808
+ },
809
+ warning_code: {
810
+ enum: ['failed_to_update_on_acs_system'],
811
+ type: 'string',
812
+ },
813
+ },
814
+ required: ['created_at', 'message', 'warning_code'],
815
+ type: 'object',
816
+ },
817
+ {
818
+ description:
819
+ "Indicates that the user was not deleted on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
820
+ properties: {
821
+ created_at: {
822
+ description:
823
+ 'Date and time at which Seam created the error.',
824
+ format: 'date-time',
825
+ type: 'string',
826
+ },
827
+ message: {
828
+ description:
829
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
830
+ type: 'string',
831
+ },
832
+ warning_code: {
833
+ enum: ['failed_to_delete_on_acs_system'],
834
+ type: 'string',
835
+ },
836
+ },
837
+ required: ['created_at', 'message', 'warning_code'],
838
+ type: 'object',
839
+ },
840
+ ],
841
+ },
842
+ type: 'array',
843
+ },
722
844
  external_type: {
723
845
  enum: [
724
846
  'pti_user',
@@ -746,8 +868,11 @@ export default {
746
868
  user_identity_phone_number: { nullable: true, type: 'string' },
747
869
  warnings: {
748
870
  items: {
871
+ description: 'Warning associated with the `acs_user`.',
749
872
  oneOf: [
750
873
  {
874
+ description:
875
+ 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
751
876
  properties: {
752
877
  created_at: { format: 'date-time', type: 'string' },
753
878
  message: { type: 'string' },
@@ -757,23 +882,22 @@ export default {
757
882
  type: 'object',
758
883
  },
759
884
  {
885
+ description:
886
+ "Indicates that the user was not updated on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
760
887
  properties: {
761
- created_at: { format: 'date-time', type: 'string' },
762
- message: { type: 'string' },
763
- warning_code: {
764
- enum: ['failed_to_update_acs_user_on_acs_system'],
888
+ created_at: {
889
+ description:
890
+ 'Date and time at which Seam created the error.',
891
+ format: 'date-time',
892
+ type: 'string',
893
+ },
894
+ message: {
895
+ description:
896
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
765
897
  type: 'string',
766
898
  },
767
- },
768
- required: ['created_at', 'message', 'warning_code'],
769
- type: 'object',
770
- },
771
- {
772
- properties: {
773
- created_at: { format: 'date-time', type: 'string' },
774
- message: { type: 'string' },
775
899
  warning_code: {
776
- enum: ['salto_ks_user_not_subscribed'],
900
+ enum: ['failed_to_update_on_acs_system'],
777
901
  type: 'string',
778
902
  },
779
903
  },
@@ -781,11 +905,13 @@ export default {
781
905
  type: 'object',
782
906
  },
783
907
  {
908
+ description:
909
+ 'Indicates that the user is not subscribed on the Salto KS, so they cannot unlock doors or perform any actions. This occur when the their access schedule hasn’t started yet, or if their access schedule has ended, or if the site has reached its limit for active users (subscription slots), or if they have been manually unsubscribed.',
784
910
  properties: {
785
911
  created_at: { format: 'date-time', type: 'string' },
786
912
  message: { type: 'string' },
787
913
  warning_code: {
788
- enum: ['salto_site_user_suspended'],
914
+ enum: ['salto_ks_user_not_subscribed'],
789
915
  type: 'string',
790
916
  },
791
917
  },
@@ -806,6 +932,7 @@ export default {
806
932
  'display_name',
807
933
  'is_suspended',
808
934
  'warnings',
935
+ 'errors',
809
936
  'is_managed',
810
937
  ],
811
938
  type: 'object',
@@ -1429,6 +1556,91 @@ export default {
1429
1556
  ],
1430
1557
  type: 'object',
1431
1558
  },
1559
+ {
1560
+ description: 'Activating climate preset.',
1561
+ properties: {
1562
+ action_attempt_id: {
1563
+ description: 'The ID of the action attempt.',
1564
+ format: 'uuid',
1565
+ type: 'string',
1566
+ 'x-title': 'Action Attempt ID',
1567
+ },
1568
+ action_type: {
1569
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1570
+ type: 'string',
1571
+ },
1572
+ error: { nullable: true },
1573
+ result: { nullable: true },
1574
+ status: { enum: ['pending'], type: 'string' },
1575
+ },
1576
+ required: [
1577
+ 'action_attempt_id',
1578
+ 'status',
1579
+ 'result',
1580
+ 'error',
1581
+ 'action_type',
1582
+ ],
1583
+ type: 'object',
1584
+ },
1585
+ {
1586
+ description: 'Activating climate preset succeeded.',
1587
+ properties: {
1588
+ action_attempt_id: {
1589
+ description: 'The ID of the action attempt.',
1590
+ format: 'uuid',
1591
+ type: 'string',
1592
+ 'x-title': 'Action Attempt ID',
1593
+ },
1594
+ action_type: {
1595
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1596
+ type: 'string',
1597
+ },
1598
+ error: { nullable: true },
1599
+ result: { properties: {}, type: 'object' },
1600
+ status: { enum: ['success'], type: 'string' },
1601
+ },
1602
+ required: [
1603
+ 'action_attempt_id',
1604
+ 'status',
1605
+ 'error',
1606
+ 'action_type',
1607
+ 'result',
1608
+ ],
1609
+ type: 'object',
1610
+ },
1611
+ {
1612
+ description: 'Activating climate preset failed.',
1613
+ properties: {
1614
+ action_attempt_id: {
1615
+ description: 'The ID of the action attempt.',
1616
+ format: 'uuid',
1617
+ type: 'string',
1618
+ 'x-title': 'Action Attempt ID',
1619
+ },
1620
+ action_type: {
1621
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1622
+ type: 'string',
1623
+ },
1624
+ error: {
1625
+ properties: {
1626
+ message: { type: 'string' },
1627
+ type: { type: 'string' },
1628
+ },
1629
+ required: ['type', 'message'],
1630
+ type: 'object',
1631
+ },
1632
+ result: { nullable: true },
1633
+ status: { enum: ['error'], type: 'string' },
1634
+ },
1635
+ required: [
1636
+ 'action_attempt_id',
1637
+ 'status',
1638
+ 'result',
1639
+ 'action_type',
1640
+ 'error',
1641
+ ],
1642
+ type: 'object',
1643
+ },
1432
1644
  {
1433
1645
  properties: {
1434
1646
  action_attempt_id: {
@@ -1934,39 +2146,6 @@ export default {
1934
2146
  ],
1935
2147
  type: 'object',
1936
2148
  },
1937
- climate_setting_schedule: {
1938
- properties: {
1939
- climate_setting_schedule_id: { format: 'uuid', type: 'string' },
1940
- cooling_set_point_celsius: { format: 'float', type: 'number' },
1941
- cooling_set_point_fahrenheit: { format: 'float', type: 'number' },
1942
- created_at: { format: 'date-time', type: 'string' },
1943
- device_id: { format: 'uuid', type: 'string' },
1944
- errors: {
1945
- description:
1946
- 'Collection of errors associated with the access code, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
1947
- },
1948
- heating_set_point_celsius: { format: 'float', type: 'number' },
1949
- heating_set_point_fahrenheit: { format: 'float', type: 'number' },
1950
- hvac_mode_setting: {
1951
- enum: ['off', 'heat', 'cool', 'heat_cool'],
1952
- type: 'string',
1953
- },
1954
- manual_override_allowed: { type: 'boolean' },
1955
- name: { type: 'string' },
1956
- schedule_ends_at: { type: 'string' },
1957
- schedule_starts_at: { type: 'string' },
1958
- schedule_type: { enum: ['time_bound'], type: 'string' },
1959
- },
1960
- required: [
1961
- 'climate_setting_schedule_id',
1962
- 'schedule_type',
1963
- 'device_id',
1964
- 'schedule_starts_at',
1965
- 'schedule_ends_at',
1966
- 'created_at',
1967
- ],
1968
- type: 'object',
1969
- },
1970
2149
  connect_webview: {
1971
2150
  properties: {
1972
2151
  accepted_devices: {
@@ -2997,57 +3176,86 @@ export default {
2997
3176
  },
2998
3177
  {
2999
3178
  properties: {
3000
- active_climate_setting_schedule: {
3179
+ active_thermostat_schedule: {
3180
+ default: null,
3181
+ nullable: true,
3001
3182
  properties: {
3002
- climate_setting_schedule_id: {
3003
- format: 'uuid',
3004
- type: 'string',
3005
- },
3006
- cooling_set_point_celsius: {
3007
- format: 'float',
3008
- type: 'number',
3009
- },
3010
- cooling_set_point_fahrenheit: {
3011
- format: 'float',
3012
- type: 'number',
3013
- },
3183
+ climate_preset_key: { type: 'string' },
3014
3184
  created_at: { format: 'date-time', type: 'string' },
3015
3185
  device_id: { format: 'uuid', type: 'string' },
3186
+ ends_at: { format: 'date-time', type: 'string' },
3016
3187
  errors: {
3017
3188
  description:
3018
- 'Collection of errors associated with the access code, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
3189
+ 'Collection of errors associated with the thermostat schedule, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
3019
3190
  },
3020
- heating_set_point_celsius: {
3021
- format: 'float',
3022
- type: 'number',
3191
+ max_override_period_minutes: {
3192
+ default: 0,
3193
+ minimum: 0,
3194
+ type: 'integer',
3023
3195
  },
3024
- heating_set_point_fahrenheit: {
3025
- format: 'float',
3026
- type: 'number',
3027
- },
3028
- hvac_mode_setting: {
3029
- enum: ['off', 'heat', 'cool', 'heat_cool'],
3030
- type: 'string',
3031
- },
3032
- manual_override_allowed: { type: 'boolean' },
3033
- name: { type: 'string' },
3034
- schedule_ends_at: { type: 'string' },
3035
- schedule_starts_at: { type: 'string' },
3036
- schedule_type: {
3037
- enum: ['time_bound'],
3038
- type: 'string',
3196
+ name: { type: 'string' },
3197
+ starts_at: { format: 'date-time', type: 'string' },
3198
+ thermostat_schedule_id: {
3199
+ format: 'uuid',
3200
+ type: 'string',
3039
3201
  },
3040
3202
  },
3041
3203
  required: [
3042
- 'climate_setting_schedule_id',
3043
- 'schedule_type',
3204
+ 'thermostat_schedule_id',
3044
3205
  'device_id',
3045
- 'schedule_starts_at',
3046
- 'schedule_ends_at',
3206
+ 'climate_preset_key',
3207
+ 'starts_at',
3208
+ 'ends_at',
3047
3209
  'created_at',
3048
3210
  ],
3049
3211
  type: 'object',
3050
3212
  },
3213
+ available_climate_presets: {
3214
+ items: {
3215
+ properties: {
3216
+ can_delete: { type: 'boolean' },
3217
+ can_edit: { type: 'boolean' },
3218
+ climate_preset_key: { type: 'string' },
3219
+ cooling_set_point_celsius: {
3220
+ format: 'float',
3221
+ type: 'number',
3222
+ },
3223
+ cooling_set_point_fahrenheit: {
3224
+ format: 'float',
3225
+ type: 'number',
3226
+ },
3227
+ display_name: { type: 'string' },
3228
+ fan_mode_setting: {
3229
+ enum: ['auto', 'on'],
3230
+ type: 'string',
3231
+ },
3232
+ heating_set_point_celsius: {
3233
+ format: 'float',
3234
+ type: 'number',
3235
+ },
3236
+ heating_set_point_fahrenheit: {
3237
+ format: 'float',
3238
+ type: 'number',
3239
+ },
3240
+ hvac_mode_setting: {
3241
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
3242
+ type: 'string',
3243
+ },
3244
+ manual_override_allowed: { type: 'boolean' },
3245
+ name: { nullable: true, type: 'string' },
3246
+ },
3247
+ required: [
3248
+ 'climate_preset_key',
3249
+ 'can_edit',
3250
+ 'can_delete',
3251
+ 'name',
3252
+ 'display_name',
3253
+ 'manual_override_allowed',
3254
+ ],
3255
+ type: 'object',
3256
+ },
3257
+ type: 'array',
3258
+ },
3051
3259
  available_hvac_mode_settings: {
3052
3260
  items: {
3053
3261
  enum: ['off', 'heat', 'cool', 'heat_cool'],
@@ -3057,6 +3265,9 @@ export default {
3057
3265
  },
3058
3266
  current_climate_setting: {
3059
3267
  properties: {
3268
+ can_delete: { type: 'boolean' },
3269
+ can_edit: { type: 'boolean' },
3270
+ climate_preset_key: { type: 'string' },
3060
3271
  cooling_set_point_celsius: {
3061
3272
  format: 'float',
3062
3273
  type: 'number',
@@ -3065,6 +3276,11 @@ export default {
3065
3276
  format: 'float',
3066
3277
  type: 'number',
3067
3278
  },
3279
+ display_name: { type: 'string' },
3280
+ fan_mode_setting: {
3281
+ enum: ['auto', 'on'],
3282
+ type: 'string',
3283
+ },
3068
3284
  heating_set_point_celsius: {
3069
3285
  format: 'float',
3070
3286
  type: 'number',
@@ -3078,15 +3294,16 @@ export default {
3078
3294
  type: 'string',
3079
3295
  },
3080
3296
  manual_override_allowed: { type: 'boolean' },
3297
+ name: { nullable: true, type: 'string' },
3081
3298
  },
3082
- required: [
3083
- 'hvac_mode_setting',
3084
- 'manual_override_allowed',
3085
- ],
3086
3299
  type: 'object',
3087
3300
  },
3088
3301
  default_climate_setting: {
3302
+ deprecated: true,
3089
3303
  properties: {
3304
+ can_delete: { type: 'boolean' },
3305
+ can_edit: { type: 'boolean' },
3306
+ climate_preset_key: { type: 'string' },
3090
3307
  cooling_set_point_celsius: {
3091
3308
  format: 'float',
3092
3309
  type: 'number',
@@ -3095,6 +3312,11 @@ export default {
3095
3312
  format: 'float',
3096
3313
  type: 'number',
3097
3314
  },
3315
+ display_name: { type: 'string' },
3316
+ fan_mode_setting: {
3317
+ enum: ['auto', 'on'],
3318
+ type: 'string',
3319
+ },
3098
3320
  heating_set_point_celsius: {
3099
3321
  format: 'float',
3100
3322
  type: 'number',
@@ -3108,18 +3330,25 @@ export default {
3108
3330
  type: 'string',
3109
3331
  },
3110
3332
  manual_override_allowed: { type: 'boolean' },
3333
+ name: { nullable: true, type: 'string' },
3111
3334
  },
3112
- required: [
3113
- 'hvac_mode_setting',
3114
- 'manual_override_allowed',
3115
- ],
3116
3335
  type: 'object',
3336
+ 'x-deprecated':
3337
+ 'use fallback_climate_preset_key to specify a fallback climate preset instead.',
3338
+ },
3339
+ fallback_climate_preset_key: {
3340
+ default: null,
3341
+ minLength: 1,
3342
+ nullable: true,
3343
+ type: 'string',
3117
3344
  },
3118
3345
  fan_mode_setting: {
3346
+ deprecated: true,
3119
3347
  enum: ['auto', 'on'],
3120
3348
  type: 'string',
3349
+ 'x-deprecated':
3350
+ 'use current_climate_setting.fan_mode_setting instead.',
3121
3351
  },
3122
- is_climate_setting_schedule_active: { type: 'boolean' },
3123
3352
  is_cooling: { type: 'boolean' },
3124
3353
  is_fan_running: { type: 'boolean' },
3125
3354
  is_heating: { type: 'boolean' },
@@ -3552,6 +3781,35 @@ export default {
3552
3781
  required: ['service', 'status', 'description'],
3553
3782
  type: 'object',
3554
3783
  },
3784
+ thermostat_schedule: {
3785
+ properties: {
3786
+ climate_preset_key: { type: 'string' },
3787
+ created_at: { format: 'date-time', type: 'string' },
3788
+ device_id: { format: 'uuid', type: 'string' },
3789
+ ends_at: { format: 'date-time', type: 'string' },
3790
+ errors: {
3791
+ description:
3792
+ 'Collection of errors associated with the thermostat schedule, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
3793
+ },
3794
+ max_override_period_minutes: {
3795
+ default: 0,
3796
+ minimum: 0,
3797
+ type: 'integer',
3798
+ },
3799
+ name: { type: 'string' },
3800
+ starts_at: { format: 'date-time', type: 'string' },
3801
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
3802
+ },
3803
+ required: [
3804
+ 'thermostat_schedule_id',
3805
+ 'device_id',
3806
+ 'climate_preset_key',
3807
+ 'starts_at',
3808
+ 'ends_at',
3809
+ 'created_at',
3810
+ ],
3811
+ type: 'object',
3812
+ },
3555
3813
  unmanaged_access_code: {
3556
3814
  properties: {
3557
3815
  access_code_id: {
@@ -7677,12 +7935,7 @@ export default {
7677
7935
  acs_user: {
7678
7936
  properties: {
7679
7937
  access_schedule: {
7680
- properties: {
7681
- ends_at: { format: 'date-time', type: 'string' },
7682
- starts_at: { format: 'date-time', type: 'string' },
7683
- },
7684
- required: ['starts_at', 'ends_at'],
7685
- type: 'object',
7938
+ $ref: '#/components/schemas/thermostat_schedule',
7686
7939
  },
7687
7940
  acs_system_id: { format: 'uuid', type: 'string' },
7688
7941
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7695,7 +7948,152 @@ export default {
7695
7948
  'x-deprecated': 'use email_address.',
7696
7949
  },
7697
7950
  email_address: { format: 'email', type: 'string' },
7698
- errors: { $ref: '#/components/schemas/access_code' },
7951
+ errors: {
7952
+ items: {
7953
+ description:
7954
+ 'Error associated with the `acs_user`.',
7955
+ oneOf: [
7956
+ {
7957
+ description:
7958
+ 'Indicates that the ACS user was deleted from the ACS system outside of Seam.',
7959
+ properties: {
7960
+ created_at: {
7961
+ description:
7962
+ 'Date and time at which Seam created the error.',
7963
+ format: 'date-time',
7964
+ type: 'string',
7965
+ },
7966
+ error_code: {
7967
+ enum: ['deleted_externally'],
7968
+ type: 'string',
7969
+ },
7970
+ message: {
7971
+ description:
7972
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7973
+ type: 'string',
7974
+ },
7975
+ },
7976
+ required: [
7977
+ 'created_at',
7978
+ 'message',
7979
+ 'error_code',
7980
+ ],
7981
+ type: 'object',
7982
+ },
7983
+ {
7984
+ description:
7985
+ 'Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.',
7986
+ properties: {
7987
+ created_at: {
7988
+ description:
7989
+ 'Date and time at which Seam created the error.',
7990
+ format: 'date-time',
7991
+ type: 'string',
7992
+ },
7993
+ error_code: {
7994
+ enum: [
7995
+ 'salto_ks_subscription_limit_exceeded',
7996
+ ],
7997
+ type: 'string',
7998
+ },
7999
+ message: {
8000
+ description:
8001
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8002
+ type: 'string',
8003
+ },
8004
+ },
8005
+ required: [
8006
+ 'created_at',
8007
+ 'message',
8008
+ 'error_code',
8009
+ ],
8010
+ type: 'object',
8011
+ },
8012
+ {
8013
+ description:
8014
+ "Indicates that the user was not created on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
8015
+ properties: {
8016
+ created_at: {
8017
+ description:
8018
+ 'Date and time at which Seam created the error.',
8019
+ format: 'date-time',
8020
+ type: 'string',
8021
+ },
8022
+ message: {
8023
+ description:
8024
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8025
+ type: 'string',
8026
+ },
8027
+ warning_code: {
8028
+ enum: ['failed_to_create_on_acs_system'],
8029
+ type: 'string',
8030
+ },
8031
+ },
8032
+ required: [
8033
+ 'created_at',
8034
+ 'message',
8035
+ 'warning_code',
8036
+ ],
8037
+ type: 'object',
8038
+ },
8039
+ {
8040
+ description:
8041
+ "Indicates that the user was not updated on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
8042
+ properties: {
8043
+ created_at: {
8044
+ description:
8045
+ 'Date and time at which Seam created the error.',
8046
+ format: 'date-time',
8047
+ type: 'string',
8048
+ },
8049
+ message: {
8050
+ description:
8051
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8052
+ type: 'string',
8053
+ },
8054
+ warning_code: {
8055
+ enum: ['failed_to_update_on_acs_system'],
8056
+ type: 'string',
8057
+ },
8058
+ },
8059
+ required: [
8060
+ 'created_at',
8061
+ 'message',
8062
+ 'warning_code',
8063
+ ],
8064
+ type: 'object',
8065
+ },
8066
+ {
8067
+ description:
8068
+ "Indicates that the user was not deleted on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
8069
+ properties: {
8070
+ created_at: {
8071
+ description:
8072
+ 'Date and time at which Seam created the error.',
8073
+ format: 'date-time',
8074
+ type: 'string',
8075
+ },
8076
+ message: {
8077
+ description:
8078
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8079
+ type: 'string',
8080
+ },
8081
+ warning_code: {
8082
+ enum: ['failed_to_delete_on_acs_system'],
8083
+ type: 'string',
8084
+ },
8085
+ },
8086
+ required: [
8087
+ 'created_at',
8088
+ 'message',
8089
+ 'warning_code',
8090
+ ],
8091
+ type: 'object',
8092
+ },
8093
+ ],
8094
+ },
8095
+ type: 'array',
8096
+ },
7699
8097
  external_type: {
7700
8098
  enum: [
7701
8099
  'pti_user',
@@ -7734,8 +8132,12 @@ export default {
7734
8132
  },
7735
8133
  warnings: {
7736
8134
  items: {
8135
+ description:
8136
+ 'Warning associated with the `acs_user`.',
7737
8137
  oneOf: [
7738
8138
  {
8139
+ description:
8140
+ 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
7739
8141
  properties: {
7740
8142
  created_at: {
7741
8143
  format: 'date-time',
@@ -7755,35 +8157,22 @@ export default {
7755
8157
  type: 'object',
7756
8158
  },
7757
8159
  {
8160
+ description:
8161
+ "Indicates that the user was not updated on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
7758
8162
  properties: {
7759
8163
  created_at: {
8164
+ description:
8165
+ 'Date and time at which Seam created the error.',
7760
8166
  format: 'date-time',
7761
8167
  type: 'string',
7762
8168
  },
7763
- message: { type: 'string' },
7764
- warning_code: {
7765
- enum: [
7766
- 'failed_to_update_acs_user_on_acs_system',
7767
- ],
7768
- type: 'string',
7769
- },
7770
- },
7771
- required: [
7772
- 'created_at',
7773
- 'message',
7774
- 'warning_code',
7775
- ],
7776
- type: 'object',
7777
- },
7778
- {
7779
- properties: {
7780
- created_at: {
7781
- format: 'date-time',
8169
+ message: {
8170
+ description:
8171
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7782
8172
  type: 'string',
7783
8173
  },
7784
- message: { type: 'string' },
7785
8174
  warning_code: {
7786
- enum: ['salto_ks_user_not_subscribed'],
8175
+ enum: ['failed_to_update_on_acs_system'],
7787
8176
  type: 'string',
7788
8177
  },
7789
8178
  },
@@ -7795,6 +8184,8 @@ export default {
7795
8184
  type: 'object',
7796
8185
  },
7797
8186
  {
8187
+ description:
8188
+ 'Indicates that the user is not subscribed on the Salto KS, so they cannot unlock doors or perform any actions. This occur when the their access schedule hasn’t started yet, or if their access schedule has ended, or if the site has reached its limit for active users (subscription slots), or if they have been manually unsubscribed.',
7798
8189
  properties: {
7799
8190
  created_at: {
7800
8191
  format: 'date-time',
@@ -7802,7 +8193,7 @@ export default {
7802
8193
  },
7803
8194
  message: { type: 'string' },
7804
8195
  warning_code: {
7805
- enum: ['salto_site_user_suspended'],
8196
+ enum: ['salto_ks_user_not_subscribed'],
7806
8197
  type: 'string',
7807
8198
  },
7808
8199
  },
@@ -7827,6 +8218,7 @@ export default {
7827
8218
  'display_name',
7828
8219
  'is_suspended',
7829
8220
  'warnings',
8221
+ 'errors',
7830
8222
  'is_managed',
7831
8223
  ],
7832
8224
  type: 'object',
@@ -7884,15 +8276,7 @@ export default {
7884
8276
  items: {
7885
8277
  properties: {
7886
8278
  access_schedule: {
7887
- properties: {
7888
- ends_at: { format: 'date-time', type: 'string' },
7889
- starts_at: {
7890
- format: 'date-time',
7891
- type: 'string',
7892
- },
7893
- },
7894
- required: ['starts_at', 'ends_at'],
7895
- type: 'object',
8279
+ $ref: '#/components/schemas/thermostat_schedule',
7896
8280
  },
7897
8281
  acs_system_id: { format: 'uuid', type: 'string' },
7898
8282
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7905,95 +8289,84 @@ export default {
7905
8289
  'x-deprecated': 'use email_address.',
7906
8290
  },
7907
8291
  email_address: { format: 'email', type: 'string' },
7908
- errors: { $ref: '#/components/schemas/access_code' },
7909
- external_type: {
7910
- enum: [
7911
- 'pti_user',
7912
- 'brivo_user',
7913
- 'hid_credential_manager_user',
7914
- 'salto_site_user',
7915
- 'latch_user',
7916
- ],
7917
- type: 'string',
7918
- },
7919
- external_type_display_name: { type: 'string' },
7920
- full_name: { type: 'string' },
7921
- hid_acs_system_id: { format: 'uuid', type: 'string' },
7922
- is_latest_desired_state_synced_with_provider: {
7923
- type: 'boolean',
7924
- },
7925
- is_managed: { enum: [false], type: 'boolean' },
7926
- is_suspended: { type: 'boolean' },
7927
- latest_desired_state_synced_with_provider_at: {
7928
- format: 'date-time',
7929
- type: 'string',
7930
- },
7931
- phone_number: { type: 'string' },
7932
- user_identity_email_address: {
7933
- nullable: true,
7934
- type: 'string',
7935
- },
7936
- user_identity_full_name: {
7937
- nullable: true,
7938
- type: 'string',
7939
- },
7940
- user_identity_id: { type: 'string' },
7941
- user_identity_phone_number: {
7942
- nullable: true,
7943
- type: 'string',
7944
- },
7945
- warnings: {
8292
+ errors: {
7946
8293
  items: {
8294
+ description:
8295
+ 'Error associated with the `acs_user`.',
7947
8296
  oneOf: [
7948
8297
  {
8298
+ description:
8299
+ 'Indicates that the ACS user was deleted from the ACS system outside of Seam.',
7949
8300
  properties: {
7950
8301
  created_at: {
8302
+ description:
8303
+ 'Date and time at which Seam created the error.',
7951
8304
  format: 'date-time',
7952
8305
  type: 'string',
7953
8306
  },
7954
- message: { type: 'string' },
7955
- warning_code: {
7956
- enum: ['being_deleted'],
8307
+ error_code: {
8308
+ enum: ['deleted_externally'],
8309
+ type: 'string',
8310
+ },
8311
+ message: {
8312
+ description:
8313
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7957
8314
  type: 'string',
7958
8315
  },
7959
8316
  },
7960
8317
  required: [
7961
8318
  'created_at',
7962
8319
  'message',
7963
- 'warning_code',
8320
+ 'error_code',
7964
8321
  ],
7965
8322
  type: 'object',
7966
8323
  },
7967
8324
  {
8325
+ description:
8326
+ 'Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.',
7968
8327
  properties: {
7969
8328
  created_at: {
8329
+ description:
8330
+ 'Date and time at which Seam created the error.',
7970
8331
  format: 'date-time',
7971
8332
  type: 'string',
7972
8333
  },
7973
- message: { type: 'string' },
7974
- warning_code: {
8334
+ error_code: {
7975
8335
  enum: [
7976
- 'failed_to_update_acs_user_on_acs_system',
8336
+ 'salto_ks_subscription_limit_exceeded',
7977
8337
  ],
7978
8338
  type: 'string',
7979
8339
  },
8340
+ message: {
8341
+ description:
8342
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8343
+ type: 'string',
8344
+ },
7980
8345
  },
7981
8346
  required: [
7982
8347
  'created_at',
7983
8348
  'message',
7984
- 'warning_code',
8349
+ 'error_code',
7985
8350
  ],
7986
8351
  type: 'object',
7987
8352
  },
7988
8353
  {
8354
+ description:
8355
+ "Indicates that the user was not created on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
7989
8356
  properties: {
7990
8357
  created_at: {
8358
+ description:
8359
+ 'Date and time at which Seam created the error.',
7991
8360
  format: 'date-time',
7992
8361
  type: 'string',
7993
8362
  },
7994
- message: { type: 'string' },
8363
+ message: {
8364
+ description:
8365
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8366
+ type: 'string',
8367
+ },
7995
8368
  warning_code: {
7996
- enum: ['salto_ks_user_not_subscribed'],
8369
+ enum: ['failed_to_create_on_acs_system'],
7997
8370
  type: 'string',
7998
8371
  },
7999
8372
  },
@@ -8005,14 +8378,22 @@ export default {
8005
8378
  type: 'object',
8006
8379
  },
8007
8380
  {
8381
+ description:
8382
+ "Indicates that the user was not updated on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
8008
8383
  properties: {
8009
8384
  created_at: {
8385
+ description:
8386
+ 'Date and time at which Seam created the error.',
8010
8387
  format: 'date-time',
8011
8388
  type: 'string',
8012
8389
  },
8013
- message: { type: 'string' },
8390
+ message: {
8391
+ description:
8392
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8393
+ type: 'string',
8394
+ },
8014
8395
  warning_code: {
8015
- enum: ['salto_site_user_suspended'],
8396
+ enum: ['failed_to_update_on_acs_system'],
8016
8397
  type: 'string',
8017
8398
  },
8018
8399
  },
@@ -8023,20 +8404,162 @@ export default {
8023
8404
  ],
8024
8405
  type: 'object',
8025
8406
  },
8026
- ],
8027
- },
8028
- type: 'array',
8029
- },
8030
- workspace_id: { format: 'uuid', type: 'string' },
8031
- },
8032
- required: [
8033
- 'acs_user_id',
8407
+ {
8408
+ description:
8409
+ "Indicates that the user was not deleted on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
8410
+ properties: {
8411
+ created_at: {
8412
+ description:
8413
+ 'Date and time at which Seam created the error.',
8414
+ format: 'date-time',
8415
+ type: 'string',
8416
+ },
8417
+ message: {
8418
+ description:
8419
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8420
+ type: 'string',
8421
+ },
8422
+ warning_code: {
8423
+ enum: ['failed_to_delete_on_acs_system'],
8424
+ type: 'string',
8425
+ },
8426
+ },
8427
+ required: [
8428
+ 'created_at',
8429
+ 'message',
8430
+ 'warning_code',
8431
+ ],
8432
+ type: 'object',
8433
+ },
8434
+ ],
8435
+ },
8436
+ type: 'array',
8437
+ },
8438
+ external_type: {
8439
+ enum: [
8440
+ 'pti_user',
8441
+ 'brivo_user',
8442
+ 'hid_credential_manager_user',
8443
+ 'salto_site_user',
8444
+ 'latch_user',
8445
+ ],
8446
+ type: 'string',
8447
+ },
8448
+ external_type_display_name: { type: 'string' },
8449
+ full_name: { type: 'string' },
8450
+ hid_acs_system_id: { format: 'uuid', type: 'string' },
8451
+ is_latest_desired_state_synced_with_provider: {
8452
+ type: 'boolean',
8453
+ },
8454
+ is_managed: { enum: [false], type: 'boolean' },
8455
+ is_suspended: { type: 'boolean' },
8456
+ latest_desired_state_synced_with_provider_at: {
8457
+ format: 'date-time',
8458
+ type: 'string',
8459
+ },
8460
+ phone_number: { type: 'string' },
8461
+ user_identity_email_address: {
8462
+ nullable: true,
8463
+ type: 'string',
8464
+ },
8465
+ user_identity_full_name: {
8466
+ nullable: true,
8467
+ type: 'string',
8468
+ },
8469
+ user_identity_id: { type: 'string' },
8470
+ user_identity_phone_number: {
8471
+ nullable: true,
8472
+ type: 'string',
8473
+ },
8474
+ warnings: {
8475
+ items: {
8476
+ description:
8477
+ 'Warning associated with the `acs_user`.',
8478
+ oneOf: [
8479
+ {
8480
+ description:
8481
+ 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
8482
+ properties: {
8483
+ created_at: {
8484
+ format: 'date-time',
8485
+ type: 'string',
8486
+ },
8487
+ message: { type: 'string' },
8488
+ warning_code: {
8489
+ enum: ['being_deleted'],
8490
+ type: 'string',
8491
+ },
8492
+ },
8493
+ required: [
8494
+ 'created_at',
8495
+ 'message',
8496
+ 'warning_code',
8497
+ ],
8498
+ type: 'object',
8499
+ },
8500
+ {
8501
+ description:
8502
+ "Indicates that the user was not updated on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
8503
+ properties: {
8504
+ created_at: {
8505
+ description:
8506
+ 'Date and time at which Seam created the error.',
8507
+ format: 'date-time',
8508
+ type: 'string',
8509
+ },
8510
+ message: {
8511
+ description:
8512
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8513
+ type: 'string',
8514
+ },
8515
+ warning_code: {
8516
+ enum: ['failed_to_update_on_acs_system'],
8517
+ type: 'string',
8518
+ },
8519
+ },
8520
+ required: [
8521
+ 'created_at',
8522
+ 'message',
8523
+ 'warning_code',
8524
+ ],
8525
+ type: 'object',
8526
+ },
8527
+ {
8528
+ description:
8529
+ 'Indicates that the user is not subscribed on the Salto KS, so they cannot unlock doors or perform any actions. This occur when the their access schedule hasn’t started yet, or if their access schedule has ended, or if the site has reached its limit for active users (subscription slots), or if they have been manually unsubscribed.',
8530
+ properties: {
8531
+ created_at: {
8532
+ format: 'date-time',
8533
+ type: 'string',
8534
+ },
8535
+ message: { type: 'string' },
8536
+ warning_code: {
8537
+ enum: ['salto_ks_user_not_subscribed'],
8538
+ type: 'string',
8539
+ },
8540
+ },
8541
+ required: [
8542
+ 'created_at',
8543
+ 'message',
8544
+ 'warning_code',
8545
+ ],
8546
+ type: 'object',
8547
+ },
8548
+ ],
8549
+ },
8550
+ type: 'array',
8551
+ },
8552
+ workspace_id: { format: 'uuid', type: 'string' },
8553
+ },
8554
+ required: [
8555
+ 'acs_user_id',
8034
8556
  'acs_system_id',
8035
8557
  'workspace_id',
8036
8558
  'created_at',
8037
8559
  'display_name',
8038
8560
  'is_suspended',
8039
8561
  'warnings',
8562
+ 'errors',
8040
8563
  'is_managed',
8041
8564
  ],
8042
8565
  type: 'object',
@@ -11980,50 +12503,18 @@ export default {
11980
12503
  'x-fern-sdk-return-value': 'phone',
11981
12504
  },
11982
12505
  },
11983
- '/thermostats/climate_setting_schedules/create': {
12506
+ '/thermostats/activate_climate_preset': {
11984
12507
  post: {
11985
- operationId: 'thermostatsClimateSettingSchedulesCreatePost',
12508
+ operationId: 'thermostatsActivateClimatePresetPost',
11986
12509
  requestBody: {
11987
12510
  content: {
11988
12511
  'application/json': {
11989
12512
  schema: {
11990
12513
  properties: {
11991
- cooling_set_point_celsius: {
11992
- format: 'float',
11993
- type: 'number',
11994
- },
11995
- cooling_set_point_fahrenheit: {
11996
- format: 'float',
11997
- type: 'number',
11998
- },
11999
- device_id: { type: 'string' },
12000
- heating_set_point_celsius: {
12001
- format: 'float',
12002
- type: 'number',
12003
- },
12004
- heating_set_point_fahrenheit: {
12005
- format: 'float',
12006
- type: 'number',
12007
- },
12008
- hvac_mode_setting: {
12009
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12010
- type: 'string',
12011
- },
12012
- manual_override_allowed: { type: 'boolean' },
12013
- name: { type: 'string' },
12014
- schedule_ends_at: { type: 'string' },
12015
- schedule_starts_at: { type: 'string' },
12016
- schedule_type: {
12017
- default: 'time_bound',
12018
- enum: ['time_bound'],
12019
- type: 'string',
12020
- },
12514
+ climate_preset_key: { type: 'string' },
12515
+ device_id: { format: 'uuid', type: 'string' },
12021
12516
  },
12022
- required: [
12023
- 'device_id',
12024
- 'schedule_starts_at',
12025
- 'schedule_ends_at',
12026
- ],
12517
+ required: ['device_id', 'climate_preset_key'],
12027
12518
  type: 'object',
12028
12519
  },
12029
12520
  },
@@ -12035,12 +12526,12 @@ export default {
12035
12526
  'application/json': {
12036
12527
  schema: {
12037
12528
  properties: {
12038
- climate_setting_schedule: {
12039
- $ref: '#/components/schemas/climate_setting_schedule',
12529
+ action_attempt: {
12530
+ $ref: '#/components/schemas/action_attempt',
12040
12531
  },
12041
12532
  ok: { type: 'boolean' },
12042
12533
  },
12043
- required: ['climate_setting_schedule', 'ok'],
12534
+ required: ['action_attempt', 'ok'],
12044
12535
  type: 'object',
12045
12536
  },
12046
12537
  },
@@ -12051,32 +12542,37 @@ export default {
12051
12542
  401: { description: 'Unauthorized' },
12052
12543
  },
12053
12544
  security: [
12054
- { client_session: [] },
12055
12545
  { pat_with_workspace: [] },
12056
12546
  { console_session: [] },
12057
12547
  { api_key: [] },
12058
12548
  ],
12059
- summary: '/thermostats/climate_setting_schedules/create',
12549
+ summary: '/thermostats/activate_climate_preset',
12060
12550
  tags: ['/thermostats'],
12061
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12062
- 'x-fern-sdk-method-name': 'create',
12063
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12551
+ 'x-fern-sdk-group-name': ['thermostats'],
12552
+ 'x-fern-sdk-method-name': 'activate_climate_preset',
12553
+ 'x-fern-sdk-return-value': 'action_attempt',
12064
12554
  },
12065
12555
  },
12066
- '/thermostats/climate_setting_schedules/delete': {
12556
+ '/thermostats/cool': {
12067
12557
  post: {
12068
- operationId: 'thermostatsClimateSettingSchedulesDeletePost',
12558
+ operationId: 'thermostatsCoolPost',
12069
12559
  requestBody: {
12070
12560
  content: {
12071
12561
  'application/json': {
12072
12562
  schema: {
12073
12563
  properties: {
12074
- climate_setting_schedule_id: {
12075
- format: 'uuid',
12076
- type: 'string',
12564
+ cooling_set_point_celsius: {
12565
+ format: 'float',
12566
+ type: 'number',
12567
+ },
12568
+ cooling_set_point_fahrenheit: {
12569
+ format: 'float',
12570
+ type: 'number',
12077
12571
  },
12572
+ device_id: { format: 'uuid', type: 'string' },
12573
+ sync: { default: false, type: 'boolean' },
12078
12574
  },
12079
- required: ['climate_setting_schedule_id'],
12575
+ required: ['device_id'],
12080
12576
  type: 'object',
12081
12577
  },
12082
12578
  },
@@ -12087,8 +12583,13 @@ export default {
12087
12583
  content: {
12088
12584
  'application/json': {
12089
12585
  schema: {
12090
- properties: { ok: { type: 'boolean' } },
12091
- required: ['ok'],
12586
+ properties: {
12587
+ action_attempt: {
12588
+ $ref: '#/components/schemas/action_attempt',
12589
+ },
12590
+ ok: { type: 'boolean' },
12591
+ },
12592
+ required: ['action_attempt', 'ok'],
12092
12593
  type: 'object',
12093
12594
  },
12094
12595
  },
@@ -12104,24 +12605,53 @@ export default {
12104
12605
  { console_session: [] },
12105
12606
  { api_key: [] },
12106
12607
  ],
12107
- summary: '/thermostats/climate_setting_schedules/delete',
12608
+ summary: '/thermostats/cool',
12108
12609
  tags: ['/thermostats'],
12109
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12110
- 'x-fern-sdk-method-name': 'delete',
12610
+ 'x-fern-sdk-group-name': ['thermostats'],
12611
+ 'x-fern-sdk-method-name': 'cool',
12612
+ 'x-fern-sdk-return-value': 'action_attempt',
12111
12613
  },
12112
- put: {
12113
- operationId: 'thermostatsClimateSettingSchedulesDeletePut',
12614
+ },
12615
+ '/thermostats/create_climate_preset': {
12616
+ post: {
12617
+ operationId: 'thermostatsCreateClimatePresetPost',
12114
12618
  requestBody: {
12115
12619
  content: {
12116
12620
  'application/json': {
12117
12621
  schema: {
12118
12622
  properties: {
12119
- climate_setting_schedule_id: {
12120
- format: 'uuid',
12623
+ climate_preset_key: { type: 'string' },
12624
+ cooling_set_point_celsius: {
12625
+ format: 'float',
12626
+ type: 'number',
12627
+ },
12628
+ cooling_set_point_fahrenheit: {
12629
+ format: 'float',
12630
+ type: 'number',
12631
+ },
12632
+ device_id: { format: 'uuid', type: 'string' },
12633
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
12634
+ heating_set_point_celsius: {
12635
+ format: 'float',
12636
+ type: 'number',
12637
+ },
12638
+ heating_set_point_fahrenheit: {
12639
+ format: 'float',
12640
+ type: 'number',
12641
+ },
12642
+ hvac_mode_setting: {
12643
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
12121
12644
  type: 'string',
12122
12645
  },
12646
+ manual_override_allowed: { type: 'boolean' },
12647
+ name: { nullable: true, type: 'string' },
12123
12648
  },
12124
- required: ['climate_setting_schedule_id'],
12649
+ required: [
12650
+ 'device_id',
12651
+ 'climate_preset_key',
12652
+ 'name',
12653
+ 'manual_override_allowed',
12654
+ ],
12125
12655
  type: 'object',
12126
12656
  },
12127
12657
  },
@@ -12132,8 +12662,53 @@ export default {
12132
12662
  content: {
12133
12663
  'application/json': {
12134
12664
  schema: {
12135
- properties: { ok: { type: 'boolean' } },
12136
- required: ['ok'],
12665
+ properties: {
12666
+ climate_preset: {
12667
+ properties: {
12668
+ can_delete: { type: 'boolean' },
12669
+ can_edit: { type: 'boolean' },
12670
+ climate_preset_key: { type: 'string' },
12671
+ cooling_set_point_celsius: {
12672
+ format: 'float',
12673
+ type: 'number',
12674
+ },
12675
+ cooling_set_point_fahrenheit: {
12676
+ format: 'float',
12677
+ type: 'number',
12678
+ },
12679
+ display_name: { type: 'string' },
12680
+ fan_mode_setting: {
12681
+ enum: ['auto', 'on'],
12682
+ type: 'string',
12683
+ },
12684
+ heating_set_point_celsius: {
12685
+ format: 'float',
12686
+ type: 'number',
12687
+ },
12688
+ heating_set_point_fahrenheit: {
12689
+ format: 'float',
12690
+ type: 'number',
12691
+ },
12692
+ hvac_mode_setting: {
12693
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
12694
+ type: 'string',
12695
+ },
12696
+ manual_override_allowed: { type: 'boolean' },
12697
+ name: { nullable: true, type: 'string' },
12698
+ },
12699
+ required: [
12700
+ 'climate_preset_key',
12701
+ 'can_edit',
12702
+ 'can_delete',
12703
+ 'name',
12704
+ 'display_name',
12705
+ 'manual_override_allowed',
12706
+ ],
12707
+ type: 'object',
12708
+ },
12709
+ ok: { type: 'boolean' },
12710
+ },
12711
+ required: ['climate_preset', 'ok'],
12137
12712
  type: 'object',
12138
12713
  },
12139
12714
  },
@@ -12144,30 +12719,28 @@ export default {
12144
12719
  401: { description: 'Unauthorized' },
12145
12720
  },
12146
12721
  security: [
12147
- { client_session: [] },
12148
12722
  { pat_with_workspace: [] },
12149
12723
  { console_session: [] },
12150
12724
  { api_key: [] },
12151
12725
  ],
12152
- summary: '/thermostats/climate_setting_schedules/delete',
12726
+ summary: '/thermostats/create_climate_preset',
12153
12727
  tags: ['/thermostats'],
12154
- 'x-fern-ignore': true,
12728
+ 'x-fern-sdk-group-name': ['thermostats'],
12729
+ 'x-fern-sdk-method-name': 'create_climate_preset',
12155
12730
  },
12156
12731
  },
12157
- '/thermostats/climate_setting_schedules/get': {
12732
+ '/thermostats/delete_climate_preset': {
12158
12733
  post: {
12159
- operationId: 'thermostatsClimateSettingSchedulesGetPost',
12734
+ operationId: 'thermostatsDeleteClimatePresetPost',
12160
12735
  requestBody: {
12161
12736
  content: {
12162
12737
  'application/json': {
12163
12738
  schema: {
12164
12739
  properties: {
12165
- climate_setting_schedule_id: {
12166
- format: 'uuid',
12167
- type: 'string',
12168
- },
12740
+ climate_preset_key: { type: 'string' },
12169
12741
  device_id: { format: 'uuid', type: 'string' },
12170
12742
  },
12743
+ required: ['device_id', 'climate_preset_key'],
12171
12744
  type: 'object',
12172
12745
  },
12173
12746
  },
@@ -12178,13 +12751,8 @@ export default {
12178
12751
  content: {
12179
12752
  'application/json': {
12180
12753
  schema: {
12181
- properties: {
12182
- climate_setting_schedule: {
12183
- $ref: '#/components/schemas/climate_setting_schedule',
12184
- },
12185
- ok: { type: 'boolean' },
12186
- },
12187
- required: ['climate_setting_schedule', 'ok'],
12754
+ properties: { ok: { type: 'boolean' } },
12755
+ required: ['ok'],
12188
12756
  type: 'object',
12189
12757
  },
12190
12758
  },
@@ -12195,366 +12763,14 @@ export default {
12195
12763
  401: { description: 'Unauthorized' },
12196
12764
  },
12197
12765
  security: [
12198
- { client_session: [] },
12199
- { pat_with_workspace: [] },
12200
- { console_session: [] },
12201
- { api_key: [] },
12202
- ],
12203
- summary: '/thermostats/climate_setting_schedules/get',
12204
- tags: ['/thermostats'],
12205
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12206
- 'x-fern-sdk-method-name': 'get',
12207
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12208
- },
12209
- },
12210
- '/thermostats/climate_setting_schedules/list': {
12211
- post: {
12212
- operationId: 'thermostatsClimateSettingSchedulesListPost',
12213
- requestBody: {
12214
- content: {
12215
- 'application/json': {
12216
- schema: {
12217
- properties: {
12218
- device_id: { format: 'uuid', type: 'string' },
12219
- user_identifier_key: { type: 'string' },
12220
- },
12221
- required: ['device_id'],
12222
- type: 'object',
12223
- },
12224
- },
12225
- },
12226
- },
12227
- responses: {
12228
- 200: {
12229
- content: {
12230
- 'application/json': {
12231
- schema: {
12232
- properties: {
12233
- climate_setting_schedules: {
12234
- items: {
12235
- $ref: '#/components/schemas/climate_setting_schedule',
12236
- },
12237
- type: 'array',
12238
- },
12239
- ok: { type: 'boolean' },
12240
- },
12241
- required: ['climate_setting_schedules', 'ok'],
12242
- type: 'object',
12243
- },
12244
- },
12245
- },
12246
- description: 'OK',
12247
- },
12248
- 400: { description: 'Bad Request' },
12249
- 401: { description: 'Unauthorized' },
12250
- },
12251
- security: [
12252
- { api_key: [] },
12253
- { client_session: [] },
12254
- { pat_with_workspace: [] },
12255
- { console_session: [] },
12256
- ],
12257
- summary: '/thermostats/climate_setting_schedules/list',
12258
- tags: ['/thermostats'],
12259
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12260
- 'x-fern-sdk-method-name': 'list',
12261
- 'x-fern-sdk-return-value': 'climate_setting_schedules',
12262
- },
12263
- },
12264
- '/thermostats/climate_setting_schedules/update': {
12265
- patch: {
12266
- operationId: 'thermostatsClimateSettingSchedulesUpdatePatch',
12267
- requestBody: {
12268
- content: {
12269
- 'application/json': {
12270
- schema: {
12271
- properties: {
12272
- climate_setting_schedule_id: {
12273
- format: 'uuid',
12274
- type: 'string',
12275
- },
12276
- cooling_set_point_celsius: {
12277
- format: 'float',
12278
- type: 'number',
12279
- },
12280
- cooling_set_point_fahrenheit: {
12281
- format: 'float',
12282
- type: 'number',
12283
- },
12284
- heating_set_point_celsius: {
12285
- format: 'float',
12286
- type: 'number',
12287
- },
12288
- heating_set_point_fahrenheit: {
12289
- format: 'float',
12290
- type: 'number',
12291
- },
12292
- hvac_mode_setting: {
12293
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12294
- type: 'string',
12295
- },
12296
- manual_override_allowed: { type: 'boolean' },
12297
- name: { type: 'string' },
12298
- schedule_ends_at: { type: 'string' },
12299
- schedule_starts_at: { type: 'string' },
12300
- schedule_type: {
12301
- default: 'time_bound',
12302
- enum: ['time_bound'],
12303
- type: 'string',
12304
- },
12305
- },
12306
- required: ['climate_setting_schedule_id'],
12307
- type: 'object',
12308
- },
12309
- },
12310
- },
12311
- },
12312
- responses: {
12313
- 200: {
12314
- content: {
12315
- 'application/json': {
12316
- schema: {
12317
- properties: {
12318
- climate_setting_schedule: {
12319
- $ref: '#/components/schemas/climate_setting_schedule',
12320
- },
12321
- ok: { type: 'boolean' },
12322
- },
12323
- required: ['climate_setting_schedule', 'ok'],
12324
- type: 'object',
12325
- },
12326
- },
12327
- },
12328
- description: 'OK',
12329
- },
12330
- 400: { description: 'Bad Request' },
12331
- 401: { description: 'Unauthorized' },
12332
- },
12333
- security: [
12334
- { client_session: [] },
12335
- { pat_with_workspace: [] },
12336
- { console_session: [] },
12337
- { api_key: [] },
12338
- ],
12339
- summary: '/thermostats/climate_setting_schedules/update',
12340
- tags: ['/thermostats'],
12341
- 'x-fern-ignore': true,
12342
- },
12343
- post: {
12344
- operationId: 'thermostatsClimateSettingSchedulesUpdatePost',
12345
- requestBody: {
12346
- content: {
12347
- 'application/json': {
12348
- schema: {
12349
- properties: {
12350
- climate_setting_schedule_id: {
12351
- format: 'uuid',
12352
- type: 'string',
12353
- },
12354
- cooling_set_point_celsius: {
12355
- format: 'float',
12356
- type: 'number',
12357
- },
12358
- cooling_set_point_fahrenheit: {
12359
- format: 'float',
12360
- type: 'number',
12361
- },
12362
- heating_set_point_celsius: {
12363
- format: 'float',
12364
- type: 'number',
12365
- },
12366
- heating_set_point_fahrenheit: {
12367
- format: 'float',
12368
- type: 'number',
12369
- },
12370
- hvac_mode_setting: {
12371
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12372
- type: 'string',
12373
- },
12374
- manual_override_allowed: { type: 'boolean' },
12375
- name: { type: 'string' },
12376
- schedule_ends_at: { type: 'string' },
12377
- schedule_starts_at: { type: 'string' },
12378
- schedule_type: {
12379
- default: 'time_bound',
12380
- enum: ['time_bound'],
12381
- type: 'string',
12382
- },
12383
- },
12384
- required: ['climate_setting_schedule_id'],
12385
- type: 'object',
12386
- },
12387
- },
12388
- },
12389
- },
12390
- responses: {
12391
- 200: {
12392
- content: {
12393
- 'application/json': {
12394
- schema: {
12395
- properties: {
12396
- climate_setting_schedule: {
12397
- $ref: '#/components/schemas/climate_setting_schedule',
12398
- },
12399
- ok: { type: 'boolean' },
12400
- },
12401
- required: ['climate_setting_schedule', 'ok'],
12402
- type: 'object',
12403
- },
12404
- },
12405
- },
12406
- description: 'OK',
12407
- },
12408
- 400: { description: 'Bad Request' },
12409
- 401: { description: 'Unauthorized' },
12410
- },
12411
- security: [
12412
- { client_session: [] },
12413
- { pat_with_workspace: [] },
12414
- { console_session: [] },
12415
- { api_key: [] },
12416
- ],
12417
- summary: '/thermostats/climate_setting_schedules/update',
12418
- tags: ['/thermostats'],
12419
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12420
- 'x-fern-sdk-method-name': 'update',
12421
- },
12422
- put: {
12423
- operationId: 'thermostatsClimateSettingSchedulesUpdatePut',
12424
- requestBody: {
12425
- content: {
12426
- 'application/json': {
12427
- schema: {
12428
- properties: {
12429
- climate_setting_schedule_id: {
12430
- format: 'uuid',
12431
- type: 'string',
12432
- },
12433
- cooling_set_point_celsius: {
12434
- format: 'float',
12435
- type: 'number',
12436
- },
12437
- cooling_set_point_fahrenheit: {
12438
- format: 'float',
12439
- type: 'number',
12440
- },
12441
- heating_set_point_celsius: {
12442
- format: 'float',
12443
- type: 'number',
12444
- },
12445
- heating_set_point_fahrenheit: {
12446
- format: 'float',
12447
- type: 'number',
12448
- },
12449
- hvac_mode_setting: {
12450
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12451
- type: 'string',
12452
- },
12453
- manual_override_allowed: { type: 'boolean' },
12454
- name: { type: 'string' },
12455
- schedule_ends_at: { type: 'string' },
12456
- schedule_starts_at: { type: 'string' },
12457
- schedule_type: {
12458
- default: 'time_bound',
12459
- enum: ['time_bound'],
12460
- type: 'string',
12461
- },
12462
- },
12463
- required: ['climate_setting_schedule_id'],
12464
- type: 'object',
12465
- },
12466
- },
12467
- },
12468
- },
12469
- responses: {
12470
- 200: {
12471
- content: {
12472
- 'application/json': {
12473
- schema: {
12474
- properties: {
12475
- climate_setting_schedule: {
12476
- $ref: '#/components/schemas/climate_setting_schedule',
12477
- },
12478
- ok: { type: 'boolean' },
12479
- },
12480
- required: ['climate_setting_schedule', 'ok'],
12481
- type: 'object',
12482
- },
12483
- },
12484
- },
12485
- description: 'OK',
12486
- },
12487
- 400: { description: 'Bad Request' },
12488
- 401: { description: 'Unauthorized' },
12489
- },
12490
- security: [
12491
- { client_session: [] },
12492
- { pat_with_workspace: [] },
12493
- { console_session: [] },
12494
- { api_key: [] },
12495
- ],
12496
- summary: '/thermostats/climate_setting_schedules/update',
12497
- tags: ['/thermostats'],
12498
- 'x-fern-ignore': true,
12499
- },
12500
- },
12501
- '/thermostats/cool': {
12502
- post: {
12503
- operationId: 'thermostatsCoolPost',
12504
- requestBody: {
12505
- content: {
12506
- 'application/json': {
12507
- schema: {
12508
- properties: {
12509
- cooling_set_point_celsius: {
12510
- format: 'float',
12511
- type: 'number',
12512
- },
12513
- cooling_set_point_fahrenheit: {
12514
- format: 'float',
12515
- type: 'number',
12516
- },
12517
- device_id: { format: 'uuid', type: 'string' },
12518
- sync: { default: false, type: 'boolean' },
12519
- },
12520
- required: ['device_id'],
12521
- type: 'object',
12522
- },
12523
- },
12524
- },
12525
- },
12526
- responses: {
12527
- 200: {
12528
- content: {
12529
- 'application/json': {
12530
- schema: {
12531
- properties: {
12532
- action_attempt: {
12533
- $ref: '#/components/schemas/action_attempt',
12534
- },
12535
- ok: { type: 'boolean' },
12536
- },
12537
- required: ['action_attempt', 'ok'],
12538
- type: 'object',
12539
- },
12540
- },
12541
- },
12542
- description: 'OK',
12543
- },
12544
- 400: { description: 'Bad Request' },
12545
- 401: { description: 'Unauthorized' },
12546
- },
12547
- security: [
12548
- { client_session: [] },
12549
12766
  { pat_with_workspace: [] },
12550
12767
  { console_session: [] },
12551
12768
  { api_key: [] },
12552
12769
  ],
12553
- summary: '/thermostats/cool',
12770
+ summary: '/thermostats/delete_climate_preset',
12554
12771
  tags: ['/thermostats'],
12555
12772
  'x-fern-sdk-group-name': ['thermostats'],
12556
- 'x-fern-sdk-method-name': 'cool',
12557
- 'x-fern-sdk-return-value': 'action_attempt',
12773
+ 'x-fern-sdk-method-name': 'delete_climate_preset',
12558
12774
  },
12559
12775
  },
12560
12776
  '/thermostats/get': {
@@ -12956,12 +13172,275 @@ export default {
12956
13172
  schema: {
12957
13173
  properties: {
12958
13174
  ok: { type: 'boolean' },
12959
- thermostats: {
12960
- items: { $ref: '#/components/schemas/device' },
13175
+ thermostats: {
13176
+ items: { $ref: '#/components/schemas/device' },
13177
+ type: 'array',
13178
+ },
13179
+ },
13180
+ required: ['thermostats', 'ok'],
13181
+ type: 'object',
13182
+ },
13183
+ },
13184
+ },
13185
+ description: 'OK',
13186
+ },
13187
+ 400: { description: 'Bad Request' },
13188
+ 401: { description: 'Unauthorized' },
13189
+ },
13190
+ security: [
13191
+ { api_key: [] },
13192
+ { pat_with_workspace: [] },
13193
+ { console_session: [] },
13194
+ { client_session: [] },
13195
+ ],
13196
+ summary: '/thermostats/list',
13197
+ tags: ['/thermostats'],
13198
+ 'x-fern-sdk-group-name': ['thermostats'],
13199
+ 'x-fern-sdk-method-name': 'list',
13200
+ 'x-fern-sdk-return-value': 'thermostats',
13201
+ },
13202
+ },
13203
+ '/thermostats/off': {
13204
+ post: {
13205
+ operationId: 'thermostatsOffPost',
13206
+ requestBody: {
13207
+ content: {
13208
+ 'application/json': {
13209
+ schema: {
13210
+ properties: {
13211
+ device_id: { format: 'uuid', type: 'string' },
13212
+ sync: { default: false, type: 'boolean' },
13213
+ },
13214
+ required: ['device_id'],
13215
+ type: 'object',
13216
+ },
13217
+ },
13218
+ },
13219
+ },
13220
+ responses: {
13221
+ 200: {
13222
+ content: {
13223
+ 'application/json': {
13224
+ schema: {
13225
+ properties: {
13226
+ action_attempt: {
13227
+ $ref: '#/components/schemas/action_attempt',
13228
+ },
13229
+ ok: { type: 'boolean' },
13230
+ },
13231
+ required: ['action_attempt', 'ok'],
13232
+ type: 'object',
13233
+ },
13234
+ },
13235
+ },
13236
+ description: 'OK',
13237
+ },
13238
+ 400: { description: 'Bad Request' },
13239
+ 401: { description: 'Unauthorized' },
13240
+ },
13241
+ security: [
13242
+ { client_session: [] },
13243
+ { pat_with_workspace: [] },
13244
+ { console_session: [] },
13245
+ { api_key: [] },
13246
+ ],
13247
+ summary: '/thermostats/off',
13248
+ tags: ['/thermostats'],
13249
+ 'x-fern-sdk-group-name': ['thermostats'],
13250
+ 'x-fern-sdk-method-name': 'off',
13251
+ 'x-fern-sdk-return-value': 'action_attempt',
13252
+ },
13253
+ },
13254
+ '/thermostats/schedules/create': {
13255
+ post: {
13256
+ operationId: 'thermostatsSchedulesCreatePost',
13257
+ requestBody: {
13258
+ content: {
13259
+ 'application/json': {
13260
+ schema: {
13261
+ properties: {
13262
+ climate_preset_key: { type: 'string' },
13263
+ device_id: { type: 'string' },
13264
+ ends_at: { type: 'string' },
13265
+ max_override_period_minutes: {
13266
+ default: 0,
13267
+ minimum: 0,
13268
+ type: 'integer',
13269
+ },
13270
+ name: { type: 'string' },
13271
+ starts_at: { type: 'string' },
13272
+ },
13273
+ required: [
13274
+ 'device_id',
13275
+ 'climate_preset_key',
13276
+ 'starts_at',
13277
+ 'ends_at',
13278
+ ],
13279
+ type: 'object',
13280
+ },
13281
+ },
13282
+ },
13283
+ },
13284
+ responses: {
13285
+ 200: {
13286
+ content: {
13287
+ 'application/json': {
13288
+ schema: {
13289
+ properties: {
13290
+ ok: { type: 'boolean' },
13291
+ thermostat_schedule: {
13292
+ $ref: '#/components/schemas/thermostat_schedule',
13293
+ },
13294
+ },
13295
+ required: ['thermostat_schedule', 'ok'],
13296
+ type: 'object',
13297
+ },
13298
+ },
13299
+ },
13300
+ description: 'OK',
13301
+ },
13302
+ 400: { description: 'Bad Request' },
13303
+ 401: { description: 'Unauthorized' },
13304
+ },
13305
+ security: [
13306
+ { client_session: [] },
13307
+ { pat_with_workspace: [] },
13308
+ { console_session: [] },
13309
+ { api_key: [] },
13310
+ ],
13311
+ summary: '/thermostats/schedules/create',
13312
+ tags: ['/thermostats'],
13313
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13314
+ 'x-fern-sdk-method-name': 'create',
13315
+ 'x-fern-sdk-return-value': 'thermostat_schedule',
13316
+ },
13317
+ },
13318
+ '/thermostats/schedules/delete': {
13319
+ post: {
13320
+ operationId: 'thermostatsSchedulesDeletePost',
13321
+ requestBody: {
13322
+ content: {
13323
+ 'application/json': {
13324
+ schema: {
13325
+ properties: {
13326
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13327
+ },
13328
+ required: ['thermostat_schedule_id'],
13329
+ type: 'object',
13330
+ },
13331
+ },
13332
+ },
13333
+ },
13334
+ responses: {
13335
+ 200: {
13336
+ content: {
13337
+ 'application/json': {
13338
+ schema: {
13339
+ properties: { ok: { type: 'boolean' } },
13340
+ required: ['ok'],
13341
+ type: 'object',
13342
+ },
13343
+ },
13344
+ },
13345
+ description: 'OK',
13346
+ },
13347
+ 400: { description: 'Bad Request' },
13348
+ 401: { description: 'Unauthorized' },
13349
+ },
13350
+ security: [
13351
+ { client_session: [] },
13352
+ { pat_with_workspace: [] },
13353
+ { console_session: [] },
13354
+ { api_key: [] },
13355
+ ],
13356
+ summary: '/thermostats/schedules/delete',
13357
+ tags: ['/thermostats'],
13358
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13359
+ 'x-fern-sdk-method-name': 'delete',
13360
+ },
13361
+ },
13362
+ '/thermostats/schedules/get': {
13363
+ post: {
13364
+ operationId: 'thermostatsSchedulesGetPost',
13365
+ requestBody: {
13366
+ content: {
13367
+ 'application/json': {
13368
+ schema: {
13369
+ properties: {
13370
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13371
+ },
13372
+ required: ['thermostat_schedule_id'],
13373
+ type: 'object',
13374
+ },
13375
+ },
13376
+ },
13377
+ },
13378
+ responses: {
13379
+ 200: {
13380
+ content: {
13381
+ 'application/json': {
13382
+ schema: {
13383
+ properties: {
13384
+ ok: { type: 'boolean' },
13385
+ thermostat_schedule: {
13386
+ $ref: '#/components/schemas/thermostat_schedule',
13387
+ },
13388
+ },
13389
+ required: ['thermostat_schedule', 'ok'],
13390
+ type: 'object',
13391
+ },
13392
+ },
13393
+ },
13394
+ description: 'OK',
13395
+ },
13396
+ 400: { description: 'Bad Request' },
13397
+ 401: { description: 'Unauthorized' },
13398
+ },
13399
+ security: [
13400
+ { client_session: [] },
13401
+ { pat_with_workspace: [] },
13402
+ { console_session: [] },
13403
+ { api_key: [] },
13404
+ ],
13405
+ summary: '/thermostats/schedules/get',
13406
+ tags: ['/thermostats'],
13407
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13408
+ 'x-fern-sdk-method-name': 'get',
13409
+ 'x-fern-sdk-return-value': 'thermostat_schedule',
13410
+ },
13411
+ },
13412
+ '/thermostats/schedules/list': {
13413
+ post: {
13414
+ operationId: 'thermostatsSchedulesListPost',
13415
+ requestBody: {
13416
+ content: {
13417
+ 'application/json': {
13418
+ schema: {
13419
+ properties: {
13420
+ device_id: { format: 'uuid', type: 'string' },
13421
+ user_identifier_key: { type: 'string' },
13422
+ },
13423
+ required: ['device_id'],
13424
+ type: 'object',
13425
+ },
13426
+ },
13427
+ },
13428
+ },
13429
+ responses: {
13430
+ 200: {
13431
+ content: {
13432
+ 'application/json': {
13433
+ schema: {
13434
+ properties: {
13435
+ ok: { type: 'boolean' },
13436
+ thermostat_schedules: {
13437
+ items: {
13438
+ $ref: '#/components/schemas/thermostat_schedule',
13439
+ },
12961
13440
  type: 'array',
12962
13441
  },
12963
13442
  },
12964
- required: ['thermostats', 'ok'],
13443
+ required: ['thermostat_schedules', 'ok'],
12965
13444
  type: 'object',
12966
13445
  },
12967
13446
  },
@@ -12973,29 +13452,33 @@ export default {
12973
13452
  },
12974
13453
  security: [
12975
13454
  { api_key: [] },
13455
+ { client_session: [] },
12976
13456
  { pat_with_workspace: [] },
12977
13457
  { console_session: [] },
12978
- { client_session: [] },
12979
13458
  ],
12980
- summary: '/thermostats/list',
13459
+ summary: '/thermostats/schedules/list',
12981
13460
  tags: ['/thermostats'],
12982
- 'x-fern-sdk-group-name': ['thermostats'],
13461
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
12983
13462
  'x-fern-sdk-method-name': 'list',
12984
- 'x-fern-sdk-return-value': 'thermostats',
13463
+ 'x-fern-sdk-return-value': 'thermostat_schedules',
12985
13464
  },
12986
13465
  },
12987
- '/thermostats/off': {
12988
- post: {
12989
- operationId: 'thermostatsOffPost',
13466
+ '/thermostats/schedules/update': {
13467
+ patch: {
13468
+ operationId: 'thermostatsSchedulesUpdatePatch',
12990
13469
  requestBody: {
12991
13470
  content: {
12992
13471
  'application/json': {
12993
13472
  schema: {
12994
13473
  properties: {
12995
- device_id: { format: 'uuid', type: 'string' },
12996
- sync: { default: false, type: 'boolean' },
13474
+ climate_preset_key: { type: 'string' },
13475
+ ends_at: { type: 'string' },
13476
+ max_override_period_minutes: { minimum: 0, type: 'integer' },
13477
+ name: { type: 'string' },
13478
+ starts_at: { type: 'string' },
13479
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
12997
13480
  },
12998
- required: ['device_id'],
13481
+ required: ['thermostat_schedule_id'],
12999
13482
  type: 'object',
13000
13483
  },
13001
13484
  },
@@ -13007,12 +13490,63 @@ export default {
13007
13490
  'application/json': {
13008
13491
  schema: {
13009
13492
  properties: {
13010
- action_attempt: {
13011
- $ref: '#/components/schemas/action_attempt',
13493
+ ok: { type: 'boolean' },
13494
+ thermostat_schedule: {
13495
+ $ref: '#/components/schemas/thermostat_schedule',
13012
13496
  },
13497
+ },
13498
+ required: ['thermostat_schedule', 'ok'],
13499
+ type: 'object',
13500
+ },
13501
+ },
13502
+ },
13503
+ description: 'OK',
13504
+ },
13505
+ 400: { description: 'Bad Request' },
13506
+ 401: { description: 'Unauthorized' },
13507
+ },
13508
+ security: [
13509
+ { client_session: [] },
13510
+ { pat_with_workspace: [] },
13511
+ { console_session: [] },
13512
+ { api_key: [] },
13513
+ ],
13514
+ summary: '/thermostats/schedules/update',
13515
+ tags: ['/thermostats'],
13516
+ 'x-fern-ignore': true,
13517
+ },
13518
+ post: {
13519
+ operationId: 'thermostatsSchedulesUpdatePost',
13520
+ requestBody: {
13521
+ content: {
13522
+ 'application/json': {
13523
+ schema: {
13524
+ properties: {
13525
+ climate_preset_key: { type: 'string' },
13526
+ ends_at: { type: 'string' },
13527
+ max_override_period_minutes: { minimum: 0, type: 'integer' },
13528
+ name: { type: 'string' },
13529
+ starts_at: { type: 'string' },
13530
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13531
+ },
13532
+ required: ['thermostat_schedule_id'],
13533
+ type: 'object',
13534
+ },
13535
+ },
13536
+ },
13537
+ },
13538
+ responses: {
13539
+ 200: {
13540
+ content: {
13541
+ 'application/json': {
13542
+ schema: {
13543
+ properties: {
13013
13544
  ok: { type: 'boolean' },
13545
+ thermostat_schedule: {
13546
+ $ref: '#/components/schemas/thermostat_schedule',
13547
+ },
13014
13548
  },
13015
- required: ['action_attempt', 'ok'],
13549
+ required: ['thermostat_schedule', 'ok'],
13016
13550
  type: 'object',
13017
13551
  },
13018
13552
  },
@@ -13028,11 +13562,54 @@ export default {
13028
13562
  { console_session: [] },
13029
13563
  { api_key: [] },
13030
13564
  ],
13031
- summary: '/thermostats/off',
13565
+ summary: '/thermostats/schedules/update',
13566
+ tags: ['/thermostats'],
13567
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13568
+ 'x-fern-sdk-method-name': 'update',
13569
+ },
13570
+ },
13571
+ '/thermostats/set_fallback_climate_preset': {
13572
+ post: {
13573
+ operationId: 'thermostatsSetFallbackClimatePresetPost',
13574
+ requestBody: {
13575
+ content: {
13576
+ 'application/json': {
13577
+ schema: {
13578
+ properties: {
13579
+ climate_preset_key: { type: 'string' },
13580
+ device_id: { format: 'uuid', type: 'string' },
13581
+ },
13582
+ required: ['device_id', 'climate_preset_key'],
13583
+ type: 'object',
13584
+ },
13585
+ },
13586
+ },
13587
+ },
13588
+ responses: {
13589
+ 200: {
13590
+ content: {
13591
+ 'application/json': {
13592
+ schema: {
13593
+ properties: { ok: { type: 'boolean' } },
13594
+ required: ['ok'],
13595
+ type: 'object',
13596
+ },
13597
+ },
13598
+ },
13599
+ description: 'OK',
13600
+ },
13601
+ 400: { description: 'Bad Request' },
13602
+ 401: { description: 'Unauthorized' },
13603
+ },
13604
+ security: [
13605
+ { pat_with_workspace: [] },
13606
+ { console_session: [] },
13607
+ { api_key: [] },
13608
+ ],
13609
+ summary: '/thermostats/set_fallback_climate_preset',
13032
13610
  tags: ['/thermostats'],
13033
13611
  'x-fern-sdk-group-name': ['thermostats'],
13034
- 'x-fern-sdk-method-name': 'off',
13035
- 'x-fern-sdk-return-value': 'action_attempt',
13612
+ 'x-fern-sdk-method-name': 'set_fallback_climate_preset',
13036
13613
  },
13037
13614
  },
13038
13615
  '/thermostats/set_fan_mode': {
@@ -13044,7 +13621,12 @@ export default {
13044
13621
  schema: {
13045
13622
  properties: {
13046
13623
  device_id: { format: 'uuid', type: 'string' },
13047
- fan_mode: { enum: ['auto', 'on'], type: 'string' },
13624
+ fan_mode: {
13625
+ deprecated: true,
13626
+ enum: ['auto', 'on'],
13627
+ type: 'string',
13628
+ 'x-deprecated': 'use fan_mode_setting instead.',
13629
+ },
13048
13630
  fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13049
13631
  sync: { default: false, type: 'boolean' },
13050
13632
  },
@@ -13088,43 +13670,46 @@ export default {
13088
13670
  'x-fern-sdk-return-value': 'action_attempt',
13089
13671
  },
13090
13672
  },
13091
- '/thermostats/update': {
13673
+ '/thermostats/update_climate_preset': {
13092
13674
  patch: {
13093
- operationId: 'thermostatsUpdatePatch',
13675
+ operationId: 'thermostatsUpdateClimatePresetPatch',
13094
13676
  requestBody: {
13095
13677
  content: {
13096
13678
  'application/json': {
13097
13679
  schema: {
13098
13680
  properties: {
13099
- default_climate_setting: {
13100
- properties: {
13101
- cooling_set_point_celsius: {
13102
- format: 'float',
13103
- type: 'number',
13104
- },
13105
- cooling_set_point_fahrenheit: {
13106
- format: 'float',
13107
- type: 'number',
13108
- },
13109
- heating_set_point_celsius: {
13110
- format: 'float',
13111
- type: 'number',
13112
- },
13113
- heating_set_point_fahrenheit: {
13114
- format: 'float',
13115
- type: 'number',
13116
- },
13117
- hvac_mode_setting: {
13118
- enum: ['off', 'heat', 'cool', 'heat_cool'],
13119
- type: 'string',
13120
- },
13121
- manual_override_allowed: { type: 'boolean' },
13122
- },
13123
- type: 'object',
13681
+ climate_preset_key: { type: 'string' },
13682
+ cooling_set_point_celsius: {
13683
+ format: 'float',
13684
+ type: 'number',
13685
+ },
13686
+ cooling_set_point_fahrenheit: {
13687
+ format: 'float',
13688
+ type: 'number',
13124
13689
  },
13125
13690
  device_id: { format: 'uuid', type: 'string' },
13691
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13692
+ heating_set_point_celsius: {
13693
+ format: 'float',
13694
+ type: 'number',
13695
+ },
13696
+ heating_set_point_fahrenheit: {
13697
+ format: 'float',
13698
+ type: 'number',
13699
+ },
13700
+ hvac_mode_setting: {
13701
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13702
+ type: 'string',
13703
+ },
13704
+ manual_override_allowed: { type: 'boolean' },
13705
+ name: { nullable: true, type: 'string' },
13126
13706
  },
13127
- required: ['device_id', 'default_climate_setting'],
13707
+ required: [
13708
+ 'device_id',
13709
+ 'climate_preset_key',
13710
+ 'name',
13711
+ 'manual_override_allowed',
13712
+ ],
13128
13713
  type: 'object',
13129
13714
  },
13130
13715
  },
@@ -13135,8 +13720,53 @@ export default {
13135
13720
  content: {
13136
13721
  'application/json': {
13137
13722
  schema: {
13138
- properties: { ok: { type: 'boolean' } },
13139
- required: ['ok'],
13723
+ properties: {
13724
+ climate_preset: {
13725
+ properties: {
13726
+ can_delete: { type: 'boolean' },
13727
+ can_edit: { type: 'boolean' },
13728
+ climate_preset_key: { type: 'string' },
13729
+ cooling_set_point_celsius: {
13730
+ format: 'float',
13731
+ type: 'number',
13732
+ },
13733
+ cooling_set_point_fahrenheit: {
13734
+ format: 'float',
13735
+ type: 'number',
13736
+ },
13737
+ display_name: { type: 'string' },
13738
+ fan_mode_setting: {
13739
+ enum: ['auto', 'on'],
13740
+ type: 'string',
13741
+ },
13742
+ heating_set_point_celsius: {
13743
+ format: 'float',
13744
+ type: 'number',
13745
+ },
13746
+ heating_set_point_fahrenheit: {
13747
+ format: 'float',
13748
+ type: 'number',
13749
+ },
13750
+ hvac_mode_setting: {
13751
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13752
+ type: 'string',
13753
+ },
13754
+ manual_override_allowed: { type: 'boolean' },
13755
+ name: { nullable: true, type: 'string' },
13756
+ },
13757
+ required: [
13758
+ 'climate_preset_key',
13759
+ 'can_edit',
13760
+ 'can_delete',
13761
+ 'name',
13762
+ 'display_name',
13763
+ 'manual_override_allowed',
13764
+ ],
13765
+ type: 'object',
13766
+ },
13767
+ ok: { type: 'boolean' },
13768
+ },
13769
+ required: ['climate_preset', 'ok'],
13140
13770
  type: 'object',
13141
13771
  },
13142
13772
  },
@@ -13147,51 +13777,53 @@ export default {
13147
13777
  401: { description: 'Unauthorized' },
13148
13778
  },
13149
13779
  security: [
13150
- { api_key: [] },
13151
13780
  { pat_with_workspace: [] },
13152
13781
  { console_session: [] },
13153
- { client_session: [] },
13782
+ { api_key: [] },
13154
13783
  ],
13155
- summary: '/thermostats/update',
13784
+ summary: '/thermostats/update_climate_preset',
13156
13785
  tags: ['/thermostats'],
13157
13786
  'x-fern-ignore': true,
13158
13787
  },
13159
13788
  post: {
13160
- operationId: 'thermostatsUpdatePost',
13789
+ operationId: 'thermostatsUpdateClimatePresetPost',
13161
13790
  requestBody: {
13162
13791
  content: {
13163
13792
  'application/json': {
13164
13793
  schema: {
13165
13794
  properties: {
13166
- default_climate_setting: {
13167
- properties: {
13168
- cooling_set_point_celsius: {
13169
- format: 'float',
13170
- type: 'number',
13171
- },
13172
- cooling_set_point_fahrenheit: {
13173
- format: 'float',
13174
- type: 'number',
13175
- },
13176
- heating_set_point_celsius: {
13177
- format: 'float',
13178
- type: 'number',
13179
- },
13180
- heating_set_point_fahrenheit: {
13181
- format: 'float',
13182
- type: 'number',
13183
- },
13184
- hvac_mode_setting: {
13185
- enum: ['off', 'heat', 'cool', 'heat_cool'],
13186
- type: 'string',
13187
- },
13188
- manual_override_allowed: { type: 'boolean' },
13189
- },
13190
- type: 'object',
13795
+ climate_preset_key: { type: 'string' },
13796
+ cooling_set_point_celsius: {
13797
+ format: 'float',
13798
+ type: 'number',
13799
+ },
13800
+ cooling_set_point_fahrenheit: {
13801
+ format: 'float',
13802
+ type: 'number',
13191
13803
  },
13192
13804
  device_id: { format: 'uuid', type: 'string' },
13805
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13806
+ heating_set_point_celsius: {
13807
+ format: 'float',
13808
+ type: 'number',
13809
+ },
13810
+ heating_set_point_fahrenheit: {
13811
+ format: 'float',
13812
+ type: 'number',
13813
+ },
13814
+ hvac_mode_setting: {
13815
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13816
+ type: 'string',
13817
+ },
13818
+ manual_override_allowed: { type: 'boolean' },
13819
+ name: { nullable: true, type: 'string' },
13193
13820
  },
13194
- required: ['device_id', 'default_climate_setting'],
13821
+ required: [
13822
+ 'device_id',
13823
+ 'climate_preset_key',
13824
+ 'name',
13825
+ 'manual_override_allowed',
13826
+ ],
13195
13827
  type: 'object',
13196
13828
  },
13197
13829
  },
@@ -13202,8 +13834,53 @@ export default {
13202
13834
  content: {
13203
13835
  'application/json': {
13204
13836
  schema: {
13205
- properties: { ok: { type: 'boolean' } },
13206
- required: ['ok'],
13837
+ properties: {
13838
+ climate_preset: {
13839
+ properties: {
13840
+ can_delete: { type: 'boolean' },
13841
+ can_edit: { type: 'boolean' },
13842
+ climate_preset_key: { type: 'string' },
13843
+ cooling_set_point_celsius: {
13844
+ format: 'float',
13845
+ type: 'number',
13846
+ },
13847
+ cooling_set_point_fahrenheit: {
13848
+ format: 'float',
13849
+ type: 'number',
13850
+ },
13851
+ display_name: { type: 'string' },
13852
+ fan_mode_setting: {
13853
+ enum: ['auto', 'on'],
13854
+ type: 'string',
13855
+ },
13856
+ heating_set_point_celsius: {
13857
+ format: 'float',
13858
+ type: 'number',
13859
+ },
13860
+ heating_set_point_fahrenheit: {
13861
+ format: 'float',
13862
+ type: 'number',
13863
+ },
13864
+ hvac_mode_setting: {
13865
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13866
+ type: 'string',
13867
+ },
13868
+ manual_override_allowed: { type: 'boolean' },
13869
+ name: { nullable: true, type: 'string' },
13870
+ },
13871
+ required: [
13872
+ 'climate_preset_key',
13873
+ 'can_edit',
13874
+ 'can_delete',
13875
+ 'name',
13876
+ 'display_name',
13877
+ 'manual_override_allowed',
13878
+ ],
13879
+ type: 'object',
13880
+ },
13881
+ ok: { type: 'boolean' },
13882
+ },
13883
+ required: ['climate_preset', 'ok'],
13207
13884
  type: 'object',
13208
13885
  },
13209
13886
  },
@@ -13214,15 +13891,15 @@ export default {
13214
13891
  401: { description: 'Unauthorized' },
13215
13892
  },
13216
13893
  security: [
13217
- { api_key: [] },
13218
13894
  { pat_with_workspace: [] },
13219
13895
  { console_session: [] },
13220
- { client_session: [] },
13896
+ { api_key: [] },
13221
13897
  ],
13222
- summary: '/thermostats/update',
13898
+ summary: '/thermostats/update_climate_preset',
13223
13899
  tags: ['/thermostats'],
13224
13900
  'x-fern-sdk-group-name': ['thermostats'],
13225
- 'x-fern-sdk-method-name': 'update',
13901
+ 'x-fern-sdk-method-name': 'update_climate_preset',
13902
+ 'x-fern-sdk-return-value': 'climate_preset',
13226
13903
  },
13227
13904
  },
13228
13905
  '/user_identities/add_acs_user': {