@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
@@ -675,7 +675,73 @@ export default {
675
675
  'x-deprecated': 'use email_address.',
676
676
  },
677
677
  email_address: { format: 'email', type: 'string' },
678
- errors: {},
678
+ errors: {
679
+ items: {
680
+ description: 'Error associated with the `acs_user`.',
681
+ oneOf: [
682
+ {
683
+ description: 'Indicates that the user was deleted from the ACS system outside of Seam.',
684
+ properties: {
685
+ created_at: {
686
+ description: 'Date and time at which Seam created the error.',
687
+ format: 'date-time',
688
+ type: 'string',
689
+ },
690
+ error_code: {
691
+ enum: ['user_deleted_externally'],
692
+ type: 'string',
693
+ },
694
+ message: {
695
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
696
+ type: 'string',
697
+ },
698
+ },
699
+ required: ['created_at', 'message', 'error_code'],
700
+ type: 'object',
701
+ },
702
+ {
703
+ description: 'Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.',
704
+ properties: {
705
+ created_at: {
706
+ description: 'Date and time at which Seam created the error.',
707
+ format: 'date-time',
708
+ type: 'string',
709
+ },
710
+ error_code: {
711
+ enum: ['salto_ks_subscription_limit_exceeded'],
712
+ type: 'string',
713
+ },
714
+ message: {
715
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
716
+ type: 'string',
717
+ },
718
+ },
719
+ required: ['created_at', 'message', 'error_code'],
720
+ type: 'object',
721
+ },
722
+ {
723
+ properties: {
724
+ created_at: {
725
+ description: 'Date and time at which Seam created the error.',
726
+ format: 'date-time',
727
+ type: 'string',
728
+ },
729
+ error_code: {
730
+ enum: ['salto_site_user_limit_reached'],
731
+ type: 'string',
732
+ },
733
+ message: {
734
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
735
+ type: 'string',
736
+ },
737
+ },
738
+ required: ['created_at', 'message', 'error_code'],
739
+ type: 'object',
740
+ },
741
+ ],
742
+ },
743
+ type: 'array',
744
+ },
679
745
  external_type: {
680
746
  enum: [
681
747
  'pti_user',
@@ -703,8 +769,10 @@ export default {
703
769
  user_identity_phone_number: { nullable: true, type: 'string' },
704
770
  warnings: {
705
771
  items: {
772
+ description: 'Warning associated with the `acs_user`.',
706
773
  oneOf: [
707
774
  {
775
+ description: 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
708
776
  properties: {
709
777
  created_at: { format: 'date-time', type: 'string' },
710
778
  message: { type: 'string' },
@@ -714,6 +782,20 @@ export default {
714
782
  type: 'object',
715
783
  },
716
784
  {
785
+ description: "Indicates that the user was not updated on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
786
+ properties: {
787
+ created_at: { format: 'date-time', type: 'string' },
788
+ message: { type: 'string' },
789
+ warning_code: {
790
+ enum: ['failed_to_update_on_acs_system'],
791
+ type: 'string',
792
+ },
793
+ },
794
+ required: ['created_at', 'message', 'warning_code'],
795
+ type: 'object',
796
+ },
797
+ {
798
+ description: 'Indicates that the user is not subscribed on the Salto KS, so they cannot unlock doors or perform any actions. This occur when the their access schedule hasn’t started yet, or if their access schedule has ended, or if the site has reached its limit for active users (subscription slots), or if they have been manually unsubscribed.',
717
799
  properties: {
718
800
  created_at: { format: 'date-time', type: 'string' },
719
801
  message: { type: 'string' },
@@ -751,6 +833,7 @@ export default {
751
833
  'display_name',
752
834
  'is_suspended',
753
835
  'warnings',
836
+ 'errors',
754
837
  'is_managed',
755
838
  ],
756
839
  type: 'object',
@@ -1374,6 +1457,91 @@ export default {
1374
1457
  ],
1375
1458
  type: 'object',
1376
1459
  },
1460
+ {
1461
+ description: 'Activating climate preset.',
1462
+ properties: {
1463
+ action_attempt_id: {
1464
+ description: 'The ID of the action attempt.',
1465
+ format: 'uuid',
1466
+ type: 'string',
1467
+ 'x-title': 'Action Attempt ID',
1468
+ },
1469
+ action_type: {
1470
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1471
+ type: 'string',
1472
+ },
1473
+ error: { nullable: true },
1474
+ result: { nullable: true },
1475
+ status: { enum: ['pending'], type: 'string' },
1476
+ },
1477
+ required: [
1478
+ 'action_attempt_id',
1479
+ 'status',
1480
+ 'result',
1481
+ 'error',
1482
+ 'action_type',
1483
+ ],
1484
+ type: 'object',
1485
+ },
1486
+ {
1487
+ description: 'Activating climate preset succeeded.',
1488
+ properties: {
1489
+ action_attempt_id: {
1490
+ description: 'The ID of the action attempt.',
1491
+ format: 'uuid',
1492
+ type: 'string',
1493
+ 'x-title': 'Action Attempt ID',
1494
+ },
1495
+ action_type: {
1496
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1497
+ type: 'string',
1498
+ },
1499
+ error: { nullable: true },
1500
+ result: { properties: {}, type: 'object' },
1501
+ status: { enum: ['success'], type: 'string' },
1502
+ },
1503
+ required: [
1504
+ 'action_attempt_id',
1505
+ 'status',
1506
+ 'error',
1507
+ 'action_type',
1508
+ 'result',
1509
+ ],
1510
+ type: 'object',
1511
+ },
1512
+ {
1513
+ description: 'Activating climate preset failed.',
1514
+ properties: {
1515
+ action_attempt_id: {
1516
+ description: 'The ID of the action attempt.',
1517
+ format: 'uuid',
1518
+ type: 'string',
1519
+ 'x-title': 'Action Attempt ID',
1520
+ },
1521
+ action_type: {
1522
+ enum: ['ACTIVATE_CLIMATE_PRESET'],
1523
+ type: 'string',
1524
+ },
1525
+ error: {
1526
+ properties: {
1527
+ message: { type: 'string' },
1528
+ type: { type: 'string' },
1529
+ },
1530
+ required: ['type', 'message'],
1531
+ type: 'object',
1532
+ },
1533
+ result: { nullable: true },
1534
+ status: { enum: ['error'], type: 'string' },
1535
+ },
1536
+ required: [
1537
+ 'action_attempt_id',
1538
+ 'status',
1539
+ 'result',
1540
+ 'action_type',
1541
+ 'error',
1542
+ ],
1543
+ type: 'object',
1544
+ },
1377
1545
  {
1378
1546
  properties: {
1379
1547
  action_attempt_id: {
@@ -1879,38 +2047,6 @@ export default {
1879
2047
  ],
1880
2048
  type: 'object',
1881
2049
  },
1882
- climate_setting_schedule: {
1883
- properties: {
1884
- climate_setting_schedule_id: { format: 'uuid', type: 'string' },
1885
- cooling_set_point_celsius: { format: 'float', type: 'number' },
1886
- cooling_set_point_fahrenheit: { format: 'float', type: 'number' },
1887
- created_at: { format: 'date-time', type: 'string' },
1888
- device_id: { format: 'uuid', type: 'string' },
1889
- errors: {
1890
- description: 'Collection of errors associated with the access code, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
1891
- },
1892
- heating_set_point_celsius: { format: 'float', type: 'number' },
1893
- heating_set_point_fahrenheit: { format: 'float', type: 'number' },
1894
- hvac_mode_setting: {
1895
- enum: ['off', 'heat', 'cool', 'heat_cool'],
1896
- type: 'string',
1897
- },
1898
- manual_override_allowed: { type: 'boolean' },
1899
- name: { type: 'string' },
1900
- schedule_ends_at: { type: 'string' },
1901
- schedule_starts_at: { type: 'string' },
1902
- schedule_type: { enum: ['time_bound'], type: 'string' },
1903
- },
1904
- required: [
1905
- 'climate_setting_schedule_id',
1906
- 'schedule_type',
1907
- 'device_id',
1908
- 'schedule_starts_at',
1909
- 'schedule_ends_at',
1910
- 'created_at',
1911
- ],
1912
- type: 'object',
1913
- },
1914
2050
  connect_webview: {
1915
2051
  properties: {
1916
2052
  accepted_devices: {
@@ -2915,56 +3051,85 @@ export default {
2915
3051
  },
2916
3052
  {
2917
3053
  properties: {
2918
- active_climate_setting_schedule: {
3054
+ active_thermostat_schedule: {
3055
+ default: null,
3056
+ nullable: true,
2919
3057
  properties: {
2920
- climate_setting_schedule_id: {
2921
- format: 'uuid',
2922
- type: 'string',
2923
- },
2924
- cooling_set_point_celsius: {
2925
- format: 'float',
2926
- type: 'number',
2927
- },
2928
- cooling_set_point_fahrenheit: {
2929
- format: 'float',
2930
- type: 'number',
2931
- },
3058
+ climate_preset_key: { type: 'string' },
2932
3059
  created_at: { format: 'date-time', type: 'string' },
2933
3060
  device_id: { format: 'uuid', type: 'string' },
3061
+ ends_at: { format: 'date-time', type: 'string' },
2934
3062
  errors: {
2935
- description: 'Collection of errors associated with the access code, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
2936
- },
2937
- heating_set_point_celsius: {
2938
- format: 'float',
2939
- type: 'number',
3063
+ description: 'Collection of errors associated with the thermostat schedule, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
2940
3064
  },
2941
- heating_set_point_fahrenheit: {
2942
- format: 'float',
2943
- type: 'number',
2944
- },
2945
- hvac_mode_setting: {
2946
- enum: ['off', 'heat', 'cool', 'heat_cool'],
2947
- type: 'string',
3065
+ max_override_period_minutes: {
3066
+ default: 0,
3067
+ minimum: 0,
3068
+ type: 'integer',
2948
3069
  },
2949
- manual_override_allowed: { type: 'boolean' },
2950
3070
  name: { type: 'string' },
2951
- schedule_ends_at: { type: 'string' },
2952
- schedule_starts_at: { type: 'string' },
2953
- schedule_type: {
2954
- enum: ['time_bound'],
3071
+ starts_at: { format: 'date-time', type: 'string' },
3072
+ thermostat_schedule_id: {
3073
+ format: 'uuid',
2955
3074
  type: 'string',
2956
3075
  },
2957
3076
  },
2958
3077
  required: [
2959
- 'climate_setting_schedule_id',
2960
- 'schedule_type',
3078
+ 'thermostat_schedule_id',
2961
3079
  'device_id',
2962
- 'schedule_starts_at',
2963
- 'schedule_ends_at',
3080
+ 'climate_preset_key',
3081
+ 'starts_at',
3082
+ 'ends_at',
2964
3083
  'created_at',
2965
3084
  ],
2966
3085
  type: 'object',
2967
3086
  },
3087
+ available_climate_presets: {
3088
+ items: {
3089
+ properties: {
3090
+ can_delete: { type: 'boolean' },
3091
+ can_edit: { type: 'boolean' },
3092
+ climate_preset_key: { type: 'string' },
3093
+ cooling_set_point_celsius: {
3094
+ format: 'float',
3095
+ type: 'number',
3096
+ },
3097
+ cooling_set_point_fahrenheit: {
3098
+ format: 'float',
3099
+ type: 'number',
3100
+ },
3101
+ display_name: { type: 'string' },
3102
+ fan_mode_setting: {
3103
+ enum: ['auto', 'on'],
3104
+ type: 'string',
3105
+ },
3106
+ heating_set_point_celsius: {
3107
+ format: 'float',
3108
+ type: 'number',
3109
+ },
3110
+ heating_set_point_fahrenheit: {
3111
+ format: 'float',
3112
+ type: 'number',
3113
+ },
3114
+ hvac_mode_setting: {
3115
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
3116
+ type: 'string',
3117
+ },
3118
+ manual_override_allowed: { type: 'boolean' },
3119
+ name: { nullable: true, type: 'string' },
3120
+ },
3121
+ required: [
3122
+ 'climate_preset_key',
3123
+ 'can_edit',
3124
+ 'can_delete',
3125
+ 'name',
3126
+ 'display_name',
3127
+ 'manual_override_allowed',
3128
+ ],
3129
+ type: 'object',
3130
+ },
3131
+ type: 'array',
3132
+ },
2968
3133
  available_hvac_mode_settings: {
2969
3134
  items: {
2970
3135
  enum: ['off', 'heat', 'cool', 'heat_cool'],
@@ -2974,6 +3139,9 @@ export default {
2974
3139
  },
2975
3140
  current_climate_setting: {
2976
3141
  properties: {
3142
+ can_delete: { type: 'boolean' },
3143
+ can_edit: { type: 'boolean' },
3144
+ climate_preset_key: { type: 'string' },
2977
3145
  cooling_set_point_celsius: {
2978
3146
  format: 'float',
2979
3147
  type: 'number',
@@ -2982,6 +3150,11 @@ export default {
2982
3150
  format: 'float',
2983
3151
  type: 'number',
2984
3152
  },
3153
+ display_name: { type: 'string' },
3154
+ fan_mode_setting: {
3155
+ enum: ['auto', 'on'],
3156
+ type: 'string',
3157
+ },
2985
3158
  heating_set_point_celsius: {
2986
3159
  format: 'float',
2987
3160
  type: 'number',
@@ -2995,15 +3168,16 @@ export default {
2995
3168
  type: 'string',
2996
3169
  },
2997
3170
  manual_override_allowed: { type: 'boolean' },
3171
+ name: { nullable: true, type: 'string' },
2998
3172
  },
2999
- required: [
3000
- 'hvac_mode_setting',
3001
- 'manual_override_allowed',
3002
- ],
3003
3173
  type: 'object',
3004
3174
  },
3005
3175
  default_climate_setting: {
3176
+ deprecated: true,
3006
3177
  properties: {
3178
+ can_delete: { type: 'boolean' },
3179
+ can_edit: { type: 'boolean' },
3180
+ climate_preset_key: { type: 'string' },
3007
3181
  cooling_set_point_celsius: {
3008
3182
  format: 'float',
3009
3183
  type: 'number',
@@ -3012,6 +3186,11 @@ export default {
3012
3186
  format: 'float',
3013
3187
  type: 'number',
3014
3188
  },
3189
+ display_name: { type: 'string' },
3190
+ fan_mode_setting: {
3191
+ enum: ['auto', 'on'],
3192
+ type: 'string',
3193
+ },
3015
3194
  heating_set_point_celsius: {
3016
3195
  format: 'float',
3017
3196
  type: 'number',
@@ -3025,18 +3204,23 @@ export default {
3025
3204
  type: 'string',
3026
3205
  },
3027
3206
  manual_override_allowed: { type: 'boolean' },
3207
+ name: { nullable: true, type: 'string' },
3028
3208
  },
3029
- required: [
3030
- 'hvac_mode_setting',
3031
- 'manual_override_allowed',
3032
- ],
3033
3209
  type: 'object',
3210
+ 'x-deprecated': 'use fallback_climate_preset_key to specify a fallback climate preset instead.',
3211
+ },
3212
+ fallback_climate_preset_key: {
3213
+ default: null,
3214
+ minLength: 1,
3215
+ nullable: true,
3216
+ type: 'string',
3034
3217
  },
3035
3218
  fan_mode_setting: {
3219
+ deprecated: true,
3036
3220
  enum: ['auto', 'on'],
3037
3221
  type: 'string',
3222
+ 'x-deprecated': 'use current_climate_setting.fan_mode_setting instead.',
3038
3223
  },
3039
- is_climate_setting_schedule_active: { type: 'boolean' },
3040
3224
  is_cooling: { type: 'boolean' },
3041
3225
  is_fan_running: { type: 'boolean' },
3042
3226
  is_heating: { type: 'boolean' },
@@ -3460,6 +3644,34 @@ export default {
3460
3644
  required: ['service', 'status', 'description'],
3461
3645
  type: 'object',
3462
3646
  },
3647
+ thermostat_schedule: {
3648
+ properties: {
3649
+ climate_preset_key: { type: 'string' },
3650
+ created_at: { format: 'date-time', type: 'string' },
3651
+ device_id: { format: 'uuid', type: 'string' },
3652
+ ends_at: { format: 'date-time', type: 'string' },
3653
+ errors: {
3654
+ description: 'Collection of errors associated with the thermostat schedule, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
3655
+ },
3656
+ max_override_period_minutes: {
3657
+ default: 0,
3658
+ minimum: 0,
3659
+ type: 'integer',
3660
+ },
3661
+ name: { type: 'string' },
3662
+ starts_at: { format: 'date-time', type: 'string' },
3663
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
3664
+ },
3665
+ required: [
3666
+ 'thermostat_schedule_id',
3667
+ 'device_id',
3668
+ 'climate_preset_key',
3669
+ 'starts_at',
3670
+ 'ends_at',
3671
+ 'created_at',
3672
+ ],
3673
+ type: 'object',
3674
+ },
3463
3675
  unmanaged_access_code: {
3464
3676
  properties: {
3465
3677
  access_code_id: {
@@ -7554,12 +7766,7 @@ export default {
7554
7766
  acs_user: {
7555
7767
  properties: {
7556
7768
  access_schedule: {
7557
- properties: {
7558
- ends_at: { format: 'date-time', type: 'string' },
7559
- starts_at: { format: 'date-time', type: 'string' },
7560
- },
7561
- required: ['starts_at', 'ends_at'],
7562
- type: 'object',
7769
+ $ref: '#/components/schemas/thermostat_schedule',
7563
7770
  },
7564
7771
  acs_system_id: { format: 'uuid', type: 'string' },
7565
7772
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7572,22 +7779,102 @@ export default {
7572
7779
  'x-deprecated': 'use email_address.',
7573
7780
  },
7574
7781
  email_address: { format: 'email', type: 'string' },
7575
- errors: { $ref: '#/components/schemas/access_code' },
7576
- external_type: {
7577
- enum: [
7578
- 'pti_user',
7579
- 'brivo_user',
7580
- 'hid_credential_manager_user',
7581
- 'salto_site_user',
7582
- 'latch_user',
7583
- ],
7584
- type: 'string',
7585
- },
7586
- external_type_display_name: { type: 'string' },
7587
- full_name: { type: 'string' },
7588
- hid_acs_system_id: { format: 'uuid', type: 'string' },
7589
- is_latest_desired_state_synced_with_provider: {
7590
- type: 'boolean',
7782
+ errors: {
7783
+ items: {
7784
+ description: 'Error associated with the `acs_user`.',
7785
+ oneOf: [
7786
+ {
7787
+ description: 'Indicates that the user was deleted from the ACS system outside of Seam.',
7788
+ properties: {
7789
+ created_at: {
7790
+ description: 'Date and time at which Seam created the error.',
7791
+ format: 'date-time',
7792
+ type: 'string',
7793
+ },
7794
+ error_code: {
7795
+ enum: ['user_deleted_externally'],
7796
+ type: 'string',
7797
+ },
7798
+ message: {
7799
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7800
+ type: 'string',
7801
+ },
7802
+ },
7803
+ required: [
7804
+ 'created_at',
7805
+ 'message',
7806
+ 'error_code',
7807
+ ],
7808
+ type: 'object',
7809
+ },
7810
+ {
7811
+ description: 'Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.',
7812
+ properties: {
7813
+ created_at: {
7814
+ description: 'Date and time at which Seam created the error.',
7815
+ format: 'date-time',
7816
+ type: 'string',
7817
+ },
7818
+ error_code: {
7819
+ enum: [
7820
+ 'salto_ks_subscription_limit_exceeded',
7821
+ ],
7822
+ type: 'string',
7823
+ },
7824
+ message: {
7825
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7826
+ type: 'string',
7827
+ },
7828
+ },
7829
+ required: [
7830
+ 'created_at',
7831
+ 'message',
7832
+ 'error_code',
7833
+ ],
7834
+ type: 'object',
7835
+ },
7836
+ {
7837
+ properties: {
7838
+ created_at: {
7839
+ description: 'Date and time at which Seam created the error.',
7840
+ format: 'date-time',
7841
+ type: 'string',
7842
+ },
7843
+ error_code: {
7844
+ enum: ['salto_site_user_limit_reached'],
7845
+ type: 'string',
7846
+ },
7847
+ message: {
7848
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
7849
+ type: 'string',
7850
+ },
7851
+ },
7852
+ required: [
7853
+ 'created_at',
7854
+ 'message',
7855
+ 'error_code',
7856
+ ],
7857
+ type: 'object',
7858
+ },
7859
+ ],
7860
+ },
7861
+ type: 'array',
7862
+ },
7863
+ external_type: {
7864
+ enum: [
7865
+ 'pti_user',
7866
+ 'brivo_user',
7867
+ 'hid_credential_manager_user',
7868
+ 'salto_site_user',
7869
+ 'latch_user',
7870
+ ],
7871
+ type: 'string',
7872
+ },
7873
+ external_type_display_name: { type: 'string' },
7874
+ full_name: { type: 'string' },
7875
+ hid_acs_system_id: { format: 'uuid', type: 'string' },
7876
+ is_latest_desired_state_synced_with_provider: {
7877
+ type: 'boolean',
7591
7878
  },
7592
7879
  is_managed: { enum: [false], type: 'boolean' },
7593
7880
  is_suspended: { type: 'boolean' },
@@ -7611,8 +7898,10 @@ export default {
7611
7898
  },
7612
7899
  warnings: {
7613
7900
  items: {
7901
+ description: 'Warning associated with the `acs_user`.',
7614
7902
  oneOf: [
7615
7903
  {
7904
+ description: 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
7616
7905
  properties: {
7617
7906
  created_at: {
7618
7907
  format: 'date-time',
@@ -7632,6 +7921,27 @@ export default {
7632
7921
  type: 'object',
7633
7922
  },
7634
7923
  {
7924
+ description: "Indicates that the user was not updated on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
7925
+ properties: {
7926
+ created_at: {
7927
+ format: 'date-time',
7928
+ type: 'string',
7929
+ },
7930
+ message: { type: 'string' },
7931
+ warning_code: {
7932
+ enum: ['failed_to_update_on_acs_system'],
7933
+ type: 'string',
7934
+ },
7935
+ },
7936
+ required: [
7937
+ 'created_at',
7938
+ 'message',
7939
+ 'warning_code',
7940
+ ],
7941
+ type: 'object',
7942
+ },
7943
+ {
7944
+ description: 'Indicates that the user is not subscribed on the Salto KS, so they cannot unlock doors or perform any actions. This occur when the their access schedule hasn’t started yet, or if their access schedule has ended, or if the site has reached its limit for active users (subscription slots), or if they have been manually unsubscribed.',
7635
7945
  properties: {
7636
7946
  created_at: {
7637
7947
  format: 'date-time',
@@ -7683,6 +7993,7 @@ export default {
7683
7993
  'display_name',
7684
7994
  'is_suspended',
7685
7995
  'warnings',
7996
+ 'errors',
7686
7997
  'is_managed',
7687
7998
  ],
7688
7999
  type: 'object',
@@ -7740,15 +8051,7 @@ export default {
7740
8051
  items: {
7741
8052
  properties: {
7742
8053
  access_schedule: {
7743
- properties: {
7744
- ends_at: { format: 'date-time', type: 'string' },
7745
- starts_at: {
7746
- format: 'date-time',
7747
- type: 'string',
7748
- },
7749
- },
7750
- required: ['starts_at', 'ends_at'],
7751
- type: 'object',
8054
+ $ref: '#/components/schemas/thermostat_schedule',
7752
8055
  },
7753
8056
  acs_system_id: { format: 'uuid', type: 'string' },
7754
8057
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7761,7 +8064,87 @@ export default {
7761
8064
  'x-deprecated': 'use email_address.',
7762
8065
  },
7763
8066
  email_address: { format: 'email', type: 'string' },
7764
- errors: { $ref: '#/components/schemas/access_code' },
8067
+ errors: {
8068
+ items: {
8069
+ description: 'Error associated with the `acs_user`.',
8070
+ oneOf: [
8071
+ {
8072
+ description: 'Indicates that the user was deleted from the ACS system outside of Seam.',
8073
+ properties: {
8074
+ created_at: {
8075
+ description: 'Date and time at which Seam created the error.',
8076
+ format: 'date-time',
8077
+ type: 'string',
8078
+ },
8079
+ error_code: {
8080
+ enum: ['user_deleted_externally'],
8081
+ type: 'string',
8082
+ },
8083
+ message: {
8084
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8085
+ type: 'string',
8086
+ },
8087
+ },
8088
+ required: [
8089
+ 'created_at',
8090
+ 'message',
8091
+ 'error_code',
8092
+ ],
8093
+ type: 'object',
8094
+ },
8095
+ {
8096
+ description: 'Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.',
8097
+ properties: {
8098
+ created_at: {
8099
+ description: 'Date and time at which Seam created the error.',
8100
+ format: 'date-time',
8101
+ type: 'string',
8102
+ },
8103
+ error_code: {
8104
+ enum: [
8105
+ 'salto_ks_subscription_limit_exceeded',
8106
+ ],
8107
+ type: 'string',
8108
+ },
8109
+ message: {
8110
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8111
+ type: 'string',
8112
+ },
8113
+ },
8114
+ required: [
8115
+ 'created_at',
8116
+ 'message',
8117
+ 'error_code',
8118
+ ],
8119
+ type: 'object',
8120
+ },
8121
+ {
8122
+ properties: {
8123
+ created_at: {
8124
+ description: 'Date and time at which Seam created the error.',
8125
+ format: 'date-time',
8126
+ type: 'string',
8127
+ },
8128
+ error_code: {
8129
+ enum: ['salto_site_user_limit_reached'],
8130
+ type: 'string',
8131
+ },
8132
+ message: {
8133
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
8134
+ type: 'string',
8135
+ },
8136
+ },
8137
+ required: [
8138
+ 'created_at',
8139
+ 'message',
8140
+ 'error_code',
8141
+ ],
8142
+ type: 'object',
8143
+ },
8144
+ ],
8145
+ },
8146
+ type: 'array',
8147
+ },
7765
8148
  external_type: {
7766
8149
  enum: [
7767
8150
  'pti_user',
@@ -7800,8 +8183,10 @@ export default {
7800
8183
  },
7801
8184
  warnings: {
7802
8185
  items: {
8186
+ description: 'Warning associated with the `acs_user`.',
7803
8187
  oneOf: [
7804
8188
  {
8189
+ description: 'Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.',
7805
8190
  properties: {
7806
8191
  created_at: {
7807
8192
  format: 'date-time',
@@ -7821,6 +8206,27 @@ export default {
7821
8206
  type: 'object',
7822
8207
  },
7823
8208
  {
8209
+ description: "Indicates that the user was not updated on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
8210
+ properties: {
8211
+ created_at: {
8212
+ format: 'date-time',
8213
+ type: 'string',
8214
+ },
8215
+ message: { type: 'string' },
8216
+ warning_code: {
8217
+ enum: ['failed_to_update_on_acs_system'],
8218
+ type: 'string',
8219
+ },
8220
+ },
8221
+ required: [
8222
+ 'created_at',
8223
+ 'message',
8224
+ 'warning_code',
8225
+ ],
8226
+ type: 'object',
8227
+ },
8228
+ {
8229
+ description: 'Indicates that the user is not subscribed on the Salto KS, so they cannot unlock doors or perform any actions. This occur when the their access schedule hasn’t started yet, or if their access schedule has ended, or if the site has reached its limit for active users (subscription slots), or if they have been manually unsubscribed.',
7824
8230
  properties: {
7825
8231
  created_at: {
7826
8232
  format: 'date-time',
@@ -7872,6 +8278,7 @@ export default {
7872
8278
  'display_name',
7873
8279
  'is_suspended',
7874
8280
  'warnings',
8281
+ 'errors',
7875
8282
  'is_managed',
7876
8283
  ],
7877
8284
  type: 'object',
@@ -11807,50 +12214,18 @@ export default {
11807
12214
  'x-fern-sdk-return-value': 'phone',
11808
12215
  },
11809
12216
  },
11810
- '/thermostats/climate_setting_schedules/create': {
12217
+ '/thermostats/activate_climate_preset': {
11811
12218
  post: {
11812
- operationId: 'thermostatsClimateSettingSchedulesCreatePost',
12219
+ operationId: 'thermostatsActivateClimatePresetPost',
11813
12220
  requestBody: {
11814
12221
  content: {
11815
12222
  'application/json': {
11816
12223
  schema: {
11817
12224
  properties: {
11818
- cooling_set_point_celsius: {
11819
- format: 'float',
11820
- type: 'number',
11821
- },
11822
- cooling_set_point_fahrenheit: {
11823
- format: 'float',
11824
- type: 'number',
11825
- },
11826
- device_id: { type: 'string' },
11827
- heating_set_point_celsius: {
11828
- format: 'float',
11829
- type: 'number',
11830
- },
11831
- heating_set_point_fahrenheit: {
11832
- format: 'float',
11833
- type: 'number',
11834
- },
11835
- hvac_mode_setting: {
11836
- enum: ['off', 'heat', 'cool', 'heat_cool'],
11837
- type: 'string',
11838
- },
11839
- manual_override_allowed: { type: 'boolean' },
11840
- name: { type: 'string' },
11841
- schedule_ends_at: { type: 'string' },
11842
- schedule_starts_at: { type: 'string' },
11843
- schedule_type: {
11844
- default: 'time_bound',
11845
- enum: ['time_bound'],
11846
- type: 'string',
11847
- },
12225
+ climate_preset_key: { type: 'string' },
12226
+ device_id: { format: 'uuid', type: 'string' },
11848
12227
  },
11849
- required: [
11850
- 'device_id',
11851
- 'schedule_starts_at',
11852
- 'schedule_ends_at',
11853
- ],
12228
+ required: ['device_id', 'climate_preset_key'],
11854
12229
  type: 'object',
11855
12230
  },
11856
12231
  },
@@ -11862,12 +12237,12 @@ export default {
11862
12237
  'application/json': {
11863
12238
  schema: {
11864
12239
  properties: {
11865
- climate_setting_schedule: {
11866
- $ref: '#/components/schemas/climate_setting_schedule',
12240
+ action_attempt: {
12241
+ $ref: '#/components/schemas/action_attempt',
11867
12242
  },
11868
12243
  ok: { type: 'boolean' },
11869
12244
  },
11870
- required: ['climate_setting_schedule', 'ok'],
12245
+ required: ['action_attempt', 'ok'],
11871
12246
  type: 'object',
11872
12247
  },
11873
12248
  },
@@ -11878,32 +12253,37 @@ export default {
11878
12253
  401: { description: 'Unauthorized' },
11879
12254
  },
11880
12255
  security: [
11881
- { client_session: [] },
11882
12256
  { pat_with_workspace: [] },
11883
12257
  { console_session: [] },
11884
12258
  { api_key: [] },
11885
12259
  ],
11886
- summary: '/thermostats/climate_setting_schedules/create',
12260
+ summary: '/thermostats/activate_climate_preset',
11887
12261
  tags: ['/thermostats'],
11888
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
11889
- 'x-fern-sdk-method-name': 'create',
11890
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12262
+ 'x-fern-sdk-group-name': ['thermostats'],
12263
+ 'x-fern-sdk-method-name': 'activate_climate_preset',
12264
+ 'x-fern-sdk-return-value': 'action_attempt',
11891
12265
  },
11892
12266
  },
11893
- '/thermostats/climate_setting_schedules/delete': {
12267
+ '/thermostats/cool': {
11894
12268
  post: {
11895
- operationId: 'thermostatsClimateSettingSchedulesDeletePost',
12269
+ operationId: 'thermostatsCoolPost',
11896
12270
  requestBody: {
11897
12271
  content: {
11898
12272
  'application/json': {
11899
12273
  schema: {
11900
12274
  properties: {
11901
- climate_setting_schedule_id: {
11902
- format: 'uuid',
11903
- type: 'string',
12275
+ cooling_set_point_celsius: {
12276
+ format: 'float',
12277
+ type: 'number',
12278
+ },
12279
+ cooling_set_point_fahrenheit: {
12280
+ format: 'float',
12281
+ type: 'number',
11904
12282
  },
12283
+ device_id: { format: 'uuid', type: 'string' },
12284
+ sync: { default: false, type: 'boolean' },
11905
12285
  },
11906
- required: ['climate_setting_schedule_id'],
12286
+ required: ['device_id'],
11907
12287
  type: 'object',
11908
12288
  },
11909
12289
  },
@@ -11914,8 +12294,13 @@ export default {
11914
12294
  content: {
11915
12295
  'application/json': {
11916
12296
  schema: {
11917
- properties: { ok: { type: 'boolean' } },
11918
- required: ['ok'],
12297
+ properties: {
12298
+ action_attempt: {
12299
+ $ref: '#/components/schemas/action_attempt',
12300
+ },
12301
+ ok: { type: 'boolean' },
12302
+ },
12303
+ required: ['action_attempt', 'ok'],
11919
12304
  type: 'object',
11920
12305
  },
11921
12306
  },
@@ -11931,70 +12316,53 @@ export default {
11931
12316
  { console_session: [] },
11932
12317
  { api_key: [] },
11933
12318
  ],
11934
- summary: '/thermostats/climate_setting_schedules/delete',
12319
+ summary: '/thermostats/cool',
11935
12320
  tags: ['/thermostats'],
11936
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
11937
- 'x-fern-sdk-method-name': 'delete',
12321
+ 'x-fern-sdk-group-name': ['thermostats'],
12322
+ 'x-fern-sdk-method-name': 'cool',
12323
+ 'x-fern-sdk-return-value': 'action_attempt',
11938
12324
  },
11939
- put: {
11940
- operationId: 'thermostatsClimateSettingSchedulesDeletePut',
12325
+ },
12326
+ '/thermostats/create_climate_preset': {
12327
+ post: {
12328
+ operationId: 'thermostatsCreateClimatePresetPost',
11941
12329
  requestBody: {
11942
12330
  content: {
11943
12331
  'application/json': {
11944
12332
  schema: {
11945
12333
  properties: {
11946
- climate_setting_schedule_id: {
11947
- format: 'uuid',
11948
- type: 'string',
12334
+ climate_preset_key: { type: 'string' },
12335
+ cooling_set_point_celsius: {
12336
+ format: 'float',
12337
+ type: 'number',
11949
12338
  },
11950
- },
11951
- required: ['climate_setting_schedule_id'],
11952
- type: 'object',
11953
- },
11954
- },
11955
- },
11956
- },
11957
- responses: {
11958
- 200: {
11959
- content: {
11960
- 'application/json': {
11961
- schema: {
11962
- properties: { ok: { type: 'boolean' } },
11963
- required: ['ok'],
11964
- type: 'object',
11965
- },
11966
- },
11967
- },
11968
- description: 'OK',
11969
- },
11970
- 400: { description: 'Bad Request' },
11971
- 401: { description: 'Unauthorized' },
11972
- },
11973
- security: [
11974
- { client_session: [] },
11975
- { pat_with_workspace: [] },
11976
- { console_session: [] },
11977
- { api_key: [] },
11978
- ],
11979
- summary: '/thermostats/climate_setting_schedules/delete',
11980
- tags: ['/thermostats'],
11981
- 'x-fern-ignore': true,
11982
- },
11983
- },
11984
- '/thermostats/climate_setting_schedules/get': {
11985
- post: {
11986
- operationId: 'thermostatsClimateSettingSchedulesGetPost',
11987
- requestBody: {
11988
- content: {
11989
- 'application/json': {
11990
- schema: {
11991
- properties: {
11992
- climate_setting_schedule_id: {
11993
- format: 'uuid',
11994
- type: 'string',
12339
+ cooling_set_point_fahrenheit: {
12340
+ format: 'float',
12341
+ type: 'number',
11995
12342
  },
11996
12343
  device_id: { format: 'uuid', type: 'string' },
12344
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
12345
+ heating_set_point_celsius: {
12346
+ format: 'float',
12347
+ type: 'number',
12348
+ },
12349
+ heating_set_point_fahrenheit: {
12350
+ format: 'float',
12351
+ type: 'number',
12352
+ },
12353
+ hvac_mode_setting: {
12354
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
12355
+ type: 'string',
12356
+ },
12357
+ manual_override_allowed: { type: 'boolean' },
12358
+ name: { nullable: true, type: 'string' },
11997
12359
  },
12360
+ required: [
12361
+ 'device_id',
12362
+ 'climate_preset_key',
12363
+ 'name',
12364
+ 'manual_override_allowed',
12365
+ ],
11998
12366
  type: 'object',
11999
12367
  },
12000
12368
  },
@@ -12006,12 +12374,52 @@ export default {
12006
12374
  'application/json': {
12007
12375
  schema: {
12008
12376
  properties: {
12009
- climate_setting_schedule: {
12010
- $ref: '#/components/schemas/climate_setting_schedule',
12377
+ climate_preset: {
12378
+ properties: {
12379
+ can_delete: { type: 'boolean' },
12380
+ can_edit: { type: 'boolean' },
12381
+ climate_preset_key: { type: 'string' },
12382
+ cooling_set_point_celsius: {
12383
+ format: 'float',
12384
+ type: 'number',
12385
+ },
12386
+ cooling_set_point_fahrenheit: {
12387
+ format: 'float',
12388
+ type: 'number',
12389
+ },
12390
+ display_name: { type: 'string' },
12391
+ fan_mode_setting: {
12392
+ enum: ['auto', 'on'],
12393
+ type: 'string',
12394
+ },
12395
+ heating_set_point_celsius: {
12396
+ format: 'float',
12397
+ type: 'number',
12398
+ },
12399
+ heating_set_point_fahrenheit: {
12400
+ format: 'float',
12401
+ type: 'number',
12402
+ },
12403
+ hvac_mode_setting: {
12404
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
12405
+ type: 'string',
12406
+ },
12407
+ manual_override_allowed: { type: 'boolean' },
12408
+ name: { nullable: true, type: 'string' },
12409
+ },
12410
+ required: [
12411
+ 'climate_preset_key',
12412
+ 'can_edit',
12413
+ 'can_delete',
12414
+ 'name',
12415
+ 'display_name',
12416
+ 'manual_override_allowed',
12417
+ ],
12418
+ type: 'object',
12011
12419
  },
12012
12420
  ok: { type: 'boolean' },
12013
12421
  },
12014
- required: ['climate_setting_schedule', 'ok'],
12422
+ required: ['climate_preset', 'ok'],
12015
12423
  type: 'object',
12016
12424
  },
12017
12425
  },
@@ -12022,30 +12430,28 @@ export default {
12022
12430
  401: { description: 'Unauthorized' },
12023
12431
  },
12024
12432
  security: [
12025
- { client_session: [] },
12026
12433
  { pat_with_workspace: [] },
12027
12434
  { console_session: [] },
12028
12435
  { api_key: [] },
12029
12436
  ],
12030
- summary: '/thermostats/climate_setting_schedules/get',
12437
+ summary: '/thermostats/create_climate_preset',
12031
12438
  tags: ['/thermostats'],
12032
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12033
- 'x-fern-sdk-method-name': 'get',
12034
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12439
+ 'x-fern-sdk-group-name': ['thermostats'],
12440
+ 'x-fern-sdk-method-name': 'create_climate_preset',
12035
12441
  },
12036
12442
  },
12037
- '/thermostats/climate_setting_schedules/list': {
12443
+ '/thermostats/delete_climate_preset': {
12038
12444
  post: {
12039
- operationId: 'thermostatsClimateSettingSchedulesListPost',
12445
+ operationId: 'thermostatsDeleteClimatePresetPost',
12040
12446
  requestBody: {
12041
12447
  content: {
12042
12448
  'application/json': {
12043
12449
  schema: {
12044
12450
  properties: {
12451
+ climate_preset_key: { type: 'string' },
12045
12452
  device_id: { format: 'uuid', type: 'string' },
12046
- user_identifier_key: { type: 'string' },
12047
12453
  },
12048
- required: ['device_id'],
12454
+ required: ['device_id', 'climate_preset_key'],
12049
12455
  type: 'object',
12050
12456
  },
12051
12457
  },
@@ -12056,16 +12462,8 @@ export default {
12056
12462
  content: {
12057
12463
  'application/json': {
12058
12464
  schema: {
12059
- properties: {
12060
- climate_setting_schedules: {
12061
- items: {
12062
- $ref: '#/components/schemas/climate_setting_schedule',
12063
- },
12064
- type: 'array',
12065
- },
12066
- ok: { type: 'boolean' },
12067
- },
12068
- required: ['climate_setting_schedules', 'ok'],
12465
+ properties: { ok: { type: 'boolean' } },
12466
+ required: ['ok'],
12069
12467
  type: 'object',
12070
12468
  },
12071
12469
  },
@@ -12076,61 +12474,27 @@ export default {
12076
12474
  401: { description: 'Unauthorized' },
12077
12475
  },
12078
12476
  security: [
12079
- { api_key: [] },
12080
- { client_session: [] },
12081
12477
  { pat_with_workspace: [] },
12082
12478
  { console_session: [] },
12479
+ { api_key: [] },
12083
12480
  ],
12084
- summary: '/thermostats/climate_setting_schedules/list',
12481
+ summary: '/thermostats/delete_climate_preset',
12085
12482
  tags: ['/thermostats'],
12086
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12087
- 'x-fern-sdk-method-name': 'list',
12088
- 'x-fern-sdk-return-value': 'climate_setting_schedules',
12483
+ 'x-fern-sdk-group-name': ['thermostats'],
12484
+ 'x-fern-sdk-method-name': 'delete_climate_preset',
12089
12485
  },
12090
12486
  },
12091
- '/thermostats/climate_setting_schedules/update': {
12092
- patch: {
12093
- operationId: 'thermostatsClimateSettingSchedulesUpdatePatch',
12487
+ '/thermostats/get': {
12488
+ post: {
12489
+ operationId: 'thermostatsGetPost',
12094
12490
  requestBody: {
12095
12491
  content: {
12096
12492
  'application/json': {
12097
12493
  schema: {
12098
12494
  properties: {
12099
- climate_setting_schedule_id: {
12100
- format: 'uuid',
12101
- type: 'string',
12102
- },
12103
- cooling_set_point_celsius: {
12104
- format: 'float',
12105
- type: 'number',
12106
- },
12107
- cooling_set_point_fahrenheit: {
12108
- format: 'float',
12109
- type: 'number',
12110
- },
12111
- heating_set_point_celsius: {
12112
- format: 'float',
12113
- type: 'number',
12114
- },
12115
- heating_set_point_fahrenheit: {
12116
- format: 'float',
12117
- type: 'number',
12118
- },
12119
- hvac_mode_setting: {
12120
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12121
- type: 'string',
12122
- },
12123
- manual_override_allowed: { type: 'boolean' },
12495
+ device_id: { format: 'uuid', type: 'string' },
12124
12496
  name: { type: 'string' },
12125
- schedule_ends_at: { type: 'string' },
12126
- schedule_starts_at: { type: 'string' },
12127
- schedule_type: {
12128
- default: 'time_bound',
12129
- enum: ['time_bound'],
12130
- type: 'string',
12131
- },
12132
12497
  },
12133
- required: ['climate_setting_schedule_id'],
12134
12498
  type: 'object',
12135
12499
  },
12136
12500
  },
@@ -12142,12 +12506,10 @@ export default {
12142
12506
  'application/json': {
12143
12507
  schema: {
12144
12508
  properties: {
12145
- climate_setting_schedule: {
12146
- $ref: '#/components/schemas/climate_setting_schedule',
12147
- },
12148
12509
  ok: { type: 'boolean' },
12510
+ thermostat: { $ref: '#/components/schemas/device' },
12149
12511
  },
12150
- required: ['climate_setting_schedule', 'ok'],
12512
+ required: ['thermostat', 'ok'],
12151
12513
  type: 'object',
12152
12514
  },
12153
12515
  },
@@ -12163,29 +12525,23 @@ export default {
12163
12525
  { console_session: [] },
12164
12526
  { api_key: [] },
12165
12527
  ],
12166
- summary: '/thermostats/climate_setting_schedules/update',
12528
+ summary: '/thermostats/get',
12167
12529
  tags: ['/thermostats'],
12168
- 'x-fern-ignore': true,
12530
+ 'x-deprecated': 'Use `/devices/get` instead.',
12531
+ 'x-fern-sdk-group-name': ['thermostats'],
12532
+ 'x-fern-sdk-method-name': 'get',
12533
+ 'x-fern-sdk-return-value': 'thermostat',
12169
12534
  },
12535
+ },
12536
+ '/thermostats/heat': {
12170
12537
  post: {
12171
- operationId: 'thermostatsClimateSettingSchedulesUpdatePost',
12538
+ operationId: 'thermostatsHeatPost',
12172
12539
  requestBody: {
12173
12540
  content: {
12174
12541
  'application/json': {
12175
12542
  schema: {
12176
12543
  properties: {
12177
- climate_setting_schedule_id: {
12178
- format: 'uuid',
12179
- type: 'string',
12180
- },
12181
- cooling_set_point_celsius: {
12182
- format: 'float',
12183
- type: 'number',
12184
- },
12185
- cooling_set_point_fahrenheit: {
12186
- format: 'float',
12187
- type: 'number',
12188
- },
12544
+ device_id: { format: 'uuid', type: 'string' },
12189
12545
  heating_set_point_celsius: {
12190
12546
  format: 'float',
12191
12547
  type: 'number',
@@ -12194,21 +12550,9 @@ export default {
12194
12550
  format: 'float',
12195
12551
  type: 'number',
12196
12552
  },
12197
- hvac_mode_setting: {
12198
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12199
- type: 'string',
12200
- },
12201
- manual_override_allowed: { type: 'boolean' },
12202
- name: { type: 'string' },
12203
- schedule_ends_at: { type: 'string' },
12204
- schedule_starts_at: { type: 'string' },
12205
- schedule_type: {
12206
- default: 'time_bound',
12207
- enum: ['time_bound'],
12208
- type: 'string',
12209
- },
12553
+ sync: { default: false, type: 'boolean' },
12210
12554
  },
12211
- required: ['climate_setting_schedule_id'],
12555
+ required: ['device_id'],
12212
12556
  type: 'object',
12213
12557
  },
12214
12558
  },
@@ -12220,12 +12564,12 @@ export default {
12220
12564
  'application/json': {
12221
12565
  schema: {
12222
12566
  properties: {
12223
- climate_setting_schedule: {
12224
- $ref: '#/components/schemas/climate_setting_schedule',
12567
+ action_attempt: {
12568
+ $ref: '#/components/schemas/action_attempt',
12225
12569
  },
12226
12570
  ok: { type: 'boolean' },
12227
12571
  },
12228
- required: ['climate_setting_schedule', 'ok'],
12572
+ required: ['action_attempt', 'ok'],
12229
12573
  type: 'object',
12230
12574
  },
12231
12575
  },
@@ -12241,22 +12585,21 @@ export default {
12241
12585
  { console_session: [] },
12242
12586
  { api_key: [] },
12243
12587
  ],
12244
- summary: '/thermostats/climate_setting_schedules/update',
12588
+ summary: '/thermostats/heat',
12245
12589
  tags: ['/thermostats'],
12246
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12247
- 'x-fern-sdk-method-name': 'update',
12590
+ 'x-fern-sdk-group-name': ['thermostats'],
12591
+ 'x-fern-sdk-method-name': 'heat',
12592
+ 'x-fern-sdk-return-value': 'action_attempt',
12248
12593
  },
12249
- put: {
12250
- operationId: 'thermostatsClimateSettingSchedulesUpdatePut',
12594
+ },
12595
+ '/thermostats/heat_cool': {
12596
+ post: {
12597
+ operationId: 'thermostatsHeatCoolPost',
12251
12598
  requestBody: {
12252
12599
  content: {
12253
12600
  'application/json': {
12254
12601
  schema: {
12255
12602
  properties: {
12256
- climate_setting_schedule_id: {
12257
- format: 'uuid',
12258
- type: 'string',
12259
- },
12260
12603
  cooling_set_point_celsius: {
12261
12604
  format: 'float',
12262
12605
  type: 'number',
@@ -12265,6 +12608,7 @@ export default {
12265
12608
  format: 'float',
12266
12609
  type: 'number',
12267
12610
  },
12611
+ device_id: { format: 'uuid', type: 'string' },
12268
12612
  heating_set_point_celsius: {
12269
12613
  format: 'float',
12270
12614
  type: 'number',
@@ -12273,75 +12617,6 @@ export default {
12273
12617
  format: 'float',
12274
12618
  type: 'number',
12275
12619
  },
12276
- hvac_mode_setting: {
12277
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12278
- type: 'string',
12279
- },
12280
- manual_override_allowed: { type: 'boolean' },
12281
- name: { type: 'string' },
12282
- schedule_ends_at: { type: 'string' },
12283
- schedule_starts_at: { type: 'string' },
12284
- schedule_type: {
12285
- default: 'time_bound',
12286
- enum: ['time_bound'],
12287
- type: 'string',
12288
- },
12289
- },
12290
- required: ['climate_setting_schedule_id'],
12291
- type: 'object',
12292
- },
12293
- },
12294
- },
12295
- },
12296
- responses: {
12297
- 200: {
12298
- content: {
12299
- 'application/json': {
12300
- schema: {
12301
- properties: {
12302
- climate_setting_schedule: {
12303
- $ref: '#/components/schemas/climate_setting_schedule',
12304
- },
12305
- ok: { type: 'boolean' },
12306
- },
12307
- required: ['climate_setting_schedule', 'ok'],
12308
- type: 'object',
12309
- },
12310
- },
12311
- },
12312
- description: 'OK',
12313
- },
12314
- 400: { description: 'Bad Request' },
12315
- 401: { description: 'Unauthorized' },
12316
- },
12317
- security: [
12318
- { client_session: [] },
12319
- { pat_with_workspace: [] },
12320
- { console_session: [] },
12321
- { api_key: [] },
12322
- ],
12323
- summary: '/thermostats/climate_setting_schedules/update',
12324
- tags: ['/thermostats'],
12325
- 'x-fern-ignore': true,
12326
- },
12327
- },
12328
- '/thermostats/cool': {
12329
- post: {
12330
- operationId: 'thermostatsCoolPost',
12331
- requestBody: {
12332
- content: {
12333
- 'application/json': {
12334
- schema: {
12335
- properties: {
12336
- cooling_set_point_celsius: {
12337
- format: 'float',
12338
- type: 'number',
12339
- },
12340
- cooling_set_point_fahrenheit: {
12341
- format: 'float',
12342
- type: 'number',
12343
- },
12344
- device_id: { format: 'uuid', type: 'string' },
12345
12620
  sync: { default: false, type: 'boolean' },
12346
12621
  },
12347
12622
  required: ['device_id'],
@@ -12377,191 +12652,16 @@ export default {
12377
12652
  { console_session: [] },
12378
12653
  { api_key: [] },
12379
12654
  ],
12380
- summary: '/thermostats/cool',
12655
+ summary: '/thermostats/heat_cool',
12381
12656
  tags: ['/thermostats'],
12382
12657
  'x-fern-sdk-group-name': ['thermostats'],
12383
- 'x-fern-sdk-method-name': 'cool',
12658
+ 'x-fern-sdk-method-name': 'heat_cool',
12384
12659
  'x-fern-sdk-return-value': 'action_attempt',
12385
12660
  },
12386
12661
  },
12387
- '/thermostats/get': {
12662
+ '/thermostats/list': {
12388
12663
  post: {
12389
- operationId: 'thermostatsGetPost',
12390
- requestBody: {
12391
- content: {
12392
- 'application/json': {
12393
- schema: {
12394
- properties: {
12395
- device_id: { format: 'uuid', type: 'string' },
12396
- name: { type: 'string' },
12397
- },
12398
- type: 'object',
12399
- },
12400
- },
12401
- },
12402
- },
12403
- responses: {
12404
- 200: {
12405
- content: {
12406
- 'application/json': {
12407
- schema: {
12408
- properties: {
12409
- ok: { type: 'boolean' },
12410
- thermostat: { $ref: '#/components/schemas/device' },
12411
- },
12412
- required: ['thermostat', 'ok'],
12413
- type: 'object',
12414
- },
12415
- },
12416
- },
12417
- description: 'OK',
12418
- },
12419
- 400: { description: 'Bad Request' },
12420
- 401: { description: 'Unauthorized' },
12421
- },
12422
- security: [
12423
- { client_session: [] },
12424
- { pat_with_workspace: [] },
12425
- { console_session: [] },
12426
- { api_key: [] },
12427
- ],
12428
- summary: '/thermostats/get',
12429
- tags: ['/thermostats'],
12430
- 'x-deprecated': 'Use `/devices/get` instead.',
12431
- 'x-fern-sdk-group-name': ['thermostats'],
12432
- 'x-fern-sdk-method-name': 'get',
12433
- 'x-fern-sdk-return-value': 'thermostat',
12434
- },
12435
- },
12436
- '/thermostats/heat': {
12437
- post: {
12438
- operationId: 'thermostatsHeatPost',
12439
- requestBody: {
12440
- content: {
12441
- 'application/json': {
12442
- schema: {
12443
- properties: {
12444
- device_id: { format: 'uuid', type: 'string' },
12445
- heating_set_point_celsius: {
12446
- format: 'float',
12447
- type: 'number',
12448
- },
12449
- heating_set_point_fahrenheit: {
12450
- format: 'float',
12451
- type: 'number',
12452
- },
12453
- sync: { default: false, type: 'boolean' },
12454
- },
12455
- required: ['device_id'],
12456
- type: 'object',
12457
- },
12458
- },
12459
- },
12460
- },
12461
- responses: {
12462
- 200: {
12463
- content: {
12464
- 'application/json': {
12465
- schema: {
12466
- properties: {
12467
- action_attempt: {
12468
- $ref: '#/components/schemas/action_attempt',
12469
- },
12470
- ok: { type: 'boolean' },
12471
- },
12472
- required: ['action_attempt', 'ok'],
12473
- type: 'object',
12474
- },
12475
- },
12476
- },
12477
- description: 'OK',
12478
- },
12479
- 400: { description: 'Bad Request' },
12480
- 401: { description: 'Unauthorized' },
12481
- },
12482
- security: [
12483
- { client_session: [] },
12484
- { pat_with_workspace: [] },
12485
- { console_session: [] },
12486
- { api_key: [] },
12487
- ],
12488
- summary: '/thermostats/heat',
12489
- tags: ['/thermostats'],
12490
- 'x-fern-sdk-group-name': ['thermostats'],
12491
- 'x-fern-sdk-method-name': 'heat',
12492
- 'x-fern-sdk-return-value': 'action_attempt',
12493
- },
12494
- },
12495
- '/thermostats/heat_cool': {
12496
- post: {
12497
- operationId: 'thermostatsHeatCoolPost',
12498
- requestBody: {
12499
- content: {
12500
- 'application/json': {
12501
- schema: {
12502
- properties: {
12503
- cooling_set_point_celsius: {
12504
- format: 'float',
12505
- type: 'number',
12506
- },
12507
- cooling_set_point_fahrenheit: {
12508
- format: 'float',
12509
- type: 'number',
12510
- },
12511
- device_id: { format: 'uuid', type: 'string' },
12512
- heating_set_point_celsius: {
12513
- format: 'float',
12514
- type: 'number',
12515
- },
12516
- heating_set_point_fahrenheit: {
12517
- format: 'float',
12518
- type: 'number',
12519
- },
12520
- sync: { default: false, type: 'boolean' },
12521
- },
12522
- required: ['device_id'],
12523
- type: 'object',
12524
- },
12525
- },
12526
- },
12527
- },
12528
- responses: {
12529
- 200: {
12530
- content: {
12531
- 'application/json': {
12532
- schema: {
12533
- properties: {
12534
- action_attempt: {
12535
- $ref: '#/components/schemas/action_attempt',
12536
- },
12537
- ok: { type: 'boolean' },
12538
- },
12539
- required: ['action_attempt', 'ok'],
12540
- type: 'object',
12541
- },
12542
- },
12543
- },
12544
- description: 'OK',
12545
- },
12546
- 400: { description: 'Bad Request' },
12547
- 401: { description: 'Unauthorized' },
12548
- },
12549
- security: [
12550
- { client_session: [] },
12551
- { pat_with_workspace: [] },
12552
- { console_session: [] },
12553
- { api_key: [] },
12554
- ],
12555
- summary: '/thermostats/heat_cool',
12556
- tags: ['/thermostats'],
12557
- 'x-fern-sdk-group-name': ['thermostats'],
12558
- 'x-fern-sdk-method-name': 'heat_cool',
12559
- 'x-fern-sdk-return-value': 'action_attempt',
12560
- },
12561
- },
12562
- '/thermostats/list': {
12563
- post: {
12564
- operationId: 'thermostatsListPost',
12664
+ operationId: 'thermostatsListPost',
12565
12665
  requestBody: {
12566
12666
  content: {
12567
12667
  'application/json': {
@@ -12861,20 +12961,31 @@ export default {
12861
12961
  'x-fern-sdk-return-value': 'action_attempt',
12862
12962
  },
12863
12963
  },
12864
- '/thermostats/set_fan_mode': {
12964
+ '/thermostats/schedules/create': {
12865
12965
  post: {
12866
- operationId: 'thermostatsSetFanModePost',
12966
+ operationId: 'thermostatsSchedulesCreatePost',
12867
12967
  requestBody: {
12868
12968
  content: {
12869
12969
  'application/json': {
12870
12970
  schema: {
12871
12971
  properties: {
12872
- device_id: { format: 'uuid', type: 'string' },
12873
- fan_mode: { enum: ['auto', 'on'], type: 'string' },
12874
- fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
12875
- sync: { default: false, type: 'boolean' },
12972
+ climate_preset_key: { type: 'string' },
12973
+ device_id: { type: 'string' },
12974
+ ends_at: { type: 'string' },
12975
+ max_override_period_minutes: {
12976
+ default: 0,
12977
+ minimum: 0,
12978
+ type: 'integer',
12979
+ },
12980
+ name: { type: 'string' },
12981
+ starts_at: { type: 'string' },
12876
12982
  },
12877
- required: ['device_id'],
12983
+ required: [
12984
+ 'device_id',
12985
+ 'climate_preset_key',
12986
+ 'starts_at',
12987
+ 'ends_at',
12988
+ ],
12878
12989
  type: 'object',
12879
12990
  },
12880
12991
  },
@@ -12886,12 +12997,12 @@ export default {
12886
12997
  'application/json': {
12887
12998
  schema: {
12888
12999
  properties: {
12889
- action_attempt: {
12890
- $ref: '#/components/schemas/action_attempt',
12891
- },
12892
13000
  ok: { type: 'boolean' },
13001
+ thermostat_schedule: {
13002
+ $ref: '#/components/schemas/thermostat_schedule',
13003
+ },
12893
13004
  },
12894
- required: ['action_attempt', 'ok'],
13005
+ required: ['thermostat_schedule', 'ok'],
12895
13006
  type: 'object',
12896
13007
  },
12897
13008
  },
@@ -12907,50 +13018,24 @@ export default {
12907
13018
  { console_session: [] },
12908
13019
  { api_key: [] },
12909
13020
  ],
12910
- summary: '/thermostats/set_fan_mode',
13021
+ summary: '/thermostats/schedules/create',
12911
13022
  tags: ['/thermostats'],
12912
- 'x-fern-sdk-group-name': ['thermostats'],
12913
- 'x-fern-sdk-method-name': 'set_fan_mode',
12914
- 'x-fern-sdk-return-value': 'action_attempt',
13023
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13024
+ 'x-fern-sdk-method-name': 'create',
13025
+ 'x-fern-sdk-return-value': 'thermostat_schedule',
12915
13026
  },
12916
13027
  },
12917
- '/thermostats/update': {
12918
- patch: {
12919
- operationId: 'thermostatsUpdatePatch',
13028
+ '/thermostats/schedules/delete': {
13029
+ post: {
13030
+ operationId: 'thermostatsSchedulesDeletePost',
12920
13031
  requestBody: {
12921
13032
  content: {
12922
13033
  'application/json': {
12923
13034
  schema: {
12924
13035
  properties: {
12925
- default_climate_setting: {
12926
- properties: {
12927
- cooling_set_point_celsius: {
12928
- format: 'float',
12929
- type: 'number',
12930
- },
12931
- cooling_set_point_fahrenheit: {
12932
- format: 'float',
12933
- type: 'number',
12934
- },
12935
- heating_set_point_celsius: {
12936
- format: 'float',
12937
- type: 'number',
12938
- },
12939
- heating_set_point_fahrenheit: {
12940
- format: 'float',
12941
- type: 'number',
12942
- },
12943
- hvac_mode_setting: {
12944
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12945
- type: 'string',
12946
- },
12947
- manual_override_allowed: { type: 'boolean' },
12948
- },
12949
- type: 'object',
12950
- },
12951
- device_id: { format: 'uuid', type: 'string' },
13036
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
12952
13037
  },
12953
- required: ['device_id', 'default_climate_setting'],
13038
+ required: ['thermostat_schedule_id'],
12954
13039
  type: 'object',
12955
13040
  },
12956
13041
  },
@@ -12973,51 +13058,28 @@ export default {
12973
13058
  401: { description: 'Unauthorized' },
12974
13059
  },
12975
13060
  security: [
12976
- { api_key: [] },
13061
+ { client_session: [] },
12977
13062
  { pat_with_workspace: [] },
12978
13063
  { console_session: [] },
12979
- { client_session: [] },
13064
+ { api_key: [] },
12980
13065
  ],
12981
- summary: '/thermostats/update',
13066
+ summary: '/thermostats/schedules/delete',
12982
13067
  tags: ['/thermostats'],
12983
- 'x-fern-ignore': true,
13068
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13069
+ 'x-fern-sdk-method-name': 'delete',
12984
13070
  },
13071
+ },
13072
+ '/thermostats/schedules/get': {
12985
13073
  post: {
12986
- operationId: 'thermostatsUpdatePost',
13074
+ operationId: 'thermostatsSchedulesGetPost',
12987
13075
  requestBody: {
12988
13076
  content: {
12989
13077
  'application/json': {
12990
13078
  schema: {
12991
13079
  properties: {
12992
- default_climate_setting: {
12993
- properties: {
12994
- cooling_set_point_celsius: {
12995
- format: 'float',
12996
- type: 'number',
12997
- },
12998
- cooling_set_point_fahrenheit: {
12999
- format: 'float',
13000
- type: 'number',
13001
- },
13002
- heating_set_point_celsius: {
13003
- format: 'float',
13004
- type: 'number',
13005
- },
13006
- heating_set_point_fahrenheit: {
13007
- format: 'float',
13008
- type: 'number',
13009
- },
13010
- hvac_mode_setting: {
13011
- enum: ['off', 'heat', 'cool', 'heat_cool'],
13012
- type: 'string',
13013
- },
13014
- manual_override_allowed: { type: 'boolean' },
13015
- },
13016
- type: 'object',
13017
- },
13018
- device_id: { format: 'uuid', type: 'string' },
13080
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13019
13081
  },
13020
- required: ['device_id', 'default_climate_setting'],
13082
+ required: ['thermostat_schedule_id'],
13021
13083
  type: 'object',
13022
13084
  },
13023
13085
  },
@@ -13028,8 +13090,13 @@ export default {
13028
13090
  content: {
13029
13091
  'application/json': {
13030
13092
  schema: {
13031
- properties: { ok: { type: 'boolean' } },
13032
- required: ['ok'],
13093
+ properties: {
13094
+ ok: { type: 'boolean' },
13095
+ thermostat_schedule: {
13096
+ $ref: '#/components/schemas/thermostat_schedule',
13097
+ },
13098
+ },
13099
+ required: ['thermostat_schedule', 'ok'],
13033
13100
  type: 'object',
13034
13101
  },
13035
13102
  },
@@ -13040,15 +13107,509 @@ export default {
13040
13107
  401: { description: 'Unauthorized' },
13041
13108
  },
13042
13109
  security: [
13043
- { api_key: [] },
13110
+ { client_session: [] },
13044
13111
  { pat_with_workspace: [] },
13045
13112
  { console_session: [] },
13046
- { client_session: [] },
13113
+ { api_key: [] },
13047
13114
  ],
13048
- summary: '/thermostats/update',
13115
+ summary: '/thermostats/schedules/get',
13049
13116
  tags: ['/thermostats'],
13050
- 'x-fern-sdk-group-name': ['thermostats'],
13051
- 'x-fern-sdk-method-name': 'update',
13117
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13118
+ 'x-fern-sdk-method-name': 'get',
13119
+ 'x-fern-sdk-return-value': 'thermostat_schedule',
13120
+ },
13121
+ },
13122
+ '/thermostats/schedules/list': {
13123
+ post: {
13124
+ operationId: 'thermostatsSchedulesListPost',
13125
+ requestBody: {
13126
+ content: {
13127
+ 'application/json': {
13128
+ schema: {
13129
+ properties: {
13130
+ device_id: { format: 'uuid', type: 'string' },
13131
+ user_identifier_key: { type: 'string' },
13132
+ },
13133
+ required: ['device_id'],
13134
+ type: 'object',
13135
+ },
13136
+ },
13137
+ },
13138
+ },
13139
+ responses: {
13140
+ 200: {
13141
+ content: {
13142
+ 'application/json': {
13143
+ schema: {
13144
+ properties: {
13145
+ ok: { type: 'boolean' },
13146
+ thermostat_schedules: {
13147
+ items: {
13148
+ $ref: '#/components/schemas/thermostat_schedule',
13149
+ },
13150
+ type: 'array',
13151
+ },
13152
+ },
13153
+ required: ['thermostat_schedules', 'ok'],
13154
+ type: 'object',
13155
+ },
13156
+ },
13157
+ },
13158
+ description: 'OK',
13159
+ },
13160
+ 400: { description: 'Bad Request' },
13161
+ 401: { description: 'Unauthorized' },
13162
+ },
13163
+ security: [
13164
+ { api_key: [] },
13165
+ { client_session: [] },
13166
+ { pat_with_workspace: [] },
13167
+ { console_session: [] },
13168
+ ],
13169
+ summary: '/thermostats/schedules/list',
13170
+ tags: ['/thermostats'],
13171
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13172
+ 'x-fern-sdk-method-name': 'list',
13173
+ 'x-fern-sdk-return-value': 'thermostat_schedules',
13174
+ },
13175
+ },
13176
+ '/thermostats/schedules/update': {
13177
+ patch: {
13178
+ operationId: 'thermostatsSchedulesUpdatePatch',
13179
+ requestBody: {
13180
+ content: {
13181
+ 'application/json': {
13182
+ schema: {
13183
+ properties: {
13184
+ climate_preset_key: { type: 'string' },
13185
+ ends_at: { type: 'string' },
13186
+ max_override_period_minutes: { minimum: 0, type: 'integer' },
13187
+ name: { type: 'string' },
13188
+ starts_at: { type: 'string' },
13189
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13190
+ },
13191
+ required: ['thermostat_schedule_id'],
13192
+ type: 'object',
13193
+ },
13194
+ },
13195
+ },
13196
+ },
13197
+ responses: {
13198
+ 200: {
13199
+ content: {
13200
+ 'application/json': {
13201
+ schema: {
13202
+ properties: {
13203
+ ok: { type: 'boolean' },
13204
+ thermostat_schedule: {
13205
+ $ref: '#/components/schemas/thermostat_schedule',
13206
+ },
13207
+ },
13208
+ required: ['thermostat_schedule', 'ok'],
13209
+ type: 'object',
13210
+ },
13211
+ },
13212
+ },
13213
+ description: 'OK',
13214
+ },
13215
+ 400: { description: 'Bad Request' },
13216
+ 401: { description: 'Unauthorized' },
13217
+ },
13218
+ security: [
13219
+ { client_session: [] },
13220
+ { pat_with_workspace: [] },
13221
+ { console_session: [] },
13222
+ { api_key: [] },
13223
+ ],
13224
+ summary: '/thermostats/schedules/update',
13225
+ tags: ['/thermostats'],
13226
+ 'x-fern-ignore': true,
13227
+ },
13228
+ post: {
13229
+ operationId: 'thermostatsSchedulesUpdatePost',
13230
+ requestBody: {
13231
+ content: {
13232
+ 'application/json': {
13233
+ schema: {
13234
+ properties: {
13235
+ climate_preset_key: { type: 'string' },
13236
+ ends_at: { type: 'string' },
13237
+ max_override_period_minutes: { minimum: 0, type: 'integer' },
13238
+ name: { type: 'string' },
13239
+ starts_at: { type: 'string' },
13240
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13241
+ },
13242
+ required: ['thermostat_schedule_id'],
13243
+ type: 'object',
13244
+ },
13245
+ },
13246
+ },
13247
+ },
13248
+ responses: {
13249
+ 200: {
13250
+ content: {
13251
+ 'application/json': {
13252
+ schema: {
13253
+ properties: {
13254
+ ok: { type: 'boolean' },
13255
+ thermostat_schedule: {
13256
+ $ref: '#/components/schemas/thermostat_schedule',
13257
+ },
13258
+ },
13259
+ required: ['thermostat_schedule', 'ok'],
13260
+ type: 'object',
13261
+ },
13262
+ },
13263
+ },
13264
+ description: 'OK',
13265
+ },
13266
+ 400: { description: 'Bad Request' },
13267
+ 401: { description: 'Unauthorized' },
13268
+ },
13269
+ security: [
13270
+ { client_session: [] },
13271
+ { pat_with_workspace: [] },
13272
+ { console_session: [] },
13273
+ { api_key: [] },
13274
+ ],
13275
+ summary: '/thermostats/schedules/update',
13276
+ tags: ['/thermostats'],
13277
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13278
+ 'x-fern-sdk-method-name': 'update',
13279
+ },
13280
+ },
13281
+ '/thermostats/set_fallback_climate_preset': {
13282
+ post: {
13283
+ operationId: 'thermostatsSetFallbackClimatePresetPost',
13284
+ requestBody: {
13285
+ content: {
13286
+ 'application/json': {
13287
+ schema: {
13288
+ properties: {
13289
+ climate_preset_key: { type: 'string' },
13290
+ device_id: { format: 'uuid', type: 'string' },
13291
+ },
13292
+ required: ['device_id', 'climate_preset_key'],
13293
+ type: 'object',
13294
+ },
13295
+ },
13296
+ },
13297
+ },
13298
+ responses: {
13299
+ 200: {
13300
+ content: {
13301
+ 'application/json': {
13302
+ schema: {
13303
+ properties: { ok: { type: 'boolean' } },
13304
+ required: ['ok'],
13305
+ type: 'object',
13306
+ },
13307
+ },
13308
+ },
13309
+ description: 'OK',
13310
+ },
13311
+ 400: { description: 'Bad Request' },
13312
+ 401: { description: 'Unauthorized' },
13313
+ },
13314
+ security: [
13315
+ { pat_with_workspace: [] },
13316
+ { console_session: [] },
13317
+ { api_key: [] },
13318
+ ],
13319
+ summary: '/thermostats/set_fallback_climate_preset',
13320
+ tags: ['/thermostats'],
13321
+ 'x-fern-sdk-group-name': ['thermostats'],
13322
+ 'x-fern-sdk-method-name': 'set_fallback_climate_preset',
13323
+ },
13324
+ },
13325
+ '/thermostats/set_fan_mode': {
13326
+ post: {
13327
+ operationId: 'thermostatsSetFanModePost',
13328
+ requestBody: {
13329
+ content: {
13330
+ 'application/json': {
13331
+ schema: {
13332
+ properties: {
13333
+ device_id: { format: 'uuid', type: 'string' },
13334
+ fan_mode: {
13335
+ deprecated: true,
13336
+ enum: ['auto', 'on'],
13337
+ type: 'string',
13338
+ 'x-deprecated': 'use fan_mode_setting instead.',
13339
+ },
13340
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13341
+ sync: { default: false, type: 'boolean' },
13342
+ },
13343
+ required: ['device_id'],
13344
+ type: 'object',
13345
+ },
13346
+ },
13347
+ },
13348
+ },
13349
+ responses: {
13350
+ 200: {
13351
+ content: {
13352
+ 'application/json': {
13353
+ schema: {
13354
+ properties: {
13355
+ action_attempt: {
13356
+ $ref: '#/components/schemas/action_attempt',
13357
+ },
13358
+ ok: { type: 'boolean' },
13359
+ },
13360
+ required: ['action_attempt', 'ok'],
13361
+ type: 'object',
13362
+ },
13363
+ },
13364
+ },
13365
+ description: 'OK',
13366
+ },
13367
+ 400: { description: 'Bad Request' },
13368
+ 401: { description: 'Unauthorized' },
13369
+ },
13370
+ security: [
13371
+ { client_session: [] },
13372
+ { pat_with_workspace: [] },
13373
+ { console_session: [] },
13374
+ { api_key: [] },
13375
+ ],
13376
+ summary: '/thermostats/set_fan_mode',
13377
+ tags: ['/thermostats'],
13378
+ 'x-fern-sdk-group-name': ['thermostats'],
13379
+ 'x-fern-sdk-method-name': 'set_fan_mode',
13380
+ 'x-fern-sdk-return-value': 'action_attempt',
13381
+ },
13382
+ },
13383
+ '/thermostats/update_climate_preset': {
13384
+ patch: {
13385
+ operationId: 'thermostatsUpdateClimatePresetPatch',
13386
+ requestBody: {
13387
+ content: {
13388
+ 'application/json': {
13389
+ schema: {
13390
+ properties: {
13391
+ climate_preset_key: { type: 'string' },
13392
+ cooling_set_point_celsius: {
13393
+ format: 'float',
13394
+ type: 'number',
13395
+ },
13396
+ cooling_set_point_fahrenheit: {
13397
+ format: 'float',
13398
+ type: 'number',
13399
+ },
13400
+ device_id: { format: 'uuid', type: 'string' },
13401
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13402
+ heating_set_point_celsius: {
13403
+ format: 'float',
13404
+ type: 'number',
13405
+ },
13406
+ heating_set_point_fahrenheit: {
13407
+ format: 'float',
13408
+ type: 'number',
13409
+ },
13410
+ hvac_mode_setting: {
13411
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13412
+ type: 'string',
13413
+ },
13414
+ manual_override_allowed: { type: 'boolean' },
13415
+ name: { nullable: true, type: 'string' },
13416
+ },
13417
+ required: [
13418
+ 'device_id',
13419
+ 'climate_preset_key',
13420
+ 'name',
13421
+ 'manual_override_allowed',
13422
+ ],
13423
+ type: 'object',
13424
+ },
13425
+ },
13426
+ },
13427
+ },
13428
+ responses: {
13429
+ 200: {
13430
+ content: {
13431
+ 'application/json': {
13432
+ schema: {
13433
+ properties: {
13434
+ climate_preset: {
13435
+ properties: {
13436
+ can_delete: { type: 'boolean' },
13437
+ can_edit: { type: 'boolean' },
13438
+ climate_preset_key: { type: 'string' },
13439
+ cooling_set_point_celsius: {
13440
+ format: 'float',
13441
+ type: 'number',
13442
+ },
13443
+ cooling_set_point_fahrenheit: {
13444
+ format: 'float',
13445
+ type: 'number',
13446
+ },
13447
+ display_name: { type: 'string' },
13448
+ fan_mode_setting: {
13449
+ enum: ['auto', 'on'],
13450
+ type: 'string',
13451
+ },
13452
+ heating_set_point_celsius: {
13453
+ format: 'float',
13454
+ type: 'number',
13455
+ },
13456
+ heating_set_point_fahrenheit: {
13457
+ format: 'float',
13458
+ type: 'number',
13459
+ },
13460
+ hvac_mode_setting: {
13461
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13462
+ type: 'string',
13463
+ },
13464
+ manual_override_allowed: { type: 'boolean' },
13465
+ name: { nullable: true, type: 'string' },
13466
+ },
13467
+ required: [
13468
+ 'climate_preset_key',
13469
+ 'can_edit',
13470
+ 'can_delete',
13471
+ 'name',
13472
+ 'display_name',
13473
+ 'manual_override_allowed',
13474
+ ],
13475
+ type: 'object',
13476
+ },
13477
+ ok: { type: 'boolean' },
13478
+ },
13479
+ required: ['climate_preset', 'ok'],
13480
+ type: 'object',
13481
+ },
13482
+ },
13483
+ },
13484
+ description: 'OK',
13485
+ },
13486
+ 400: { description: 'Bad Request' },
13487
+ 401: { description: 'Unauthorized' },
13488
+ },
13489
+ security: [
13490
+ { pat_with_workspace: [] },
13491
+ { console_session: [] },
13492
+ { api_key: [] },
13493
+ ],
13494
+ summary: '/thermostats/update_climate_preset',
13495
+ tags: ['/thermostats'],
13496
+ 'x-fern-ignore': true,
13497
+ },
13498
+ post: {
13499
+ operationId: 'thermostatsUpdateClimatePresetPost',
13500
+ requestBody: {
13501
+ content: {
13502
+ 'application/json': {
13503
+ schema: {
13504
+ properties: {
13505
+ climate_preset_key: { type: 'string' },
13506
+ cooling_set_point_celsius: {
13507
+ format: 'float',
13508
+ type: 'number',
13509
+ },
13510
+ cooling_set_point_fahrenheit: {
13511
+ format: 'float',
13512
+ type: 'number',
13513
+ },
13514
+ device_id: { format: 'uuid', type: 'string' },
13515
+ fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
13516
+ heating_set_point_celsius: {
13517
+ format: 'float',
13518
+ type: 'number',
13519
+ },
13520
+ heating_set_point_fahrenheit: {
13521
+ format: 'float',
13522
+ type: 'number',
13523
+ },
13524
+ hvac_mode_setting: {
13525
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13526
+ type: 'string',
13527
+ },
13528
+ manual_override_allowed: { type: 'boolean' },
13529
+ name: { nullable: true, type: 'string' },
13530
+ },
13531
+ required: [
13532
+ 'device_id',
13533
+ 'climate_preset_key',
13534
+ 'name',
13535
+ 'manual_override_allowed',
13536
+ ],
13537
+ type: 'object',
13538
+ },
13539
+ },
13540
+ },
13541
+ },
13542
+ responses: {
13543
+ 200: {
13544
+ content: {
13545
+ 'application/json': {
13546
+ schema: {
13547
+ properties: {
13548
+ climate_preset: {
13549
+ properties: {
13550
+ can_delete: { type: 'boolean' },
13551
+ can_edit: { type: 'boolean' },
13552
+ climate_preset_key: { type: 'string' },
13553
+ cooling_set_point_celsius: {
13554
+ format: 'float',
13555
+ type: 'number',
13556
+ },
13557
+ cooling_set_point_fahrenheit: {
13558
+ format: 'float',
13559
+ type: 'number',
13560
+ },
13561
+ display_name: { type: 'string' },
13562
+ fan_mode_setting: {
13563
+ enum: ['auto', 'on'],
13564
+ type: 'string',
13565
+ },
13566
+ heating_set_point_celsius: {
13567
+ format: 'float',
13568
+ type: 'number',
13569
+ },
13570
+ heating_set_point_fahrenheit: {
13571
+ format: 'float',
13572
+ type: 'number',
13573
+ },
13574
+ hvac_mode_setting: {
13575
+ enum: ['off', 'heat', 'cool', 'heat_cool'],
13576
+ type: 'string',
13577
+ },
13578
+ manual_override_allowed: { type: 'boolean' },
13579
+ name: { nullable: true, type: 'string' },
13580
+ },
13581
+ required: [
13582
+ 'climate_preset_key',
13583
+ 'can_edit',
13584
+ 'can_delete',
13585
+ 'name',
13586
+ 'display_name',
13587
+ 'manual_override_allowed',
13588
+ ],
13589
+ type: 'object',
13590
+ },
13591
+ ok: { type: 'boolean' },
13592
+ },
13593
+ required: ['climate_preset', 'ok'],
13594
+ type: 'object',
13595
+ },
13596
+ },
13597
+ },
13598
+ description: 'OK',
13599
+ },
13600
+ 400: { description: 'Bad Request' },
13601
+ 401: { description: 'Unauthorized' },
13602
+ },
13603
+ security: [
13604
+ { pat_with_workspace: [] },
13605
+ { console_session: [] },
13606
+ { api_key: [] },
13607
+ ],
13608
+ summary: '/thermostats/update_climate_preset',
13609
+ tags: ['/thermostats'],
13610
+ 'x-fern-sdk-group-name': ['thermostats'],
13611
+ 'x-fern-sdk-method-name': 'update_climate_preset',
13612
+ 'x-fern-sdk-return-value': 'climate_preset',
13052
13613
  },
13053
13614
  },
13054
13615
  '/user_identities/add_acs_user': {