@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
@@ -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,11 +782,12 @@ 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.",
717
786
  properties: {
718
787
  created_at: { format: 'date-time', type: 'string' },
719
788
  message: { type: 'string' },
720
789
  warning_code: {
721
- enum: ['failed_to_update_acs_user_on_acs_system'],
790
+ enum: ['failed_to_update_on_acs_system'],
722
791
  type: 'string',
723
792
  },
724
793
  },
@@ -726,6 +795,7 @@ export default {
726
795
  type: 'object',
727
796
  },
728
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.',
729
799
  properties: {
730
800
  created_at: { format: 'date-time', type: 'string' },
731
801
  message: { type: 'string' },
@@ -763,6 +833,7 @@ export default {
763
833
  'display_name',
764
834
  'is_suspended',
765
835
  'warnings',
836
+ 'errors',
766
837
  'is_managed',
767
838
  ],
768
839
  type: 'object',
@@ -1386,6 +1457,91 @@ export default {
1386
1457
  ],
1387
1458
  type: 'object',
1388
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
+ },
1389
1545
  {
1390
1546
  properties: {
1391
1547
  action_attempt_id: {
@@ -1891,38 +2047,6 @@ export default {
1891
2047
  ],
1892
2048
  type: 'object',
1893
2049
  },
1894
- climate_setting_schedule: {
1895
- properties: {
1896
- climate_setting_schedule_id: { format: 'uuid', type: 'string' },
1897
- cooling_set_point_celsius: { format: 'float', type: 'number' },
1898
- cooling_set_point_fahrenheit: { format: 'float', type: 'number' },
1899
- created_at: { format: 'date-time', type: 'string' },
1900
- device_id: { format: 'uuid', type: 'string' },
1901
- errors: {
1902
- description: 'Collection of errors associated with the access code, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
1903
- },
1904
- heating_set_point_celsius: { format: 'float', type: 'number' },
1905
- heating_set_point_fahrenheit: { format: 'float', type: 'number' },
1906
- hvac_mode_setting: {
1907
- enum: ['off', 'heat', 'cool', 'heat_cool'],
1908
- type: 'string',
1909
- },
1910
- manual_override_allowed: { type: 'boolean' },
1911
- name: { type: 'string' },
1912
- schedule_ends_at: { type: 'string' },
1913
- schedule_starts_at: { type: 'string' },
1914
- schedule_type: { enum: ['time_bound'], type: 'string' },
1915
- },
1916
- required: [
1917
- 'climate_setting_schedule_id',
1918
- 'schedule_type',
1919
- 'device_id',
1920
- 'schedule_starts_at',
1921
- 'schedule_ends_at',
1922
- 'created_at',
1923
- ],
1924
- type: 'object',
1925
- },
1926
2050
  connect_webview: {
1927
2051
  properties: {
1928
2052
  accepted_devices: {
@@ -2927,56 +3051,85 @@ export default {
2927
3051
  },
2928
3052
  {
2929
3053
  properties: {
2930
- active_climate_setting_schedule: {
3054
+ active_thermostat_schedule: {
3055
+ default: null,
3056
+ nullable: true,
2931
3057
  properties: {
2932
- climate_setting_schedule_id: {
2933
- format: 'uuid',
2934
- type: 'string',
2935
- },
2936
- cooling_set_point_celsius: {
2937
- format: 'float',
2938
- type: 'number',
2939
- },
2940
- cooling_set_point_fahrenheit: {
2941
- format: 'float',
2942
- type: 'number',
2943
- },
3058
+ climate_preset_key: { type: 'string' },
2944
3059
  created_at: { format: 'date-time', type: 'string' },
2945
3060
  device_id: { format: 'uuid', type: 'string' },
3061
+ ends_at: { format: 'date-time', type: 'string' },
2946
3062
  errors: {
2947
- description: 'Collection of errors associated with the access code, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
2948
- },
2949
- heating_set_point_celsius: {
2950
- format: 'float',
2951
- type: 'number',
2952
- },
2953
- heating_set_point_fahrenheit: {
2954
- format: 'float',
2955
- 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.',
2956
3064
  },
2957
- hvac_mode_setting: {
2958
- enum: ['off', 'heat', 'cool', 'heat_cool'],
2959
- type: 'string',
3065
+ max_override_period_minutes: {
3066
+ default: 0,
3067
+ minimum: 0,
3068
+ type: 'integer',
2960
3069
  },
2961
- manual_override_allowed: { type: 'boolean' },
2962
3070
  name: { type: 'string' },
2963
- schedule_ends_at: { type: 'string' },
2964
- schedule_starts_at: { type: 'string' },
2965
- schedule_type: {
2966
- enum: ['time_bound'],
3071
+ starts_at: { format: 'date-time', type: 'string' },
3072
+ thermostat_schedule_id: {
3073
+ format: 'uuid',
2967
3074
  type: 'string',
2968
3075
  },
2969
3076
  },
2970
3077
  required: [
2971
- 'climate_setting_schedule_id',
2972
- 'schedule_type',
3078
+ 'thermostat_schedule_id',
2973
3079
  'device_id',
2974
- 'schedule_starts_at',
2975
- 'schedule_ends_at',
3080
+ 'climate_preset_key',
3081
+ 'starts_at',
3082
+ 'ends_at',
2976
3083
  'created_at',
2977
3084
  ],
2978
3085
  type: 'object',
2979
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
+ },
2980
3133
  available_hvac_mode_settings: {
2981
3134
  items: {
2982
3135
  enum: ['off', 'heat', 'cool', 'heat_cool'],
@@ -2986,6 +3139,9 @@ export default {
2986
3139
  },
2987
3140
  current_climate_setting: {
2988
3141
  properties: {
3142
+ can_delete: { type: 'boolean' },
3143
+ can_edit: { type: 'boolean' },
3144
+ climate_preset_key: { type: 'string' },
2989
3145
  cooling_set_point_celsius: {
2990
3146
  format: 'float',
2991
3147
  type: 'number',
@@ -2994,6 +3150,11 @@ export default {
2994
3150
  format: 'float',
2995
3151
  type: 'number',
2996
3152
  },
3153
+ display_name: { type: 'string' },
3154
+ fan_mode_setting: {
3155
+ enum: ['auto', 'on'],
3156
+ type: 'string',
3157
+ },
2997
3158
  heating_set_point_celsius: {
2998
3159
  format: 'float',
2999
3160
  type: 'number',
@@ -3007,15 +3168,16 @@ export default {
3007
3168
  type: 'string',
3008
3169
  },
3009
3170
  manual_override_allowed: { type: 'boolean' },
3171
+ name: { nullable: true, type: 'string' },
3010
3172
  },
3011
- required: [
3012
- 'hvac_mode_setting',
3013
- 'manual_override_allowed',
3014
- ],
3015
3173
  type: 'object',
3016
3174
  },
3017
3175
  default_climate_setting: {
3176
+ deprecated: true,
3018
3177
  properties: {
3178
+ can_delete: { type: 'boolean' },
3179
+ can_edit: { type: 'boolean' },
3180
+ climate_preset_key: { type: 'string' },
3019
3181
  cooling_set_point_celsius: {
3020
3182
  format: 'float',
3021
3183
  type: 'number',
@@ -3024,6 +3186,11 @@ export default {
3024
3186
  format: 'float',
3025
3187
  type: 'number',
3026
3188
  },
3189
+ display_name: { type: 'string' },
3190
+ fan_mode_setting: {
3191
+ enum: ['auto', 'on'],
3192
+ type: 'string',
3193
+ },
3027
3194
  heating_set_point_celsius: {
3028
3195
  format: 'float',
3029
3196
  type: 'number',
@@ -3037,18 +3204,23 @@ export default {
3037
3204
  type: 'string',
3038
3205
  },
3039
3206
  manual_override_allowed: { type: 'boolean' },
3207
+ name: { nullable: true, type: 'string' },
3040
3208
  },
3041
- required: [
3042
- 'hvac_mode_setting',
3043
- 'manual_override_allowed',
3044
- ],
3045
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',
3046
3217
  },
3047
3218
  fan_mode_setting: {
3219
+ deprecated: true,
3048
3220
  enum: ['auto', 'on'],
3049
3221
  type: 'string',
3222
+ 'x-deprecated': 'use current_climate_setting.fan_mode_setting instead.',
3050
3223
  },
3051
- is_climate_setting_schedule_active: { type: 'boolean' },
3052
3224
  is_cooling: { type: 'boolean' },
3053
3225
  is_fan_running: { type: 'boolean' },
3054
3226
  is_heating: { type: 'boolean' },
@@ -3472,6 +3644,34 @@ export default {
3472
3644
  required: ['service', 'status', 'description'],
3473
3645
  type: 'object',
3474
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
+ },
3475
3675
  unmanaged_access_code: {
3476
3676
  properties: {
3477
3677
  access_code_id: {
@@ -7566,12 +7766,7 @@ export default {
7566
7766
  acs_user: {
7567
7767
  properties: {
7568
7768
  access_schedule: {
7569
- properties: {
7570
- ends_at: { format: 'date-time', type: 'string' },
7571
- starts_at: { format: 'date-time', type: 'string' },
7572
- },
7573
- required: ['starts_at', 'ends_at'],
7574
- type: 'object',
7769
+ $ref: '#/components/schemas/thermostat_schedule',
7575
7770
  },
7576
7771
  acs_system_id: { format: 'uuid', type: 'string' },
7577
7772
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7584,33 +7779,113 @@ export default {
7584
7779
  'x-deprecated': 'use email_address.',
7585
7780
  },
7586
7781
  email_address: { format: 'email', type: 'string' },
7587
- errors: { $ref: '#/components/schemas/access_code' },
7588
- external_type: {
7589
- enum: [
7590
- 'pti_user',
7591
- 'brivo_user',
7592
- 'hid_credential_manager_user',
7593
- 'salto_site_user',
7594
- 'latch_user',
7595
- ],
7596
- type: 'string',
7597
- },
7598
- external_type_display_name: { type: 'string' },
7599
- full_name: { type: 'string' },
7600
- hid_acs_system_id: { format: 'uuid', type: 'string' },
7601
- is_latest_desired_state_synced_with_provider: {
7602
- type: 'boolean',
7603
- },
7604
- is_managed: { enum: [false], type: 'boolean' },
7605
- is_suspended: { type: 'boolean' },
7606
- latest_desired_state_synced_with_provider_at: {
7607
- format: 'date-time',
7608
- type: 'string',
7609
- },
7610
- phone_number: { type: 'string' },
7611
- user_identity_email_address: {
7612
- nullable: true,
7613
- type: 'string',
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',
7878
+ },
7879
+ is_managed: { enum: [false], type: 'boolean' },
7880
+ is_suspended: { type: 'boolean' },
7881
+ latest_desired_state_synced_with_provider_at: {
7882
+ format: 'date-time',
7883
+ type: 'string',
7884
+ },
7885
+ phone_number: { type: 'string' },
7886
+ user_identity_email_address: {
7887
+ nullable: true,
7888
+ type: 'string',
7614
7889
  },
7615
7890
  user_identity_full_name: {
7616
7891
  nullable: true,
@@ -7623,8 +7898,10 @@ export default {
7623
7898
  },
7624
7899
  warnings: {
7625
7900
  items: {
7901
+ description: 'Warning associated with the `acs_user`.',
7626
7902
  oneOf: [
7627
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.',
7628
7905
  properties: {
7629
7906
  created_at: {
7630
7907
  format: 'date-time',
@@ -7644,6 +7921,7 @@ export default {
7644
7921
  type: 'object',
7645
7922
  },
7646
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.",
7647
7925
  properties: {
7648
7926
  created_at: {
7649
7927
  format: 'date-time',
@@ -7651,9 +7929,7 @@ export default {
7651
7929
  },
7652
7930
  message: { type: 'string' },
7653
7931
  warning_code: {
7654
- enum: [
7655
- 'failed_to_update_acs_user_on_acs_system',
7656
- ],
7932
+ enum: ['failed_to_update_on_acs_system'],
7657
7933
  type: 'string',
7658
7934
  },
7659
7935
  },
@@ -7665,6 +7941,7 @@ export default {
7665
7941
  type: 'object',
7666
7942
  },
7667
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.',
7668
7945
  properties: {
7669
7946
  created_at: {
7670
7947
  format: 'date-time',
@@ -7716,6 +7993,7 @@ export default {
7716
7993
  'display_name',
7717
7994
  'is_suspended',
7718
7995
  'warnings',
7996
+ 'errors',
7719
7997
  'is_managed',
7720
7998
  ],
7721
7999
  type: 'object',
@@ -7773,15 +8051,7 @@ export default {
7773
8051
  items: {
7774
8052
  properties: {
7775
8053
  access_schedule: {
7776
- properties: {
7777
- ends_at: { format: 'date-time', type: 'string' },
7778
- starts_at: {
7779
- format: 'date-time',
7780
- type: 'string',
7781
- },
7782
- },
7783
- required: ['starts_at', 'ends_at'],
7784
- type: 'object',
8054
+ $ref: '#/components/schemas/thermostat_schedule',
7785
8055
  },
7786
8056
  acs_system_id: { format: 'uuid', type: 'string' },
7787
8057
  acs_user_id: { format: 'uuid', type: 'string' },
@@ -7794,7 +8064,87 @@ export default {
7794
8064
  'x-deprecated': 'use email_address.',
7795
8065
  },
7796
8066
  email_address: { format: 'email', type: 'string' },
7797
- 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
+ },
7798
8148
  external_type: {
7799
8149
  enum: [
7800
8150
  'pti_user',
@@ -7833,8 +8183,10 @@ export default {
7833
8183
  },
7834
8184
  warnings: {
7835
8185
  items: {
8186
+ description: 'Warning associated with the `acs_user`.',
7836
8187
  oneOf: [
7837
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.',
7838
8190
  properties: {
7839
8191
  created_at: {
7840
8192
  format: 'date-time',
@@ -7854,6 +8206,7 @@ export default {
7854
8206
  type: 'object',
7855
8207
  },
7856
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.",
7857
8210
  properties: {
7858
8211
  created_at: {
7859
8212
  format: 'date-time',
@@ -7861,9 +8214,7 @@ export default {
7861
8214
  },
7862
8215
  message: { type: 'string' },
7863
8216
  warning_code: {
7864
- enum: [
7865
- 'failed_to_update_acs_user_on_acs_system',
7866
- ],
8217
+ enum: ['failed_to_update_on_acs_system'],
7867
8218
  type: 'string',
7868
8219
  },
7869
8220
  },
@@ -7875,6 +8226,7 @@ export default {
7875
8226
  type: 'object',
7876
8227
  },
7877
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.',
7878
8230
  properties: {
7879
8231
  created_at: {
7880
8232
  format: 'date-time',
@@ -7926,6 +8278,7 @@ export default {
7926
8278
  'display_name',
7927
8279
  'is_suspended',
7928
8280
  'warnings',
8281
+ 'errors',
7929
8282
  'is_managed',
7930
8283
  ],
7931
8284
  type: 'object',
@@ -11861,50 +12214,18 @@ export default {
11861
12214
  'x-fern-sdk-return-value': 'phone',
11862
12215
  },
11863
12216
  },
11864
- '/thermostats/climate_setting_schedules/create': {
12217
+ '/thermostats/activate_climate_preset': {
11865
12218
  post: {
11866
- operationId: 'thermostatsClimateSettingSchedulesCreatePost',
12219
+ operationId: 'thermostatsActivateClimatePresetPost',
11867
12220
  requestBody: {
11868
12221
  content: {
11869
12222
  'application/json': {
11870
12223
  schema: {
11871
12224
  properties: {
11872
- cooling_set_point_celsius: {
11873
- format: 'float',
11874
- type: 'number',
11875
- },
11876
- cooling_set_point_fahrenheit: {
11877
- format: 'float',
11878
- type: 'number',
11879
- },
11880
- device_id: { type: 'string' },
11881
- heating_set_point_celsius: {
11882
- format: 'float',
11883
- type: 'number',
11884
- },
11885
- heating_set_point_fahrenheit: {
11886
- format: 'float',
11887
- type: 'number',
11888
- },
11889
- hvac_mode_setting: {
11890
- enum: ['off', 'heat', 'cool', 'heat_cool'],
11891
- type: 'string',
11892
- },
11893
- manual_override_allowed: { type: 'boolean' },
11894
- name: { type: 'string' },
11895
- schedule_ends_at: { type: 'string' },
11896
- schedule_starts_at: { type: 'string' },
11897
- schedule_type: {
11898
- default: 'time_bound',
11899
- enum: ['time_bound'],
11900
- type: 'string',
11901
- },
12225
+ climate_preset_key: { type: 'string' },
12226
+ device_id: { format: 'uuid', type: 'string' },
11902
12227
  },
11903
- required: [
11904
- 'device_id',
11905
- 'schedule_starts_at',
11906
- 'schedule_ends_at',
11907
- ],
12228
+ required: ['device_id', 'climate_preset_key'],
11908
12229
  type: 'object',
11909
12230
  },
11910
12231
  },
@@ -11916,12 +12237,12 @@ export default {
11916
12237
  'application/json': {
11917
12238
  schema: {
11918
12239
  properties: {
11919
- climate_setting_schedule: {
11920
- $ref: '#/components/schemas/climate_setting_schedule',
12240
+ action_attempt: {
12241
+ $ref: '#/components/schemas/action_attempt',
11921
12242
  },
11922
12243
  ok: { type: 'boolean' },
11923
12244
  },
11924
- required: ['climate_setting_schedule', 'ok'],
12245
+ required: ['action_attempt', 'ok'],
11925
12246
  type: 'object',
11926
12247
  },
11927
12248
  },
@@ -11932,32 +12253,37 @@ export default {
11932
12253
  401: { description: 'Unauthorized' },
11933
12254
  },
11934
12255
  security: [
11935
- { client_session: [] },
11936
12256
  { pat_with_workspace: [] },
11937
12257
  { console_session: [] },
11938
12258
  { api_key: [] },
11939
12259
  ],
11940
- summary: '/thermostats/climate_setting_schedules/create',
12260
+ summary: '/thermostats/activate_climate_preset',
11941
12261
  tags: ['/thermostats'],
11942
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
11943
- 'x-fern-sdk-method-name': 'create',
11944
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12262
+ 'x-fern-sdk-group-name': ['thermostats'],
12263
+ 'x-fern-sdk-method-name': 'activate_climate_preset',
12264
+ 'x-fern-sdk-return-value': 'action_attempt',
11945
12265
  },
11946
12266
  },
11947
- '/thermostats/climate_setting_schedules/delete': {
12267
+ '/thermostats/cool': {
11948
12268
  post: {
11949
- operationId: 'thermostatsClimateSettingSchedulesDeletePost',
12269
+ operationId: 'thermostatsCoolPost',
11950
12270
  requestBody: {
11951
12271
  content: {
11952
12272
  'application/json': {
11953
12273
  schema: {
11954
12274
  properties: {
11955
- climate_setting_schedule_id: {
11956
- format: 'uuid',
11957
- type: 'string',
12275
+ cooling_set_point_celsius: {
12276
+ format: 'float',
12277
+ type: 'number',
11958
12278
  },
12279
+ cooling_set_point_fahrenheit: {
12280
+ format: 'float',
12281
+ type: 'number',
12282
+ },
12283
+ device_id: { format: 'uuid', type: 'string' },
12284
+ sync: { default: false, type: 'boolean' },
11959
12285
  },
11960
- required: ['climate_setting_schedule_id'],
12286
+ required: ['device_id'],
11961
12287
  type: 'object',
11962
12288
  },
11963
12289
  },
@@ -11968,8 +12294,13 @@ export default {
11968
12294
  content: {
11969
12295
  'application/json': {
11970
12296
  schema: {
11971
- properties: { ok: { type: 'boolean' } },
11972
- required: ['ok'],
12297
+ properties: {
12298
+ action_attempt: {
12299
+ $ref: '#/components/schemas/action_attempt',
12300
+ },
12301
+ ok: { type: 'boolean' },
12302
+ },
12303
+ required: ['action_attempt', 'ok'],
11973
12304
  type: 'object',
11974
12305
  },
11975
12306
  },
@@ -11985,70 +12316,53 @@ export default {
11985
12316
  { console_session: [] },
11986
12317
  { api_key: [] },
11987
12318
  ],
11988
- summary: '/thermostats/climate_setting_schedules/delete',
12319
+ summary: '/thermostats/cool',
11989
12320
  tags: ['/thermostats'],
11990
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
11991
- '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',
11992
12324
  },
11993
- put: {
11994
- operationId: 'thermostatsClimateSettingSchedulesDeletePut',
12325
+ },
12326
+ '/thermostats/create_climate_preset': {
12327
+ post: {
12328
+ operationId: 'thermostatsCreateClimatePresetPost',
11995
12329
  requestBody: {
11996
12330
  content: {
11997
12331
  'application/json': {
11998
12332
  schema: {
11999
12333
  properties: {
12000
- climate_setting_schedule_id: {
12001
- format: 'uuid',
12334
+ climate_preset_key: { type: 'string' },
12335
+ cooling_set_point_celsius: {
12336
+ format: 'float',
12337
+ type: 'number',
12338
+ },
12339
+ cooling_set_point_fahrenheit: {
12340
+ format: 'float',
12341
+ type: 'number',
12342
+ },
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'],
12002
12355
  type: 'string',
12003
12356
  },
12357
+ manual_override_allowed: { type: 'boolean' },
12358
+ name: { nullable: true, type: 'string' },
12004
12359
  },
12005
- required: ['climate_setting_schedule_id'],
12006
- type: 'object',
12007
- },
12008
- },
12009
- },
12010
- },
12011
- responses: {
12012
- 200: {
12013
- content: {
12014
- 'application/json': {
12015
- schema: {
12016
- properties: { ok: { type: 'boolean' } },
12017
- required: ['ok'],
12018
- type: 'object',
12019
- },
12020
- },
12021
- },
12022
- description: 'OK',
12023
- },
12024
- 400: { description: 'Bad Request' },
12025
- 401: { description: 'Unauthorized' },
12026
- },
12027
- security: [
12028
- { client_session: [] },
12029
- { pat_with_workspace: [] },
12030
- { console_session: [] },
12031
- { api_key: [] },
12032
- ],
12033
- summary: '/thermostats/climate_setting_schedules/delete',
12034
- tags: ['/thermostats'],
12035
- 'x-fern-ignore': true,
12036
- },
12037
- },
12038
- '/thermostats/climate_setting_schedules/get': {
12039
- post: {
12040
- operationId: 'thermostatsClimateSettingSchedulesGetPost',
12041
- requestBody: {
12042
- content: {
12043
- 'application/json': {
12044
- schema: {
12045
- properties: {
12046
- climate_setting_schedule_id: {
12047
- format: 'uuid',
12048
- type: 'string',
12049
- },
12050
- device_id: { format: 'uuid', type: 'string' },
12051
- },
12360
+ required: [
12361
+ 'device_id',
12362
+ 'climate_preset_key',
12363
+ 'name',
12364
+ 'manual_override_allowed',
12365
+ ],
12052
12366
  type: 'object',
12053
12367
  },
12054
12368
  },
@@ -12060,12 +12374,52 @@ export default {
12060
12374
  'application/json': {
12061
12375
  schema: {
12062
12376
  properties: {
12063
- climate_setting_schedule: {
12064
- $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',
12065
12419
  },
12066
12420
  ok: { type: 'boolean' },
12067
12421
  },
12068
- required: ['climate_setting_schedule', 'ok'],
12422
+ required: ['climate_preset', 'ok'],
12069
12423
  type: 'object',
12070
12424
  },
12071
12425
  },
@@ -12076,30 +12430,28 @@ export default {
12076
12430
  401: { description: 'Unauthorized' },
12077
12431
  },
12078
12432
  security: [
12079
- { client_session: [] },
12080
12433
  { pat_with_workspace: [] },
12081
12434
  { console_session: [] },
12082
12435
  { api_key: [] },
12083
12436
  ],
12084
- summary: '/thermostats/climate_setting_schedules/get',
12437
+ summary: '/thermostats/create_climate_preset',
12085
12438
  tags: ['/thermostats'],
12086
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12087
- 'x-fern-sdk-method-name': 'get',
12088
- 'x-fern-sdk-return-value': 'climate_setting_schedule',
12439
+ 'x-fern-sdk-group-name': ['thermostats'],
12440
+ 'x-fern-sdk-method-name': 'create_climate_preset',
12089
12441
  },
12090
12442
  },
12091
- '/thermostats/climate_setting_schedules/list': {
12443
+ '/thermostats/delete_climate_preset': {
12092
12444
  post: {
12093
- operationId: 'thermostatsClimateSettingSchedulesListPost',
12445
+ operationId: 'thermostatsDeleteClimatePresetPost',
12094
12446
  requestBody: {
12095
12447
  content: {
12096
12448
  'application/json': {
12097
12449
  schema: {
12098
12450
  properties: {
12451
+ climate_preset_key: { type: 'string' },
12099
12452
  device_id: { format: 'uuid', type: 'string' },
12100
- user_identifier_key: { type: 'string' },
12101
12453
  },
12102
- required: ['device_id'],
12454
+ required: ['device_id', 'climate_preset_key'],
12103
12455
  type: 'object',
12104
12456
  },
12105
12457
  },
@@ -12110,16 +12462,8 @@ export default {
12110
12462
  content: {
12111
12463
  'application/json': {
12112
12464
  schema: {
12113
- properties: {
12114
- climate_setting_schedules: {
12115
- items: {
12116
- $ref: '#/components/schemas/climate_setting_schedule',
12117
- },
12118
- type: 'array',
12119
- },
12120
- ok: { type: 'boolean' },
12121
- },
12122
- required: ['climate_setting_schedules', 'ok'],
12465
+ properties: { ok: { type: 'boolean' } },
12466
+ required: ['ok'],
12123
12467
  type: 'object',
12124
12468
  },
12125
12469
  },
@@ -12130,61 +12474,27 @@ export default {
12130
12474
  401: { description: 'Unauthorized' },
12131
12475
  },
12132
12476
  security: [
12133
- { api_key: [] },
12134
- { client_session: [] },
12135
12477
  { pat_with_workspace: [] },
12136
12478
  { console_session: [] },
12479
+ { api_key: [] },
12137
12480
  ],
12138
- summary: '/thermostats/climate_setting_schedules/list',
12481
+ summary: '/thermostats/delete_climate_preset',
12139
12482
  tags: ['/thermostats'],
12140
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12141
- 'x-fern-sdk-method-name': 'list',
12142
- 'x-fern-sdk-return-value': 'climate_setting_schedules',
12483
+ 'x-fern-sdk-group-name': ['thermostats'],
12484
+ 'x-fern-sdk-method-name': 'delete_climate_preset',
12143
12485
  },
12144
12486
  },
12145
- '/thermostats/climate_setting_schedules/update': {
12146
- patch: {
12147
- operationId: 'thermostatsClimateSettingSchedulesUpdatePatch',
12487
+ '/thermostats/get': {
12488
+ post: {
12489
+ operationId: 'thermostatsGetPost',
12148
12490
  requestBody: {
12149
12491
  content: {
12150
12492
  'application/json': {
12151
12493
  schema: {
12152
12494
  properties: {
12153
- climate_setting_schedule_id: {
12154
- format: 'uuid',
12155
- type: 'string',
12156
- },
12157
- cooling_set_point_celsius: {
12158
- format: 'float',
12159
- type: 'number',
12160
- },
12161
- cooling_set_point_fahrenheit: {
12162
- format: 'float',
12163
- type: 'number',
12164
- },
12165
- heating_set_point_celsius: {
12166
- format: 'float',
12167
- type: 'number',
12168
- },
12169
- heating_set_point_fahrenheit: {
12170
- format: 'float',
12171
- type: 'number',
12172
- },
12173
- hvac_mode_setting: {
12174
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12175
- type: 'string',
12176
- },
12177
- manual_override_allowed: { type: 'boolean' },
12495
+ device_id: { format: 'uuid', type: 'string' },
12178
12496
  name: { type: 'string' },
12179
- schedule_ends_at: { type: 'string' },
12180
- schedule_starts_at: { type: 'string' },
12181
- schedule_type: {
12182
- default: 'time_bound',
12183
- enum: ['time_bound'],
12184
- type: 'string',
12185
- },
12186
12497
  },
12187
- required: ['climate_setting_schedule_id'],
12188
12498
  type: 'object',
12189
12499
  },
12190
12500
  },
@@ -12196,12 +12506,10 @@ export default {
12196
12506
  'application/json': {
12197
12507
  schema: {
12198
12508
  properties: {
12199
- climate_setting_schedule: {
12200
- $ref: '#/components/schemas/climate_setting_schedule',
12201
- },
12202
12509
  ok: { type: 'boolean' },
12510
+ thermostat: { $ref: '#/components/schemas/device' },
12203
12511
  },
12204
- required: ['climate_setting_schedule', 'ok'],
12512
+ required: ['thermostat', 'ok'],
12205
12513
  type: 'object',
12206
12514
  },
12207
12515
  },
@@ -12217,29 +12525,23 @@ export default {
12217
12525
  { console_session: [] },
12218
12526
  { api_key: [] },
12219
12527
  ],
12220
- summary: '/thermostats/climate_setting_schedules/update',
12528
+ summary: '/thermostats/get',
12221
12529
  tags: ['/thermostats'],
12222
- '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',
12223
12534
  },
12535
+ },
12536
+ '/thermostats/heat': {
12224
12537
  post: {
12225
- operationId: 'thermostatsClimateSettingSchedulesUpdatePost',
12538
+ operationId: 'thermostatsHeatPost',
12226
12539
  requestBody: {
12227
12540
  content: {
12228
12541
  'application/json': {
12229
12542
  schema: {
12230
12543
  properties: {
12231
- climate_setting_schedule_id: {
12232
- format: 'uuid',
12233
- type: 'string',
12234
- },
12235
- cooling_set_point_celsius: {
12236
- format: 'float',
12237
- type: 'number',
12238
- },
12239
- cooling_set_point_fahrenheit: {
12240
- format: 'float',
12241
- type: 'number',
12242
- },
12544
+ device_id: { format: 'uuid', type: 'string' },
12243
12545
  heating_set_point_celsius: {
12244
12546
  format: 'float',
12245
12547
  type: 'number',
@@ -12248,21 +12550,9 @@ export default {
12248
12550
  format: 'float',
12249
12551
  type: 'number',
12250
12552
  },
12251
- hvac_mode_setting: {
12252
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12253
- type: 'string',
12254
- },
12255
- manual_override_allowed: { type: 'boolean' },
12256
- name: { type: 'string' },
12257
- schedule_ends_at: { type: 'string' },
12258
- schedule_starts_at: { type: 'string' },
12259
- schedule_type: {
12260
- default: 'time_bound',
12261
- enum: ['time_bound'],
12262
- type: 'string',
12263
- },
12553
+ sync: { default: false, type: 'boolean' },
12264
12554
  },
12265
- required: ['climate_setting_schedule_id'],
12555
+ required: ['device_id'],
12266
12556
  type: 'object',
12267
12557
  },
12268
12558
  },
@@ -12274,12 +12564,12 @@ export default {
12274
12564
  'application/json': {
12275
12565
  schema: {
12276
12566
  properties: {
12277
- climate_setting_schedule: {
12278
- $ref: '#/components/schemas/climate_setting_schedule',
12567
+ action_attempt: {
12568
+ $ref: '#/components/schemas/action_attempt',
12279
12569
  },
12280
12570
  ok: { type: 'boolean' },
12281
12571
  },
12282
- required: ['climate_setting_schedule', 'ok'],
12572
+ required: ['action_attempt', 'ok'],
12283
12573
  type: 'object',
12284
12574
  },
12285
12575
  },
@@ -12295,22 +12585,21 @@ export default {
12295
12585
  { console_session: [] },
12296
12586
  { api_key: [] },
12297
12587
  ],
12298
- summary: '/thermostats/climate_setting_schedules/update',
12588
+ summary: '/thermostats/heat',
12299
12589
  tags: ['/thermostats'],
12300
- 'x-fern-sdk-group-name': ['thermostats', 'climate_setting_schedules'],
12301
- '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',
12302
12593
  },
12303
- put: {
12304
- operationId: 'thermostatsClimateSettingSchedulesUpdatePut',
12594
+ },
12595
+ '/thermostats/heat_cool': {
12596
+ post: {
12597
+ operationId: 'thermostatsHeatCoolPost',
12305
12598
  requestBody: {
12306
12599
  content: {
12307
12600
  'application/json': {
12308
12601
  schema: {
12309
12602
  properties: {
12310
- climate_setting_schedule_id: {
12311
- format: 'uuid',
12312
- type: 'string',
12313
- },
12314
12603
  cooling_set_point_celsius: {
12315
12604
  format: 'float',
12316
12605
  type: 'number',
@@ -12319,6 +12608,7 @@ export default {
12319
12608
  format: 'float',
12320
12609
  type: 'number',
12321
12610
  },
12611
+ device_id: { format: 'uuid', type: 'string' },
12322
12612
  heating_set_point_celsius: {
12323
12613
  format: 'float',
12324
12614
  type: 'number',
@@ -12327,75 +12617,6 @@ export default {
12327
12617
  format: 'float',
12328
12618
  type: 'number',
12329
12619
  },
12330
- hvac_mode_setting: {
12331
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12332
- type: 'string',
12333
- },
12334
- manual_override_allowed: { type: 'boolean' },
12335
- name: { type: 'string' },
12336
- schedule_ends_at: { type: 'string' },
12337
- schedule_starts_at: { type: 'string' },
12338
- schedule_type: {
12339
- default: 'time_bound',
12340
- enum: ['time_bound'],
12341
- type: 'string',
12342
- },
12343
- },
12344
- required: ['climate_setting_schedule_id'],
12345
- type: 'object',
12346
- },
12347
- },
12348
- },
12349
- },
12350
- responses: {
12351
- 200: {
12352
- content: {
12353
- 'application/json': {
12354
- schema: {
12355
- properties: {
12356
- climate_setting_schedule: {
12357
- $ref: '#/components/schemas/climate_setting_schedule',
12358
- },
12359
- ok: { type: 'boolean' },
12360
- },
12361
- required: ['climate_setting_schedule', 'ok'],
12362
- type: 'object',
12363
- },
12364
- },
12365
- },
12366
- description: 'OK',
12367
- },
12368
- 400: { description: 'Bad Request' },
12369
- 401: { description: 'Unauthorized' },
12370
- },
12371
- security: [
12372
- { client_session: [] },
12373
- { pat_with_workspace: [] },
12374
- { console_session: [] },
12375
- { api_key: [] },
12376
- ],
12377
- summary: '/thermostats/climate_setting_schedules/update',
12378
- tags: ['/thermostats'],
12379
- 'x-fern-ignore': true,
12380
- },
12381
- },
12382
- '/thermostats/cool': {
12383
- post: {
12384
- operationId: 'thermostatsCoolPost',
12385
- requestBody: {
12386
- content: {
12387
- 'application/json': {
12388
- schema: {
12389
- properties: {
12390
- cooling_set_point_celsius: {
12391
- format: 'float',
12392
- type: 'number',
12393
- },
12394
- cooling_set_point_fahrenheit: {
12395
- format: 'float',
12396
- type: 'number',
12397
- },
12398
- device_id: { format: 'uuid', type: 'string' },
12399
12620
  sync: { default: false, type: 'boolean' },
12400
12621
  },
12401
12622
  required: ['device_id'],
@@ -12431,201 +12652,26 @@ export default {
12431
12652
  { console_session: [] },
12432
12653
  { api_key: [] },
12433
12654
  ],
12434
- summary: '/thermostats/cool',
12655
+ summary: '/thermostats/heat_cool',
12435
12656
  tags: ['/thermostats'],
12436
12657
  'x-fern-sdk-group-name': ['thermostats'],
12437
- 'x-fern-sdk-method-name': 'cool',
12658
+ 'x-fern-sdk-method-name': 'heat_cool',
12438
12659
  'x-fern-sdk-return-value': 'action_attempt',
12439
12660
  },
12440
12661
  },
12441
- '/thermostats/get': {
12662
+ '/thermostats/list': {
12442
12663
  post: {
12443
- operationId: 'thermostatsGetPost',
12664
+ operationId: 'thermostatsListPost',
12444
12665
  requestBody: {
12445
12666
  content: {
12446
12667
  'application/json': {
12447
12668
  schema: {
12448
12669
  properties: {
12449
- device_id: { format: 'uuid', type: 'string' },
12450
- name: { type: 'string' },
12451
- },
12452
- type: 'object',
12453
- },
12454
- },
12455
- },
12456
- },
12457
- responses: {
12458
- 200: {
12459
- content: {
12460
- 'application/json': {
12461
- schema: {
12462
- properties: {
12463
- ok: { type: 'boolean' },
12464
- thermostat: { $ref: '#/components/schemas/device' },
12465
- },
12466
- required: ['thermostat', 'ok'],
12467
- type: 'object',
12468
- },
12469
- },
12470
- },
12471
- description: 'OK',
12472
- },
12473
- 400: { description: 'Bad Request' },
12474
- 401: { description: 'Unauthorized' },
12475
- },
12476
- security: [
12477
- { client_session: [] },
12478
- { pat_with_workspace: [] },
12479
- { console_session: [] },
12480
- { api_key: [] },
12481
- ],
12482
- summary: '/thermostats/get',
12483
- tags: ['/thermostats'],
12484
- 'x-deprecated': 'Use `/devices/get` instead.',
12485
- 'x-fern-sdk-group-name': ['thermostats'],
12486
- 'x-fern-sdk-method-name': 'get',
12487
- 'x-fern-sdk-return-value': 'thermostat',
12488
- },
12489
- },
12490
- '/thermostats/heat': {
12491
- post: {
12492
- operationId: 'thermostatsHeatPost',
12493
- requestBody: {
12494
- content: {
12495
- 'application/json': {
12496
- schema: {
12497
- properties: {
12498
- device_id: { format: 'uuid', type: 'string' },
12499
- heating_set_point_celsius: {
12500
- format: 'float',
12501
- type: 'number',
12502
- },
12503
- heating_set_point_fahrenheit: {
12504
- format: 'float',
12505
- type: 'number',
12506
- },
12507
- sync: { default: false, type: 'boolean' },
12508
- },
12509
- required: ['device_id'],
12510
- type: 'object',
12511
- },
12512
- },
12513
- },
12514
- },
12515
- responses: {
12516
- 200: {
12517
- content: {
12518
- 'application/json': {
12519
- schema: {
12520
- properties: {
12521
- action_attempt: {
12522
- $ref: '#/components/schemas/action_attempt',
12523
- },
12524
- ok: { type: 'boolean' },
12525
- },
12526
- required: ['action_attempt', 'ok'],
12527
- type: 'object',
12528
- },
12529
- },
12530
- },
12531
- description: 'OK',
12532
- },
12533
- 400: { description: 'Bad Request' },
12534
- 401: { description: 'Unauthorized' },
12535
- },
12536
- security: [
12537
- { client_session: [] },
12538
- { pat_with_workspace: [] },
12539
- { console_session: [] },
12540
- { api_key: [] },
12541
- ],
12542
- summary: '/thermostats/heat',
12543
- tags: ['/thermostats'],
12544
- 'x-fern-sdk-group-name': ['thermostats'],
12545
- 'x-fern-sdk-method-name': 'heat',
12546
- 'x-fern-sdk-return-value': 'action_attempt',
12547
- },
12548
- },
12549
- '/thermostats/heat_cool': {
12550
- post: {
12551
- operationId: 'thermostatsHeatCoolPost',
12552
- requestBody: {
12553
- content: {
12554
- 'application/json': {
12555
- schema: {
12556
- properties: {
12557
- cooling_set_point_celsius: {
12558
- format: 'float',
12559
- type: 'number',
12560
- },
12561
- cooling_set_point_fahrenheit: {
12562
- format: 'float',
12563
- type: 'number',
12564
- },
12565
- device_id: { format: 'uuid', type: 'string' },
12566
- heating_set_point_celsius: {
12567
- format: 'float',
12568
- type: 'number',
12569
- },
12570
- heating_set_point_fahrenheit: {
12571
- format: 'float',
12572
- type: 'number',
12573
- },
12574
- sync: { default: false, type: 'boolean' },
12575
- },
12576
- required: ['device_id'],
12577
- type: 'object',
12578
- },
12579
- },
12580
- },
12581
- },
12582
- responses: {
12583
- 200: {
12584
- content: {
12585
- 'application/json': {
12586
- schema: {
12587
- properties: {
12588
- action_attempt: {
12589
- $ref: '#/components/schemas/action_attempt',
12590
- },
12591
- ok: { type: 'boolean' },
12592
- },
12593
- required: ['action_attempt', 'ok'],
12594
- type: 'object',
12595
- },
12596
- },
12597
- },
12598
- description: 'OK',
12599
- },
12600
- 400: { description: 'Bad Request' },
12601
- 401: { description: 'Unauthorized' },
12602
- },
12603
- security: [
12604
- { client_session: [] },
12605
- { pat_with_workspace: [] },
12606
- { console_session: [] },
12607
- { api_key: [] },
12608
- ],
12609
- summary: '/thermostats/heat_cool',
12610
- tags: ['/thermostats'],
12611
- 'x-fern-sdk-group-name': ['thermostats'],
12612
- 'x-fern-sdk-method-name': 'heat_cool',
12613
- 'x-fern-sdk-return-value': 'action_attempt',
12614
- },
12615
- },
12616
- '/thermostats/list': {
12617
- post: {
12618
- operationId: 'thermostatsListPost',
12619
- requestBody: {
12620
- content: {
12621
- 'application/json': {
12622
- schema: {
12623
- properties: {
12624
- connect_webview_id: { format: 'uuid', type: 'string' },
12625
- connected_account_id: {
12626
- description: 'List all devices owned by this connected account',
12627
- format: 'uuid',
12628
- type: 'string',
12670
+ connect_webview_id: { format: 'uuid', type: 'string' },
12671
+ connected_account_id: {
12672
+ description: 'List all devices owned by this connected account',
12673
+ format: 'uuid',
12674
+ type: 'string',
12629
12675
  },
12630
12676
  connected_account_ids: {
12631
12677
  items: { format: 'uuid', type: 'string' },
@@ -12915,20 +12961,31 @@ export default {
12915
12961
  'x-fern-sdk-return-value': 'action_attempt',
12916
12962
  },
12917
12963
  },
12918
- '/thermostats/set_fan_mode': {
12964
+ '/thermostats/schedules/create': {
12919
12965
  post: {
12920
- operationId: 'thermostatsSetFanModePost',
12966
+ operationId: 'thermostatsSchedulesCreatePost',
12921
12967
  requestBody: {
12922
12968
  content: {
12923
12969
  'application/json': {
12924
12970
  schema: {
12925
12971
  properties: {
12926
- device_id: { format: 'uuid', type: 'string' },
12927
- fan_mode: { enum: ['auto', 'on'], type: 'string' },
12928
- fan_mode_setting: { enum: ['auto', 'on'], type: 'string' },
12929
- 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' },
12930
12982
  },
12931
- required: ['device_id'],
12983
+ required: [
12984
+ 'device_id',
12985
+ 'climate_preset_key',
12986
+ 'starts_at',
12987
+ 'ends_at',
12988
+ ],
12932
12989
  type: 'object',
12933
12990
  },
12934
12991
  },
@@ -12940,12 +12997,12 @@ export default {
12940
12997
  'application/json': {
12941
12998
  schema: {
12942
12999
  properties: {
12943
- action_attempt: {
12944
- $ref: '#/components/schemas/action_attempt',
12945
- },
12946
13000
  ok: { type: 'boolean' },
13001
+ thermostat_schedule: {
13002
+ $ref: '#/components/schemas/thermostat_schedule',
13003
+ },
12947
13004
  },
12948
- required: ['action_attempt', 'ok'],
13005
+ required: ['thermostat_schedule', 'ok'],
12949
13006
  type: 'object',
12950
13007
  },
12951
13008
  },
@@ -12961,50 +13018,24 @@ export default {
12961
13018
  { console_session: [] },
12962
13019
  { api_key: [] },
12963
13020
  ],
12964
- summary: '/thermostats/set_fan_mode',
13021
+ summary: '/thermostats/schedules/create',
12965
13022
  tags: ['/thermostats'],
12966
- 'x-fern-sdk-group-name': ['thermostats'],
12967
- 'x-fern-sdk-method-name': 'set_fan_mode',
12968
- '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',
12969
13026
  },
12970
13027
  },
12971
- '/thermostats/update': {
12972
- patch: {
12973
- operationId: 'thermostatsUpdatePatch',
13028
+ '/thermostats/schedules/delete': {
13029
+ post: {
13030
+ operationId: 'thermostatsSchedulesDeletePost',
12974
13031
  requestBody: {
12975
13032
  content: {
12976
13033
  'application/json': {
12977
13034
  schema: {
12978
13035
  properties: {
12979
- default_climate_setting: {
12980
- properties: {
12981
- cooling_set_point_celsius: {
12982
- format: 'float',
12983
- type: 'number',
12984
- },
12985
- cooling_set_point_fahrenheit: {
12986
- format: 'float',
12987
- type: 'number',
12988
- },
12989
- heating_set_point_celsius: {
12990
- format: 'float',
12991
- type: 'number',
12992
- },
12993
- heating_set_point_fahrenheit: {
12994
- format: 'float',
12995
- type: 'number',
12996
- },
12997
- hvac_mode_setting: {
12998
- enum: ['off', 'heat', 'cool', 'heat_cool'],
12999
- type: 'string',
13000
- },
13001
- manual_override_allowed: { type: 'boolean' },
13002
- },
13003
- type: 'object',
13004
- },
13005
- device_id: { format: 'uuid', type: 'string' },
13036
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13006
13037
  },
13007
- required: ['device_id', 'default_climate_setting'],
13038
+ required: ['thermostat_schedule_id'],
13008
13039
  type: 'object',
13009
13040
  },
13010
13041
  },
@@ -13027,51 +13058,28 @@ export default {
13027
13058
  401: { description: 'Unauthorized' },
13028
13059
  },
13029
13060
  security: [
13030
- { api_key: [] },
13061
+ { client_session: [] },
13031
13062
  { pat_with_workspace: [] },
13032
13063
  { console_session: [] },
13033
- { client_session: [] },
13064
+ { api_key: [] },
13034
13065
  ],
13035
- summary: '/thermostats/update',
13066
+ summary: '/thermostats/schedules/delete',
13036
13067
  tags: ['/thermostats'],
13037
- 'x-fern-ignore': true,
13068
+ 'x-fern-sdk-group-name': ['thermostats', 'schedules'],
13069
+ 'x-fern-sdk-method-name': 'delete',
13038
13070
  },
13071
+ },
13072
+ '/thermostats/schedules/get': {
13039
13073
  post: {
13040
- operationId: 'thermostatsUpdatePost',
13074
+ operationId: 'thermostatsSchedulesGetPost',
13041
13075
  requestBody: {
13042
13076
  content: {
13043
13077
  'application/json': {
13044
13078
  schema: {
13045
13079
  properties: {
13046
- default_climate_setting: {
13047
- properties: {
13048
- cooling_set_point_celsius: {
13049
- format: 'float',
13050
- type: 'number',
13051
- },
13052
- cooling_set_point_fahrenheit: {
13053
- format: 'float',
13054
- type: 'number',
13055
- },
13056
- heating_set_point_celsius: {
13057
- format: 'float',
13058
- type: 'number',
13059
- },
13060
- heating_set_point_fahrenheit: {
13061
- format: 'float',
13062
- type: 'number',
13063
- },
13064
- hvac_mode_setting: {
13065
- enum: ['off', 'heat', 'cool', 'heat_cool'],
13066
- type: 'string',
13067
- },
13068
- manual_override_allowed: { type: 'boolean' },
13069
- },
13070
- type: 'object',
13071
- },
13072
- device_id: { format: 'uuid', type: 'string' },
13080
+ thermostat_schedule_id: { format: 'uuid', type: 'string' },
13073
13081
  },
13074
- required: ['device_id', 'default_climate_setting'],
13082
+ required: ['thermostat_schedule_id'],
13075
13083
  type: 'object',
13076
13084
  },
13077
13085
  },
@@ -13082,8 +13090,13 @@ export default {
13082
13090
  content: {
13083
13091
  'application/json': {
13084
13092
  schema: {
13085
- properties: { ok: { type: 'boolean' } },
13086
- required: ['ok'],
13093
+ properties: {
13094
+ ok: { type: 'boolean' },
13095
+ thermostat_schedule: {
13096
+ $ref: '#/components/schemas/thermostat_schedule',
13097
+ },
13098
+ },
13099
+ required: ['thermostat_schedule', 'ok'],
13087
13100
  type: 'object',
13088
13101
  },
13089
13102
  },
@@ -13094,15 +13107,509 @@ export default {
13094
13107
  401: { description: 'Unauthorized' },
13095
13108
  },
13096
13109
  security: [
13097
- { api_key: [] },
13110
+ { client_session: [] },
13098
13111
  { pat_with_workspace: [] },
13099
13112
  { console_session: [] },
13100
- { client_session: [] },
13113
+ { api_key: [] },
13101
13114
  ],
13102
- summary: '/thermostats/update',
13115
+ summary: '/thermostats/schedules/get',
13103
13116
  tags: ['/thermostats'],
13104
- 'x-fern-sdk-group-name': ['thermostats'],
13105
- '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',
13106
13613
  },
13107
13614
  },
13108
13615
  '/user_identities/add_acs_user': {