@seamapi/types 1.239.0 → 1.241.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 +1412 -774
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +3622 -1409
  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 +289 -7
  12. package/lib/seam/connect/models/acs/acs-user.js +61 -8
  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 +1000 -569
  37. package/lib/seam/connect/openapi.js +1218 -657
  38. package/lib/seam/connect/openapi.js.map +1 -1
  39. package/lib/seam/connect/route-types.d.ts +1759 -453
  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 +88 -13
  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 +1252 -652
  57. package/src/lib/seam/connect/route-types.ts +2058 -498
  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,81 @@ 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 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: ['user_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
+ properties: {
773
+ created_at: {
774
+ description:
775
+ 'Date and time at which Seam created the error.',
776
+ format: 'date-time',
777
+ type: 'string',
778
+ },
779
+ error_code: {
780
+ enum: ['salto_site_user_limit_reached'],
781
+ type: 'string',
782
+ },
783
+ message: {
784
+ description:
785
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
786
+ type: 'string',
787
+ },
788
+ },
789
+ required: ['created_at', 'message', 'error_code'],
790
+ type: 'object',
791
+ },
792
+ ],
793
+ },
794
+ type: 'array',
795
+ },
722
796
  external_type: {
723
797
  enum: [
724
798
  'pti_user',
@@ -746,8 +820,11 @@ export default {
746
820
  user_identity_phone_number: { nullable: true, type: 'string' },
747
821
  warnings: {
748
822
  items: {
823
+ description: 'Warning associated with the `acs_user`.',
749
824
  oneOf: [
750
825
  {
826
+ description:
827
+ 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
751
828
  properties: {
752
829
  created_at: { format: 'date-time', type: 'string' },
753
830
  message: { type: 'string' },
@@ -757,6 +834,22 @@ export default {
757
834
  type: 'object',
758
835
  },
759
836
  {
837
+ description:
838
+ "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.",
839
+ properties: {
840
+ created_at: { format: 'date-time', type: 'string' },
841
+ message: { type: 'string' },
842
+ warning_code: {
843
+ enum: ['failed_to_update_on_acs_system'],
844
+ type: 'string',
845
+ },
846
+ },
847
+ required: ['created_at', 'message', 'warning_code'],
848
+ type: 'object',
849
+ },
850
+ {
851
+ description:
852
+ '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.',
760
853
  properties: {
761
854
  created_at: { format: 'date-time', type: 'string' },
762
855
  message: { type: 'string' },
@@ -794,6 +887,7 @@ export default {
794
887
  'display_name',
795
888
  'is_suspended',
796
889
  'warnings',
890
+ 'errors',
797
891
  'is_managed',
798
892
  ],
799
893
  type: 'object',
@@ -1417,6 +1511,91 @@ export default {
1417
1511
  ],
1418
1512
  type: 'object',
1419
1513
  },
1514
+ {
1515
+ description: 'Activating climate preset.',
1516
+ properties: {
1517
+ action_attempt_id: {
1518
+ description: 'The ID of the action attempt.',
1519
+ format: 'uuid',
1520
+ type: 'string',
1521
+ 'x-title': 'Action Attempt ID',
1522
+ },
1523
+ action_type: {
1524
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1525
+ type: 'string',
1526
+ },
1527
+ error: { nullable: true },
1528
+ result: { nullable: true },
1529
+ status: { enum: ['pending'], type: 'string' },
1530
+ },
1531
+ required: [
1532
+ 'action_attempt_id',
1533
+ 'status',
1534
+ 'result',
1535
+ 'error',
1536
+ 'action_type',
1537
+ ],
1538
+ type: 'object',
1539
+ },
1540
+ {
1541
+ description: 'Activating climate preset succeeded.',
1542
+ properties: {
1543
+ action_attempt_id: {
1544
+ description: 'The ID of the action attempt.',
1545
+ format: 'uuid',
1546
+ type: 'string',
1547
+ 'x-title': 'Action Attempt ID',
1548
+ },
1549
+ action_type: {
1550
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1551
+ type: 'string',
1552
+ },
1553
+ error: { nullable: true },
1554
+ result: { properties: {}, type: 'object' },
1555
+ status: { enum: ['success'], type: 'string' },
1556
+ },
1557
+ required: [
1558
+ 'action_attempt_id',
1559
+ 'status',
1560
+ 'error',
1561
+ 'action_type',
1562
+ 'result',
1563
+ ],
1564
+ type: 'object',
1565
+ },
1566
+ {
1567
+ description: 'Activating climate preset failed.',
1568
+ properties: {
1569
+ action_attempt_id: {
1570
+ description: 'The ID of the action attempt.',
1571
+ format: 'uuid',
1572
+ type: 'string',
1573
+ 'x-title': 'Action Attempt ID',
1574
+ },
1575
+ action_type: {
1576
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1577
+ type: 'string',
1578
+ },
1579
+ error: {
1580
+ properties: {
1581
+ message: { type: 'string' },
1582
+ type: { type: 'string' },
1583
+ },
1584
+ required: ['type', 'message'],
1585
+ type: 'object',
1586
+ },
1587
+ result: { nullable: true },
1588
+ status: { enum: ['error'], type: 'string' },
1589
+ },
1590
+ required: [
1591
+ 'action_attempt_id',
1592
+ 'status',
1593
+ 'result',
1594
+ 'action_type',
1595
+ 'error',
1596
+ ],
1597
+ type: 'object',
1598
+ },
1420
1599
  {
1421
1600
  properties: {
1422
1601
  action_attempt_id: {
@@ -1922,39 +2101,6 @@ export default {
1922
2101
  ],
1923
2102
  type: 'object',
1924
2103
  },
1925
- climate_setting_schedule: {
1926
- properties: {
1927
- climate_setting_schedule_id: { format: 'uuid', type: 'string' },
1928
- cooling_set_point_celsius: { format: 'float', type: 'number' },
1929
- cooling_set_point_fahrenheit: { format: 'float', type: 'number' },
1930
- created_at: { format: 'date-time', type: 'string' },
1931
- device_id: { format: 'uuid', type: 'string' },
1932
- errors: {
1933
- description:
1934
- '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.',
1935
- },
1936
- heating_set_point_celsius: { format: 'float', type: 'number' },
1937
- heating_set_point_fahrenheit: { format: 'float', type: 'number' },
1938
- hvac_mode_setting: {
1939
- enum: ['off', 'heat', 'cool', 'heat_cool'],
1940
- type: 'string',
1941
- },
1942
- manual_override_allowed: { type: 'boolean' },
1943
- name: { type: 'string' },
1944
- schedule_ends_at: { type: 'string' },
1945
- schedule_starts_at: { type: 'string' },
1946
- schedule_type: { enum: ['time_bound'], type: 'string' },
1947
- },
1948
- required: [
1949
- 'climate_setting_schedule_id',
1950
- 'schedule_type',
1951
- 'device_id',
1952
- 'schedule_starts_at',
1953
- 'schedule_ends_at',
1954
- 'created_at',
1955
- ],
1956
- type: 'object',
1957
- },
1958
2104
  connect_webview: {
1959
2105
  properties: {
1960
2106
  accepted_devices: {
@@ -2985,57 +3131,86 @@ export default {
2985
3131
  },
2986
3132
  {
2987
3133
  properties: {
2988
- active_climate_setting_schedule: {
3134
+ active_thermostat_schedule: {
3135
+ default: null,
3136
+ nullable: true,
2989
3137
  properties: {
2990
- climate_setting_schedule_id: {
2991
- format: 'uuid',
2992
- type: 'string',
2993
- },
2994
- cooling_set_point_celsius: {
2995
- format: 'float',
2996
- type: 'number',
2997
- },
2998
- cooling_set_point_fahrenheit: {
2999
- format: 'float',
3000
- type: 'number',
3001
- },
3138
+ climate_preset_key: { type: 'string' },
3002
3139
  created_at: { format: 'date-time', type: 'string' },
3003
3140
  device_id: { format: 'uuid', type: 'string' },
3141
+ ends_at: { format: 'date-time', type: 'string' },
3004
3142
  errors: {
3005
3143
  description:
3006
- '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.',
3144
+ '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.',
3007
3145
  },
3008
- heating_set_point_celsius: {
3009
- format: 'float',
3010
- type: 'number',
3011
- },
3012
- heating_set_point_fahrenheit: {
3013
- format: 'float',
3014
- type: 'number',
3015
- },
3016
- hvac_mode_setting: {
3017
- enum: ['off', 'heat', 'cool', 'heat_cool'],
3018
- type: 'string',
3146
+ max_override_period_minutes: {
3147
+ default: 0,
3148
+ minimum: 0,
3149
+ type: 'integer',
3019
3150
  },
3020
- manual_override_allowed: { type: 'boolean' },
3021
3151
  name: { type: 'string' },
3022
- schedule_ends_at: { type: 'string' },
3023
- schedule_starts_at: { type: 'string' },
3024
- schedule_type: {
3025
- enum: ['time_bound'],
3152
+ starts_at: { format: 'date-time', type: 'string' },
3153
+ thermostat_schedule_id: {
3154
+ format: 'uuid',
3026
3155
  type: 'string',
3027
3156
  },
3028
3157
  },
3029
3158
  required: [
3030
- 'climate_setting_schedule_id',
3031
- 'schedule_type',
3159
+ 'thermostat_schedule_id',
3032
3160
  'device_id',
3033
- 'schedule_starts_at',
3034
- 'schedule_ends_at',
3161
+ 'climate_preset_key',
3162
+ 'starts_at',
3163
+ 'ends_at',
3035
3164
  'created_at',
3036
3165
  ],
3037
3166
  type: 'object',
3038
3167
  },
3168
+ available_climate_presets: {
3169
+ items: {
3170
+ properties: {
3171
+ can_delete: { type: 'boolean' },
3172
+ can_edit: { type: 'boolean' },
3173
+ climate_preset_key: { type: 'string' },
3174
+ cooling_set_point_celsius: {
3175
+ format: 'float',
3176
+ type: 'number',
3177
+ },
3178
+ cooling_set_point_fahrenheit: {
3179
+ format: 'float',
3180
+ type: 'number',
3181
+ },
3182
+ display_name: { type: 'string' },
3183
+ fan_mode_setting: {
3184
+ enum: ['auto', 'on'],
3185
+ type: 'string',
3186
+ },
3187
+ heating_set_point_celsius: {
3188
+ format: 'float',
3189
+ type: 'number',
3190
+ },
3191
+ heating_set_point_fahrenheit: {
3192
+ format: 'float',
3193
+ type: 'number',
3194
+ },
3195
+ hvac_mode_setting: {
3196
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
3197
+ type: 'string',
3198
+ },
3199
+ manual_override_allowed: { type: 'boolean' },
3200
+ name: { nullable: true, type: 'string' },
3201
+ },
3202
+ required: [
3203
+ 'climate_preset_key',
3204
+ 'can_edit',
3205
+ 'can_delete',
3206
+ 'name',
3207
+ 'display_name',
3208
+ 'manual_override_allowed',
3209
+ ],
3210
+ type: 'object',
3211
+ },
3212
+ type: 'array',
3213
+ },
3039
3214
  available_hvac_mode_settings: {
3040
3215
  items: {
3041
3216
  enum: ['off', 'heat', 'cool', 'heat_cool'],
@@ -3045,6 +3220,9 @@ export default {
3045
3220
  },
3046
3221
  current_climate_setting: {
3047
3222
  properties: {
3223
+ can_delete: { type: 'boolean' },
3224
+ can_edit: { type: 'boolean' },
3225
+ climate_preset_key: { type: 'string' },
3048
3226
  cooling_set_point_celsius: {
3049
3227
  format: 'float',
3050
3228
  type: 'number',
@@ -3053,6 +3231,11 @@ export default {
3053
3231
  format: 'float',
3054
3232
  type: 'number',
3055
3233
  },
3234
+ display_name: { type: 'string' },
3235
+ fan_mode_setting: {
3236
+ enum: ['auto', 'on'],
3237
+ type: 'string',
3238
+ },
3056
3239
  heating_set_point_celsius: {
3057
3240
  format: 'float',
3058
3241
  type: 'number',
@@ -3066,15 +3249,16 @@ export default {
3066
3249
  type: 'string',
3067
3250
  },
3068
3251
  manual_override_allowed: { type: 'boolean' },
3252
+ name: { nullable: true, type: 'string' },
3069
3253
  },
3070
- required: [
3071
- 'hvac_mode_setting',
3072
- 'manual_override_allowed',
3073
- ],
3074
3254
  type: 'object',
3075
3255
  },
3076
3256
  default_climate_setting: {
3257
+ deprecated: true,
3077
3258
  properties: {
3259
+ can_delete: { type: 'boolean' },
3260
+ can_edit: { type: 'boolean' },
3261
+ climate_preset_key: { type: 'string' },
3078
3262
  cooling_set_point_celsius: {
3079
3263
  format: 'float',
3080
3264
  type: 'number',
@@ -3083,6 +3267,11 @@ export default {
3083
3267
  format: 'float',
3084
3268
  type: 'number',
3085
3269
  },
3270
+ display_name: { type: 'string' },
3271
+ fan_mode_setting: {
3272
+ enum: ['auto', 'on'],
3273
+ type: 'string',
3274
+ },
3086
3275
  heating_set_point_celsius: {
3087
3276
  format: 'float',
3088
3277
  type: 'number',
@@ -3096,18 +3285,25 @@ export default {
3096
3285
  type: 'string',
3097
3286
  },
3098
3287
  manual_override_allowed: { type: 'boolean' },
3288
+ name: { nullable: true, type: 'string' },
3099
3289
  },
3100
- required: [
3101
- 'hvac_mode_setting',
3102
- 'manual_override_allowed',
3103
- ],
3104
3290
  type: 'object',
3291
+ 'x-deprecated':
3292
+ 'use fallback_climate_preset_key to specify a fallback climate preset instead.',
3293
+ },
3294
+ fallback_climate_preset_key: {
3295
+ default: null,
3296
+ minLength: 1,
3297
+ nullable: true,
3298
+ type: 'string',
3105
3299
  },
3106
3300
  fan_mode_setting: {
3301
+ deprecated: true,
3107
3302
  enum: ['auto', 'on'],
3108
3303
  type: 'string',
3304
+ 'x-deprecated':
3305
+ 'use current_climate_setting.fan_mode_setting instead.',
3109
3306
  },
3110
- is_climate_setting_schedule_active: { type: 'boolean' },
3111
3307
  is_cooling: { type: 'boolean' },
3112
3308
  is_fan_running: { type: 'boolean' },
3113
3309
  is_heating: { type: 'boolean' },
@@ -3540,6 +3736,35 @@ export default {
3540
3736
  required: ['service', 'status', 'description'],
3541
3737
  type: 'object',
3542
3738
  },
3739
+ thermostat_schedule: {
3740
+ properties: {
3741
+ climate_preset_key: { type: 'string' },
3742
+ created_at: { format: 'date-time', type: 'string' },
3743
+ device_id: { format: 'uuid', type: 'string' },
3744
+ ends_at: { format: 'date-time', type: 'string' },
3745
+ errors: {
3746
+ description:
3747
+ '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.',
3748
+ },
3749
+ max_override_period_minutes: {
3750
+ default: 0,
3751
+ minimum: 0,
3752
+ type: 'integer',
3753
+ },
3754
+ name: { type: 'string' },
3755
+ starts_at: { format: 'date-time', type: 'string' },
3756
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
3757
+ },
3758
+ required: [
3759
+ 'thermostat_schedule_id',
3760
+ 'device_id',
3761
+ 'climate_preset_key',
3762
+ 'starts_at',
3763
+ 'ends_at',
3764
+ 'created_at',
3765
+ ],
3766
+ type: 'object',
3767
+ },
3543
3768
  unmanaged_access_code: {
3544
3769
  properties: {
3545
3770
  access_code_id: {
@@ -7665,12 +7890,7 @@ export default {
7665
7890
  acs_user: {
7666
7891
  properties: {
7667
7892
  access_schedule: {
7668
- properties: {
7669
- ends_at: { format: 'date-time', type: 'string' },
7670
- starts_at: { format: 'date-time', type: 'string' },
7671
- },
7672
- required: ['starts_at', 'ends_at'],
7673
- type: 'object',
7893
+ $ref: '#/components/schemas/thermostat_schedule',
7674
7894
  },
7675
7895
  acs_system_id: { format: 'uuid', type: 'string' },
7676
7896
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7683,9 +7903,98 @@ export default {
7683
7903
  'x-deprecated': 'use email_address.',
7684
7904
  },
7685
7905
  email_address: { format: 'email', type: 'string' },
7686
- errors: { $ref: '#/components/schemas/access_code' },
7687
- external_type: {
7688
- enum: [
7906
+ errors: {
7907
+ items: {
7908
+ description:
7909
+ 'Error associated with the `acs_user`.',
7910
+ oneOf: [
7911
+ {
7912
+ description:
7913
+ 'Indicates that the user was deleted from the ACS system outside of Seam.',
7914
+ properties: {
7915
+ created_at: {
7916
+ description:
7917
+ 'Date and time at which Seam created the error.',
7918
+ format: 'date-time',
7919
+ type: 'string',
7920
+ },
7921
+ error_code: {
7922
+ enum: ['user_deleted_externally'],
7923
+ type: 'string',
7924
+ },
7925
+ message: {
7926
+ description:
7927
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7928
+ type: 'string',
7929
+ },
7930
+ },
7931
+ required: [
7932
+ 'created_at',
7933
+ 'message',
7934
+ 'error_code',
7935
+ ],
7936
+ type: 'object',
7937
+ },
7938
+ {
7939
+ description:
7940
+ 'Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.',
7941
+ properties: {
7942
+ created_at: {
7943
+ description:
7944
+ 'Date and time at which Seam created the error.',
7945
+ format: 'date-time',
7946
+ type: 'string',
7947
+ },
7948
+ error_code: {
7949
+ enum: [
7950
+ 'salto_ks_subscription_limit_exceeded',
7951
+ ],
7952
+ type: 'string',
7953
+ },
7954
+ message: {
7955
+ description:
7956
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7957
+ type: 'string',
7958
+ },
7959
+ },
7960
+ required: [
7961
+ 'created_at',
7962
+ 'message',
7963
+ 'error_code',
7964
+ ],
7965
+ type: 'object',
7966
+ },
7967
+ {
7968
+ properties: {
7969
+ created_at: {
7970
+ description:
7971
+ 'Date and time at which Seam created the error.',
7972
+ format: 'date-time',
7973
+ type: 'string',
7974
+ },
7975
+ error_code: {
7976
+ enum: ['salto_site_user_limit_reached'],
7977
+ type: 'string',
7978
+ },
7979
+ message: {
7980
+ description:
7981
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7982
+ type: 'string',
7983
+ },
7984
+ },
7985
+ required: [
7986
+ 'created_at',
7987
+ 'message',
7988
+ 'error_code',
7989
+ ],
7990
+ type: 'object',
7991
+ },
7992
+ ],
7993
+ },
7994
+ type: 'array',
7995
+ },
7996
+ external_type: {
7997
+ enum: [
7689
7998
  'pti_user',
7690
7999
  'brivo_user',
7691
8000
  'hid_credential_manager_user',
@@ -7722,8 +8031,12 @@ export default {
7722
8031
  },
7723
8032
  warnings: {
7724
8033
  items: {
8034
+ description:
8035
+ 'Warning associated with the `acs_user`.',
7725
8036
  oneOf: [
7726
8037
  {
8038
+ description:
8039
+ 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
7727
8040
  properties: {
7728
8041
  created_at: {
7729
8042
  format: 'date-time',
@@ -7743,6 +8056,29 @@ export default {
7743
8056
  type: 'object',
7744
8057
  },
7745
8058
  {
8059
+ description:
8060
+ "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.",
8061
+ properties: {
8062
+ created_at: {
8063
+ format: 'date-time',
8064
+ type: 'string',
8065
+ },
8066
+ message: { type: 'string' },
8067
+ warning_code: {
8068
+ enum: ['failed_to_update_on_acs_system'],
8069
+ type: 'string',
8070
+ },
8071
+ },
8072
+ required: [
8073
+ 'created_at',
8074
+ 'message',
8075
+ 'warning_code',
8076
+ ],
8077
+ type: 'object',
8078
+ },
8079
+ {
8080
+ description:
8081
+ '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.',
7746
8082
  properties: {
7747
8083
  created_at: {
7748
8084
  format: 'date-time',
@@ -7794,6 +8130,7 @@ export default {
7794
8130
  'display_name',
7795
8131
  'is_suspended',
7796
8132
  'warnings',
8133
+ 'errors',
7797
8134
  'is_managed',
7798
8135
  ],
7799
8136
  type: 'object',
@@ -7851,15 +8188,7 @@ export default {
7851
8188
  items: {
7852
8189
  properties: {
7853
8190
  access_schedule: {
7854
- properties: {
7855
- ends_at: { format: 'date-time', type: 'string' },
7856
- starts_at: {
7857
- format: 'date-time',
7858
- type: 'string',
7859
- },
7860
- },
7861
- required: ['starts_at', 'ends_at'],
7862
- type: 'object',
8191
+ $ref: '#/components/schemas/thermostat_schedule',
7863
8192
  },
7864
8193
  acs_system_id: { format: 'uuid', type: 'string' },
7865
8194
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7872,7 +8201,96 @@ export default {
7872
8201
  'x-deprecated': 'use email_address.',
7873
8202
  },
7874
8203
  email_address: { format: 'email', type: 'string' },
7875
- errors: { $ref: '#/components/schemas/access_code' },
8204
+ errors: {
8205
+ items: {
8206
+ description:
8207
+ 'Error associated with the `acs_user`.',
8208
+ oneOf: [
8209
+ {
8210
+ description:
8211
+ 'Indicates that the user was deleted from the ACS system outside of Seam.',
8212
+ properties: {
8213
+ created_at: {
8214
+ description:
8215
+ 'Date and time at which Seam created the error.',
8216
+ format: 'date-time',
8217
+ type: 'string',
8218
+ },
8219
+ error_code: {
8220
+ enum: ['user_deleted_externally'],
8221
+ type: 'string',
8222
+ },
8223
+ message: {
8224
+ description:
8225
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8226
+ type: 'string',
8227
+ },
8228
+ },
8229
+ required: [
8230
+ 'created_at',
8231
+ 'message',
8232
+ 'error_code',
8233
+ ],
8234
+ type: 'object',
8235
+ },
8236
+ {
8237
+ description:
8238
+ 'Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.',
8239
+ properties: {
8240
+ created_at: {
8241
+ description:
8242
+ 'Date and time at which Seam created the error.',
8243
+ format: 'date-time',
8244
+ type: 'string',
8245
+ },
8246
+ error_code: {
8247
+ enum: [
8248
+ 'salto_ks_subscription_limit_exceeded',
8249
+ ],
8250
+ type: 'string',
8251
+ },
8252
+ message: {
8253
+ description:
8254
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8255
+ type: 'string',
8256
+ },
8257
+ },
8258
+ required: [
8259
+ 'created_at',
8260
+ 'message',
8261
+ 'error_code',
8262
+ ],
8263
+ type: 'object',
8264
+ },
8265
+ {
8266
+ properties: {
8267
+ created_at: {
8268
+ description:
8269
+ 'Date and time at which Seam created the error.',
8270
+ format: 'date-time',
8271
+ type: 'string',
8272
+ },
8273
+ error_code: {
8274
+ enum: ['salto_site_user_limit_reached'],
8275
+ type: 'string',
8276
+ },
8277
+ message: {
8278
+ description:
8279
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8280
+ type: 'string',
8281
+ },
8282
+ },
8283
+ required: [
8284
+ 'created_at',
8285
+ 'message',
8286
+ 'error_code',
8287
+ ],
8288
+ type: 'object',
8289
+ },
8290
+ ],
8291
+ },
8292
+ type: 'array',
8293
+ },
7876
8294
  external_type: {
7877
8295
  enum: [
7878
8296
  'pti_user',
@@ -7911,8 +8329,12 @@ export default {
7911
8329
  },
7912
8330
  warnings: {
7913
8331
  items: {
8332
+ description:
8333
+ 'Warning associated with the `acs_user`.',
7914
8334
  oneOf: [
7915
8335
  {
8336
+ description:
8337
+ 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
7916
8338
  properties: {
7917
8339
  created_at: {
7918
8340
  format: 'date-time',
@@ -7932,6 +8354,29 @@ export default {
7932
8354
  type: 'object',
7933
8355
  },
7934
8356
  {
8357
+ description:
8358
+ "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.",
8359
+ properties: {
8360
+ created_at: {
8361
+ format: 'date-time',
8362
+ type: 'string',
8363
+ },
8364
+ message: { type: 'string' },
8365
+ warning_code: {
8366
+ enum: ['failed_to_update_on_acs_system'],
8367
+ type: 'string',
8368
+ },
8369
+ },
8370
+ required: [
8371
+ 'created_at',
8372
+ 'message',
8373
+ 'warning_code',
8374
+ ],
8375
+ type: 'object',
8376
+ },
8377
+ {
8378
+ description:
8379
+ '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.',
7935
8380
  properties: {
7936
8381
  created_at: {
7937
8382
  format: 'date-time',
@@ -7983,6 +8428,7 @@ export default {
7983
8428
  'display_name',
7984
8429
  'is_suspended',
7985
8430
  'warnings',
8431
+ 'errors',
7986
8432
  'is_managed',
7987
8433
  ],
7988
8434
  type: 'object',
@@ -11926,50 +12372,18 @@ export default {
11926
12372
  'x-fern-sdk-return-value': 'phone',
11927
12373
  },
11928
12374
  },
11929
- '/thermostats/climate_setting_schedules/create': {
12375
+ '/thermostats/activate_climate_preset': {
11930
12376
  post: {
11931
- operationId: 'thermostatsClimateSettingSchedulesCreatePost',
12377
+ operationId: 'thermostatsActivateClimatePresetPost',
11932
12378
  requestBody: {
11933
12379
  content: {
11934
12380
  'application/json': {
11935
12381
  schema: {
11936
12382
  properties: {
11937
- cooling_set_point_celsius: {
11938
- format: 'float',
11939
- type: 'number',
11940
- },
11941
- cooling_set_point_fahrenheit: {
11942
- format: 'float',
11943
- type: 'number',
11944
- },
11945
- device_id: { type: 'string' },
11946
- heating_set_point_celsius: {
11947
- format: 'float',
11948
- type: 'number',
11949
- },
11950
- heating_set_point_fahrenheit: {
11951
- format: 'float',
11952
- type: 'number',
11953
- },
11954
- hvac_mode_setting: {
11955
- enum: ['off', 'heat', 'cool', 'heat_cool'],
11956
- type: 'string',
11957
- },
11958
- manual_override_allowed: { type: 'boolean' },
11959
- name: { type: 'string' },
11960
- schedule_ends_at: { type: 'string' },
11961
- schedule_starts_at: { type: 'string' },
11962
- schedule_type: {
11963
- default: 'time_bound',
11964
- enum: ['time_bound'],
11965
- type: 'string',
11966
- },
12383
+ climate_preset_key: { type: 'string' },
12384
+ device_id: { format: 'uuid', type: 'string' },
11967
12385
  },
11968
- required: [
11969
- 'device_id',
11970
- 'schedule_starts_at',
11971
- 'schedule_ends_at',
11972
- ],
12386
+ required: ['device_id', 'climate_preset_key'],
11973
12387
  type: 'object',
11974
12388
  },
11975
12389
  },
@@ -11981,12 +12395,12 @@ export default {
11981
12395
  'application/json': {
11982
12396
  schema: {
11983
12397
  properties: {
11984
- climate_setting_schedule: {
11985
- $ref: '#/components/schemas/climate_setting_schedule',
12398
+ action_attempt: {
12399
+ $ref: '#/components/schemas/action_attempt',
11986
12400
  },
11987
12401
  ok: { type: 'boolean' },
11988
12402
  },
11989
- required: ['climate_setting_schedule', 'ok'],
12403
+ required: ['action_attempt', 'ok'],
11990
12404
  type: 'object',
11991
12405
  },
11992
12406
  },
@@ -11997,32 +12411,37 @@ export default {
11997
12411
  401: { description: 'Unauthorized' },
11998
12412
  },
11999
12413
  security: [
12000
- { client_session: [] },
12001
12414
  { pat_with_workspace: [] },
12002
12415
  { console_session: [] },
12003
12416
  { api_key: [] },
12004
12417
  ],
12005
- summary: '/thermostats/climate_setting_schedules/create',
12418
+ summary: '/thermostats/activate_climate_preset',
12006
12419
  tags: ['/thermostats'],
12007
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12008
- 'x-fern-sdk-method-name': 'create',
12009
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12420
+ 'x-fern-sdk-group-name': ['thermostats'],
12421
+ 'x-fern-sdk-method-name': 'activate_climate_preset',
12422
+ 'x-fern-sdk-return-value': 'action_attempt',
12010
12423
  },
12011
12424
  },
12012
- '/thermostats/climate_setting_schedules/delete': {
12425
+ '/thermostats/cool': {
12013
12426
  post: {
12014
- operationId: 'thermostatsClimateSettingSchedulesDeletePost',
12427
+ operationId: 'thermostatsCoolPost',
12015
12428
  requestBody: {
12016
12429
  content: {
12017
12430
  'application/json': {
12018
12431
  schema: {
12019
12432
  properties: {
12020
- climate_setting_schedule_id: {
12021
- format: 'uuid',
12022
- type: 'string',
12433
+ cooling_set_point_celsius: {
12434
+ format: 'float',
12435
+ type: 'number',
12436
+ },
12437
+ cooling_set_point_fahrenheit: {
12438
+ format: 'float',
12439
+ type: 'number',
12023
12440
  },
12441
+ device_id: { format: 'uuid', type: 'string' },
12442
+ sync: { default: false, type: 'boolean' },
12024
12443
  },
12025
- required: ['climate_setting_schedule_id'],
12444
+ required: ['device_id'],
12026
12445
  type: 'object',
12027
12446
  },
12028
12447
  },
@@ -12033,8 +12452,13 @@ export default {
12033
12452
  content: {
12034
12453
  'application/json': {
12035
12454
  schema: {
12036
- properties: { ok: { type: 'boolean' } },
12037
- required: ['ok'],
12455
+ properties: {
12456
+ action_attempt: {
12457
+ $ref: '#/components/schemas/action_attempt',
12458
+ },
12459
+ ok: { type: 'boolean' },
12460
+ },
12461
+ required: ['action_attempt', 'ok'],
12038
12462
  type: 'object',
12039
12463
  },
12040
12464
  },
@@ -12050,70 +12474,53 @@ export default {
12050
12474
  { console_session: [] },
12051
12475
  { api_key: [] },
12052
12476
  ],
12053
- summary: '/thermostats/climate_setting_schedules/delete',
12477
+ summary: '/thermostats/cool',
12054
12478
  tags: ['/thermostats'],
12055
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12056
- 'x-fern-sdk-method-name': 'delete',
12479
+ 'x-fern-sdk-group-name': ['thermostats'],
12480
+ 'x-fern-sdk-method-name': 'cool',
12481
+ 'x-fern-sdk-return-value': 'action_attempt',
12057
12482
  },
12058
- put: {
12059
- operationId: 'thermostatsClimateSettingSchedulesDeletePut',
12483
+ },
12484
+ '/thermostats/create_climate_preset': {
12485
+ post: {
12486
+ operationId: 'thermostatsCreateClimatePresetPost',
12060
12487
  requestBody: {
12061
12488
  content: {
12062
12489
  'application/json': {
12063
12490
  schema: {
12064
12491
  properties: {
12065
- climate_setting_schedule_id: {
12066
- format: 'uuid',
12492
+ climate_preset_key: { type: 'string' },
12493
+ cooling_set_point_celsius: {
12494
+ format: 'float',
12495
+ type: 'number',
12496
+ },
12497
+ cooling_set_point_fahrenheit: {
12498
+ format: 'float',
12499
+ type: 'number',
12500
+ },
12501
+ device_id: { format: 'uuid', type: 'string' },
12502
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
12503
+ heating_set_point_celsius: {
12504
+ format: 'float',
12505
+ type: 'number',
12506
+ },
12507
+ heating_set_point_fahrenheit: {
12508
+ format: 'float',
12509
+ type: 'number',
12510
+ },
12511
+ hvac_mode_setting: {
12512
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
12067
12513
  type: 'string',
12068
12514
  },
12515
+ manual_override_allowed: { type: 'boolean' },
12516
+ name: { nullable: true, type: 'string' },
12069
12517
  },
12070
- required: ['climate_setting_schedule_id'],
12071
- type: 'object',
12072
- },
12073
- },
12074
- },
12075
- },
12076
- responses: {
12077
- 200: {
12078
- content: {
12079
- 'application/json': {
12080
- schema: {
12081
- properties: { ok: { type: 'boolean' } },
12082
- required: ['ok'],
12083
- type: 'object',
12084
- },
12085
- },
12086
- },
12087
- description: 'OK',
12088
- },
12089
- 400: { description: 'Bad Request' },
12090
- 401: { description: 'Unauthorized' },
12091
- },
12092
- security: [
12093
- { client_session: [] },
12094
- { pat_with_workspace: [] },
12095
- { console_session: [] },
12096
- { api_key: [] },
12097
- ],
12098
- summary: '/thermostats/climate_setting_schedules/delete',
12099
- tags: ['/thermostats'],
12100
- 'x-fern-ignore': true,
12101
- },
12102
- },
12103
- '/thermostats/climate_setting_schedules/get': {
12104
- post: {
12105
- operationId: 'thermostatsClimateSettingSchedulesGetPost',
12106
- requestBody: {
12107
- content: {
12108
- 'application/json': {
12109
- schema: {
12110
- properties: {
12111
- climate_setting_schedule_id: {
12112
- format: 'uuid',
12113
- type: 'string',
12114
- },
12115
- device_id: { format: 'uuid', type: 'string' },
12116
- },
12518
+ required: [
12519
+ 'device_id',
12520
+ 'climate_preset_key',
12521
+ 'name',
12522
+ 'manual_override_allowed',
12523
+ ],
12117
12524
  type: 'object',
12118
12525
  },
12119
12526
  },
@@ -12125,12 +12532,52 @@ export default {
12125
12532
  'application/json': {
12126
12533
  schema: {
12127
12534
  properties: {
12128
- climate_setting_schedule: {
12129
- $ref: '#/components/schemas/climate_setting_schedule',
12535
+ climate_preset: {
12536
+ properties: {
12537
+ can_delete: { type: 'boolean' },
12538
+ can_edit: { type: 'boolean' },
12539
+ climate_preset_key: { type: 'string' },
12540
+ cooling_set_point_celsius: {
12541
+ format: 'float',
12542
+ type: 'number',
12543
+ },
12544
+ cooling_set_point_fahrenheit: {
12545
+ format: 'float',
12546
+ type: 'number',
12547
+ },
12548
+ display_name: { type: 'string' },
12549
+ fan_mode_setting: {
12550
+ enum: ['auto', 'on'],
12551
+ type: 'string',
12552
+ },
12553
+ heating_set_point_celsius: {
12554
+ format: 'float',
12555
+ type: 'number',
12556
+ },
12557
+ heating_set_point_fahrenheit: {
12558
+ format: 'float',
12559
+ type: 'number',
12560
+ },
12561
+ hvac_mode_setting: {
12562
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
12563
+ type: 'string',
12564
+ },
12565
+ manual_override_allowed: { type: 'boolean' },
12566
+ name: { nullable: true, type: 'string' },
12567
+ },
12568
+ required: [
12569
+ 'climate_preset_key',
12570
+ 'can_edit',
12571
+ 'can_delete',
12572
+ 'name',
12573
+ 'display_name',
12574
+ 'manual_override_allowed',
12575
+ ],
12576
+ type: 'object',
12130
12577
  },
12131
12578
  ok: { type: 'boolean' },
12132
12579
  },
12133
- required: ['climate_setting_schedule', 'ok'],
12580
+ required: ['climate_preset', 'ok'],
12134
12581
  type: 'object',
12135
12582
  },
12136
12583
  },
@@ -12141,30 +12588,28 @@ export default {
12141
12588
  401: { description: 'Unauthorized' },
12142
12589
  },
12143
12590
  security: [
12144
- { client_session: [] },
12145
12591
  { pat_with_workspace: [] },
12146
12592
  { console_session: [] },
12147
12593
  { api_key: [] },
12148
12594
  ],
12149
- summary: '/thermostats/climate_setting_schedules/get',
12595
+ summary: '/thermostats/create_climate_preset',
12150
12596
  tags: ['/thermostats'],
12151
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12152
- 'x-fern-sdk-method-name': 'get',
12153
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12597
+ 'x-fern-sdk-group-name': ['thermostats'],
12598
+ 'x-fern-sdk-method-name': 'create_climate_preset',
12154
12599
  },
12155
12600
  },
12156
- '/thermostats/climate_setting_schedules/list': {
12601
+ '/thermostats/delete_climate_preset': {
12157
12602
  post: {
12158
- operationId: 'thermostatsClimateSettingSchedulesListPost',
12603
+ operationId: 'thermostatsDeleteClimatePresetPost',
12159
12604
  requestBody: {
12160
12605
  content: {
12161
12606
  'application/json': {
12162
12607
  schema: {
12163
12608
  properties: {
12609
+ climate_preset_key: { type: 'string' },
12164
12610
  device_id: { format: 'uuid', type: 'string' },
12165
- user_identifier_key: { type: 'string' },
12166
12611
  },
12167
- required: ['device_id'],
12612
+ required: ['device_id', 'climate_preset_key'],
12168
12613
  type: 'object',
12169
12614
  },
12170
12615
  },
@@ -12175,16 +12620,8 @@ export default {
12175
12620
  content: {
12176
12621
  'application/json': {
12177
12622
  schema: {
12178
- properties: {
12179
- climate_setting_schedules: {
12180
- items: {
12181
- $ref: '#/components/schemas/climate_setting_schedule',
12182
- },
12183
- type: 'array',
12184
- },
12185
- ok: { type: 'boolean' },
12186
- },
12187
- required: ['climate_setting_schedules', 'ok'],
12623
+ properties: { ok: { type: 'boolean' } },
12624
+ required: ['ok'],
12188
12625
  type: 'object',
12189
12626
  },
12190
12627
  },
@@ -12195,61 +12632,27 @@ export default {
12195
12632
  401: { description: 'Unauthorized' },
12196
12633
  },
12197
12634
  security: [
12198
- { api_key: [] },
12199
- { client_session: [] },
12200
12635
  { pat_with_workspace: [] },
12201
12636
  { console_session: [] },
12637
+ { api_key: [] },
12202
12638
  ],
12203
- summary: '/thermostats/climate_setting_schedules/list',
12639
+ summary: '/thermostats/delete_climate_preset',
12204
12640
  tags: ['/thermostats'],
12205
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12206
- 'x-fern-sdk-method-name': 'list',
12207
- 'x-fern-sdk-return-value': 'climate_setting_schedules',
12641
+ 'x-fern-sdk-group-name': ['thermostats'],
12642
+ 'x-fern-sdk-method-name': 'delete_climate_preset',
12208
12643
  },
12209
12644
  },
12210
- '/thermostats/climate_setting_schedules/update': {
12211
- patch: {
12212
- operationId: 'thermostatsClimateSettingSchedulesUpdatePatch',
12645
+ '/thermostats/get': {
12646
+ post: {
12647
+ operationId: 'thermostatsGetPost',
12213
12648
  requestBody: {
12214
12649
  content: {
12215
12650
  'application/json': {
12216
12651
  schema: {
12217
12652
  properties: {
12218
- climate_setting_schedule_id: {
12219
- format: 'uuid',
12220
- type: 'string',
12221
- },
12222
- cooling_set_point_celsius: {
12223
- format: 'float',
12224
- type: 'number',
12225
- },
12226
- cooling_set_point_fahrenheit: {
12227
- format: 'float',
12228
- type: 'number',
12229
- },
12230
- heating_set_point_celsius: {
12231
- format: 'float',
12232
- type: 'number',
12233
- },
12234
- heating_set_point_fahrenheit: {
12235
- format: 'float',
12236
- type: 'number',
12237
- },
12238
- hvac_mode_setting: {
12239
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12240
- type: 'string',
12241
- },
12242
- manual_override_allowed: { type: 'boolean' },
12653
+ device_id: { format: 'uuid', type: 'string' },
12243
12654
  name: { type: 'string' },
12244
- schedule_ends_at: { type: 'string' },
12245
- schedule_starts_at: { type: 'string' },
12246
- schedule_type: {
12247
- default: 'time_bound',
12248
- enum: ['time_bound'],
12249
- type: 'string',
12250
- },
12251
12655
  },
12252
- required: ['climate_setting_schedule_id'],
12253
12656
  type: 'object',
12254
12657
  },
12255
12658
  },
@@ -12261,12 +12664,10 @@ export default {
12261
12664
  'application/json': {
12262
12665
  schema: {
12263
12666
  properties: {
12264
- climate_setting_schedule: {
12265
- $ref: '#/components/schemas/climate_setting_schedule',
12266
- },
12267
12667
  ok: { type: 'boolean' },
12668
+ thermostat: { $ref: '#/components/schemas/device' },
12268
12669
  },
12269
- required: ['climate_setting_schedule', 'ok'],
12670
+ required: ['thermostat', 'ok'],
12270
12671
  type: 'object',
12271
12672
  },
12272
12673
  },
@@ -12282,29 +12683,23 @@ export default {
12282
12683
  { console_session: [] },
12283
12684
  { api_key: [] },
12284
12685
  ],
12285
- summary: '/thermostats/climate_setting_schedules/update',
12686
+ summary: '/thermostats/get',
12286
12687
  tags: ['/thermostats'],
12287
- 'x-fern-ignore': true,
12688
+ 'x-deprecated': 'Use `/devices/get` instead.',
12689
+ 'x-fern-sdk-group-name': ['thermostats'],
12690
+ 'x-fern-sdk-method-name': 'get',
12691
+ 'x-fern-sdk-return-value': 'thermostat',
12288
12692
  },
12693
+ },
12694
+ '/thermostats/heat': {
12289
12695
  post: {
12290
- operationId: 'thermostatsClimateSettingSchedulesUpdatePost',
12696
+ operationId: 'thermostatsHeatPost',
12291
12697
  requestBody: {
12292
12698
  content: {
12293
12699
  'application/json': {
12294
12700
  schema: {
12295
12701
  properties: {
12296
- climate_setting_schedule_id: {
12297
- format: 'uuid',
12298
- type: 'string',
12299
- },
12300
- cooling_set_point_celsius: {
12301
- format: 'float',
12302
- type: 'number',
12303
- },
12304
- cooling_set_point_fahrenheit: {
12305
- format: 'float',
12306
- type: 'number',
12307
- },
12702
+ device_id: { format: 'uuid', type: 'string' },
12308
12703
  heating_set_point_celsius: {
12309
12704
  format: 'float',
12310
12705
  type: 'number',
@@ -12313,21 +12708,9 @@ export default {
12313
12708
  format: 'float',
12314
12709
  type: 'number',
12315
12710
  },
12316
- hvac_mode_setting: {
12317
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12318
- type: 'string',
12319
- },
12320
- manual_override_allowed: { type: 'boolean' },
12321
- name: { type: 'string' },
12322
- schedule_ends_at: { type: 'string' },
12323
- schedule_starts_at: { type: 'string' },
12324
- schedule_type: {
12325
- default: 'time_bound',
12326
- enum: ['time_bound'],
12327
- type: 'string',
12328
- },
12711
+ sync: { default: false, type: 'boolean' },
12329
12712
  },
12330
- required: ['climate_setting_schedule_id'],
12713
+ required: ['device_id'],
12331
12714
  type: 'object',
12332
12715
  },
12333
12716
  },
@@ -12339,12 +12722,12 @@ export default {
12339
12722
  'application/json': {
12340
12723
  schema: {
12341
12724
  properties: {
12342
- climate_setting_schedule: {
12343
- $ref: '#/components/schemas/climate_setting_schedule',
12725
+ action_attempt: {
12726
+ $ref: '#/components/schemas/action_attempt',
12344
12727
  },
12345
12728
  ok: { type: 'boolean' },
12346
12729
  },
12347
- required: ['climate_setting_schedule', 'ok'],
12730
+ required: ['action_attempt', 'ok'],
12348
12731
  type: 'object',
12349
12732
  },
12350
12733
  },
@@ -12360,22 +12743,21 @@ export default {
12360
12743
  { console_session: [] },
12361
12744
  { api_key: [] },
12362
12745
  ],
12363
- summary: '/thermostats/climate_setting_schedules/update',
12746
+ summary: '/thermostats/heat',
12364
12747
  tags: ['/thermostats'],
12365
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12366
- 'x-fern-sdk-method-name': 'update',
12748
+ 'x-fern-sdk-group-name': ['thermostats'],
12749
+ 'x-fern-sdk-method-name': 'heat',
12750
+ 'x-fern-sdk-return-value': 'action_attempt',
12367
12751
  },
12368
- put: {
12369
- operationId: 'thermostatsClimateSettingSchedulesUpdatePut',
12752
+ },
12753
+ '/thermostats/heat_cool': {
12754
+ post: {
12755
+ operationId: 'thermostatsHeatCoolPost',
12370
12756
  requestBody: {
12371
12757
  content: {
12372
12758
  'application/json': {
12373
12759
  schema: {
12374
12760
  properties: {
12375
- climate_setting_schedule_id: {
12376
- format: 'uuid',
12377
- type: 'string',
12378
- },
12379
12761
  cooling_set_point_celsius: {
12380
12762
  format: 'float',
12381
12763
  type: 'number',
@@ -12384,6 +12766,7 @@ export default {
12384
12766
  format: 'float',
12385
12767
  type: 'number',
12386
12768
  },
12769
+ device_id: { format: 'uuid', type: 'string' },
12387
12770
  heating_set_point_celsius: {
12388
12771
  format: 'float',
12389
12772
  type: 'number',
@@ -12392,75 +12775,6 @@ export default {
12392
12775
  format: 'float',
12393
12776
  type: 'number',
12394
12777
  },
12395
- hvac_mode_setting: {
12396
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12397
- type: 'string',
12398
- },
12399
- manual_override_allowed: { type: 'boolean' },
12400
- name: { type: 'string' },
12401
- schedule_ends_at: { type: 'string' },
12402
- schedule_starts_at: { type: 'string' },
12403
- schedule_type: {
12404
- default: 'time_bound',
12405
- enum: ['time_bound'],
12406
- type: 'string',
12407
- },
12408
- },
12409
- required: ['climate_setting_schedule_id'],
12410
- type: 'object',
12411
- },
12412
- },
12413
- },
12414
- },
12415
- responses: {
12416
- 200: {
12417
- content: {
12418
- 'application/json': {
12419
- schema: {
12420
- properties: {
12421
- climate_setting_schedule: {
12422
- $ref: '#/components/schemas/climate_setting_schedule',
12423
- },
12424
- ok: { type: 'boolean' },
12425
- },
12426
- required: ['climate_setting_schedule', 'ok'],
12427
- type: 'object',
12428
- },
12429
- },
12430
- },
12431
- description: 'OK',
12432
- },
12433
- 400: { description: 'Bad Request' },
12434
- 401: { description: 'Unauthorized' },
12435
- },
12436
- security: [
12437
- { client_session: [] },
12438
- { pat_with_workspace: [] },
12439
- { console_session: [] },
12440
- { api_key: [] },
12441
- ],
12442
- summary: '/thermostats/climate_setting_schedules/update',
12443
- tags: ['/thermostats'],
12444
- 'x-fern-ignore': true,
12445
- },
12446
- },
12447
- '/thermostats/cool': {
12448
- post: {
12449
- operationId: 'thermostatsCoolPost',
12450
- requestBody: {
12451
- content: {
12452
- 'application/json': {
12453
- schema: {
12454
- properties: {
12455
- cooling_set_point_celsius: {
12456
- format: 'float',
12457
- type: 'number',
12458
- },
12459
- cooling_set_point_fahrenheit: {
12460
- format: 'float',
12461
- type: 'number',
12462
- },
12463
- device_id: { format: 'uuid', type: 'string' },
12464
12778
  sync: { default: false, type: 'boolean' },
12465
12779
  },
12466
12780
  required: ['device_id'],
@@ -12496,202 +12810,27 @@ export default {
12496
12810
  { console_session: [] },
12497
12811
  { api_key: [] },
12498
12812
  ],
12499
- summary: '/thermostats/cool',
12813
+ summary: '/thermostats/heat_cool',
12500
12814
  tags: ['/thermostats'],
12501
12815
  'x-fern-sdk-group-name': ['thermostats'],
12502
- 'x-fern-sdk-method-name': 'cool',
12816
+ 'x-fern-sdk-method-name': 'heat_cool',
12503
12817
  'x-fern-sdk-return-value': 'action_attempt',
12504
12818
  },
12505
12819
  },
12506
- '/thermostats/get': {
12820
+ '/thermostats/list': {
12507
12821
  post: {
12508
- operationId: 'thermostatsGetPost',
12822
+ operationId: 'thermostatsListPost',
12509
12823
  requestBody: {
12510
12824
  content: {
12511
12825
  'application/json': {
12512
12826
  schema: {
12513
12827
  properties: {
12514
- device_id: { format: 'uuid', type: 'string' },
12515
- name: { type: 'string' },
12516
- },
12517
- type: 'object',
12518
- },
12519
- },
12520
- },
12521
- },
12522
- responses: {
12523
- 200: {
12524
- content: {
12525
- 'application/json': {
12526
- schema: {
12527
- properties: {
12528
- ok: { type: 'boolean' },
12529
- thermostat: { $ref: '#/components/schemas/device' },
12530
- },
12531
- required: ['thermostat', 'ok'],
12532
- type: 'object',
12533
- },
12534
- },
12535
- },
12536
- description: 'OK',
12537
- },
12538
- 400: { description: 'Bad Request' },
12539
- 401: { description: 'Unauthorized' },
12540
- },
12541
- security: [
12542
- { client_session: [] },
12543
- { pat_with_workspace: [] },
12544
- { console_session: [] },
12545
- { api_key: [] },
12546
- ],
12547
- summary: '/thermostats/get',
12548
- tags: ['/thermostats'],
12549
- 'x-deprecated': 'Use `/devices/get` instead.',
12550
- 'x-fern-sdk-group-name': ['thermostats'],
12551
- 'x-fern-sdk-method-name': 'get',
12552
- 'x-fern-sdk-return-value': 'thermostat',
12553
- },
12554
- },
12555
- '/thermostats/heat': {
12556
- post: {
12557
- operationId: 'thermostatsHeatPost',
12558
- requestBody: {
12559
- content: {
12560
- 'application/json': {
12561
- schema: {
12562
- properties: {
12563
- device_id: { format: 'uuid', type: 'string' },
12564
- heating_set_point_celsius: {
12565
- format: 'float',
12566
- type: 'number',
12567
- },
12568
- heating_set_point_fahrenheit: {
12569
- format: 'float',
12570
- type: 'number',
12571
- },
12572
- sync: { default: false, type: 'boolean' },
12573
- },
12574
- required: ['device_id'],
12575
- type: 'object',
12576
- },
12577
- },
12578
- },
12579
- },
12580
- responses: {
12581
- 200: {
12582
- content: {
12583
- 'application/json': {
12584
- schema: {
12585
- properties: {
12586
- action_attempt: {
12587
- $ref: '#/components/schemas/action_attempt',
12588
- },
12589
- ok: { type: 'boolean' },
12590
- },
12591
- required: ['action_attempt', 'ok'],
12592
- type: 'object',
12593
- },
12594
- },
12595
- },
12596
- description: 'OK',
12597
- },
12598
- 400: { description: 'Bad Request' },
12599
- 401: { description: 'Unauthorized' },
12600
- },
12601
- security: [
12602
- { client_session: [] },
12603
- { pat_with_workspace: [] },
12604
- { console_session: [] },
12605
- { api_key: [] },
12606
- ],
12607
- summary: '/thermostats/heat',
12608
- tags: ['/thermostats'],
12609
- 'x-fern-sdk-group-name': ['thermostats'],
12610
- 'x-fern-sdk-method-name': 'heat',
12611
- 'x-fern-sdk-return-value': 'action_attempt',
12612
- },
12613
- },
12614
- '/thermostats/heat_cool': {
12615
- post: {
12616
- operationId: 'thermostatsHeatCoolPost',
12617
- requestBody: {
12618
- content: {
12619
- 'application/json': {
12620
- schema: {
12621
- properties: {
12622
- cooling_set_point_celsius: {
12623
- format: 'float',
12624
- type: 'number',
12625
- },
12626
- cooling_set_point_fahrenheit: {
12627
- format: 'float',
12628
- type: 'number',
12629
- },
12630
- device_id: { format: 'uuid', type: 'string' },
12631
- heating_set_point_celsius: {
12632
- format: 'float',
12633
- type: 'number',
12634
- },
12635
- heating_set_point_fahrenheit: {
12636
- format: 'float',
12637
- type: 'number',
12638
- },
12639
- sync: { default: false, type: 'boolean' },
12640
- },
12641
- required: ['device_id'],
12642
- type: 'object',
12643
- },
12644
- },
12645
- },
12646
- },
12647
- responses: {
12648
- 200: {
12649
- content: {
12650
- 'application/json': {
12651
- schema: {
12652
- properties: {
12653
- action_attempt: {
12654
- $ref: '#/components/schemas/action_attempt',
12655
- },
12656
- ok: { type: 'boolean' },
12657
- },
12658
- required: ['action_attempt', 'ok'],
12659
- type: 'object',
12660
- },
12661
- },
12662
- },
12663
- description: 'OK',
12664
- },
12665
- 400: { description: 'Bad Request' },
12666
- 401: { description: 'Unauthorized' },
12667
- },
12668
- security: [
12669
- { client_session: [] },
12670
- { pat_with_workspace: [] },
12671
- { console_session: [] },
12672
- { api_key: [] },
12673
- ],
12674
- summary: '/thermostats/heat_cool',
12675
- tags: ['/thermostats'],
12676
- 'x-fern-sdk-group-name': ['thermostats'],
12677
- 'x-fern-sdk-method-name': 'heat_cool',
12678
- 'x-fern-sdk-return-value': 'action_attempt',
12679
- },
12680
- },
12681
- '/thermostats/list': {
12682
- post: {
12683
- operationId: 'thermostatsListPost',
12684
- requestBody: {
12685
- content: {
12686
- 'application/json': {
12687
- schema: {
12688
- properties: {
12689
- connect_webview_id: { format: 'uuid', type: 'string' },
12690
- connected_account_id: {
12691
- description:
12692
- 'List all devices owned by this connected account',
12693
- format: 'uuid',
12694
- type: 'string',
12828
+ connect_webview_id: { format: 'uuid', type: 'string' },
12829
+ connected_account_id: {
12830
+ description:
12831
+ 'List all devices owned by this connected account',
12832
+ format: 'uuid',
12833
+ type: 'string',
12695
12834
  },
12696
12835
  connected_account_ids: {
12697
12836
  items: { format: 'uuid', type: 'string' },
@@ -12981,20 +13120,31 @@ export default {
12981
13120
  'x-fern-sdk-return-value': 'action_attempt',
12982
13121
  },
12983
13122
  },
12984
- '/thermostats/set_fan_mode': {
13123
+ '/thermostats/schedules/create': {
12985
13124
  post: {
12986
- operationId: 'thermostatsSetFanModePost',
13125
+ operationId: 'thermostatsSchedulesCreatePost',
12987
13126
  requestBody: {
12988
13127
  content: {
12989
13128
  'application/json': {
12990
13129
  schema: {
12991
13130
  properties: {
12992
- device_id: { format: 'uuid', type: 'string' },
12993
- fan_mode: { enum: ['auto', 'on'], type: 'string' },
12994
- fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
12995
- sync: { default: false, type: 'boolean' },
13131
+ climate_preset_key: { type: 'string' },
13132
+ device_id: { type: 'string' },
13133
+ ends_at: { type: 'string' },
13134
+ max_override_period_minutes: {
13135
+ default: 0,
13136
+ minimum: 0,
13137
+ type: 'integer',
13138
+ },
13139
+ name: { type: 'string' },
13140
+ starts_at: { type: 'string' },
12996
13141
  },
12997
- required: ['device_id'],
13142
+ required: [
13143
+ 'device_id',
13144
+ 'climate_preset_key',
13145
+ 'starts_at',
13146
+ 'ends_at',
13147
+ ],
12998
13148
  type: 'object',
12999
13149
  },
13000
13150
  },
@@ -13006,12 +13156,12 @@ export default {
13006
13156
  'application/json': {
13007
13157
  schema: {
13008
13158
  properties: {
13009
- action_attempt: {
13010
- $ref: '#/components/schemas/action_attempt',
13011
- },
13012
13159
  ok: { type: 'boolean' },
13160
+ thermostat_schedule: {
13161
+ $ref: '#/components/schemas/thermostat_schedule',
13162
+ },
13013
13163
  },
13014
- required: ['action_attempt', 'ok'],
13164
+ required: ['thermostat_schedule', 'ok'],
13015
13165
  type: 'object',
13016
13166
  },
13017
13167
  },
@@ -13027,50 +13177,24 @@ export default {
13027
13177
  { console_session: [] },
13028
13178
  { api_key: [] },
13029
13179
  ],
13030
- summary: '/thermostats/set_fan_mode',
13180
+ summary: '/thermostats/schedules/create',
13031
13181
  tags: ['/thermostats'],
13032
- 'x-fern-sdk-group-name': ['thermostats'],
13033
- 'x-fern-sdk-method-name': 'set_fan_mode',
13034
- 'x-fern-sdk-return-value': 'action_attempt',
13182
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13183
+ 'x-fern-sdk-method-name': 'create',
13184
+ 'x-fern-sdk-return-value': 'thermostat_schedule',
13035
13185
  },
13036
13186
  },
13037
- '/thermostats/update': {
13038
- patch: {
13039
- operationId: 'thermostatsUpdatePatch',
13187
+ '/thermostats/schedules/delete': {
13188
+ post: {
13189
+ operationId: 'thermostatsSchedulesDeletePost',
13040
13190
  requestBody: {
13041
13191
  content: {
13042
13192
  'application/json': {
13043
13193
  schema: {
13044
13194
  properties: {
13045
- default_climate_setting: {
13046
- properties: {
13047
- cooling_set_point_celsius: {
13048
- format: 'float',
13049
- type: 'number',
13050
- },
13051
- cooling_set_point_fahrenheit: {
13052
- format: 'float',
13053
- type: 'number',
13054
- },
13055
- heating_set_point_celsius: {
13056
- format: 'float',
13057
- type: 'number',
13058
- },
13059
- heating_set_point_fahrenheit: {
13060
- format: 'float',
13061
- type: 'number',
13062
- },
13063
- hvac_mode_setting: {
13064
- enum: ['off', 'heat', 'cool', 'heat_cool'],
13065
- type: 'string',
13066
- },
13067
- manual_override_allowed: { type: 'boolean' },
13068
- },
13069
- type: 'object',
13070
- },
13071
- device_id: { format: 'uuid', type: 'string' },
13195
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13072
13196
  },
13073
- required: ['device_id', 'default_climate_setting'],
13197
+ required: ['thermostat_schedule_id'],
13074
13198
  type: 'object',
13075
13199
  },
13076
13200
  },
@@ -13093,51 +13217,28 @@ export default {
13093
13217
  401: { description: 'Unauthorized' },
13094
13218
  },
13095
13219
  security: [
13096
- { api_key: [] },
13220
+ { client_session: [] },
13097
13221
  { pat_with_workspace: [] },
13098
13222
  { console_session: [] },
13099
- { client_session: [] },
13223
+ { api_key: [] },
13100
13224
  ],
13101
- summary: '/thermostats/update',
13225
+ summary: '/thermostats/schedules/delete',
13102
13226
  tags: ['/thermostats'],
13103
- 'x-fern-ignore': true,
13227
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13228
+ 'x-fern-sdk-method-name': 'delete',
13104
13229
  },
13230
+ },
13231
+ '/thermostats/schedules/get': {
13105
13232
  post: {
13106
- operationId: 'thermostatsUpdatePost',
13233
+ operationId: 'thermostatsSchedulesGetPost',
13107
13234
  requestBody: {
13108
13235
  content: {
13109
13236
  'application/json': {
13110
13237
  schema: {
13111
13238
  properties: {
13112
- default_climate_setting: {
13113
- properties: {
13114
- cooling_set_point_celsius: {
13115
- format: 'float',
13116
- type: 'number',
13117
- },
13118
- cooling_set_point_fahrenheit: {
13119
- format: 'float',
13120
- type: 'number',
13121
- },
13122
- heating_set_point_celsius: {
13123
- format: 'float',
13124
- type: 'number',
13125
- },
13126
- heating_set_point_fahrenheit: {
13127
- format: 'float',
13128
- type: 'number',
13129
- },
13130
- hvac_mode_setting: {
13131
- enum: ['off', 'heat', 'cool', 'heat_cool'],
13132
- type: 'string',
13133
- },
13134
- manual_override_allowed: { type: 'boolean' },
13135
- },
13136
- type: 'object',
13137
- },
13138
- device_id: { format: 'uuid', type: 'string' },
13239
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13139
13240
  },
13140
- required: ['device_id', 'default_climate_setting'],
13241
+ required: ['thermostat_schedule_id'],
13141
13242
  type: 'object',
13142
13243
  },
13143
13244
  },
@@ -13148,8 +13249,13 @@ export default {
13148
13249
  content: {
13149
13250
  'application/json': {
13150
13251
  schema: {
13151
- properties: { ok: { type: 'boolean' } },
13152
- required: ['ok'],
13252
+ properties: {
13253
+ ok: { type: 'boolean' },
13254
+ thermostat_schedule: {
13255
+ $ref: '#/components/schemas/thermostat_schedule',
13256
+ },
13257
+ },
13258
+ required: ['thermostat_schedule', 'ok'],
13153
13259
  type: 'object',
13154
13260
  },
13155
13261
  },
@@ -13160,15 +13266,509 @@ export default {
13160
13266
  401: { description: 'Unauthorized' },
13161
13267
  },
13162
13268
  security: [
13163
- { api_key: [] },
13269
+ { client_session: [] },
13164
13270
  { pat_with_workspace: [] },
13165
13271
  { console_session: [] },
13166
- { client_session: [] },
13272
+ { api_key: [] },
13167
13273
  ],
13168
- summary: '/thermostats/update',
13274
+ summary: '/thermostats/schedules/get',
13169
13275
  tags: ['/thermostats'],
13170
- 'x-fern-sdk-group-name': ['thermostats'],
13171
- 'x-fern-sdk-method-name': 'update',
13276
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13277
+ 'x-fern-sdk-method-name': 'get',
13278
+ 'x-fern-sdk-return-value': 'thermostat_schedule',
13279
+ },
13280
+ },
13281
+ '/thermostats/schedules/list': {
13282
+ post: {
13283
+ operationId: 'thermostatsSchedulesListPost',
13284
+ requestBody: {
13285
+ content: {
13286
+ 'application/json': {
13287
+ schema: {
13288
+ properties: {
13289
+ device_id: { format: 'uuid', type: 'string' },
13290
+ user_identifier_key: { type: 'string' },
13291
+ },
13292
+ required: ['device_id'],
13293
+ type: 'object',
13294
+ },
13295
+ },
13296
+ },
13297
+ },
13298
+ responses: {
13299
+ 200: {
13300
+ content: {
13301
+ 'application/json': {
13302
+ schema: {
13303
+ properties: {
13304
+ ok: { type: 'boolean' },
13305
+ thermostat_schedules: {
13306
+ items: {
13307
+ $ref: '#/components/schemas/thermostat_schedule',
13308
+ },
13309
+ type: 'array',
13310
+ },
13311
+ },
13312
+ required: ['thermostat_schedules', 'ok'],
13313
+ type: 'object',
13314
+ },
13315
+ },
13316
+ },
13317
+ description: 'OK',
13318
+ },
13319
+ 400: { description: 'Bad Request' },
13320
+ 401: { description: 'Unauthorized' },
13321
+ },
13322
+ security: [
13323
+ { api_key: [] },
13324
+ { client_session: [] },
13325
+ { pat_with_workspace: [] },
13326
+ { console_session: [] },
13327
+ ],
13328
+ summary: '/thermostats/schedules/list',
13329
+ tags: ['/thermostats'],
13330
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13331
+ 'x-fern-sdk-method-name': 'list',
13332
+ 'x-fern-sdk-return-value': 'thermostat_schedules',
13333
+ },
13334
+ },
13335
+ '/thermostats/schedules/update': {
13336
+ patch: {
13337
+ operationId: 'thermostatsSchedulesUpdatePatch',
13338
+ requestBody: {
13339
+ content: {
13340
+ 'application/json': {
13341
+ schema: {
13342
+ properties: {
13343
+ climate_preset_key: { type: 'string' },
13344
+ ends_at: { type: 'string' },
13345
+ max_override_period_minutes: { minimum: 0, type: 'integer' },
13346
+ name: { type: 'string' },
13347
+ starts_at: { type: 'string' },
13348
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13349
+ },
13350
+ required: ['thermostat_schedule_id'],
13351
+ type: 'object',
13352
+ },
13353
+ },
13354
+ },
13355
+ },
13356
+ responses: {
13357
+ 200: {
13358
+ content: {
13359
+ 'application/json': {
13360
+ schema: {
13361
+ properties: {
13362
+ ok: { type: 'boolean' },
13363
+ thermostat_schedule: {
13364
+ $ref: '#/components/schemas/thermostat_schedule',
13365
+ },
13366
+ },
13367
+ required: ['thermostat_schedule', 'ok'],
13368
+ type: 'object',
13369
+ },
13370
+ },
13371
+ },
13372
+ description: 'OK',
13373
+ },
13374
+ 400: { description: 'Bad Request' },
13375
+ 401: { description: 'Unauthorized' },
13376
+ },
13377
+ security: [
13378
+ { client_session: [] },
13379
+ { pat_with_workspace: [] },
13380
+ { console_session: [] },
13381
+ { api_key: [] },
13382
+ ],
13383
+ summary: '/thermostats/schedules/update',
13384
+ tags: ['/thermostats'],
13385
+ 'x-fern-ignore': true,
13386
+ },
13387
+ post: {
13388
+ operationId: 'thermostatsSchedulesUpdatePost',
13389
+ requestBody: {
13390
+ content: {
13391
+ 'application/json': {
13392
+ schema: {
13393
+ properties: {
13394
+ climate_preset_key: { type: 'string' },
13395
+ ends_at: { type: 'string' },
13396
+ max_override_period_minutes: { minimum: 0, type: 'integer' },
13397
+ name: { type: 'string' },
13398
+ starts_at: { type: 'string' },
13399
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13400
+ },
13401
+ required: ['thermostat_schedule_id'],
13402
+ type: 'object',
13403
+ },
13404
+ },
13405
+ },
13406
+ },
13407
+ responses: {
13408
+ 200: {
13409
+ content: {
13410
+ 'application/json': {
13411
+ schema: {
13412
+ properties: {
13413
+ ok: { type: 'boolean' },
13414
+ thermostat_schedule: {
13415
+ $ref: '#/components/schemas/thermostat_schedule',
13416
+ },
13417
+ },
13418
+ required: ['thermostat_schedule', 'ok'],
13419
+ type: 'object',
13420
+ },
13421
+ },
13422
+ },
13423
+ description: 'OK',
13424
+ },
13425
+ 400: { description: 'Bad Request' },
13426
+ 401: { description: 'Unauthorized' },
13427
+ },
13428
+ security: [
13429
+ { client_session: [] },
13430
+ { pat_with_workspace: [] },
13431
+ { console_session: [] },
13432
+ { api_key: [] },
13433
+ ],
13434
+ summary: '/thermostats/schedules/update',
13435
+ tags: ['/thermostats'],
13436
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13437
+ 'x-fern-sdk-method-name': 'update',
13438
+ },
13439
+ },
13440
+ '/thermostats/set_fallback_climate_preset': {
13441
+ post: {
13442
+ operationId: 'thermostatsSetFallbackClimatePresetPost',
13443
+ requestBody: {
13444
+ content: {
13445
+ 'application/json': {
13446
+ schema: {
13447
+ properties: {
13448
+ climate_preset_key: { type: 'string' },
13449
+ device_id: { format: 'uuid', type: 'string' },
13450
+ },
13451
+ required: ['device_id', 'climate_preset_key'],
13452
+ type: 'object',
13453
+ },
13454
+ },
13455
+ },
13456
+ },
13457
+ responses: {
13458
+ 200: {
13459
+ content: {
13460
+ 'application/json': {
13461
+ schema: {
13462
+ properties: { ok: { type: 'boolean' } },
13463
+ required: ['ok'],
13464
+ type: 'object',
13465
+ },
13466
+ },
13467
+ },
13468
+ description: 'OK',
13469
+ },
13470
+ 400: { description: 'Bad Request' },
13471
+ 401: { description: 'Unauthorized' },
13472
+ },
13473
+ security: [
13474
+ { pat_with_workspace: [] },
13475
+ { console_session: [] },
13476
+ { api_key: [] },
13477
+ ],
13478
+ summary: '/thermostats/set_fallback_climate_preset',
13479
+ tags: ['/thermostats'],
13480
+ 'x-fern-sdk-group-name': ['thermostats'],
13481
+ 'x-fern-sdk-method-name': 'set_fallback_climate_preset',
13482
+ },
13483
+ },
13484
+ '/thermostats/set_fan_mode': {
13485
+ post: {
13486
+ operationId: 'thermostatsSetFanModePost',
13487
+ requestBody: {
13488
+ content: {
13489
+ 'application/json': {
13490
+ schema: {
13491
+ properties: {
13492
+ device_id: { format: 'uuid', type: 'string' },
13493
+ fan_mode: {
13494
+ deprecated: true,
13495
+ enum: ['auto', 'on'],
13496
+ type: 'string',
13497
+ 'x-deprecated': 'use fan_mode_setting instead.',
13498
+ },
13499
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13500
+ sync: { default: false, type: 'boolean' },
13501
+ },
13502
+ required: ['device_id'],
13503
+ type: 'object',
13504
+ },
13505
+ },
13506
+ },
13507
+ },
13508
+ responses: {
13509
+ 200: {
13510
+ content: {
13511
+ 'application/json': {
13512
+ schema: {
13513
+ properties: {
13514
+ action_attempt: {
13515
+ $ref: '#/components/schemas/action_attempt',
13516
+ },
13517
+ ok: { type: 'boolean' },
13518
+ },
13519
+ required: ['action_attempt', 'ok'],
13520
+ type: 'object',
13521
+ },
13522
+ },
13523
+ },
13524
+ description: 'OK',
13525
+ },
13526
+ 400: { description: 'Bad Request' },
13527
+ 401: { description: 'Unauthorized' },
13528
+ },
13529
+ security: [
13530
+ { client_session: [] },
13531
+ { pat_with_workspace: [] },
13532
+ { console_session: [] },
13533
+ { api_key: [] },
13534
+ ],
13535
+ summary: '/thermostats/set_fan_mode',
13536
+ tags: ['/thermostats'],
13537
+ 'x-fern-sdk-group-name': ['thermostats'],
13538
+ 'x-fern-sdk-method-name': 'set_fan_mode',
13539
+ 'x-fern-sdk-return-value': 'action_attempt',
13540
+ },
13541
+ },
13542
+ '/thermostats/update_climate_preset': {
13543
+ patch: {
13544
+ operationId: 'thermostatsUpdateClimatePresetPatch',
13545
+ requestBody: {
13546
+ content: {
13547
+ 'application/json': {
13548
+ schema: {
13549
+ properties: {
13550
+ climate_preset_key: { type: 'string' },
13551
+ cooling_set_point_celsius: {
13552
+ format: 'float',
13553
+ type: 'number',
13554
+ },
13555
+ cooling_set_point_fahrenheit: {
13556
+ format: 'float',
13557
+ type: 'number',
13558
+ },
13559
+ device_id: { format: 'uuid', type: 'string' },
13560
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13561
+ heating_set_point_celsius: {
13562
+ format: 'float',
13563
+ type: 'number',
13564
+ },
13565
+ heating_set_point_fahrenheit: {
13566
+ format: 'float',
13567
+ type: 'number',
13568
+ },
13569
+ hvac_mode_setting: {
13570
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13571
+ type: 'string',
13572
+ },
13573
+ manual_override_allowed: { type: 'boolean' },
13574
+ name: { nullable: true, type: 'string' },
13575
+ },
13576
+ required: [
13577
+ 'device_id',
13578
+ 'climate_preset_key',
13579
+ 'name',
13580
+ 'manual_override_allowed',
13581
+ ],
13582
+ type: 'object',
13583
+ },
13584
+ },
13585
+ },
13586
+ },
13587
+ responses: {
13588
+ 200: {
13589
+ content: {
13590
+ 'application/json': {
13591
+ schema: {
13592
+ properties: {
13593
+ climate_preset: {
13594
+ properties: {
13595
+ can_delete: { type: 'boolean' },
13596
+ can_edit: { type: 'boolean' },
13597
+ climate_preset_key: { type: 'string' },
13598
+ cooling_set_point_celsius: {
13599
+ format: 'float',
13600
+ type: 'number',
13601
+ },
13602
+ cooling_set_point_fahrenheit: {
13603
+ format: 'float',
13604
+ type: 'number',
13605
+ },
13606
+ display_name: { type: 'string' },
13607
+ fan_mode_setting: {
13608
+ enum: ['auto', 'on'],
13609
+ type: 'string',
13610
+ },
13611
+ heating_set_point_celsius: {
13612
+ format: 'float',
13613
+ type: 'number',
13614
+ },
13615
+ heating_set_point_fahrenheit: {
13616
+ format: 'float',
13617
+ type: 'number',
13618
+ },
13619
+ hvac_mode_setting: {
13620
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13621
+ type: 'string',
13622
+ },
13623
+ manual_override_allowed: { type: 'boolean' },
13624
+ name: { nullable: true, type: 'string' },
13625
+ },
13626
+ required: [
13627
+ 'climate_preset_key',
13628
+ 'can_edit',
13629
+ 'can_delete',
13630
+ 'name',
13631
+ 'display_name',
13632
+ 'manual_override_allowed',
13633
+ ],
13634
+ type: 'object',
13635
+ },
13636
+ ok: { type: 'boolean' },
13637
+ },
13638
+ required: ['climate_preset', 'ok'],
13639
+ type: 'object',
13640
+ },
13641
+ },
13642
+ },
13643
+ description: 'OK',
13644
+ },
13645
+ 400: { description: 'Bad Request' },
13646
+ 401: { description: 'Unauthorized' },
13647
+ },
13648
+ security: [
13649
+ { pat_with_workspace: [] },
13650
+ { console_session: [] },
13651
+ { api_key: [] },
13652
+ ],
13653
+ summary: '/thermostats/update_climate_preset',
13654
+ tags: ['/thermostats'],
13655
+ 'x-fern-ignore': true,
13656
+ },
13657
+ post: {
13658
+ operationId: 'thermostatsUpdateClimatePresetPost',
13659
+ requestBody: {
13660
+ content: {
13661
+ 'application/json': {
13662
+ schema: {
13663
+ properties: {
13664
+ climate_preset_key: { type: 'string' },
13665
+ cooling_set_point_celsius: {
13666
+ format: 'float',
13667
+ type: 'number',
13668
+ },
13669
+ cooling_set_point_fahrenheit: {
13670
+ format: 'float',
13671
+ type: 'number',
13672
+ },
13673
+ device_id: { format: 'uuid', type: 'string' },
13674
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13675
+ heating_set_point_celsius: {
13676
+ format: 'float',
13677
+ type: 'number',
13678
+ },
13679
+ heating_set_point_fahrenheit: {
13680
+ format: 'float',
13681
+ type: 'number',
13682
+ },
13683
+ hvac_mode_setting: {
13684
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13685
+ type: 'string',
13686
+ },
13687
+ manual_override_allowed: { type: 'boolean' },
13688
+ name: { nullable: true, type: 'string' },
13689
+ },
13690
+ required: [
13691
+ 'device_id',
13692
+ 'climate_preset_key',
13693
+ 'name',
13694
+ 'manual_override_allowed',
13695
+ ],
13696
+ type: 'object',
13697
+ },
13698
+ },
13699
+ },
13700
+ },
13701
+ responses: {
13702
+ 200: {
13703
+ content: {
13704
+ 'application/json': {
13705
+ schema: {
13706
+ properties: {
13707
+ climate_preset: {
13708
+ properties: {
13709
+ can_delete: { type: 'boolean' },
13710
+ can_edit: { type: 'boolean' },
13711
+ climate_preset_key: { type: 'string' },
13712
+ cooling_set_point_celsius: {
13713
+ format: 'float',
13714
+ type: 'number',
13715
+ },
13716
+ cooling_set_point_fahrenheit: {
13717
+ format: 'float',
13718
+ type: 'number',
13719
+ },
13720
+ display_name: { type: 'string' },
13721
+ fan_mode_setting: {
13722
+ enum: ['auto', 'on'],
13723
+ type: 'string',
13724
+ },
13725
+ heating_set_point_celsius: {
13726
+ format: 'float',
13727
+ type: 'number',
13728
+ },
13729
+ heating_set_point_fahrenheit: {
13730
+ format: 'float',
13731
+ type: 'number',
13732
+ },
13733
+ hvac_mode_setting: {
13734
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13735
+ type: 'string',
13736
+ },
13737
+ manual_override_allowed: { type: 'boolean' },
13738
+ name: { nullable: true, type: 'string' },
13739
+ },
13740
+ required: [
13741
+ 'climate_preset_key',
13742
+ 'can_edit',
13743
+ 'can_delete',
13744
+ 'name',
13745
+ 'display_name',
13746
+ 'manual_override_allowed',
13747
+ ],
13748
+ type: 'object',
13749
+ },
13750
+ ok: { type: 'boolean' },
13751
+ },
13752
+ required: ['climate_preset', 'ok'],
13753
+ type: 'object',
13754
+ },
13755
+ },
13756
+ },
13757
+ description: 'OK',
13758
+ },
13759
+ 400: { description: 'Bad Request' },
13760
+ 401: { description: 'Unauthorized' },
13761
+ },
13762
+ security: [
13763
+ { pat_with_workspace: [] },
13764
+ { console_session: [] },
13765
+ { api_key: [] },
13766
+ ],
13767
+ summary: '/thermostats/update_climate_preset',
13768
+ tags: ['/thermostats'],
13769
+ 'x-fern-sdk-group-name': ['thermostats'],
13770
+ 'x-fern-sdk-method-name': 'update_climate_preset',
13771
+ 'x-fern-sdk-return-value': 'climate_preset',
13172
13772
  },
13173
13773
  },
13174
13774
  '/user_identities/add_acs_user': {