@seamapi/types 1.240.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 +1347 -768
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +3569 -1426
  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 +231 -28
  12. package/lib/seam/connect/models/acs/acs-user.js +61 -13
  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 +1188 -681
  38. package/lib/seam/connect/openapi.js.map +1 -1
  39. package/lib/seam/connect/route-types.d.ts +1738 -460
  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 +86 -19
  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 +1216 -670
  57. package/src/lib/seam/connect/route-types.ts +2030 -505
  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,11 +834,13 @@ 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.",
760
839
  properties: {
761
840
  created_at: { format: 'date-time', type: 'string' },
762
841
  message: { type: 'string' },
763
842
  warning_code: {
764
- enum: ['failed_to_update_acs_user_on_acs_system'],
843
+ enum: ['failed_to_update_on_acs_system'],
765
844
  type: 'string',
766
845
  },
767
846
  },
@@ -769,6 +848,8 @@ export default {
769
848
  type: 'object',
770
849
  },
771
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.',
772
853
  properties: {
773
854
  created_at: { format: 'date-time', type: 'string' },
774
855
  message: { type: 'string' },
@@ -806,6 +887,7 @@ export default {
806
887
  'display_name',
807
888
  'is_suspended',
808
889
  'warnings',
890
+ 'errors',
809
891
  'is_managed',
810
892
  ],
811
893
  type: 'object',
@@ -1429,6 +1511,91 @@ export default {
1429
1511
  ],
1430
1512
  type: 'object',
1431
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
+ },
1432
1599
  {
1433
1600
  properties: {
1434
1601
  action_attempt_id: {
@@ -1934,39 +2101,6 @@ export default {
1934
2101
  ],
1935
2102
  type: 'object',
1936
2103
  },
1937
- climate_setting_schedule: {
1938
- properties: {
1939
- climate_setting_schedule_id: { format: 'uuid', type: 'string' },
1940
- cooling_set_point_celsius: { format: 'float', type: 'number' },
1941
- cooling_set_point_fahrenheit: { format: 'float', type: 'number' },
1942
- created_at: { format: 'date-time', type: 'string' },
1943
- device_id: { format: 'uuid', type: 'string' },
1944
- errors: {
1945
- description:
1946
- 'Collection of errors associated with the access code, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
1947
- },
1948
- heating_set_point_celsius: { format: 'float', type: 'number' },
1949
- heating_set_point_fahrenheit: { format: 'float', type: 'number' },
1950
- hvac_mode_setting: {
1951
- enum: ['off', 'heat', 'cool', 'heat_cool'],
1952
- type: 'string',
1953
- },
1954
- manual_override_allowed: { type: 'boolean' },
1955
- name: { type: 'string' },
1956
- schedule_ends_at: { type: 'string' },
1957
- schedule_starts_at: { type: 'string' },
1958
- schedule_type: { enum: ['time_bound'], type: 'string' },
1959
- },
1960
- required: [
1961
- 'climate_setting_schedule_id',
1962
- 'schedule_type',
1963
- 'device_id',
1964
- 'schedule_starts_at',
1965
- 'schedule_ends_at',
1966
- 'created_at',
1967
- ],
1968
- type: 'object',
1969
- },
1970
2104
  connect_webview: {
1971
2105
  properties: {
1972
2106
  accepted_devices: {
@@ -2997,57 +3131,86 @@ export default {
2997
3131
  },
2998
3132
  {
2999
3133
  properties: {
3000
- active_climate_setting_schedule: {
3134
+ active_thermostat_schedule: {
3135
+ default: null,
3136
+ nullable: true,
3001
3137
  properties: {
3002
- climate_setting_schedule_id: {
3003
- format: 'uuid',
3004
- type: 'string',
3005
- },
3006
- cooling_set_point_celsius: {
3007
- format: 'float',
3008
- type: 'number',
3009
- },
3010
- cooling_set_point_fahrenheit: {
3011
- format: 'float',
3012
- type: 'number',
3013
- },
3138
+ climate_preset_key: { type: 'string' },
3014
3139
  created_at: { format: 'date-time', type: 'string' },
3015
3140
  device_id: { format: 'uuid', type: 'string' },
3141
+ ends_at: { format: 'date-time', type: 'string' },
3016
3142
  errors: {
3017
3143
  description:
3018
- 'Collection of errors associated with the access code, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
3019
- },
3020
- heating_set_point_celsius: {
3021
- format: 'float',
3022
- type: 'number',
3023
- },
3024
- heating_set_point_fahrenheit: {
3025
- format: 'float',
3026
- type: 'number',
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.',
3027
3145
  },
3028
- hvac_mode_setting: {
3029
- enum: ['off', 'heat', 'cool', 'heat_cool'],
3030
- type: 'string',
3146
+ max_override_period_minutes: {
3147
+ default: 0,
3148
+ minimum: 0,
3149
+ type: 'integer',
3031
3150
  },
3032
- manual_override_allowed: { type: 'boolean' },
3033
3151
  name: { type: 'string' },
3034
- schedule_ends_at: { type: 'string' },
3035
- schedule_starts_at: { type: 'string' },
3036
- schedule_type: {
3037
- enum: ['time_bound'],
3152
+ starts_at: { format: 'date-time', type: 'string' },
3153
+ thermostat_schedule_id: {
3154
+ format: 'uuid',
3038
3155
  type: 'string',
3039
3156
  },
3040
3157
  },
3041
3158
  required: [
3042
- 'climate_setting_schedule_id',
3043
- 'schedule_type',
3159
+ 'thermostat_schedule_id',
3044
3160
  'device_id',
3045
- 'schedule_starts_at',
3046
- 'schedule_ends_at',
3161
+ 'climate_preset_key',
3162
+ 'starts_at',
3163
+ 'ends_at',
3047
3164
  'created_at',
3048
3165
  ],
3049
3166
  type: 'object',
3050
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
+ },
3051
3214
  available_hvac_mode_settings: {
3052
3215
  items: {
3053
3216
  enum: ['off', 'heat', 'cool', 'heat_cool'],
@@ -3057,6 +3220,9 @@ export default {
3057
3220
  },
3058
3221
  current_climate_setting: {
3059
3222
  properties: {
3223
+ can_delete: { type: 'boolean' },
3224
+ can_edit: { type: 'boolean' },
3225
+ climate_preset_key: { type: 'string' },
3060
3226
  cooling_set_point_celsius: {
3061
3227
  format: 'float',
3062
3228
  type: 'number',
@@ -3065,6 +3231,11 @@ export default {
3065
3231
  format: 'float',
3066
3232
  type: 'number',
3067
3233
  },
3234
+ display_name: { type: 'string' },
3235
+ fan_mode_setting: {
3236
+ enum: ['auto', 'on'],
3237
+ type: 'string',
3238
+ },
3068
3239
  heating_set_point_celsius: {
3069
3240
  format: 'float',
3070
3241
  type: 'number',
@@ -3078,15 +3249,16 @@ export default {
3078
3249
  type: 'string',
3079
3250
  },
3080
3251
  manual_override_allowed: { type: 'boolean' },
3252
+ name: { nullable: true, type: 'string' },
3081
3253
  },
3082
- required: [
3083
- 'hvac_mode_setting',
3084
- 'manual_override_allowed',
3085
- ],
3086
3254
  type: 'object',
3087
3255
  },
3088
3256
  default_climate_setting: {
3257
+ deprecated: true,
3089
3258
  properties: {
3259
+ can_delete: { type: 'boolean' },
3260
+ can_edit: { type: 'boolean' },
3261
+ climate_preset_key: { type: 'string' },
3090
3262
  cooling_set_point_celsius: {
3091
3263
  format: 'float',
3092
3264
  type: 'number',
@@ -3095,6 +3267,11 @@ export default {
3095
3267
  format: 'float',
3096
3268
  type: 'number',
3097
3269
  },
3270
+ display_name: { type: 'string' },
3271
+ fan_mode_setting: {
3272
+ enum: ['auto', 'on'],
3273
+ type: 'string',
3274
+ },
3098
3275
  heating_set_point_celsius: {
3099
3276
  format: 'float',
3100
3277
  type: 'number',
@@ -3108,18 +3285,25 @@ export default {
3108
3285
  type: 'string',
3109
3286
  },
3110
3287
  manual_override_allowed: { type: 'boolean' },
3288
+ name: { nullable: true, type: 'string' },
3111
3289
  },
3112
- required: [
3113
- 'hvac_mode_setting',
3114
- 'manual_override_allowed',
3115
- ],
3116
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',
3117
3299
  },
3118
3300
  fan_mode_setting: {
3301
+ deprecated: true,
3119
3302
  enum: ['auto', 'on'],
3120
3303
  type: 'string',
3304
+ 'x-deprecated':
3305
+ 'use current_climate_setting.fan_mode_setting instead.',
3121
3306
  },
3122
- is_climate_setting_schedule_active: { type: 'boolean' },
3123
3307
  is_cooling: { type: 'boolean' },
3124
3308
  is_fan_running: { type: 'boolean' },
3125
3309
  is_heating: { type: 'boolean' },
@@ -3552,6 +3736,35 @@ export default {
3552
3736
  required: ['service', 'status', 'description'],
3553
3737
  type: 'object',
3554
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
+ },
3555
3768
  unmanaged_access_code: {
3556
3769
  properties: {
3557
3770
  access_code_id: {
@@ -7677,12 +7890,7 @@ export default {
7677
7890
  acs_user: {
7678
7891
  properties: {
7679
7892
  access_schedule: {
7680
- properties: {
7681
- ends_at: { format: 'date-time', type: 'string' },
7682
- starts_at: { format: 'date-time', type: 'string' },
7683
- },
7684
- required: ['starts_at', 'ends_at'],
7685
- type: 'object',
7893
+ $ref: '#/components/schemas/thermostat_schedule',
7686
7894
  },
7687
7895
  acs_system_id: { format: 'uuid', type: 'string' },
7688
7896
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7695,20 +7903,109 @@ export default {
7695
7903
  'x-deprecated': 'use email_address.',
7696
7904
  },
7697
7905
  email_address: { format: 'email', type: 'string' },
7698
- errors: { $ref: '#/components/schemas/access_code' },
7699
- external_type: {
7700
- enum: [
7701
- 'pti_user',
7702
- 'brivo_user',
7703
- 'hid_credential_manager_user',
7704
- 'salto_site_user',
7705
- 'latch_user',
7706
- ],
7707
- type: 'string',
7708
- },
7709
- external_type_display_name: { type: 'string' },
7710
- full_name: { type: 'string' },
7711
- hid_acs_system_id: { format: 'uuid', type: 'string' },
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: [
7998
+ 'pti_user',
7999
+ 'brivo_user',
8000
+ 'hid_credential_manager_user',
8001
+ 'salto_site_user',
8002
+ 'latch_user',
8003
+ ],
8004
+ type: 'string',
8005
+ },
8006
+ external_type_display_name: { type: 'string' },
8007
+ full_name: { type: 'string' },
8008
+ hid_acs_system_id: { format: 'uuid', type: 'string' },
7712
8009
  is_latest_desired_state_synced_with_provider: {
7713
8010
  type: 'boolean',
7714
8011
  },
@@ -7734,8 +8031,12 @@ export default {
7734
8031
  },
7735
8032
  warnings: {
7736
8033
  items: {
8034
+ description:
8035
+ 'Warning associated with the `acs_user`.',
7737
8036
  oneOf: [
7738
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.',
7739
8040
  properties: {
7740
8041
  created_at: {
7741
8042
  format: 'date-time',
@@ -7755,6 +8056,8 @@ export default {
7755
8056
  type: 'object',
7756
8057
  },
7757
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.",
7758
8061
  properties: {
7759
8062
  created_at: {
7760
8063
  format: 'date-time',
@@ -7762,9 +8065,7 @@ export default {
7762
8065
  },
7763
8066
  message: { type: 'string' },
7764
8067
  warning_code: {
7765
- enum: [
7766
- 'failed_to_update_acs_user_on_acs_system',
7767
- ],
8068
+ enum: ['failed_to_update_on_acs_system'],
7768
8069
  type: 'string',
7769
8070
  },
7770
8071
  },
@@ -7776,6 +8077,8 @@ export default {
7776
8077
  type: 'object',
7777
8078
  },
7778
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.',
7779
8082
  properties: {
7780
8083
  created_at: {
7781
8084
  format: 'date-time',
@@ -7827,6 +8130,7 @@ export default {
7827
8130
  'display_name',
7828
8131
  'is_suspended',
7829
8132
  'warnings',
8133
+ 'errors',
7830
8134
  'is_managed',
7831
8135
  ],
7832
8136
  type: 'object',
@@ -7884,15 +8188,7 @@ export default {
7884
8188
  items: {
7885
8189
  properties: {
7886
8190
  access_schedule: {
7887
- properties: {
7888
- ends_at: { format: 'date-time', type: 'string' },
7889
- starts_at: {
7890
- format: 'date-time',
7891
- type: 'string',
7892
- },
7893
- },
7894
- required: ['starts_at', 'ends_at'],
7895
- type: 'object',
8191
+ $ref: '#/components/schemas/thermostat_schedule',
7896
8192
  },
7897
8193
  acs_system_id: { format: 'uuid', type: 'string' },
7898
8194
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7905,7 +8201,96 @@ export default {
7905
8201
  'x-deprecated': 'use email_address.',
7906
8202
  },
7907
8203
  email_address: { format: 'email', type: 'string' },
7908
- 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
+ },
7909
8294
  external_type: {
7910
8295
  enum: [
7911
8296
  'pti_user',
@@ -7944,8 +8329,12 @@ export default {
7944
8329
  },
7945
8330
  warnings: {
7946
8331
  items: {
8332
+ description:
8333
+ 'Warning associated with the `acs_user`.',
7947
8334
  oneOf: [
7948
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.',
7949
8338
  properties: {
7950
8339
  created_at: {
7951
8340
  format: 'date-time',
@@ -7965,6 +8354,8 @@ export default {
7965
8354
  type: 'object',
7966
8355
  },
7967
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.",
7968
8359
  properties: {
7969
8360
  created_at: {
7970
8361
  format: 'date-time',
@@ -7972,9 +8363,7 @@ export default {
7972
8363
  },
7973
8364
  message: { type: 'string' },
7974
8365
  warning_code: {
7975
- enum: [
7976
- 'failed_to_update_acs_user_on_acs_system',
7977
- ],
8366
+ enum: ['failed_to_update_on_acs_system'],
7978
8367
  type: 'string',
7979
8368
  },
7980
8369
  },
@@ -7986,6 +8375,8 @@ export default {
7986
8375
  type: 'object',
7987
8376
  },
7988
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.',
7989
8380
  properties: {
7990
8381
  created_at: {
7991
8382
  format: 'date-time',
@@ -8037,6 +8428,7 @@ export default {
8037
8428
  'display_name',
8038
8429
  'is_suspended',
8039
8430
  'warnings',
8431
+ 'errors',
8040
8432
  'is_managed',
8041
8433
  ],
8042
8434
  type: 'object',
@@ -11980,50 +12372,18 @@ export default {
11980
12372
  'x-fern-sdk-return-value': 'phone',
11981
12373
  },
11982
12374
  },
11983
- '/thermostats/climate_setting_schedules/create': {
12375
+ '/thermostats/activate_climate_preset': {
11984
12376
  post: {
11985
- operationId: 'thermostatsClimateSettingSchedulesCreatePost',
12377
+ operationId: 'thermostatsActivateClimatePresetPost',
11986
12378
  requestBody: {
11987
12379
  content: {
11988
12380
  'application/json': {
11989
12381
  schema: {
11990
12382
  properties: {
11991
- cooling_set_point_celsius: {
11992
- format: 'float',
11993
- type: 'number',
11994
- },
11995
- cooling_set_point_fahrenheit: {
11996
- format: 'float',
11997
- type: 'number',
11998
- },
11999
- device_id: { type: 'string' },
12000
- heating_set_point_celsius: {
12001
- format: 'float',
12002
- type: 'number',
12003
- },
12004
- heating_set_point_fahrenheit: {
12005
- format: 'float',
12006
- type: 'number',
12007
- },
12008
- hvac_mode_setting: {
12009
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12010
- type: 'string',
12011
- },
12012
- manual_override_allowed: { type: 'boolean' },
12013
- name: { type: 'string' },
12014
- schedule_ends_at: { type: 'string' },
12015
- schedule_starts_at: { type: 'string' },
12016
- schedule_type: {
12017
- default: 'time_bound',
12018
- enum: ['time_bound'],
12019
- type: 'string',
12020
- },
12383
+ climate_preset_key: { type: 'string' },
12384
+ device_id: { format: 'uuid', type: 'string' },
12021
12385
  },
12022
- required: [
12023
- 'device_id',
12024
- 'schedule_starts_at',
12025
- 'schedule_ends_at',
12026
- ],
12386
+ required: ['device_id', 'climate_preset_key'],
12027
12387
  type: 'object',
12028
12388
  },
12029
12389
  },
@@ -12035,12 +12395,12 @@ export default {
12035
12395
  'application/json': {
12036
12396
  schema: {
12037
12397
  properties: {
12038
- climate_setting_schedule: {
12039
- $ref: '#/components/schemas/climate_setting_schedule',
12398
+ action_attempt: {
12399
+ $ref: '#/components/schemas/action_attempt',
12040
12400
  },
12041
12401
  ok: { type: 'boolean' },
12042
12402
  },
12043
- required: ['climate_setting_schedule', 'ok'],
12403
+ required: ['action_attempt', 'ok'],
12044
12404
  type: 'object',
12045
12405
  },
12046
12406
  },
@@ -12051,32 +12411,37 @@ export default {
12051
12411
  401: { description: 'Unauthorized' },
12052
12412
  },
12053
12413
  security: [
12054
- { client_session: [] },
12055
12414
  { pat_with_workspace: [] },
12056
12415
  { console_session: [] },
12057
12416
  { api_key: [] },
12058
12417
  ],
12059
- summary: '/thermostats/climate_setting_schedules/create',
12418
+ summary: '/thermostats/activate_climate_preset',
12060
12419
  tags: ['/thermostats'],
12061
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12062
- 'x-fern-sdk-method-name': 'create',
12063
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12420
+ 'x-fern-sdk-group-name': ['thermostats'],
12421
+ 'x-fern-sdk-method-name': 'activate_climate_preset',
12422
+ 'x-fern-sdk-return-value': 'action_attempt',
12064
12423
  },
12065
12424
  },
12066
- '/thermostats/climate_setting_schedules/delete': {
12425
+ '/thermostats/cool': {
12067
12426
  post: {
12068
- operationId: 'thermostatsClimateSettingSchedulesDeletePost',
12427
+ operationId: 'thermostatsCoolPost',
12069
12428
  requestBody: {
12070
12429
  content: {
12071
12430
  'application/json': {
12072
12431
  schema: {
12073
12432
  properties: {
12074
- climate_setting_schedule_id: {
12075
- format: 'uuid',
12076
- 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',
12077
12440
  },
12441
+ device_id: { format: 'uuid', type: 'string' },
12442
+ sync: { default: false, type: 'boolean' },
12078
12443
  },
12079
- required: ['climate_setting_schedule_id'],
12444
+ required: ['device_id'],
12080
12445
  type: 'object',
12081
12446
  },
12082
12447
  },
@@ -12087,8 +12452,13 @@ export default {
12087
12452
  content: {
12088
12453
  'application/json': {
12089
12454
  schema: {
12090
- properties: { ok: { type: 'boolean' } },
12091
- required: ['ok'],
12455
+ properties: {
12456
+ action_attempt: {
12457
+ $ref: '#/components/schemas/action_attempt',
12458
+ },
12459
+ ok: { type: 'boolean' },
12460
+ },
12461
+ required: ['action_attempt', 'ok'],
12092
12462
  type: 'object',
12093
12463
  },
12094
12464
  },
@@ -12104,70 +12474,53 @@ export default {
12104
12474
  { console_session: [] },
12105
12475
  { api_key: [] },
12106
12476
  ],
12107
- summary: '/thermostats/climate_setting_schedules/delete',
12477
+ summary: '/thermostats/cool',
12108
12478
  tags: ['/thermostats'],
12109
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12110
- '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',
12111
12482
  },
12112
- put: {
12113
- operationId: 'thermostatsClimateSettingSchedulesDeletePut',
12483
+ },
12484
+ '/thermostats/create_climate_preset': {
12485
+ post: {
12486
+ operationId: 'thermostatsCreateClimatePresetPost',
12114
12487
  requestBody: {
12115
12488
  content: {
12116
12489
  'application/json': {
12117
12490
  schema: {
12118
12491
  properties: {
12119
- climate_setting_schedule_id: {
12120
- 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'],
12121
12513
  type: 'string',
12122
12514
  },
12515
+ manual_override_allowed: { type: 'boolean' },
12516
+ name: { nullable: true, type: 'string' },
12123
12517
  },
12124
- required: ['climate_setting_schedule_id'],
12125
- type: 'object',
12126
- },
12127
- },
12128
- },
12129
- },
12130
- responses: {
12131
- 200: {
12132
- content: {
12133
- 'application/json': {
12134
- schema: {
12135
- properties: { ok: { type: 'boolean' } },
12136
- required: ['ok'],
12137
- type: 'object',
12138
- },
12139
- },
12140
- },
12141
- description: 'OK',
12142
- },
12143
- 400: { description: 'Bad Request' },
12144
- 401: { description: 'Unauthorized' },
12145
- },
12146
- security: [
12147
- { client_session: [] },
12148
- { pat_with_workspace: [] },
12149
- { console_session: [] },
12150
- { api_key: [] },
12151
- ],
12152
- summary: '/thermostats/climate_setting_schedules/delete',
12153
- tags: ['/thermostats'],
12154
- 'x-fern-ignore': true,
12155
- },
12156
- },
12157
- '/thermostats/climate_setting_schedules/get': {
12158
- post: {
12159
- operationId: 'thermostatsClimateSettingSchedulesGetPost',
12160
- requestBody: {
12161
- content: {
12162
- 'application/json': {
12163
- schema: {
12164
- properties: {
12165
- climate_setting_schedule_id: {
12166
- format: 'uuid',
12167
- type: 'string',
12168
- },
12169
- device_id: { format: 'uuid', type: 'string' },
12170
- },
12518
+ required: [
12519
+ 'device_id',
12520
+ 'climate_preset_key',
12521
+ 'name',
12522
+ 'manual_override_allowed',
12523
+ ],
12171
12524
  type: 'object',
12172
12525
  },
12173
12526
  },
@@ -12179,12 +12532,52 @@ export default {
12179
12532
  'application/json': {
12180
12533
  schema: {
12181
12534
  properties: {
12182
- climate_setting_schedule: {
12183
- $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',
12184
12577
  },
12185
12578
  ok: { type: 'boolean' },
12186
12579
  },
12187
- required: ['climate_setting_schedule', 'ok'],
12580
+ required: ['climate_preset', 'ok'],
12188
12581
  type: 'object',
12189
12582
  },
12190
12583
  },
@@ -12195,30 +12588,28 @@ export default {
12195
12588
  401: { description: 'Unauthorized' },
12196
12589
  },
12197
12590
  security: [
12198
- { client_session: [] },
12199
12591
  { pat_with_workspace: [] },
12200
12592
  { console_session: [] },
12201
12593
  { api_key: [] },
12202
12594
  ],
12203
- summary: '/thermostats/climate_setting_schedules/get',
12595
+ summary: '/thermostats/create_climate_preset',
12204
12596
  tags: ['/thermostats'],
12205
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12206
- 'x-fern-sdk-method-name': 'get',
12207
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12597
+ 'x-fern-sdk-group-name': ['thermostats'],
12598
+ 'x-fern-sdk-method-name': 'create_climate_preset',
12208
12599
  },
12209
12600
  },
12210
- '/thermostats/climate_setting_schedules/list': {
12601
+ '/thermostats/delete_climate_preset': {
12211
12602
  post: {
12212
- operationId: 'thermostatsClimateSettingSchedulesListPost',
12603
+ operationId: 'thermostatsDeleteClimatePresetPost',
12213
12604
  requestBody: {
12214
12605
  content: {
12215
12606
  'application/json': {
12216
12607
  schema: {
12217
12608
  properties: {
12609
+ climate_preset_key: { type: 'string' },
12218
12610
  device_id: { format: 'uuid', type: 'string' },
12219
- user_identifier_key: { type: 'string' },
12220
12611
  },
12221
- required: ['device_id'],
12612
+ required: ['device_id', 'climate_preset_key'],
12222
12613
  type: 'object',
12223
12614
  },
12224
12615
  },
@@ -12229,16 +12620,8 @@ export default {
12229
12620
  content: {
12230
12621
  'application/json': {
12231
12622
  schema: {
12232
- properties: {
12233
- climate_setting_schedules: {
12234
- items: {
12235
- $ref: '#/components/schemas/climate_setting_schedule',
12236
- },
12237
- type: 'array',
12238
- },
12239
- ok: { type: 'boolean' },
12240
- },
12241
- required: ['climate_setting_schedules', 'ok'],
12623
+ properties: { ok: { type: 'boolean' } },
12624
+ required: ['ok'],
12242
12625
  type: 'object',
12243
12626
  },
12244
12627
  },
@@ -12249,61 +12632,27 @@ export default {
12249
12632
  401: { description: 'Unauthorized' },
12250
12633
  },
12251
12634
  security: [
12252
- { api_key: [] },
12253
- { client_session: [] },
12254
12635
  { pat_with_workspace: [] },
12255
12636
  { console_session: [] },
12637
+ { api_key: [] },
12256
12638
  ],
12257
- summary: '/thermostats/climate_setting_schedules/list',
12639
+ summary: '/thermostats/delete_climate_preset',
12258
12640
  tags: ['/thermostats'],
12259
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12260
- 'x-fern-sdk-method-name': 'list',
12261
- 'x-fern-sdk-return-value': 'climate_setting_schedules',
12641
+ 'x-fern-sdk-group-name': ['thermostats'],
12642
+ 'x-fern-sdk-method-name': 'delete_climate_preset',
12262
12643
  },
12263
12644
  },
12264
- '/thermostats/climate_setting_schedules/update': {
12265
- patch: {
12266
- operationId: 'thermostatsClimateSettingSchedulesUpdatePatch',
12645
+ '/thermostats/get': {
12646
+ post: {
12647
+ operationId: 'thermostatsGetPost',
12267
12648
  requestBody: {
12268
12649
  content: {
12269
12650
  'application/json': {
12270
12651
  schema: {
12271
12652
  properties: {
12272
- climate_setting_schedule_id: {
12273
- format: 'uuid',
12274
- type: 'string',
12275
- },
12276
- cooling_set_point_celsius: {
12277
- format: 'float',
12278
- type: 'number',
12279
- },
12280
- cooling_set_point_fahrenheit: {
12281
- format: 'float',
12282
- type: 'number',
12283
- },
12284
- heating_set_point_celsius: {
12285
- format: 'float',
12286
- type: 'number',
12287
- },
12288
- heating_set_point_fahrenheit: {
12289
- format: 'float',
12290
- type: 'number',
12291
- },
12292
- hvac_mode_setting: {
12293
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12294
- type: 'string',
12295
- },
12296
- manual_override_allowed: { type: 'boolean' },
12653
+ device_id: { format: 'uuid', type: 'string' },
12297
12654
  name: { type: 'string' },
12298
- schedule_ends_at: { type: 'string' },
12299
- schedule_starts_at: { type: 'string' },
12300
- schedule_type: {
12301
- default: 'time_bound',
12302
- enum: ['time_bound'],
12303
- type: 'string',
12304
- },
12305
12655
  },
12306
- required: ['climate_setting_schedule_id'],
12307
12656
  type: 'object',
12308
12657
  },
12309
12658
  },
@@ -12315,12 +12664,10 @@ export default {
12315
12664
  'application/json': {
12316
12665
  schema: {
12317
12666
  properties: {
12318
- climate_setting_schedule: {
12319
- $ref: '#/components/schemas/climate_setting_schedule',
12320
- },
12321
12667
  ok: { type: 'boolean' },
12668
+ thermostat: { $ref: '#/components/schemas/device' },
12322
12669
  },
12323
- required: ['climate_setting_schedule', 'ok'],
12670
+ required: ['thermostat', 'ok'],
12324
12671
  type: 'object',
12325
12672
  },
12326
12673
  },
@@ -12336,29 +12683,23 @@ export default {
12336
12683
  { console_session: [] },
12337
12684
  { api_key: [] },
12338
12685
  ],
12339
- summary: '/thermostats/climate_setting_schedules/update',
12686
+ summary: '/thermostats/get',
12340
12687
  tags: ['/thermostats'],
12341
- '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',
12342
12692
  },
12693
+ },
12694
+ '/thermostats/heat': {
12343
12695
  post: {
12344
- operationId: 'thermostatsClimateSettingSchedulesUpdatePost',
12696
+ operationId: 'thermostatsHeatPost',
12345
12697
  requestBody: {
12346
12698
  content: {
12347
12699
  'application/json': {
12348
12700
  schema: {
12349
12701
  properties: {
12350
- climate_setting_schedule_id: {
12351
- format: 'uuid',
12352
- type: 'string',
12353
- },
12354
- cooling_set_point_celsius: {
12355
- format: 'float',
12356
- type: 'number',
12357
- },
12358
- cooling_set_point_fahrenheit: {
12359
- format: 'float',
12360
- type: 'number',
12361
- },
12702
+ device_id: { format: 'uuid', type: 'string' },
12362
12703
  heating_set_point_celsius: {
12363
12704
  format: 'float',
12364
12705
  type: 'number',
@@ -12367,21 +12708,9 @@ export default {
12367
12708
  format: 'float',
12368
12709
  type: 'number',
12369
12710
  },
12370
- hvac_mode_setting: {
12371
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12372
- type: 'string',
12373
- },
12374
- manual_override_allowed: { type: 'boolean' },
12375
- name: { type: 'string' },
12376
- schedule_ends_at: { type: 'string' },
12377
- schedule_starts_at: { type: 'string' },
12378
- schedule_type: {
12379
- default: 'time_bound',
12380
- enum: ['time_bound'],
12381
- type: 'string',
12382
- },
12711
+ sync: { default: false, type: 'boolean' },
12383
12712
  },
12384
- required: ['climate_setting_schedule_id'],
12713
+ required: ['device_id'],
12385
12714
  type: 'object',
12386
12715
  },
12387
12716
  },
@@ -12393,12 +12722,12 @@ export default {
12393
12722
  'application/json': {
12394
12723
  schema: {
12395
12724
  properties: {
12396
- climate_setting_schedule: {
12397
- $ref: '#/components/schemas/climate_setting_schedule',
12725
+ action_attempt: {
12726
+ $ref: '#/components/schemas/action_attempt',
12398
12727
  },
12399
12728
  ok: { type: 'boolean' },
12400
12729
  },
12401
- required: ['climate_setting_schedule', 'ok'],
12730
+ required: ['action_attempt', 'ok'],
12402
12731
  type: 'object',
12403
12732
  },
12404
12733
  },
@@ -12414,22 +12743,21 @@ export default {
12414
12743
  { console_session: [] },
12415
12744
  { api_key: [] },
12416
12745
  ],
12417
- summary: '/thermostats/climate_setting_schedules/update',
12746
+ summary: '/thermostats/heat',
12418
12747
  tags: ['/thermostats'],
12419
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12420
- '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',
12421
12751
  },
12422
- put: {
12423
- operationId: 'thermostatsClimateSettingSchedulesUpdatePut',
12752
+ },
12753
+ '/thermostats/heat_cool': {
12754
+ post: {
12755
+ operationId: 'thermostatsHeatCoolPost',
12424
12756
  requestBody: {
12425
12757
  content: {
12426
12758
  'application/json': {
12427
12759
  schema: {
12428
12760
  properties: {
12429
- climate_setting_schedule_id: {
12430
- format: 'uuid',
12431
- type: 'string',
12432
- },
12433
12761
  cooling_set_point_celsius: {
12434
12762
  format: 'float',
12435
12763
  type: 'number',
@@ -12438,6 +12766,7 @@ export default {
12438
12766
  format: 'float',
12439
12767
  type: 'number',
12440
12768
  },
12769
+ device_id: { format: 'uuid', type: 'string' },
12441
12770
  heating_set_point_celsius: {
12442
12771
  format: 'float',
12443
12772
  type: 'number',
@@ -12446,75 +12775,6 @@ export default {
12446
12775
  format: 'float',
12447
12776
  type: 'number',
12448
12777
  },
12449
- hvac_mode_setting: {
12450
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12451
- type: 'string',
12452
- },
12453
- manual_override_allowed: { type: 'boolean' },
12454
- name: { type: 'string' },
12455
- schedule_ends_at: { type: 'string' },
12456
- schedule_starts_at: { type: 'string' },
12457
- schedule_type: {
12458
- default: 'time_bound',
12459
- enum: ['time_bound'],
12460
- type: 'string',
12461
- },
12462
- },
12463
- required: ['climate_setting_schedule_id'],
12464
- type: 'object',
12465
- },
12466
- },
12467
- },
12468
- },
12469
- responses: {
12470
- 200: {
12471
- content: {
12472
- 'application/json': {
12473
- schema: {
12474
- properties: {
12475
- climate_setting_schedule: {
12476
- $ref: '#/components/schemas/climate_setting_schedule',
12477
- },
12478
- ok: { type: 'boolean' },
12479
- },
12480
- required: ['climate_setting_schedule', 'ok'],
12481
- type: 'object',
12482
- },
12483
- },
12484
- },
12485
- description: 'OK',
12486
- },
12487
- 400: { description: 'Bad Request' },
12488
- 401: { description: 'Unauthorized' },
12489
- },
12490
- security: [
12491
- { client_session: [] },
12492
- { pat_with_workspace: [] },
12493
- { console_session: [] },
12494
- { api_key: [] },
12495
- ],
12496
- summary: '/thermostats/climate_setting_schedules/update',
12497
- tags: ['/thermostats'],
12498
- 'x-fern-ignore': true,
12499
- },
12500
- },
12501
- '/thermostats/cool': {
12502
- post: {
12503
- operationId: 'thermostatsCoolPost',
12504
- requestBody: {
12505
- content: {
12506
- 'application/json': {
12507
- schema: {
12508
- properties: {
12509
- cooling_set_point_celsius: {
12510
- format: 'float',
12511
- type: 'number',
12512
- },
12513
- cooling_set_point_fahrenheit: {
12514
- format: 'float',
12515
- type: 'number',
12516
- },
12517
- device_id: { format: 'uuid', type: 'string' },
12518
12778
  sync: { default: false, type: 'boolean' },
12519
12779
  },
12520
12780
  required: ['device_id'],
@@ -12550,202 +12810,27 @@ export default {
12550
12810
  { console_session: [] },
12551
12811
  { api_key: [] },
12552
12812
  ],
12553
- summary: '/thermostats/cool',
12813
+ summary: '/thermostats/heat_cool',
12554
12814
  tags: ['/thermostats'],
12555
12815
  'x-fern-sdk-group-name': ['thermostats'],
12556
- 'x-fern-sdk-method-name': 'cool',
12816
+ 'x-fern-sdk-method-name': 'heat_cool',
12557
12817
  'x-fern-sdk-return-value': 'action_attempt',
12558
12818
  },
12559
12819
  },
12560
- '/thermostats/get': {
12820
+ '/thermostats/list': {
12561
12821
  post: {
12562
- operationId: 'thermostatsGetPost',
12822
+ operationId: 'thermostatsListPost',
12563
12823
  requestBody: {
12564
12824
  content: {
12565
12825
  'application/json': {
12566
12826
  schema: {
12567
12827
  properties: {
12568
- device_id: { format: 'uuid', type: 'string' },
12569
- name: { type: 'string' },
12570
- },
12571
- type: 'object',
12572
- },
12573
- },
12574
- },
12575
- },
12576
- responses: {
12577
- 200: {
12578
- content: {
12579
- 'application/json': {
12580
- schema: {
12581
- properties: {
12582
- ok: { type: 'boolean' },
12583
- thermostat: { $ref: '#/components/schemas/device' },
12584
- },
12585
- required: ['thermostat', 'ok'],
12586
- type: 'object',
12587
- },
12588
- },
12589
- },
12590
- description: 'OK',
12591
- },
12592
- 400: { description: 'Bad Request' },
12593
- 401: { description: 'Unauthorized' },
12594
- },
12595
- security: [
12596
- { client_session: [] },
12597
- { pat_with_workspace: [] },
12598
- { console_session: [] },
12599
- { api_key: [] },
12600
- ],
12601
- summary: '/thermostats/get',
12602
- tags: ['/thermostats'],
12603
- 'x-deprecated': 'Use `/devices/get` instead.',
12604
- 'x-fern-sdk-group-name': ['thermostats'],
12605
- 'x-fern-sdk-method-name': 'get',
12606
- 'x-fern-sdk-return-value': 'thermostat',
12607
- },
12608
- },
12609
- '/thermostats/heat': {
12610
- post: {
12611
- operationId: 'thermostatsHeatPost',
12612
- requestBody: {
12613
- content: {
12614
- 'application/json': {
12615
- schema: {
12616
- properties: {
12617
- device_id: { format: 'uuid', type: 'string' },
12618
- heating_set_point_celsius: {
12619
- format: 'float',
12620
- type: 'number',
12621
- },
12622
- heating_set_point_fahrenheit: {
12623
- format: 'float',
12624
- type: 'number',
12625
- },
12626
- sync: { default: false, type: 'boolean' },
12627
- },
12628
- required: ['device_id'],
12629
- type: 'object',
12630
- },
12631
- },
12632
- },
12633
- },
12634
- responses: {
12635
- 200: {
12636
- content: {
12637
- 'application/json': {
12638
- schema: {
12639
- properties: {
12640
- action_attempt: {
12641
- $ref: '#/components/schemas/action_attempt',
12642
- },
12643
- ok: { type: 'boolean' },
12644
- },
12645
- required: ['action_attempt', 'ok'],
12646
- type: 'object',
12647
- },
12648
- },
12649
- },
12650
- description: 'OK',
12651
- },
12652
- 400: { description: 'Bad Request' },
12653
- 401: { description: 'Unauthorized' },
12654
- },
12655
- security: [
12656
- { client_session: [] },
12657
- { pat_with_workspace: [] },
12658
- { console_session: [] },
12659
- { api_key: [] },
12660
- ],
12661
- summary: '/thermostats/heat',
12662
- tags: ['/thermostats'],
12663
- 'x-fern-sdk-group-name': ['thermostats'],
12664
- 'x-fern-sdk-method-name': 'heat',
12665
- 'x-fern-sdk-return-value': 'action_attempt',
12666
- },
12667
- },
12668
- '/thermostats/heat_cool': {
12669
- post: {
12670
- operationId: 'thermostatsHeatCoolPost',
12671
- requestBody: {
12672
- content: {
12673
- 'application/json': {
12674
- schema: {
12675
- properties: {
12676
- cooling_set_point_celsius: {
12677
- format: 'float',
12678
- type: 'number',
12679
- },
12680
- cooling_set_point_fahrenheit: {
12681
- format: 'float',
12682
- type: 'number',
12683
- },
12684
- device_id: { format: 'uuid', type: 'string' },
12685
- heating_set_point_celsius: {
12686
- format: 'float',
12687
- type: 'number',
12688
- },
12689
- heating_set_point_fahrenheit: {
12690
- format: 'float',
12691
- type: 'number',
12692
- },
12693
- sync: { default: false, type: 'boolean' },
12694
- },
12695
- required: ['device_id'],
12696
- type: 'object',
12697
- },
12698
- },
12699
- },
12700
- },
12701
- responses: {
12702
- 200: {
12703
- content: {
12704
- 'application/json': {
12705
- schema: {
12706
- properties: {
12707
- action_attempt: {
12708
- $ref: '#/components/schemas/action_attempt',
12709
- },
12710
- ok: { type: 'boolean' },
12711
- },
12712
- required: ['action_attempt', 'ok'],
12713
- type: 'object',
12714
- },
12715
- },
12716
- },
12717
- description: 'OK',
12718
- },
12719
- 400: { description: 'Bad Request' },
12720
- 401: { description: 'Unauthorized' },
12721
- },
12722
- security: [
12723
- { client_session: [] },
12724
- { pat_with_workspace: [] },
12725
- { console_session: [] },
12726
- { api_key: [] },
12727
- ],
12728
- summary: '/thermostats/heat_cool',
12729
- tags: ['/thermostats'],
12730
- 'x-fern-sdk-group-name': ['thermostats'],
12731
- 'x-fern-sdk-method-name': 'heat_cool',
12732
- 'x-fern-sdk-return-value': 'action_attempt',
12733
- },
12734
- },
12735
- '/thermostats/list': {
12736
- post: {
12737
- operationId: 'thermostatsListPost',
12738
- requestBody: {
12739
- content: {
12740
- 'application/json': {
12741
- schema: {
12742
- properties: {
12743
- connect_webview_id: { format: 'uuid', type: 'string' },
12744
- connected_account_id: {
12745
- description:
12746
- 'List all devices owned by this connected account',
12747
- format: 'uuid',
12748
- 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',
12749
12834
  },
12750
12835
  connected_account_ids: {
12751
12836
  items: { format: 'uuid', type: 'string' },
@@ -13035,20 +13120,31 @@ export default {
13035
13120
  'x-fern-sdk-return-value': 'action_attempt',
13036
13121
  },
13037
13122
  },
13038
- '/thermostats/set_fan_mode': {
13123
+ '/thermostats/schedules/create': {
13039
13124
  post: {
13040
- operationId: 'thermostatsSetFanModePost',
13125
+ operationId: 'thermostatsSchedulesCreatePost',
13041
13126
  requestBody: {
13042
13127
  content: {
13043
13128
  'application/json': {
13044
13129
  schema: {
13045
13130
  properties: {
13046
- device_id: { format: 'uuid', type: 'string' },
13047
- fan_mode: { enum: ['auto', 'on'], type: 'string' },
13048
- fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13049
- 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' },
13050
13141
  },
13051
- required: ['device_id'],
13142
+ required: [
13143
+ 'device_id',
13144
+ 'climate_preset_key',
13145
+ 'starts_at',
13146
+ 'ends_at',
13147
+ ],
13052
13148
  type: 'object',
13053
13149
  },
13054
13150
  },
@@ -13060,12 +13156,12 @@ export default {
13060
13156
  'application/json': {
13061
13157
  schema: {
13062
13158
  properties: {
13063
- action_attempt: {
13064
- $ref: '#/components/schemas/action_attempt',
13065
- },
13066
13159
  ok: { type: 'boolean' },
13160
+ thermostat_schedule: {
13161
+ $ref: '#/components/schemas/thermostat_schedule',
13162
+ },
13067
13163
  },
13068
- required: ['action_attempt', 'ok'],
13164
+ required: ['thermostat_schedule', 'ok'],
13069
13165
  type: 'object',
13070
13166
  },
13071
13167
  },
@@ -13081,50 +13177,24 @@ export default {
13081
13177
  { console_session: [] },
13082
13178
  { api_key: [] },
13083
13179
  ],
13084
- summary: '/thermostats/set_fan_mode',
13180
+ summary: '/thermostats/schedules/create',
13085
13181
  tags: ['/thermostats'],
13086
- 'x-fern-sdk-group-name': ['thermostats'],
13087
- 'x-fern-sdk-method-name': 'set_fan_mode',
13088
- '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',
13089
13185
  },
13090
13186
  },
13091
- '/thermostats/update': {
13092
- patch: {
13093
- operationId: 'thermostatsUpdatePatch',
13187
+ '/thermostats/schedules/delete': {
13188
+ post: {
13189
+ operationId: 'thermostatsSchedulesDeletePost',
13094
13190
  requestBody: {
13095
13191
  content: {
13096
13192
  'application/json': {
13097
13193
  schema: {
13098
13194
  properties: {
13099
- default_climate_setting: {
13100
- properties: {
13101
- cooling_set_point_celsius: {
13102
- format: 'float',
13103
- type: 'number',
13104
- },
13105
- cooling_set_point_fahrenheit: {
13106
- format: 'float',
13107
- type: 'number',
13108
- },
13109
- heating_set_point_celsius: {
13110
- format: 'float',
13111
- type: 'number',
13112
- },
13113
- heating_set_point_fahrenheit: {
13114
- format: 'float',
13115
- type: 'number',
13116
- },
13117
- hvac_mode_setting: {
13118
- enum: ['off', 'heat', 'cool', 'heat_cool'],
13119
- type: 'string',
13120
- },
13121
- manual_override_allowed: { type: 'boolean' },
13122
- },
13123
- type: 'object',
13124
- },
13125
- device_id: { format: 'uuid', type: 'string' },
13195
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13126
13196
  },
13127
- required: ['device_id', 'default_climate_setting'],
13197
+ required: ['thermostat_schedule_id'],
13128
13198
  type: 'object',
13129
13199
  },
13130
13200
  },
@@ -13147,51 +13217,28 @@ export default {
13147
13217
  401: { description: 'Unauthorized' },
13148
13218
  },
13149
13219
  security: [
13150
- { api_key: [] },
13220
+ { client_session: [] },
13151
13221
  { pat_with_workspace: [] },
13152
13222
  { console_session: [] },
13153
- { client_session: [] },
13223
+ { api_key: [] },
13154
13224
  ],
13155
- summary: '/thermostats/update',
13225
+ summary: '/thermostats/schedules/delete',
13156
13226
  tags: ['/thermostats'],
13157
- 'x-fern-ignore': true,
13227
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13228
+ 'x-fern-sdk-method-name': 'delete',
13158
13229
  },
13230
+ },
13231
+ '/thermostats/schedules/get': {
13159
13232
  post: {
13160
- operationId: 'thermostatsUpdatePost',
13233
+ operationId: 'thermostatsSchedulesGetPost',
13161
13234
  requestBody: {
13162
13235
  content: {
13163
13236
  'application/json': {
13164
13237
  schema: {
13165
13238
  properties: {
13166
- default_climate_setting: {
13167
- properties: {
13168
- cooling_set_point_celsius: {
13169
- format: 'float',
13170
- type: 'number',
13171
- },
13172
- cooling_set_point_fahrenheit: {
13173
- format: 'float',
13174
- type: 'number',
13175
- },
13176
- heating_set_point_celsius: {
13177
- format: 'float',
13178
- type: 'number',
13179
- },
13180
- heating_set_point_fahrenheit: {
13181
- format: 'float',
13182
- type: 'number',
13183
- },
13184
- hvac_mode_setting: {
13185
- enum: ['off', 'heat', 'cool', 'heat_cool'],
13186
- type: 'string',
13187
- },
13188
- manual_override_allowed: { type: 'boolean' },
13189
- },
13190
- type: 'object',
13191
- },
13192
- device_id: { format: 'uuid', type: 'string' },
13239
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13193
13240
  },
13194
- required: ['device_id', 'default_climate_setting'],
13241
+ required: ['thermostat_schedule_id'],
13195
13242
  type: 'object',
13196
13243
  },
13197
13244
  },
@@ -13202,8 +13249,13 @@ export default {
13202
13249
  content: {
13203
13250
  'application/json': {
13204
13251
  schema: {
13205
- properties: { ok: { type: 'boolean' } },
13206
- required: ['ok'],
13252
+ properties: {
13253
+ ok: { type: 'boolean' },
13254
+ thermostat_schedule: {
13255
+ $ref: '#/components/schemas/thermostat_schedule',
13256
+ },
13257
+ },
13258
+ required: ['thermostat_schedule', 'ok'],
13207
13259
  type: 'object',
13208
13260
  },
13209
13261
  },
@@ -13214,15 +13266,509 @@ export default {
13214
13266
  401: { description: 'Unauthorized' },
13215
13267
  },
13216
13268
  security: [
13217
- { api_key: [] },
13269
+ { client_session: [] },
13218
13270
  { pat_with_workspace: [] },
13219
13271
  { console_session: [] },
13220
- { client_session: [] },
13272
+ { api_key: [] },
13221
13273
  ],
13222
- summary: '/thermostats/update',
13274
+ summary: '/thermostats/schedules/get',
13223
13275
  tags: ['/thermostats'],
13224
- 'x-fern-sdk-group-name': ['thermostats'],
13225
- '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',
13226
13772
  },
13227
13773
  },
13228
13774
  '/user_identities/add_acs_user': {