@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
@@ -675,7 +675,114 @@ export default {
675
675
  'x-deprecated': 'use email_address.',
676
676
  },
677
677
  email_address: { format: 'email', type: 'string' },
678
- errors: {},
678
+ errors: {
679
+ items: {
680
+ description: 'Error associated with the `acs_user`.',
681
+ oneOf: [
682
+ {
683
+ description: 'Indicates that the ACS user was deleted from the ACS system outside of Seam.',
684
+ properties: {
685
+ created_at: {
686
+ description: 'Date and time at which Seam created the error.',
687
+ format: 'date-time',
688
+ type: 'string',
689
+ },
690
+ error_code: {
691
+ enum: ['deleted_externally'],
692
+ type: 'string',
693
+ },
694
+ message: {
695
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
696
+ type: 'string',
697
+ },
698
+ },
699
+ required: ['created_at', 'message', 'error_code'],
700
+ type: 'object',
701
+ },
702
+ {
703
+ description: 'Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.',
704
+ properties: {
705
+ created_at: {
706
+ description: 'Date and time at which Seam created the error.',
707
+ format: 'date-time',
708
+ type: 'string',
709
+ },
710
+ error_code: {
711
+ enum: ['salto_ks_subscription_limit_exceeded'],
712
+ type: 'string',
713
+ },
714
+ message: {
715
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
716
+ type: 'string',
717
+ },
718
+ },
719
+ required: ['created_at', 'message', 'error_code'],
720
+ type: 'object',
721
+ },
722
+ {
723
+ description: "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.",
724
+ properties: {
725
+ created_at: {
726
+ description: 'Date and time at which Seam created the error.',
727
+ format: 'date-time',
728
+ type: 'string',
729
+ },
730
+ message: {
731
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
732
+ type: 'string',
733
+ },
734
+ warning_code: {
735
+ enum: ['failed_to_create_on_acs_system'],
736
+ type: 'string',
737
+ },
738
+ },
739
+ required: ['created_at', 'message', 'warning_code'],
740
+ type: 'object',
741
+ },
742
+ {
743
+ description: "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.",
744
+ properties: {
745
+ created_at: {
746
+ description: 'Date and time at which Seam created the error.',
747
+ format: 'date-time',
748
+ type: 'string',
749
+ },
750
+ message: {
751
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
752
+ type: 'string',
753
+ },
754
+ warning_code: {
755
+ enum: ['failed_to_update_on_acs_system'],
756
+ type: 'string',
757
+ },
758
+ },
759
+ required: ['created_at', 'message', 'warning_code'],
760
+ type: 'object',
761
+ },
762
+ {
763
+ description: "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.",
764
+ properties: {
765
+ created_at: {
766
+ description: 'Date and time at which Seam created the error.',
767
+ format: 'date-time',
768
+ type: 'string',
769
+ },
770
+ message: {
771
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
772
+ type: 'string',
773
+ },
774
+ warning_code: {
775
+ enum: ['failed_to_delete_on_acs_system'],
776
+ type: 'string',
777
+ },
778
+ },
779
+ required: ['created_at', 'message', 'warning_code'],
780
+ type: 'object',
781
+ },
782
+ ],
783
+ },
784
+ type: 'array',
785
+ },
679
786
  external_type: {
680
787
  enum: [
681
788
  'pti_user',
@@ -703,8 +810,10 @@ export default {
703
810
  user_identity_phone_number: { nullable: true, type: 'string' },
704
811
  warnings: {
705
812
  items: {
813
+ description: 'Warning associated with the `acs_user`.',
706
814
  oneOf: [
707
815
  {
816
+ description: 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
708
817
  properties: {
709
818
  created_at: { format: 'date-time', type: 'string' },
710
819
  message: { type: 'string' },
@@ -714,23 +823,19 @@ export default {
714
823
  type: 'object',
715
824
  },
716
825
  {
826
+ description: "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.",
717
827
  properties: {
718
- created_at: { format: 'date-time', type: 'string' },
719
- message: { type: 'string' },
720
- warning_code: {
721
- enum: ['failed_to_update_acs_user_on_acs_system'],
828
+ created_at: {
829
+ description: 'Date and time at which Seam created the error.',
830
+ format: 'date-time',
831
+ type: 'string',
832
+ },
833
+ message: {
834
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
722
835
  type: 'string',
723
836
  },
724
- },
725
- required: ['created_at', 'message', 'warning_code'],
726
- type: 'object',
727
- },
728
- {
729
- properties: {
730
- created_at: { format: 'date-time', type: 'string' },
731
- message: { type: 'string' },
732
837
  warning_code: {
733
- enum: ['salto_ks_user_not_subscribed'],
838
+ enum: ['failed_to_update_on_acs_system'],
734
839
  type: 'string',
735
840
  },
736
841
  },
@@ -738,11 +843,12 @@ export default {
738
843
  type: 'object',
739
844
  },
740
845
  {
846
+ description: '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.',
741
847
  properties: {
742
848
  created_at: { format: 'date-time', type: 'string' },
743
849
  message: { type: 'string' },
744
850
  warning_code: {
745
- enum: ['salto_site_user_suspended'],
851
+ enum: ['salto_ks_user_not_subscribed'],
746
852
  type: 'string',
747
853
  },
748
854
  },
@@ -763,6 +869,7 @@ export default {
763
869
  'display_name',
764
870
  'is_suspended',
765
871
  'warnings',
872
+ 'errors',
766
873
  'is_managed',
767
874
  ],
768
875
  type: 'object',
@@ -1386,6 +1493,91 @@ export default {
1386
1493
  ],
1387
1494
  type: 'object',
1388
1495
  },
1496
+ {
1497
+ description: 'Activating climate preset.',
1498
+ properties: {
1499
+ action_attempt_id: {
1500
+ description: 'The ID of the action attempt.',
1501
+ format: 'uuid',
1502
+ type: 'string',
1503
+ 'x-title': 'Action Attempt ID',
1504
+ },
1505
+ action_type: {
1506
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1507
+ type: 'string',
1508
+ },
1509
+ error: { nullable: true },
1510
+ result: { nullable: true },
1511
+ status: { enum: ['pending'], type: 'string' },
1512
+ },
1513
+ required: [
1514
+ 'action_attempt_id',
1515
+ 'status',
1516
+ 'result',
1517
+ 'error',
1518
+ 'action_type',
1519
+ ],
1520
+ type: 'object',
1521
+ },
1522
+ {
1523
+ description: 'Activating climate preset succeeded.',
1524
+ properties: {
1525
+ action_attempt_id: {
1526
+ description: 'The ID of the action attempt.',
1527
+ format: 'uuid',
1528
+ type: 'string',
1529
+ 'x-title': 'Action Attempt ID',
1530
+ },
1531
+ action_type: {
1532
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1533
+ type: 'string',
1534
+ },
1535
+ error: { nullable: true },
1536
+ result: { properties: {}, type: 'object' },
1537
+ status: { enum: ['success'], type: 'string' },
1538
+ },
1539
+ required: [
1540
+ 'action_attempt_id',
1541
+ 'status',
1542
+ 'error',
1543
+ 'action_type',
1544
+ 'result',
1545
+ ],
1546
+ type: 'object',
1547
+ },
1548
+ {
1549
+ description: 'Activating climate preset failed.',
1550
+ properties: {
1551
+ action_attempt_id: {
1552
+ description: 'The ID of the action attempt.',
1553
+ format: 'uuid',
1554
+ type: 'string',
1555
+ 'x-title': 'Action Attempt ID',
1556
+ },
1557
+ action_type: {
1558
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1559
+ type: 'string',
1560
+ },
1561
+ error: {
1562
+ properties: {
1563
+ message: { type: 'string' },
1564
+ type: { type: 'string' },
1565
+ },
1566
+ required: ['type', 'message'],
1567
+ type: 'object',
1568
+ },
1569
+ result: { nullable: true },
1570
+ status: { enum: ['error'], type: 'string' },
1571
+ },
1572
+ required: [
1573
+ 'action_attempt_id',
1574
+ 'status',
1575
+ 'result',
1576
+ 'action_type',
1577
+ 'error',
1578
+ ],
1579
+ type: 'object',
1580
+ },
1389
1581
  {
1390
1582
  properties: {
1391
1583
  action_attempt_id: {
@@ -1891,38 +2083,6 @@ export default {
1891
2083
  ],
1892
2084
  type: 'object',
1893
2085
  },
1894
- climate_setting_schedule: {
1895
- properties: {
1896
- climate_setting_schedule_id: { format: 'uuid', type: 'string' },
1897
- cooling_set_point_celsius: { format: 'float', type: 'number' },
1898
- cooling_set_point_fahrenheit: { format: 'float', type: 'number' },
1899
- created_at: { format: 'date-time', type: 'string' },
1900
- device_id: { format: 'uuid', type: 'string' },
1901
- errors: {
1902
- description: '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.',
1903
- },
1904
- heating_set_point_celsius: { format: 'float', type: 'number' },
1905
- heating_set_point_fahrenheit: { format: 'float', type: 'number' },
1906
- hvac_mode_setting: {
1907
- enum: ['off', 'heat', 'cool', 'heat_cool'],
1908
- type: 'string',
1909
- },
1910
- manual_override_allowed: { type: 'boolean' },
1911
- name: { type: 'string' },
1912
- schedule_ends_at: { type: 'string' },
1913
- schedule_starts_at: { type: 'string' },
1914
- schedule_type: { enum: ['time_bound'], type: 'string' },
1915
- },
1916
- required: [
1917
- 'climate_setting_schedule_id',
1918
- 'schedule_type',
1919
- 'device_id',
1920
- 'schedule_starts_at',
1921
- 'schedule_ends_at',
1922
- 'created_at',
1923
- ],
1924
- type: 'object',
1925
- },
1926
2086
  connect_webview: {
1927
2087
  properties: {
1928
2088
  accepted_devices: {
@@ -2927,56 +3087,85 @@ export default {
2927
3087
  },
2928
3088
  {
2929
3089
  properties: {
2930
- active_climate_setting_schedule: {
3090
+ active_thermostat_schedule: {
3091
+ default: null,
3092
+ nullable: true,
2931
3093
  properties: {
2932
- climate_setting_schedule_id: {
2933
- format: 'uuid',
2934
- type: 'string',
2935
- },
2936
- cooling_set_point_celsius: {
2937
- format: 'float',
2938
- type: 'number',
2939
- },
2940
- cooling_set_point_fahrenheit: {
2941
- format: 'float',
2942
- type: 'number',
2943
- },
3094
+ climate_preset_key: { type: 'string' },
2944
3095
  created_at: { format: 'date-time', type: 'string' },
2945
3096
  device_id: { format: 'uuid', type: 'string' },
3097
+ ends_at: { format: 'date-time', type: 'string' },
2946
3098
  errors: {
2947
- description: '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.',
3099
+ description: '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.',
2948
3100
  },
2949
- heating_set_point_celsius: {
2950
- format: 'float',
2951
- type: 'number',
2952
- },
2953
- heating_set_point_fahrenheit: {
2954
- format: 'float',
2955
- type: 'number',
2956
- },
2957
- hvac_mode_setting: {
2958
- enum: ['off', 'heat', 'cool', 'heat_cool'],
2959
- type: 'string',
3101
+ max_override_period_minutes: {
3102
+ default: 0,
3103
+ minimum: 0,
3104
+ type: 'integer',
2960
3105
  },
2961
- manual_override_allowed: { type: 'boolean' },
2962
3106
  name: { type: 'string' },
2963
- schedule_ends_at: { type: 'string' },
2964
- schedule_starts_at: { type: 'string' },
2965
- schedule_type: {
2966
- enum: ['time_bound'],
3107
+ starts_at: { format: 'date-time', type: 'string' },
3108
+ thermostat_schedule_id: {
3109
+ format: 'uuid',
2967
3110
  type: 'string',
2968
3111
  },
2969
3112
  },
2970
3113
  required: [
2971
- 'climate_setting_schedule_id',
2972
- 'schedule_type',
3114
+ 'thermostat_schedule_id',
2973
3115
  'device_id',
2974
- 'schedule_starts_at',
2975
- 'schedule_ends_at',
3116
+ 'climate_preset_key',
3117
+ 'starts_at',
3118
+ 'ends_at',
2976
3119
  'created_at',
2977
3120
  ],
2978
3121
  type: 'object',
2979
3122
  },
3123
+ available_climate_presets: {
3124
+ items: {
3125
+ properties: {
3126
+ can_delete: { type: 'boolean' },
3127
+ can_edit: { type: 'boolean' },
3128
+ climate_preset_key: { type: 'string' },
3129
+ cooling_set_point_celsius: {
3130
+ format: 'float',
3131
+ type: 'number',
3132
+ },
3133
+ cooling_set_point_fahrenheit: {
3134
+ format: 'float',
3135
+ type: 'number',
3136
+ },
3137
+ display_name: { type: 'string' },
3138
+ fan_mode_setting: {
3139
+ enum: ['auto', 'on'],
3140
+ type: 'string',
3141
+ },
3142
+ heating_set_point_celsius: {
3143
+ format: 'float',
3144
+ type: 'number',
3145
+ },
3146
+ heating_set_point_fahrenheit: {
3147
+ format: 'float',
3148
+ type: 'number',
3149
+ },
3150
+ hvac_mode_setting: {
3151
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
3152
+ type: 'string',
3153
+ },
3154
+ manual_override_allowed: { type: 'boolean' },
3155
+ name: { nullable: true, type: 'string' },
3156
+ },
3157
+ required: [
3158
+ 'climate_preset_key',
3159
+ 'can_edit',
3160
+ 'can_delete',
3161
+ 'name',
3162
+ 'display_name',
3163
+ 'manual_override_allowed',
3164
+ ],
3165
+ type: 'object',
3166
+ },
3167
+ type: 'array',
3168
+ },
2980
3169
  available_hvac_mode_settings: {
2981
3170
  items: {
2982
3171
  enum: ['off', 'heat', 'cool', 'heat_cool'],
@@ -2986,6 +3175,9 @@ export default {
2986
3175
  },
2987
3176
  current_climate_setting: {
2988
3177
  properties: {
3178
+ can_delete: { type: 'boolean' },
3179
+ can_edit: { type: 'boolean' },
3180
+ climate_preset_key: { type: 'string' },
2989
3181
  cooling_set_point_celsius: {
2990
3182
  format: 'float',
2991
3183
  type: 'number',
@@ -2994,8 +3186,13 @@ export default {
2994
3186
  format: 'float',
2995
3187
  type: 'number',
2996
3188
  },
2997
- heating_set_point_celsius: {
2998
- format: 'float',
3189
+ display_name: { type: 'string' },
3190
+ fan_mode_setting: {
3191
+ enum: ['auto', 'on'],
3192
+ type: 'string',
3193
+ },
3194
+ heating_set_point_celsius: {
3195
+ format: 'float',
2999
3196
  type: 'number',
3000
3197
  },
3001
3198
  heating_set_point_fahrenheit: {
@@ -3007,15 +3204,16 @@ export default {
3007
3204
  type: 'string',
3008
3205
  },
3009
3206
  manual_override_allowed: { type: 'boolean' },
3207
+ name: { nullable: true, type: 'string' },
3010
3208
  },
3011
- required: [
3012
- 'hvac_mode_setting',
3013
- 'manual_override_allowed',
3014
- ],
3015
3209
  type: 'object',
3016
3210
  },
3017
3211
  default_climate_setting: {
3212
+ deprecated: true,
3018
3213
  properties: {
3214
+ can_delete: { type: 'boolean' },
3215
+ can_edit: { type: 'boolean' },
3216
+ climate_preset_key: { type: 'string' },
3019
3217
  cooling_set_point_celsius: {
3020
3218
  format: 'float',
3021
3219
  type: 'number',
@@ -3024,6 +3222,11 @@ export default {
3024
3222
  format: 'float',
3025
3223
  type: 'number',
3026
3224
  },
3225
+ display_name: { type: 'string' },
3226
+ fan_mode_setting: {
3227
+ enum: ['auto', 'on'],
3228
+ type: 'string',
3229
+ },
3027
3230
  heating_set_point_celsius: {
3028
3231
  format: 'float',
3029
3232
  type: 'number',
@@ -3037,18 +3240,23 @@ export default {
3037
3240
  type: 'string',
3038
3241
  },
3039
3242
  manual_override_allowed: { type: 'boolean' },
3243
+ name: { nullable: true, type: 'string' },
3040
3244
  },
3041
- required: [
3042
- 'hvac_mode_setting',
3043
- 'manual_override_allowed',
3044
- ],
3045
3245
  type: 'object',
3246
+ 'x-deprecated': 'use fallback_climate_preset_key to specify a fallback climate preset instead.',
3247
+ },
3248
+ fallback_climate_preset_key: {
3249
+ default: null,
3250
+ minLength: 1,
3251
+ nullable: true,
3252
+ type: 'string',
3046
3253
  },
3047
3254
  fan_mode_setting: {
3255
+ deprecated: true,
3048
3256
  enum: ['auto', 'on'],
3049
3257
  type: 'string',
3258
+ 'x-deprecated': 'use current_climate_setting.fan_mode_setting instead.',
3050
3259
  },
3051
- is_climate_setting_schedule_active: { type: 'boolean' },
3052
3260
  is_cooling: { type: 'boolean' },
3053
3261
  is_fan_running: { type: 'boolean' },
3054
3262
  is_heating: { type: 'boolean' },
@@ -3472,6 +3680,34 @@ export default {
3472
3680
  required: ['service', 'status', 'description'],
3473
3681
  type: 'object',
3474
3682
  },
3683
+ thermostat_schedule: {
3684
+ properties: {
3685
+ climate_preset_key: { type: 'string' },
3686
+ created_at: { format: 'date-time', type: 'string' },
3687
+ device_id: { format: 'uuid', type: 'string' },
3688
+ ends_at: { format: 'date-time', type: 'string' },
3689
+ errors: {
3690
+ description: '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.',
3691
+ },
3692
+ max_override_period_minutes: {
3693
+ default: 0,
3694
+ minimum: 0,
3695
+ type: 'integer',
3696
+ },
3697
+ name: { type: 'string' },
3698
+ starts_at: { format: 'date-time', type: 'string' },
3699
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
3700
+ },
3701
+ required: [
3702
+ 'thermostat_schedule_id',
3703
+ 'device_id',
3704
+ 'climate_preset_key',
3705
+ 'starts_at',
3706
+ 'ends_at',
3707
+ 'created_at',
3708
+ ],
3709
+ type: 'object',
3710
+ },
3475
3711
  unmanaged_access_code: {
3476
3712
  properties: {
3477
3713
  access_code_id: {
@@ -7566,12 +7802,7 @@ export default {
7566
7802
  acs_user: {
7567
7803
  properties: {
7568
7804
  access_schedule: {
7569
- properties: {
7570
- ends_at: { format: 'date-time', type: 'string' },
7571
- starts_at: { format: 'date-time', type: 'string' },
7572
- },
7573
- required: ['starts_at', 'ends_at'],
7574
- type: 'object',
7805
+ $ref: '#/components/schemas/thermostat_schedule',
7575
7806
  },
7576
7807
  acs_system_id: { format: 'uuid', type: 'string' },
7577
7808
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7584,7 +7815,136 @@ export default {
7584
7815
  'x-deprecated': 'use email_address.',
7585
7816
  },
7586
7817
  email_address: { format: 'email', type: 'string' },
7587
- errors: { $ref: '#/components/schemas/access_code' },
7818
+ errors: {
7819
+ items: {
7820
+ description: 'Error associated with the `acs_user`.',
7821
+ oneOf: [
7822
+ {
7823
+ description: 'Indicates that the ACS user was deleted from the ACS system outside of Seam.',
7824
+ properties: {
7825
+ created_at: {
7826
+ description: 'Date and time at which Seam created the error.',
7827
+ format: 'date-time',
7828
+ type: 'string',
7829
+ },
7830
+ error_code: {
7831
+ enum: ['deleted_externally'],
7832
+ type: 'string',
7833
+ },
7834
+ message: {
7835
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7836
+ type: 'string',
7837
+ },
7838
+ },
7839
+ required: [
7840
+ 'created_at',
7841
+ 'message',
7842
+ 'error_code',
7843
+ ],
7844
+ type: 'object',
7845
+ },
7846
+ {
7847
+ description: 'Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.',
7848
+ properties: {
7849
+ created_at: {
7850
+ description: 'Date and time at which Seam created the error.',
7851
+ format: 'date-time',
7852
+ type: 'string',
7853
+ },
7854
+ error_code: {
7855
+ enum: [
7856
+ 'salto_ks_subscription_limit_exceeded',
7857
+ ],
7858
+ type: 'string',
7859
+ },
7860
+ message: {
7861
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7862
+ type: 'string',
7863
+ },
7864
+ },
7865
+ required: [
7866
+ 'created_at',
7867
+ 'message',
7868
+ 'error_code',
7869
+ ],
7870
+ type: 'object',
7871
+ },
7872
+ {
7873
+ description: "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.",
7874
+ properties: {
7875
+ created_at: {
7876
+ description: 'Date and time at which Seam created the error.',
7877
+ format: 'date-time',
7878
+ type: 'string',
7879
+ },
7880
+ message: {
7881
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7882
+ type: 'string',
7883
+ },
7884
+ warning_code: {
7885
+ enum: ['failed_to_create_on_acs_system'],
7886
+ type: 'string',
7887
+ },
7888
+ },
7889
+ required: [
7890
+ 'created_at',
7891
+ 'message',
7892
+ 'warning_code',
7893
+ ],
7894
+ type: 'object',
7895
+ },
7896
+ {
7897
+ description: "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.",
7898
+ properties: {
7899
+ created_at: {
7900
+ description: 'Date and time at which Seam created the error.',
7901
+ format: 'date-time',
7902
+ type: 'string',
7903
+ },
7904
+ message: {
7905
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7906
+ type: 'string',
7907
+ },
7908
+ warning_code: {
7909
+ enum: ['failed_to_update_on_acs_system'],
7910
+ type: 'string',
7911
+ },
7912
+ },
7913
+ required: [
7914
+ 'created_at',
7915
+ 'message',
7916
+ 'warning_code',
7917
+ ],
7918
+ type: 'object',
7919
+ },
7920
+ {
7921
+ description: "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.",
7922
+ properties: {
7923
+ created_at: {
7924
+ description: 'Date and time at which Seam created the error.',
7925
+ format: 'date-time',
7926
+ type: 'string',
7927
+ },
7928
+ message: {
7929
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7930
+ type: 'string',
7931
+ },
7932
+ warning_code: {
7933
+ enum: ['failed_to_delete_on_acs_system'],
7934
+ type: 'string',
7935
+ },
7936
+ },
7937
+ required: [
7938
+ 'created_at',
7939
+ 'message',
7940
+ 'warning_code',
7941
+ ],
7942
+ type: 'object',
7943
+ },
7944
+ ],
7945
+ },
7946
+ type: 'array',
7947
+ },
7588
7948
  external_type: {
7589
7949
  enum: [
7590
7950
  'pti_user',
@@ -7623,8 +7983,10 @@ export default {
7623
7983
  },
7624
7984
  warnings: {
7625
7985
  items: {
7986
+ description: 'Warning associated with the `acs_user`.',
7626
7987
  oneOf: [
7627
7988
  {
7989
+ description: 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
7628
7990
  properties: {
7629
7991
  created_at: {
7630
7992
  format: 'date-time',
@@ -7644,35 +8006,19 @@ export default {
7644
8006
  type: 'object',
7645
8007
  },
7646
8008
  {
8009
+ description: "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.",
7647
8010
  properties: {
7648
8011
  created_at: {
8012
+ description: 'Date and time at which Seam created the error.',
7649
8013
  format: 'date-time',
7650
8014
  type: 'string',
7651
8015
  },
7652
- message: { type: 'string' },
7653
- warning_code: {
7654
- enum: [
7655
- 'failed_to_update_acs_user_on_acs_system',
7656
- ],
7657
- type: 'string',
7658
- },
7659
- },
7660
- required: [
7661
- 'created_at',
7662
- 'message',
7663
- 'warning_code',
7664
- ],
7665
- type: 'object',
7666
- },
7667
- {
7668
- properties: {
7669
- created_at: {
7670
- format: 'date-time',
8016
+ message: {
8017
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7671
8018
  type: 'string',
7672
8019
  },
7673
- message: { type: 'string' },
7674
8020
  warning_code: {
7675
- enum: ['salto_ks_user_not_subscribed'],
8021
+ enum: ['failed_to_update_on_acs_system'],
7676
8022
  type: 'string',
7677
8023
  },
7678
8024
  },
@@ -7684,6 +8030,7 @@ export default {
7684
8030
  type: 'object',
7685
8031
  },
7686
8032
  {
8033
+ description: '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.',
7687
8034
  properties: {
7688
8035
  created_at: {
7689
8036
  format: 'date-time',
@@ -7691,7 +8038,7 @@ export default {
7691
8038
  },
7692
8039
  message: { type: 'string' },
7693
8040
  warning_code: {
7694
- enum: ['salto_site_user_suspended'],
8041
+ enum: ['salto_ks_user_not_subscribed'],
7695
8042
  type: 'string',
7696
8043
  },
7697
8044
  },
@@ -7716,6 +8063,7 @@ export default {
7716
8063
  'display_name',
7717
8064
  'is_suspended',
7718
8065
  'warnings',
8066
+ 'errors',
7719
8067
  'is_managed',
7720
8068
  ],
7721
8069
  type: 'object',
@@ -7773,15 +8121,7 @@ export default {
7773
8121
  items: {
7774
8122
  properties: {
7775
8123
  access_schedule: {
7776
- properties: {
7777
- ends_at: { format: 'date-time', type: 'string' },
7778
- starts_at: {
7779
- format: 'date-time',
7780
- type: 'string',
7781
- },
7782
- },
7783
- required: ['starts_at', 'ends_at'],
7784
- type: 'object',
8124
+ $ref: '#/components/schemas/thermostat_schedule',
7785
8125
  },
7786
8126
  acs_system_id: { format: 'uuid', type: 'string' },
7787
8127
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7794,78 +8134,76 @@ export default {
7794
8134
  'x-deprecated': 'use email_address.',
7795
8135
  },
7796
8136
  email_address: { format: 'email', type: 'string' },
7797
- errors: { $ref: '#/components/schemas/access_code' },
7798
- external_type: {
7799
- enum: [
7800
- 'pti_user',
7801
- 'brivo_user',
7802
- 'hid_credential_manager_user',
7803
- 'salto_site_user',
7804
- 'latch_user',
7805
- ],
7806
- type: 'string',
7807
- },
7808
- external_type_display_name: { type: 'string' },
7809
- full_name: { type: 'string' },
7810
- hid_acs_system_id: { format: 'uuid', type: 'string' },
7811
- is_latest_desired_state_synced_with_provider: {
7812
- type: 'boolean',
7813
- },
7814
- is_managed: { enum: [false], type: 'boolean' },
7815
- is_suspended: { type: 'boolean' },
7816
- latest_desired_state_synced_with_provider_at: {
7817
- format: 'date-time',
7818
- type: 'string',
7819
- },
7820
- phone_number: { type: 'string' },
7821
- user_identity_email_address: {
7822
- nullable: true,
7823
- type: 'string',
7824
- },
7825
- user_identity_full_name: {
7826
- nullable: true,
7827
- type: 'string',
7828
- },
7829
- user_identity_id: { type: 'string' },
7830
- user_identity_phone_number: {
7831
- nullable: true,
7832
- type: 'string',
7833
- },
7834
- warnings: {
8137
+ errors: {
7835
8138
  items: {
8139
+ description: 'Error associated with the `acs_user`.',
7836
8140
  oneOf: [
7837
8141
  {
8142
+ description: 'Indicates that the ACS user was deleted from the ACS system outside of Seam.',
7838
8143
  properties: {
7839
8144
  created_at: {
8145
+ description: 'Date and time at which Seam created the error.',
7840
8146
  format: 'date-time',
7841
8147
  type: 'string',
7842
8148
  },
7843
- message: { type: 'string' },
7844
- warning_code: {
7845
- enum: ['being_deleted'],
8149
+ error_code: {
8150
+ enum: ['deleted_externally'],
8151
+ type: 'string',
8152
+ },
8153
+ message: {
8154
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7846
8155
  type: 'string',
7847
8156
  },
7848
8157
  },
7849
8158
  required: [
7850
8159
  'created_at',
7851
8160
  'message',
7852
- 'warning_code',
8161
+ 'error_code',
7853
8162
  ],
7854
8163
  type: 'object',
7855
8164
  },
7856
8165
  {
8166
+ description: 'Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.',
7857
8167
  properties: {
7858
8168
  created_at: {
8169
+ description: 'Date and time at which Seam created the error.',
7859
8170
  format: 'date-time',
7860
8171
  type: 'string',
7861
8172
  },
7862
- message: { type: 'string' },
7863
- warning_code: {
8173
+ error_code: {
7864
8174
  enum: [
7865
- 'failed_to_update_acs_user_on_acs_system',
8175
+ 'salto_ks_subscription_limit_exceeded',
7866
8176
  ],
7867
8177
  type: 'string',
7868
8178
  },
8179
+ message: {
8180
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8181
+ type: 'string',
8182
+ },
8183
+ },
8184
+ required: [
8185
+ 'created_at',
8186
+ 'message',
8187
+ 'error_code',
8188
+ ],
8189
+ type: 'object',
8190
+ },
8191
+ {
8192
+ description: "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.",
8193
+ properties: {
8194
+ created_at: {
8195
+ description: 'Date and time at which Seam created the error.',
8196
+ format: 'date-time',
8197
+ type: 'string',
8198
+ },
8199
+ message: {
8200
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8201
+ type: 'string',
8202
+ },
8203
+ warning_code: {
8204
+ enum: ['failed_to_create_on_acs_system'],
8205
+ type: 'string',
8206
+ },
7869
8207
  },
7870
8208
  required: [
7871
8209
  'created_at',
@@ -7875,14 +8213,19 @@ export default {
7875
8213
  type: 'object',
7876
8214
  },
7877
8215
  {
8216
+ description: "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.",
7878
8217
  properties: {
7879
8218
  created_at: {
8219
+ description: 'Date and time at which Seam created the error.',
7880
8220
  format: 'date-time',
7881
8221
  type: 'string',
7882
8222
  },
7883
- message: { type: 'string' },
8223
+ message: {
8224
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8225
+ type: 'string',
8226
+ },
7884
8227
  warning_code: {
7885
- enum: ['salto_ks_user_not_subscribed'],
8228
+ enum: ['failed_to_update_on_acs_system'],
7886
8229
  type: 'string',
7887
8230
  },
7888
8231
  },
@@ -7894,14 +8237,19 @@ export default {
7894
8237
  type: 'object',
7895
8238
  },
7896
8239
  {
8240
+ description: "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.",
7897
8241
  properties: {
7898
8242
  created_at: {
8243
+ description: 'Date and time at which Seam created the error.',
7899
8244
  format: 'date-time',
7900
8245
  type: 'string',
7901
8246
  },
7902
- message: { type: 'string' },
8247
+ message: {
8248
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8249
+ type: 'string',
8250
+ },
7903
8251
  warning_code: {
7904
- enum: ['salto_site_user_suspended'],
8252
+ enum: ['failed_to_delete_on_acs_system'],
7905
8253
  type: 'string',
7906
8254
  },
7907
8255
  },
@@ -7916,29 +8264,138 @@ export default {
7916
8264
  },
7917
8265
  type: 'array',
7918
8266
  },
7919
- workspace_id: { format: 'uuid', type: 'string' },
7920
- },
7921
- required: [
7922
- 'acs_user_id',
7923
- 'acs_system_id',
7924
- 'workspace_id',
7925
- 'created_at',
7926
- 'display_name',
7927
- 'is_suspended',
7928
- 'warnings',
7929
- 'is_managed',
7930
- ],
7931
- type: 'object',
7932
- },
7933
- type: 'array',
7934
- },
7935
- ok: { type: 'boolean' },
7936
- },
7937
- required: ['acs_users', 'ok'],
7938
- type: 'object',
7939
- },
7940
- },
7941
- },
8267
+ external_type: {
8268
+ enum: [
8269
+ 'pti_user',
8270
+ 'brivo_user',
8271
+ 'hid_credential_manager_user',
8272
+ 'salto_site_user',
8273
+ 'latch_user',
8274
+ ],
8275
+ type: 'string',
8276
+ },
8277
+ external_type_display_name: { type: 'string' },
8278
+ full_name: { type: 'string' },
8279
+ hid_acs_system_id: { format: 'uuid', type: 'string' },
8280
+ is_latest_desired_state_synced_with_provider: {
8281
+ type: 'boolean',
8282
+ },
8283
+ is_managed: { enum: [false], type: 'boolean' },
8284
+ is_suspended: { type: 'boolean' },
8285
+ latest_desired_state_synced_with_provider_at: {
8286
+ format: 'date-time',
8287
+ type: 'string',
8288
+ },
8289
+ phone_number: { type: 'string' },
8290
+ user_identity_email_address: {
8291
+ nullable: true,
8292
+ type: 'string',
8293
+ },
8294
+ user_identity_full_name: {
8295
+ nullable: true,
8296
+ type: 'string',
8297
+ },
8298
+ user_identity_id: { type: 'string' },
8299
+ user_identity_phone_number: {
8300
+ nullable: true,
8301
+ type: 'string',
8302
+ },
8303
+ warnings: {
8304
+ items: {
8305
+ description: 'Warning associated with the `acs_user`.',
8306
+ oneOf: [
8307
+ {
8308
+ description: 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
8309
+ properties: {
8310
+ created_at: {
8311
+ format: 'date-time',
8312
+ type: 'string',
8313
+ },
8314
+ message: { type: 'string' },
8315
+ warning_code: {
8316
+ enum: ['being_deleted'],
8317
+ type: 'string',
8318
+ },
8319
+ },
8320
+ required: [
8321
+ 'created_at',
8322
+ 'message',
8323
+ 'warning_code',
8324
+ ],
8325
+ type: 'object',
8326
+ },
8327
+ {
8328
+ description: "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.",
8329
+ properties: {
8330
+ created_at: {
8331
+ description: 'Date and time at which Seam created the error.',
8332
+ format: 'date-time',
8333
+ type: 'string',
8334
+ },
8335
+ message: {
8336
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8337
+ type: 'string',
8338
+ },
8339
+ warning_code: {
8340
+ enum: ['failed_to_update_on_acs_system'],
8341
+ type: 'string',
8342
+ },
8343
+ },
8344
+ required: [
8345
+ 'created_at',
8346
+ 'message',
8347
+ 'warning_code',
8348
+ ],
8349
+ type: 'object',
8350
+ },
8351
+ {
8352
+ description: '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.',
8353
+ properties: {
8354
+ created_at: {
8355
+ format: 'date-time',
8356
+ type: 'string',
8357
+ },
8358
+ message: { type: 'string' },
8359
+ warning_code: {
8360
+ enum: ['salto_ks_user_not_subscribed'],
8361
+ type: 'string',
8362
+ },
8363
+ },
8364
+ required: [
8365
+ 'created_at',
8366
+ 'message',
8367
+ 'warning_code',
8368
+ ],
8369
+ type: 'object',
8370
+ },
8371
+ ],
8372
+ },
8373
+ type: 'array',
8374
+ },
8375
+ workspace_id: { format: 'uuid', type: 'string' },
8376
+ },
8377
+ required: [
8378
+ 'acs_user_id',
8379
+ 'acs_system_id',
8380
+ 'workspace_id',
8381
+ 'created_at',
8382
+ 'display_name',
8383
+ 'is_suspended',
8384
+ 'warnings',
8385
+ 'errors',
8386
+ 'is_managed',
8387
+ ],
8388
+ type: 'object',
8389
+ },
8390
+ type: 'array',
8391
+ },
8392
+ ok: { type: 'boolean' },
8393
+ },
8394
+ required: ['acs_users', 'ok'],
8395
+ type: 'object',
8396
+ },
8397
+ },
8398
+ },
7942
8399
  description: 'OK',
7943
8400
  },
7944
8401
  400: { description: 'Bad Request' },
@@ -11861,50 +12318,18 @@ export default {
11861
12318
  'x-fern-sdk-return-value': 'phone',
11862
12319
  },
11863
12320
  },
11864
- '/thermostats/climate_setting_schedules/create': {
12321
+ '/thermostats/activate_climate_preset': {
11865
12322
  post: {
11866
- operationId: 'thermostatsClimateSettingSchedulesCreatePost',
12323
+ operationId: 'thermostatsActivateClimatePresetPost',
11867
12324
  requestBody: {
11868
12325
  content: {
11869
12326
  'application/json': {
11870
12327
  schema: {
11871
12328
  properties: {
11872
- cooling_set_point_celsius: {
11873
- format: 'float',
11874
- type: 'number',
11875
- },
11876
- cooling_set_point_fahrenheit: {
11877
- format: 'float',
11878
- type: 'number',
11879
- },
11880
- device_id: { type: 'string' },
11881
- heating_set_point_celsius: {
11882
- format: 'float',
11883
- type: 'number',
11884
- },
11885
- heating_set_point_fahrenheit: {
11886
- format: 'float',
11887
- type: 'number',
11888
- },
11889
- hvac_mode_setting: {
11890
- enum: ['off', 'heat', 'cool', 'heat_cool'],
11891
- type: 'string',
11892
- },
11893
- manual_override_allowed: { type: 'boolean' },
11894
- name: { type: 'string' },
11895
- schedule_ends_at: { type: 'string' },
11896
- schedule_starts_at: { type: 'string' },
11897
- schedule_type: {
11898
- default: 'time_bound',
11899
- enum: ['time_bound'],
11900
- type: 'string',
11901
- },
12329
+ climate_preset_key: { type: 'string' },
12330
+ device_id: { format: 'uuid', type: 'string' },
11902
12331
  },
11903
- required: [
11904
- 'device_id',
11905
- 'schedule_starts_at',
11906
- 'schedule_ends_at',
11907
- ],
12332
+ required: ['device_id', 'climate_preset_key'],
11908
12333
  type: 'object',
11909
12334
  },
11910
12335
  },
@@ -11916,12 +12341,12 @@ export default {
11916
12341
  'application/json': {
11917
12342
  schema: {
11918
12343
  properties: {
11919
- climate_setting_schedule: {
11920
- $ref: '#/components/schemas/climate_setting_schedule',
12344
+ action_attempt: {
12345
+ $ref: '#/components/schemas/action_attempt',
11921
12346
  },
11922
12347
  ok: { type: 'boolean' },
11923
12348
  },
11924
- required: ['climate_setting_schedule', 'ok'],
12349
+ required: ['action_attempt', 'ok'],
11925
12350
  type: 'object',
11926
12351
  },
11927
12352
  },
@@ -11932,32 +12357,37 @@ export default {
11932
12357
  401: { description: 'Unauthorized' },
11933
12358
  },
11934
12359
  security: [
11935
- { client_session: [] },
11936
12360
  { pat_with_workspace: [] },
11937
12361
  { console_session: [] },
11938
12362
  { api_key: [] },
11939
12363
  ],
11940
- summary: '/thermostats/climate_setting_schedules/create',
12364
+ summary: '/thermostats/activate_climate_preset',
11941
12365
  tags: ['/thermostats'],
11942
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
11943
- 'x-fern-sdk-method-name': 'create',
11944
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12366
+ 'x-fern-sdk-group-name': ['thermostats'],
12367
+ 'x-fern-sdk-method-name': 'activate_climate_preset',
12368
+ 'x-fern-sdk-return-value': 'action_attempt',
11945
12369
  },
11946
12370
  },
11947
- '/thermostats/climate_setting_schedules/delete': {
12371
+ '/thermostats/cool': {
11948
12372
  post: {
11949
- operationId: 'thermostatsClimateSettingSchedulesDeletePost',
12373
+ operationId: 'thermostatsCoolPost',
11950
12374
  requestBody: {
11951
12375
  content: {
11952
12376
  'application/json': {
11953
12377
  schema: {
11954
12378
  properties: {
11955
- climate_setting_schedule_id: {
11956
- format: 'uuid',
11957
- type: 'string',
12379
+ cooling_set_point_celsius: {
12380
+ format: 'float',
12381
+ type: 'number',
12382
+ },
12383
+ cooling_set_point_fahrenheit: {
12384
+ format: 'float',
12385
+ type: 'number',
11958
12386
  },
12387
+ device_id: { format: 'uuid', type: 'string' },
12388
+ sync: { default: false, type: 'boolean' },
11959
12389
  },
11960
- required: ['climate_setting_schedule_id'],
12390
+ required: ['device_id'],
11961
12391
  type: 'object',
11962
12392
  },
11963
12393
  },
@@ -11968,8 +12398,13 @@ export default {
11968
12398
  content: {
11969
12399
  'application/json': {
11970
12400
  schema: {
11971
- properties: { ok: { type: 'boolean' } },
11972
- required: ['ok'],
12401
+ properties: {
12402
+ action_attempt: {
12403
+ $ref: '#/components/schemas/action_attempt',
12404
+ },
12405
+ ok: { type: 'boolean' },
12406
+ },
12407
+ required: ['action_attempt', 'ok'],
11973
12408
  type: 'object',
11974
12409
  },
11975
12410
  },
@@ -11985,24 +12420,53 @@ export default {
11985
12420
  { console_session: [] },
11986
12421
  { api_key: [] },
11987
12422
  ],
11988
- summary: '/thermostats/climate_setting_schedules/delete',
12423
+ summary: '/thermostats/cool',
11989
12424
  tags: ['/thermostats'],
11990
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
11991
- 'x-fern-sdk-method-name': 'delete',
12425
+ 'x-fern-sdk-group-name': ['thermostats'],
12426
+ 'x-fern-sdk-method-name': 'cool',
12427
+ 'x-fern-sdk-return-value': 'action_attempt',
11992
12428
  },
11993
- put: {
11994
- operationId: 'thermostatsClimateSettingSchedulesDeletePut',
12429
+ },
12430
+ '/thermostats/create_climate_preset': {
12431
+ post: {
12432
+ operationId: 'thermostatsCreateClimatePresetPost',
11995
12433
  requestBody: {
11996
12434
  content: {
11997
12435
  'application/json': {
11998
12436
  schema: {
11999
12437
  properties: {
12000
- climate_setting_schedule_id: {
12001
- format: 'uuid',
12438
+ climate_preset_key: { type: 'string' },
12439
+ cooling_set_point_celsius: {
12440
+ format: 'float',
12441
+ type: 'number',
12442
+ },
12443
+ cooling_set_point_fahrenheit: {
12444
+ format: 'float',
12445
+ type: 'number',
12446
+ },
12447
+ device_id: { format: 'uuid', type: 'string' },
12448
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
12449
+ heating_set_point_celsius: {
12450
+ format: 'float',
12451
+ type: 'number',
12452
+ },
12453
+ heating_set_point_fahrenheit: {
12454
+ format: 'float',
12455
+ type: 'number',
12456
+ },
12457
+ hvac_mode_setting: {
12458
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
12002
12459
  type: 'string',
12003
12460
  },
12461
+ manual_override_allowed: { type: 'boolean' },
12462
+ name: { nullable: true, type: 'string' },
12004
12463
  },
12005
- required: ['climate_setting_schedule_id'],
12464
+ required: [
12465
+ 'device_id',
12466
+ 'climate_preset_key',
12467
+ 'name',
12468
+ 'manual_override_allowed',
12469
+ ],
12006
12470
  type: 'object',
12007
12471
  },
12008
12472
  },
@@ -12013,8 +12477,53 @@ export default {
12013
12477
  content: {
12014
12478
  'application/json': {
12015
12479
  schema: {
12016
- properties: { ok: { type: 'boolean' } },
12017
- required: ['ok'],
12480
+ properties: {
12481
+ climate_preset: {
12482
+ properties: {
12483
+ can_delete: { type: 'boolean' },
12484
+ can_edit: { type: 'boolean' },
12485
+ climate_preset_key: { type: 'string' },
12486
+ cooling_set_point_celsius: {
12487
+ format: 'float',
12488
+ type: 'number',
12489
+ },
12490
+ cooling_set_point_fahrenheit: {
12491
+ format: 'float',
12492
+ type: 'number',
12493
+ },
12494
+ display_name: { type: 'string' },
12495
+ fan_mode_setting: {
12496
+ enum: ['auto', 'on'],
12497
+ type: 'string',
12498
+ },
12499
+ heating_set_point_celsius: {
12500
+ format: 'float',
12501
+ type: 'number',
12502
+ },
12503
+ heating_set_point_fahrenheit: {
12504
+ format: 'float',
12505
+ type: 'number',
12506
+ },
12507
+ hvac_mode_setting: {
12508
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
12509
+ type: 'string',
12510
+ },
12511
+ manual_override_allowed: { type: 'boolean' },
12512
+ name: { nullable: true, type: 'string' },
12513
+ },
12514
+ required: [
12515
+ 'climate_preset_key',
12516
+ 'can_edit',
12517
+ 'can_delete',
12518
+ 'name',
12519
+ 'display_name',
12520
+ 'manual_override_allowed',
12521
+ ],
12522
+ type: 'object',
12523
+ },
12524
+ ok: { type: 'boolean' },
12525
+ },
12526
+ required: ['climate_preset', 'ok'],
12018
12527
  type: 'object',
12019
12528
  },
12020
12529
  },
@@ -12025,30 +12534,28 @@ export default {
12025
12534
  401: { description: 'Unauthorized' },
12026
12535
  },
12027
12536
  security: [
12028
- { client_session: [] },
12029
12537
  { pat_with_workspace: [] },
12030
12538
  { console_session: [] },
12031
12539
  { api_key: [] },
12032
12540
  ],
12033
- summary: '/thermostats/climate_setting_schedules/delete',
12541
+ summary: '/thermostats/create_climate_preset',
12034
12542
  tags: ['/thermostats'],
12035
- 'x-fern-ignore': true,
12543
+ 'x-fern-sdk-group-name': ['thermostats'],
12544
+ 'x-fern-sdk-method-name': 'create_climate_preset',
12036
12545
  },
12037
12546
  },
12038
- '/thermostats/climate_setting_schedules/get': {
12547
+ '/thermostats/delete_climate_preset': {
12039
12548
  post: {
12040
- operationId: 'thermostatsClimateSettingSchedulesGetPost',
12549
+ operationId: 'thermostatsDeleteClimatePresetPost',
12041
12550
  requestBody: {
12042
12551
  content: {
12043
12552
  'application/json': {
12044
12553
  schema: {
12045
12554
  properties: {
12046
- climate_setting_schedule_id: {
12047
- format: 'uuid',
12048
- type: 'string',
12049
- },
12555
+ climate_preset_key: { type: 'string' },
12050
12556
  device_id: { format: 'uuid', type: 'string' },
12051
12557
  },
12558
+ required: ['device_id', 'climate_preset_key'],
12052
12559
  type: 'object',
12053
12560
  },
12054
12561
  },
@@ -12059,13 +12566,8 @@ export default {
12059
12566
  content: {
12060
12567
  'application/json': {
12061
12568
  schema: {
12062
- properties: {
12063
- climate_setting_schedule: {
12064
- $ref: '#/components/schemas/climate_setting_schedule',
12065
- },
12066
- ok: { type: 'boolean' },
12067
- },
12068
- required: ['climate_setting_schedule', 'ok'],
12569
+ properties: { ok: { type: 'boolean' } },
12570
+ required: ['ok'],
12069
12571
  type: 'object',
12070
12572
  },
12071
12573
  },
@@ -12076,369 +12578,17 @@ export default {
12076
12578
  401: { description: 'Unauthorized' },
12077
12579
  },
12078
12580
  security: [
12079
- { client_session: [] },
12080
12581
  { pat_with_workspace: [] },
12081
12582
  { console_session: [] },
12082
12583
  { api_key: [] },
12083
12584
  ],
12084
- summary: '/thermostats/climate_setting_schedules/get',
12585
+ summary: '/thermostats/delete_climate_preset',
12085
12586
  tags: ['/thermostats'],
12086
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12087
- 'x-fern-sdk-method-name': 'get',
12088
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12587
+ 'x-fern-sdk-group-name': ['thermostats'],
12588
+ 'x-fern-sdk-method-name': 'delete_climate_preset',
12089
12589
  },
12090
12590
  },
12091
- '/thermostats/climate_setting_schedules/list': {
12092
- post: {
12093
- operationId: 'thermostatsClimateSettingSchedulesListPost',
12094
- requestBody: {
12095
- content: {
12096
- 'application/json': {
12097
- schema: {
12098
- properties: {
12099
- device_id: { format: 'uuid', type: 'string' },
12100
- user_identifier_key: { type: 'string' },
12101
- },
12102
- required: ['device_id'],
12103
- type: 'object',
12104
- },
12105
- },
12106
- },
12107
- },
12108
- responses: {
12109
- 200: {
12110
- content: {
12111
- 'application/json': {
12112
- schema: {
12113
- properties: {
12114
- climate_setting_schedules: {
12115
- items: {
12116
- $ref: '#/components/schemas/climate_setting_schedule',
12117
- },
12118
- type: 'array',
12119
- },
12120
- ok: { type: 'boolean' },
12121
- },
12122
- required: ['climate_setting_schedules', 'ok'],
12123
- type: 'object',
12124
- },
12125
- },
12126
- },
12127
- description: 'OK',
12128
- },
12129
- 400: { description: 'Bad Request' },
12130
- 401: { description: 'Unauthorized' },
12131
- },
12132
- security: [
12133
- { api_key: [] },
12134
- { client_session: [] },
12135
- { pat_with_workspace: [] },
12136
- { console_session: [] },
12137
- ],
12138
- summary: '/thermostats/climate_setting_schedules/list',
12139
- tags: ['/thermostats'],
12140
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12141
- 'x-fern-sdk-method-name': 'list',
12142
- 'x-fern-sdk-return-value': 'climate_setting_schedules',
12143
- },
12144
- },
12145
- '/thermostats/climate_setting_schedules/update': {
12146
- patch: {
12147
- operationId: 'thermostatsClimateSettingSchedulesUpdatePatch',
12148
- requestBody: {
12149
- content: {
12150
- 'application/json': {
12151
- schema: {
12152
- properties: {
12153
- climate_setting_schedule_id: {
12154
- format: 'uuid',
12155
- type: 'string',
12156
- },
12157
- cooling_set_point_celsius: {
12158
- format: 'float',
12159
- type: 'number',
12160
- },
12161
- cooling_set_point_fahrenheit: {
12162
- format: 'float',
12163
- type: 'number',
12164
- },
12165
- heating_set_point_celsius: {
12166
- format: 'float',
12167
- type: 'number',
12168
- },
12169
- heating_set_point_fahrenheit: {
12170
- format: 'float',
12171
- type: 'number',
12172
- },
12173
- hvac_mode_setting: {
12174
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12175
- type: 'string',
12176
- },
12177
- manual_override_allowed: { type: 'boolean' },
12178
- name: { type: 'string' },
12179
- schedule_ends_at: { type: 'string' },
12180
- schedule_starts_at: { type: 'string' },
12181
- schedule_type: {
12182
- default: 'time_bound',
12183
- enum: ['time_bound'],
12184
- type: 'string',
12185
- },
12186
- },
12187
- required: ['climate_setting_schedule_id'],
12188
- type: 'object',
12189
- },
12190
- },
12191
- },
12192
- },
12193
- responses: {
12194
- 200: {
12195
- content: {
12196
- 'application/json': {
12197
- schema: {
12198
- properties: {
12199
- climate_setting_schedule: {
12200
- $ref: '#/components/schemas/climate_setting_schedule',
12201
- },
12202
- ok: { type: 'boolean' },
12203
- },
12204
- required: ['climate_setting_schedule', 'ok'],
12205
- type: 'object',
12206
- },
12207
- },
12208
- },
12209
- description: 'OK',
12210
- },
12211
- 400: { description: 'Bad Request' },
12212
- 401: { description: 'Unauthorized' },
12213
- },
12214
- security: [
12215
- { client_session: [] },
12216
- { pat_with_workspace: [] },
12217
- { console_session: [] },
12218
- { api_key: [] },
12219
- ],
12220
- summary: '/thermostats/climate_setting_schedules/update',
12221
- tags: ['/thermostats'],
12222
- 'x-fern-ignore': true,
12223
- },
12224
- post: {
12225
- operationId: 'thermostatsClimateSettingSchedulesUpdatePost',
12226
- requestBody: {
12227
- content: {
12228
- 'application/json': {
12229
- schema: {
12230
- properties: {
12231
- climate_setting_schedule_id: {
12232
- format: 'uuid',
12233
- type: 'string',
12234
- },
12235
- cooling_set_point_celsius: {
12236
- format: 'float',
12237
- type: 'number',
12238
- },
12239
- cooling_set_point_fahrenheit: {
12240
- format: 'float',
12241
- type: 'number',
12242
- },
12243
- heating_set_point_celsius: {
12244
- format: 'float',
12245
- type: 'number',
12246
- },
12247
- heating_set_point_fahrenheit: {
12248
- format: 'float',
12249
- type: 'number',
12250
- },
12251
- hvac_mode_setting: {
12252
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12253
- type: 'string',
12254
- },
12255
- manual_override_allowed: { type: 'boolean' },
12256
- name: { type: 'string' },
12257
- schedule_ends_at: { type: 'string' },
12258
- schedule_starts_at: { type: 'string' },
12259
- schedule_type: {
12260
- default: 'time_bound',
12261
- enum: ['time_bound'],
12262
- type: 'string',
12263
- },
12264
- },
12265
- required: ['climate_setting_schedule_id'],
12266
- type: 'object',
12267
- },
12268
- },
12269
- },
12270
- },
12271
- responses: {
12272
- 200: {
12273
- content: {
12274
- 'application/json': {
12275
- schema: {
12276
- properties: {
12277
- climate_setting_schedule: {
12278
- $ref: '#/components/schemas/climate_setting_schedule',
12279
- },
12280
- ok: { type: 'boolean' },
12281
- },
12282
- required: ['climate_setting_schedule', 'ok'],
12283
- type: 'object',
12284
- },
12285
- },
12286
- },
12287
- description: 'OK',
12288
- },
12289
- 400: { description: 'Bad Request' },
12290
- 401: { description: 'Unauthorized' },
12291
- },
12292
- security: [
12293
- { client_session: [] },
12294
- { pat_with_workspace: [] },
12295
- { console_session: [] },
12296
- { api_key: [] },
12297
- ],
12298
- summary: '/thermostats/climate_setting_schedules/update',
12299
- tags: ['/thermostats'],
12300
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12301
- 'x-fern-sdk-method-name': 'update',
12302
- },
12303
- put: {
12304
- operationId: 'thermostatsClimateSettingSchedulesUpdatePut',
12305
- requestBody: {
12306
- content: {
12307
- 'application/json': {
12308
- schema: {
12309
- properties: {
12310
- climate_setting_schedule_id: {
12311
- format: 'uuid',
12312
- type: 'string',
12313
- },
12314
- cooling_set_point_celsius: {
12315
- format: 'float',
12316
- type: 'number',
12317
- },
12318
- cooling_set_point_fahrenheit: {
12319
- format: 'float',
12320
- type: 'number',
12321
- },
12322
- heating_set_point_celsius: {
12323
- format: 'float',
12324
- type: 'number',
12325
- },
12326
- heating_set_point_fahrenheit: {
12327
- format: 'float',
12328
- type: 'number',
12329
- },
12330
- hvac_mode_setting: {
12331
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12332
- type: 'string',
12333
- },
12334
- manual_override_allowed: { type: 'boolean' },
12335
- name: { type: 'string' },
12336
- schedule_ends_at: { type: 'string' },
12337
- schedule_starts_at: { type: 'string' },
12338
- schedule_type: {
12339
- default: 'time_bound',
12340
- enum: ['time_bound'],
12341
- type: 'string',
12342
- },
12343
- },
12344
- required: ['climate_setting_schedule_id'],
12345
- type: 'object',
12346
- },
12347
- },
12348
- },
12349
- },
12350
- responses: {
12351
- 200: {
12352
- content: {
12353
- 'application/json': {
12354
- schema: {
12355
- properties: {
12356
- climate_setting_schedule: {
12357
- $ref: '#/components/schemas/climate_setting_schedule',
12358
- },
12359
- ok: { type: 'boolean' },
12360
- },
12361
- required: ['climate_setting_schedule', 'ok'],
12362
- type: 'object',
12363
- },
12364
- },
12365
- },
12366
- description: 'OK',
12367
- },
12368
- 400: { description: 'Bad Request' },
12369
- 401: { description: 'Unauthorized' },
12370
- },
12371
- security: [
12372
- { client_session: [] },
12373
- { pat_with_workspace: [] },
12374
- { console_session: [] },
12375
- { api_key: [] },
12376
- ],
12377
- summary: '/thermostats/climate_setting_schedules/update',
12378
- tags: ['/thermostats'],
12379
- 'x-fern-ignore': true,
12380
- },
12381
- },
12382
- '/thermostats/cool': {
12383
- post: {
12384
- operationId: 'thermostatsCoolPost',
12385
- requestBody: {
12386
- content: {
12387
- 'application/json': {
12388
- schema: {
12389
- properties: {
12390
- cooling_set_point_celsius: {
12391
- format: 'float',
12392
- type: 'number',
12393
- },
12394
- cooling_set_point_fahrenheit: {
12395
- format: 'float',
12396
- type: 'number',
12397
- },
12398
- device_id: { format: 'uuid', type: 'string' },
12399
- sync: { default: false, type: 'boolean' },
12400
- },
12401
- required: ['device_id'],
12402
- type: 'object',
12403
- },
12404
- },
12405
- },
12406
- },
12407
- responses: {
12408
- 200: {
12409
- content: {
12410
- 'application/json': {
12411
- schema: {
12412
- properties: {
12413
- action_attempt: {
12414
- $ref: '#/components/schemas/action_attempt',
12415
- },
12416
- ok: { type: 'boolean' },
12417
- },
12418
- required: ['action_attempt', 'ok'],
12419
- type: 'object',
12420
- },
12421
- },
12422
- },
12423
- description: 'OK',
12424
- },
12425
- 400: { description: 'Bad Request' },
12426
- 401: { description: 'Unauthorized' },
12427
- },
12428
- security: [
12429
- { client_session: [] },
12430
- { pat_with_workspace: [] },
12431
- { console_session: [] },
12432
- { api_key: [] },
12433
- ],
12434
- summary: '/thermostats/cool',
12435
- tags: ['/thermostats'],
12436
- 'x-fern-sdk-group-name': ['thermostats'],
12437
- 'x-fern-sdk-method-name': 'cool',
12438
- 'x-fern-sdk-return-value': 'action_attempt',
12439
- },
12440
- },
12441
- '/thermostats/get': {
12591
+ '/thermostats/get': {
12442
12592
  post: {
12443
12593
  operationId: 'thermostatsGetPost',
12444
12594
  requestBody: {
@@ -12836,12 +12986,275 @@ export default {
12836
12986
  schema: {
12837
12987
  properties: {
12838
12988
  ok: { type: 'boolean' },
12839
- thermostats: {
12840
- items: { $ref: '#/components/schemas/device' },
12989
+ thermostats: {
12990
+ items: { $ref: '#/components/schemas/device' },
12991
+ type: 'array',
12992
+ },
12993
+ },
12994
+ required: ['thermostats', 'ok'],
12995
+ type: 'object',
12996
+ },
12997
+ },
12998
+ },
12999
+ description: 'OK',
13000
+ },
13001
+ 400: { description: 'Bad Request' },
13002
+ 401: { description: 'Unauthorized' },
13003
+ },
13004
+ security: [
13005
+ { api_key: [] },
13006
+ { pat_with_workspace: [] },
13007
+ { console_session: [] },
13008
+ { client_session: [] },
13009
+ ],
13010
+ summary: '/thermostats/list',
13011
+ tags: ['/thermostats'],
13012
+ 'x-fern-sdk-group-name': ['thermostats'],
13013
+ 'x-fern-sdk-method-name': 'list',
13014
+ 'x-fern-sdk-return-value': 'thermostats',
13015
+ },
13016
+ },
13017
+ '/thermostats/off': {
13018
+ post: {
13019
+ operationId: 'thermostatsOffPost',
13020
+ requestBody: {
13021
+ content: {
13022
+ 'application/json': {
13023
+ schema: {
13024
+ properties: {
13025
+ device_id: { format: 'uuid', type: 'string' },
13026
+ sync: { default: false, type: 'boolean' },
13027
+ },
13028
+ required: ['device_id'],
13029
+ type: 'object',
13030
+ },
13031
+ },
13032
+ },
13033
+ },
13034
+ responses: {
13035
+ 200: {
13036
+ content: {
13037
+ 'application/json': {
13038
+ schema: {
13039
+ properties: {
13040
+ action_attempt: {
13041
+ $ref: '#/components/schemas/action_attempt',
13042
+ },
13043
+ ok: { type: 'boolean' },
13044
+ },
13045
+ required: ['action_attempt', 'ok'],
13046
+ type: 'object',
13047
+ },
13048
+ },
13049
+ },
13050
+ description: 'OK',
13051
+ },
13052
+ 400: { description: 'Bad Request' },
13053
+ 401: { description: 'Unauthorized' },
13054
+ },
13055
+ security: [
13056
+ { client_session: [] },
13057
+ { pat_with_workspace: [] },
13058
+ { console_session: [] },
13059
+ { api_key: [] },
13060
+ ],
13061
+ summary: '/thermostats/off',
13062
+ tags: ['/thermostats'],
13063
+ 'x-fern-sdk-group-name': ['thermostats'],
13064
+ 'x-fern-sdk-method-name': 'off',
13065
+ 'x-fern-sdk-return-value': 'action_attempt',
13066
+ },
13067
+ },
13068
+ '/thermostats/schedules/create': {
13069
+ post: {
13070
+ operationId: 'thermostatsSchedulesCreatePost',
13071
+ requestBody: {
13072
+ content: {
13073
+ 'application/json': {
13074
+ schema: {
13075
+ properties: {
13076
+ climate_preset_key: { type: 'string' },
13077
+ device_id: { type: 'string' },
13078
+ ends_at: { type: 'string' },
13079
+ max_override_period_minutes: {
13080
+ default: 0,
13081
+ minimum: 0,
13082
+ type: 'integer',
13083
+ },
13084
+ name: { type: 'string' },
13085
+ starts_at: { type: 'string' },
13086
+ },
13087
+ required: [
13088
+ 'device_id',
13089
+ 'climate_preset_key',
13090
+ 'starts_at',
13091
+ 'ends_at',
13092
+ ],
13093
+ type: 'object',
13094
+ },
13095
+ },
13096
+ },
13097
+ },
13098
+ responses: {
13099
+ 200: {
13100
+ content: {
13101
+ 'application/json': {
13102
+ schema: {
13103
+ properties: {
13104
+ ok: { type: 'boolean' },
13105
+ thermostat_schedule: {
13106
+ $ref: '#/components/schemas/thermostat_schedule',
13107
+ },
13108
+ },
13109
+ required: ['thermostat_schedule', 'ok'],
13110
+ type: 'object',
13111
+ },
13112
+ },
13113
+ },
13114
+ description: 'OK',
13115
+ },
13116
+ 400: { description: 'Bad Request' },
13117
+ 401: { description: 'Unauthorized' },
13118
+ },
13119
+ security: [
13120
+ { client_session: [] },
13121
+ { pat_with_workspace: [] },
13122
+ { console_session: [] },
13123
+ { api_key: [] },
13124
+ ],
13125
+ summary: '/thermostats/schedules/create',
13126
+ tags: ['/thermostats'],
13127
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13128
+ 'x-fern-sdk-method-name': 'create',
13129
+ 'x-fern-sdk-return-value': 'thermostat_schedule',
13130
+ },
13131
+ },
13132
+ '/thermostats/schedules/delete': {
13133
+ post: {
13134
+ operationId: 'thermostatsSchedulesDeletePost',
13135
+ requestBody: {
13136
+ content: {
13137
+ 'application/json': {
13138
+ schema: {
13139
+ properties: {
13140
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13141
+ },
13142
+ required: ['thermostat_schedule_id'],
13143
+ type: 'object',
13144
+ },
13145
+ },
13146
+ },
13147
+ },
13148
+ responses: {
13149
+ 200: {
13150
+ content: {
13151
+ 'application/json': {
13152
+ schema: {
13153
+ properties: { ok: { type: 'boolean' } },
13154
+ required: ['ok'],
13155
+ type: 'object',
13156
+ },
13157
+ },
13158
+ },
13159
+ description: 'OK',
13160
+ },
13161
+ 400: { description: 'Bad Request' },
13162
+ 401: { description: 'Unauthorized' },
13163
+ },
13164
+ security: [
13165
+ { client_session: [] },
13166
+ { pat_with_workspace: [] },
13167
+ { console_session: [] },
13168
+ { api_key: [] },
13169
+ ],
13170
+ summary: '/thermostats/schedules/delete',
13171
+ tags: ['/thermostats'],
13172
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13173
+ 'x-fern-sdk-method-name': 'delete',
13174
+ },
13175
+ },
13176
+ '/thermostats/schedules/get': {
13177
+ post: {
13178
+ operationId: 'thermostatsSchedulesGetPost',
13179
+ requestBody: {
13180
+ content: {
13181
+ 'application/json': {
13182
+ schema: {
13183
+ properties: {
13184
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13185
+ },
13186
+ required: ['thermostat_schedule_id'],
13187
+ type: 'object',
13188
+ },
13189
+ },
13190
+ },
13191
+ },
13192
+ responses: {
13193
+ 200: {
13194
+ content: {
13195
+ 'application/json': {
13196
+ schema: {
13197
+ properties: {
13198
+ ok: { type: 'boolean' },
13199
+ thermostat_schedule: {
13200
+ $ref: '#/components/schemas/thermostat_schedule',
13201
+ },
13202
+ },
13203
+ required: ['thermostat_schedule', 'ok'],
13204
+ type: 'object',
13205
+ },
13206
+ },
13207
+ },
13208
+ description: 'OK',
13209
+ },
13210
+ 400: { description: 'Bad Request' },
13211
+ 401: { description: 'Unauthorized' },
13212
+ },
13213
+ security: [
13214
+ { client_session: [] },
13215
+ { pat_with_workspace: [] },
13216
+ { console_session: [] },
13217
+ { api_key: [] },
13218
+ ],
13219
+ summary: '/thermostats/schedules/get',
13220
+ tags: ['/thermostats'],
13221
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13222
+ 'x-fern-sdk-method-name': 'get',
13223
+ 'x-fern-sdk-return-value': 'thermostat_schedule',
13224
+ },
13225
+ },
13226
+ '/thermostats/schedules/list': {
13227
+ post: {
13228
+ operationId: 'thermostatsSchedulesListPost',
13229
+ requestBody: {
13230
+ content: {
13231
+ 'application/json': {
13232
+ schema: {
13233
+ properties: {
13234
+ device_id: { format: 'uuid', type: 'string' },
13235
+ user_identifier_key: { type: 'string' },
13236
+ },
13237
+ required: ['device_id'],
13238
+ type: 'object',
13239
+ },
13240
+ },
13241
+ },
13242
+ },
13243
+ responses: {
13244
+ 200: {
13245
+ content: {
13246
+ 'application/json': {
13247
+ schema: {
13248
+ properties: {
13249
+ ok: { type: 'boolean' },
13250
+ thermostat_schedules: {
13251
+ items: {
13252
+ $ref: '#/components/schemas/thermostat_schedule',
13253
+ },
12841
13254
  type: 'array',
12842
13255
  },
12843
13256
  },
12844
- required: ['thermostats', 'ok'],
13257
+ required: ['thermostat_schedules', 'ok'],
12845
13258
  type: 'object',
12846
13259
  },
12847
13260
  },
@@ -12853,29 +13266,33 @@ export default {
12853
13266
  },
12854
13267
  security: [
12855
13268
  { api_key: [] },
13269
+ { client_session: [] },
12856
13270
  { pat_with_workspace: [] },
12857
13271
  { console_session: [] },
12858
- { client_session: [] },
12859
13272
  ],
12860
- summary: '/thermostats/list',
13273
+ summary: '/thermostats/schedules/list',
12861
13274
  tags: ['/thermostats'],
12862
- 'x-fern-sdk-group-name': ['thermostats'],
13275
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
12863
13276
  'x-fern-sdk-method-name': 'list',
12864
- 'x-fern-sdk-return-value': 'thermostats',
13277
+ 'x-fern-sdk-return-value': 'thermostat_schedules',
12865
13278
  },
12866
13279
  },
12867
- '/thermostats/off': {
12868
- post: {
12869
- operationId: 'thermostatsOffPost',
13280
+ '/thermostats/schedules/update': {
13281
+ patch: {
13282
+ operationId: 'thermostatsSchedulesUpdatePatch',
12870
13283
  requestBody: {
12871
13284
  content: {
12872
13285
  'application/json': {
12873
13286
  schema: {
12874
13287
  properties: {
12875
- device_id: { format: 'uuid', type: 'string' },
12876
- sync: { default: false, type: 'boolean' },
13288
+ climate_preset_key: { type: 'string' },
13289
+ ends_at: { type: 'string' },
13290
+ max_override_period_minutes: { minimum: 0, type: 'integer' },
13291
+ name: { type: 'string' },
13292
+ starts_at: { type: 'string' },
13293
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
12877
13294
  },
12878
- required: ['device_id'],
13295
+ required: ['thermostat_schedule_id'],
12879
13296
  type: 'object',
12880
13297
  },
12881
13298
  },
@@ -12887,12 +13304,63 @@ export default {
12887
13304
  'application/json': {
12888
13305
  schema: {
12889
13306
  properties: {
12890
- action_attempt: {
12891
- $ref: '#/components/schemas/action_attempt',
13307
+ ok: { type: 'boolean' },
13308
+ thermostat_schedule: {
13309
+ $ref: '#/components/schemas/thermostat_schedule',
12892
13310
  },
13311
+ },
13312
+ required: ['thermostat_schedule', 'ok'],
13313
+ type: 'object',
13314
+ },
13315
+ },
13316
+ },
13317
+ description: 'OK',
13318
+ },
13319
+ 400: { description: 'Bad Request' },
13320
+ 401: { description: 'Unauthorized' },
13321
+ },
13322
+ security: [
13323
+ { client_session: [] },
13324
+ { pat_with_workspace: [] },
13325
+ { console_session: [] },
13326
+ { api_key: [] },
13327
+ ],
13328
+ summary: '/thermostats/schedules/update',
13329
+ tags: ['/thermostats'],
13330
+ 'x-fern-ignore': true,
13331
+ },
13332
+ post: {
13333
+ operationId: 'thermostatsSchedulesUpdatePost',
13334
+ requestBody: {
13335
+ content: {
13336
+ 'application/json': {
13337
+ schema: {
13338
+ properties: {
13339
+ climate_preset_key: { type: 'string' },
13340
+ ends_at: { type: 'string' },
13341
+ max_override_period_minutes: { minimum: 0, type: 'integer' },
13342
+ name: { type: 'string' },
13343
+ starts_at: { type: 'string' },
13344
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13345
+ },
13346
+ required: ['thermostat_schedule_id'],
13347
+ type: 'object',
13348
+ },
13349
+ },
13350
+ },
13351
+ },
13352
+ responses: {
13353
+ 200: {
13354
+ content: {
13355
+ 'application/json': {
13356
+ schema: {
13357
+ properties: {
12893
13358
  ok: { type: 'boolean' },
13359
+ thermostat_schedule: {
13360
+ $ref: '#/components/schemas/thermostat_schedule',
13361
+ },
12894
13362
  },
12895
- required: ['action_attempt', 'ok'],
13363
+ required: ['thermostat_schedule', 'ok'],
12896
13364
  type: 'object',
12897
13365
  },
12898
13366
  },
@@ -12908,11 +13376,54 @@ export default {
12908
13376
  { console_session: [] },
12909
13377
  { api_key: [] },
12910
13378
  ],
12911
- summary: '/thermostats/off',
13379
+ summary: '/thermostats/schedules/update',
13380
+ tags: ['/thermostats'],
13381
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13382
+ 'x-fern-sdk-method-name': 'update',
13383
+ },
13384
+ },
13385
+ '/thermostats/set_fallback_climate_preset': {
13386
+ post: {
13387
+ operationId: 'thermostatsSetFallbackClimatePresetPost',
13388
+ requestBody: {
13389
+ content: {
13390
+ 'application/json': {
13391
+ schema: {
13392
+ properties: {
13393
+ climate_preset_key: { type: 'string' },
13394
+ device_id: { format: 'uuid', type: 'string' },
13395
+ },
13396
+ required: ['device_id', 'climate_preset_key'],
13397
+ type: 'object',
13398
+ },
13399
+ },
13400
+ },
13401
+ },
13402
+ responses: {
13403
+ 200: {
13404
+ content: {
13405
+ 'application/json': {
13406
+ schema: {
13407
+ properties: { ok: { type: 'boolean' } },
13408
+ required: ['ok'],
13409
+ type: 'object',
13410
+ },
13411
+ },
13412
+ },
13413
+ description: 'OK',
13414
+ },
13415
+ 400: { description: 'Bad Request' },
13416
+ 401: { description: 'Unauthorized' },
13417
+ },
13418
+ security: [
13419
+ { pat_with_workspace: [] },
13420
+ { console_session: [] },
13421
+ { api_key: [] },
13422
+ ],
13423
+ summary: '/thermostats/set_fallback_climate_preset',
12912
13424
  tags: ['/thermostats'],
12913
13425
  'x-fern-sdk-group-name': ['thermostats'],
12914
- 'x-fern-sdk-method-name': 'off',
12915
- 'x-fern-sdk-return-value': 'action_attempt',
13426
+ 'x-fern-sdk-method-name': 'set_fallback_climate_preset',
12916
13427
  },
12917
13428
  },
12918
13429
  '/thermostats/set_fan_mode': {
@@ -12924,7 +13435,12 @@ export default {
12924
13435
  schema: {
12925
13436
  properties: {
12926
13437
  device_id: { format: 'uuid', type: 'string' },
12927
- fan_mode: { enum: ['auto', 'on'], type: 'string' },
13438
+ fan_mode: {
13439
+ deprecated: true,
13440
+ enum: ['auto', 'on'],
13441
+ type: 'string',
13442
+ 'x-deprecated': 'use fan_mode_setting instead.',
13443
+ },
12928
13444
  fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
12929
13445
  sync: { default: false, type: 'boolean' },
12930
13446
  },
@@ -12968,43 +13484,46 @@ export default {
12968
13484
  'x-fern-sdk-return-value': 'action_attempt',
12969
13485
  },
12970
13486
  },
12971
- '/thermostats/update': {
13487
+ '/thermostats/update_climate_preset': {
12972
13488
  patch: {
12973
- operationId: 'thermostatsUpdatePatch',
13489
+ operationId: 'thermostatsUpdateClimatePresetPatch',
12974
13490
  requestBody: {
12975
13491
  content: {
12976
13492
  'application/json': {
12977
13493
  schema: {
12978
13494
  properties: {
12979
- default_climate_setting: {
12980
- properties: {
12981
- cooling_set_point_celsius: {
12982
- format: 'float',
12983
- type: 'number',
12984
- },
12985
- cooling_set_point_fahrenheit: {
12986
- format: 'float',
12987
- type: 'number',
12988
- },
12989
- heating_set_point_celsius: {
12990
- format: 'float',
12991
- type: 'number',
12992
- },
12993
- heating_set_point_fahrenheit: {
12994
- format: 'float',
12995
- type: 'number',
12996
- },
12997
- hvac_mode_setting: {
12998
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12999
- type: 'string',
13000
- },
13001
- manual_override_allowed: { type: 'boolean' },
13002
- },
13003
- type: 'object',
13495
+ climate_preset_key: { type: 'string' },
13496
+ cooling_set_point_celsius: {
13497
+ format: 'float',
13498
+ type: 'number',
13499
+ },
13500
+ cooling_set_point_fahrenheit: {
13501
+ format: 'float',
13502
+ type: 'number',
13004
13503
  },
13005
13504
  device_id: { format: 'uuid', type: 'string' },
13505
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13506
+ heating_set_point_celsius: {
13507
+ format: 'float',
13508
+ type: 'number',
13509
+ },
13510
+ heating_set_point_fahrenheit: {
13511
+ format: 'float',
13512
+ type: 'number',
13513
+ },
13514
+ hvac_mode_setting: {
13515
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13516
+ type: 'string',
13517
+ },
13518
+ manual_override_allowed: { type: 'boolean' },
13519
+ name: { nullable: true, type: 'string' },
13006
13520
  },
13007
- required: ['device_id', 'default_climate_setting'],
13521
+ required: [
13522
+ 'device_id',
13523
+ 'climate_preset_key',
13524
+ 'name',
13525
+ 'manual_override_allowed',
13526
+ ],
13008
13527
  type: 'object',
13009
13528
  },
13010
13529
  },
@@ -13015,8 +13534,53 @@ export default {
13015
13534
  content: {
13016
13535
  'application/json': {
13017
13536
  schema: {
13018
- properties: { ok: { type: 'boolean' } },
13019
- required: ['ok'],
13537
+ properties: {
13538
+ climate_preset: {
13539
+ properties: {
13540
+ can_delete: { type: 'boolean' },
13541
+ can_edit: { type: 'boolean' },
13542
+ climate_preset_key: { type: 'string' },
13543
+ cooling_set_point_celsius: {
13544
+ format: 'float',
13545
+ type: 'number',
13546
+ },
13547
+ cooling_set_point_fahrenheit: {
13548
+ format: 'float',
13549
+ type: 'number',
13550
+ },
13551
+ display_name: { type: 'string' },
13552
+ fan_mode_setting: {
13553
+ enum: ['auto', 'on'],
13554
+ type: 'string',
13555
+ },
13556
+ heating_set_point_celsius: {
13557
+ format: 'float',
13558
+ type: 'number',
13559
+ },
13560
+ heating_set_point_fahrenheit: {
13561
+ format: 'float',
13562
+ type: 'number',
13563
+ },
13564
+ hvac_mode_setting: {
13565
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13566
+ type: 'string',
13567
+ },
13568
+ manual_override_allowed: { type: 'boolean' },
13569
+ name: { nullable: true, type: 'string' },
13570
+ },
13571
+ required: [
13572
+ 'climate_preset_key',
13573
+ 'can_edit',
13574
+ 'can_delete',
13575
+ 'name',
13576
+ 'display_name',
13577
+ 'manual_override_allowed',
13578
+ ],
13579
+ type: 'object',
13580
+ },
13581
+ ok: { type: 'boolean' },
13582
+ },
13583
+ required: ['climate_preset', 'ok'],
13020
13584
  type: 'object',
13021
13585
  },
13022
13586
  },
@@ -13027,51 +13591,53 @@ export default {
13027
13591
  401: { description: 'Unauthorized' },
13028
13592
  },
13029
13593
  security: [
13030
- { api_key: [] },
13031
13594
  { pat_with_workspace: [] },
13032
13595
  { console_session: [] },
13033
- { client_session: [] },
13596
+ { api_key: [] },
13034
13597
  ],
13035
- summary: '/thermostats/update',
13598
+ summary: '/thermostats/update_climate_preset',
13036
13599
  tags: ['/thermostats'],
13037
13600
  'x-fern-ignore': true,
13038
13601
  },
13039
13602
  post: {
13040
- operationId: 'thermostatsUpdatePost',
13603
+ operationId: 'thermostatsUpdateClimatePresetPost',
13041
13604
  requestBody: {
13042
13605
  content: {
13043
13606
  'application/json': {
13044
13607
  schema: {
13045
13608
  properties: {
13046
- default_climate_setting: {
13047
- properties: {
13048
- cooling_set_point_celsius: {
13049
- format: 'float',
13050
- type: 'number',
13051
- },
13052
- cooling_set_point_fahrenheit: {
13053
- format: 'float',
13054
- type: 'number',
13055
- },
13056
- heating_set_point_celsius: {
13057
- format: 'float',
13058
- type: 'number',
13059
- },
13060
- heating_set_point_fahrenheit: {
13061
- format: 'float',
13062
- type: 'number',
13063
- },
13064
- hvac_mode_setting: {
13065
- enum: ['off', 'heat', 'cool', 'heat_cool'],
13066
- type: 'string',
13067
- },
13068
- manual_override_allowed: { type: 'boolean' },
13069
- },
13070
- type: 'object',
13609
+ climate_preset_key: { type: 'string' },
13610
+ cooling_set_point_celsius: {
13611
+ format: 'float',
13612
+ type: 'number',
13613
+ },
13614
+ cooling_set_point_fahrenheit: {
13615
+ format: 'float',
13616
+ type: 'number',
13071
13617
  },
13072
13618
  device_id: { format: 'uuid', type: 'string' },
13619
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13620
+ heating_set_point_celsius: {
13621
+ format: 'float',
13622
+ type: 'number',
13623
+ },
13624
+ heating_set_point_fahrenheit: {
13625
+ format: 'float',
13626
+ type: 'number',
13627
+ },
13628
+ hvac_mode_setting: {
13629
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13630
+ type: 'string',
13631
+ },
13632
+ manual_override_allowed: { type: 'boolean' },
13633
+ name: { nullable: true, type: 'string' },
13073
13634
  },
13074
- required: ['device_id', 'default_climate_setting'],
13635
+ required: [
13636
+ 'device_id',
13637
+ 'climate_preset_key',
13638
+ 'name',
13639
+ 'manual_override_allowed',
13640
+ ],
13075
13641
  type: 'object',
13076
13642
  },
13077
13643
  },
@@ -13082,8 +13648,53 @@ export default {
13082
13648
  content: {
13083
13649
  'application/json': {
13084
13650
  schema: {
13085
- properties: { ok: { type: 'boolean' } },
13086
- required: ['ok'],
13651
+ properties: {
13652
+ climate_preset: {
13653
+ properties: {
13654
+ can_delete: { type: 'boolean' },
13655
+ can_edit: { type: 'boolean' },
13656
+ climate_preset_key: { type: 'string' },
13657
+ cooling_set_point_celsius: {
13658
+ format: 'float',
13659
+ type: 'number',
13660
+ },
13661
+ cooling_set_point_fahrenheit: {
13662
+ format: 'float',
13663
+ type: 'number',
13664
+ },
13665
+ display_name: { type: 'string' },
13666
+ fan_mode_setting: {
13667
+ enum: ['auto', 'on'],
13668
+ type: 'string',
13669
+ },
13670
+ heating_set_point_celsius: {
13671
+ format: 'float',
13672
+ type: 'number',
13673
+ },
13674
+ heating_set_point_fahrenheit: {
13675
+ format: 'float',
13676
+ type: 'number',
13677
+ },
13678
+ hvac_mode_setting: {
13679
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13680
+ type: 'string',
13681
+ },
13682
+ manual_override_allowed: { type: 'boolean' },
13683
+ name: { nullable: true, type: 'string' },
13684
+ },
13685
+ required: [
13686
+ 'climate_preset_key',
13687
+ 'can_edit',
13688
+ 'can_delete',
13689
+ 'name',
13690
+ 'display_name',
13691
+ 'manual_override_allowed',
13692
+ ],
13693
+ type: 'object',
13694
+ },
13695
+ ok: { type: 'boolean' },
13696
+ },
13697
+ required: ['climate_preset', 'ok'],
13087
13698
  type: 'object',
13088
13699
  },
13089
13700
  },
@@ -13094,15 +13705,15 @@ export default {
13094
13705
  401: { description: 'Unauthorized' },
13095
13706
  },
13096
13707
  security: [
13097
- { api_key: [] },
13098
13708
  { pat_with_workspace: [] },
13099
13709
  { console_session: [] },
13100
- { client_session: [] },
13710
+ { api_key: [] },
13101
13711
  ],
13102
- summary: '/thermostats/update',
13712
+ summary: '/thermostats/update_climate_preset',
13103
13713
  tags: ['/thermostats'],
13104
13714
  'x-fern-sdk-group-name': ['thermostats'],
13105
- 'x-fern-sdk-method-name': 'update',
13715
+ 'x-fern-sdk-method-name': 'update_climate_preset',
13716
+ 'x-fern-sdk-return-value': 'climate_preset',
13106
13717
  },
13107
13718
  },
13108
13719
  '/user_identities/add_acs_user': {