@seamapi/types 1.240.0 → 1.242.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/connect.cjs +1592 -904
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +3728 -1455
  4. package/dist/devicedb.d.cts +30 -30
  5. package/lib/seam/connect/internal/schemas.d.ts +1 -1
  6. package/lib/seam/connect/internal/schemas.js +1 -1
  7. package/lib/seam/connect/internal/schemas.js.map +1 -1
  8. package/lib/seam/connect/model-types.d.ts +1 -1
  9. package/lib/seam/connect/models/access-codes/managed-access-code.d.ts +4 -4
  10. package/lib/seam/connect/models/access-codes/unmanaged-access-code.d.ts +1 -1
  11. package/lib/seam/connect/models/acs/acs-user.d.ts +316 -84
  12. package/lib/seam/connect/models/acs/acs-user.js +72 -22
  13. package/lib/seam/connect/models/acs/acs-user.js.map +1 -1
  14. package/lib/seam/connect/models/action-attempts/action-attempt.d.ts +78 -0
  15. package/lib/seam/connect/models/action-attempts/action-attempt.js +2 -0
  16. package/lib/seam/connect/models/action-attempts/action-attempt.js.map +1 -1
  17. package/lib/seam/connect/models/action-attempts/activate-climate-preset.d.ts +80 -0
  18. package/lib/seam/connect/models/action-attempts/activate-climate-preset.js +25 -0
  19. package/lib/seam/connect/models/action-attempts/activate-climate-preset.js.map +1 -0
  20. package/lib/seam/connect/models/devices/capability-properties/index.d.ts +185 -83
  21. package/lib/seam/connect/models/devices/capability-properties/thermostat.d.ts +185 -83
  22. package/lib/seam/connect/models/devices/capability-properties/thermostat.js +15 -6
  23. package/lib/seam/connect/models/devices/capability-properties/thermostat.js.map +1 -1
  24. package/lib/seam/connect/models/devices/device.d.ts +263 -119
  25. package/lib/seam/connect/models/devices/phone.d.ts +187 -85
  26. package/lib/seam/connect/models/devices/unmanaged-device.d.ts +185 -83
  27. package/lib/seam/connect/models/thermostats/climate-preset.d.ts +83 -0
  28. package/lib/seam/connect/models/thermostats/climate-preset.js +18 -0
  29. package/lib/seam/connect/models/thermostats/climate-preset.js.map +1 -0
  30. package/lib/seam/connect/models/thermostats/climate-setting-schedule.d.ts +18 -34
  31. package/lib/seam/connect/models/thermostats/climate-setting-schedule.js +8 -10
  32. package/lib/seam/connect/models/thermostats/climate-setting-schedule.js.map +1 -1
  33. package/lib/seam/connect/models/thermostats/index.d.ts +1 -1
  34. package/lib/seam/connect/models/thermostats/index.js +1 -1
  35. package/lib/seam/connect/models/thermostats/index.js.map +1 -1
  36. package/lib/seam/connect/openapi.d.ts +1019 -570
  37. package/lib/seam/connect/openapi.js +1334 -723
  38. package/lib/seam/connect/openapi.js.map +1 -1
  39. package/lib/seam/connect/route-types.d.ts +1824 -476
  40. package/lib/seam/connect/schemas.d.ts +1 -1
  41. package/lib/seam/connect/schemas.js +1 -1
  42. package/lib/seam/connect/schemas.js.map +1 -1
  43. package/lib/seam/devicedb/models/device-model.d.ts +8 -8
  44. package/lib/seam/devicedb/models/manufacturer.d.ts +2 -2
  45. package/lib/seam/devicedb/route-specs.d.ts +20 -20
  46. package/package.json +2 -2
  47. package/src/lib/seam/connect/internal/schemas.ts +2 -2
  48. package/src/lib/seam/connect/model-types.ts +1 -1
  49. package/src/lib/seam/connect/models/acs/acs-user.ts +100 -27
  50. package/src/lib/seam/connect/models/action-attempts/action-attempt.ts +2 -0
  51. package/src/lib/seam/connect/models/action-attempts/activate-climate-preset.ts +36 -0
  52. package/src/lib/seam/connect/models/devices/capability-properties/thermostat.ts +16 -6
  53. package/src/lib/seam/connect/models/thermostats/climate-preset.ts +24 -0
  54. package/src/lib/seam/connect/models/thermostats/climate-setting-schedule.ts +16 -19
  55. package/src/lib/seam/connect/models/thermostats/index.ts +1 -1
  56. package/src/lib/seam/connect/openapi.ts +1385 -708
  57. package/src/lib/seam/connect/route-types.ts +2122 -520
  58. package/src/lib/seam/connect/schemas.ts +1 -1
  59. package/lib/seam/connect/models/thermostats/climate-setting.d.ts +0 -24
  60. package/lib/seam/connect/models/thermostats/climate-setting.js +0 -11
  61. package/lib/seam/connect/models/thermostats/climate-setting.js.map +0 -1
  62. package/src/lib/seam/connect/models/thermostats/climate-setting.ts +0 -14
package/dist/connect.cjs CHANGED
@@ -19,7 +19,6 @@ __export(schemas_exports, {
19
19
  acs_user: () => acs_user,
20
20
  action_attempt: () => action_attempt,
21
21
  client_session: () => client_session,
22
- climate_setting_schedule: () => climate_setting_schedule,
23
22
  connect_webview: () => connect_webview,
24
23
  connected_account: () => connected_account,
25
24
  custom_metadata: () => custom_metadata,
@@ -27,6 +26,7 @@ __export(schemas_exports, {
27
26
  device_provider: () => device_provider,
28
27
  noise_threshold: () => noise_threshold,
29
28
  seam_event: () => seam_event,
29
+ thermostat_schedule: () => thermostat_schedule,
30
30
  unmanaged_access_code: () => unmanaged_access_code,
31
31
  unmanaged_acs_access_group: () => unmanaged_acs_access_group,
32
32
  unmanaged_acs_credential: () => unmanaged_acs_credential,
@@ -138,27 +138,35 @@ var lock_capability_properties = zod.z.object({
138
138
  var hvac_mode_setting = zod.z.enum(["off", "heat", "cool", "heat_cool"]);
139
139
  var fan_mode_setting = zod.z.enum(["auto", "on"]);
140
140
 
141
- // src/lib/seam/connect/models/thermostats/climate-setting.ts
142
- var climate_setting = zod.z.object({
143
- hvac_mode_setting,
141
+ // src/lib/seam/connect/models/thermostats/climate-preset.ts
142
+ var climate_preset = zod.z.object({
143
+ climate_preset_key: zod.z.string(),
144
+ can_edit: zod.z.boolean(),
145
+ can_delete: zod.z.boolean(),
146
+ name: zod.z.string().nullable(),
147
+ display_name: zod.z.string(),
148
+ fan_mode_setting: fan_mode_setting.optional(),
149
+ hvac_mode_setting: hvac_mode_setting.optional(),
144
150
  cooling_set_point_celsius: zod.z.number().optional(),
145
151
  heating_set_point_celsius: zod.z.number().optional(),
146
152
  cooling_set_point_fahrenheit: zod.z.number().optional(),
147
153
  heating_set_point_fahrenheit: zod.z.number().optional(),
148
154
  manual_override_allowed: zod.z.boolean()
149
155
  });
150
- var climate_setting_schedule = zod.z.object({
151
- climate_setting_schedule_id: zod.z.string().uuid(),
152
- schedule_type: zod.z.literal("time_bound"),
156
+ var climate_setting = climate_preset.partial();
157
+ var thermostat_schedule = zod.z.object({
158
+ thermostat_schedule_id: zod.z.string().uuid(),
153
159
  device_id: zod.z.string().uuid(),
154
160
  name: zod.z.string().optional(),
155
- schedule_starts_at: zod.z.string(),
156
- schedule_ends_at: zod.z.string(),
161
+ climate_preset_key: zod.z.string(),
162
+ max_override_period_minutes: zod.z.number().int().nonnegative().default(0),
163
+ starts_at: zod.z.string().datetime(),
164
+ ends_at: zod.z.string().datetime(),
157
165
  created_at: zod.z.string().datetime(),
158
166
  errors: zod.z.any().describe(
159
- '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.'
167
+ '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.'
160
168
  )
161
- }).merge(climate_setting.partial());
169
+ });
162
170
 
163
171
  // src/lib/seam/connect/models/devices/capability-properties/thermostat.ts
164
172
  var thermostat_capability_properties = zod.z.object({
@@ -169,18 +177,27 @@ var thermostat_capability_properties = zod.z.object({
169
177
  is_heating: zod.z.boolean(),
170
178
  is_cooling: zod.z.boolean(),
171
179
  is_fan_running: zod.z.boolean(),
172
- fan_mode_setting,
180
+ fan_mode_setting: fan_mode_setting.describe(`
181
+ ---
182
+ deprecated: use current_climate_setting.fan_mode_setting instead.
183
+ ---
184
+ `),
173
185
  /**
174
186
  * this is true if the current thermostat settings differ that what is on seam, and `current_climate_setting.manual_override_allowed: true`
175
187
  */
176
188
  is_temporary_manual_override_active: zod.z.boolean(),
177
189
  /**
178
- * can be derived from `default_climate_setting`, or `active_climate_setting_schedule` if one is active
190
+ * can be derived from `fallback_climate_preset_key`, or `active_thermostat_schedule` if one is active
179
191
  */
180
192
  current_climate_setting: climate_setting,
181
- default_climate_setting: climate_setting,
182
- is_climate_setting_schedule_active: zod.z.boolean(),
183
- active_climate_setting_schedule: climate_setting_schedule,
193
+ default_climate_setting: climate_setting.describe(`
194
+ ---
195
+ deprecated: use fallback_climate_preset_key to specify a fallback climate preset instead.
196
+ ---
197
+ `),
198
+ available_climate_presets: zod.z.array(climate_preset),
199
+ fallback_climate_preset_key: zod.z.string().min(1).nullable().default(null),
200
+ active_thermostat_schedule: thermostat_schedule.nullable().default(null),
184
201
  min_cooling_set_point_celsius: zod.z.number(),
185
202
  min_cooling_set_point_fahrenheit: zod.z.number(),
186
203
  max_cooling_set_point_celsius: zod.z.number(),
@@ -1303,34 +1320,74 @@ var acs_user_external_type = zod.z.enum([
1303
1320
  "salto_site_user",
1304
1321
  "latch_user"
1305
1322
  ]);
1306
- var common_acs_users_warning = zod.z.object({
1323
+ var common_acs_user_error = zod.z.object({
1324
+ created_at: zod.z.string().datetime().describe("Date and time at which Seam created the error."),
1325
+ message: zod.z.string().describe(
1326
+ "Detailed description of the error. Provides insights into the issue and potentially how to rectify it."
1327
+ )
1328
+ });
1329
+ var acs_users_deleted_externally = common_acs_user_error.extend({
1330
+ error_code: zod.z.literal("deleted_externally")
1331
+ }).describe(
1332
+ `Indicates that the ACS user was deleted from the ACS system outside of Seam.`
1333
+ );
1334
+ var acs_users_salto_ks_subscription_limit_exceeded = common_acs_user_error.extend({
1335
+ error_code: zod.z.literal("salto_ks_subscription_limit_exceeded")
1336
+ }).describe(
1337
+ `Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.`
1338
+ );
1339
+ var acs_users_failed_to_create_on_acs_system = common_acs_user_error.extend({
1340
+ warning_code: zod.z.literal("failed_to_create_on_acs_system")
1341
+ }).describe(
1342
+ `Indicates that the user was not created on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.`
1343
+ );
1344
+ var acs_users_failed_to_update_on_acs_system = common_acs_user_error.extend({
1345
+ warning_code: zod.z.literal("failed_to_update_on_acs_system")
1346
+ }).describe(
1347
+ `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.`
1348
+ );
1349
+ var acs_users_failed_to_delete_on_acs_system = common_acs_user_error.extend({
1350
+ warning_code: zod.z.literal("failed_to_delete_on_acs_system")
1351
+ }).describe(
1352
+ `Indicates that the user was not deleted on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.`
1353
+ );
1354
+ var acs_user_errors = zod.z.union([
1355
+ acs_users_deleted_externally,
1356
+ acs_users_salto_ks_subscription_limit_exceeded,
1357
+ acs_users_failed_to_create_on_acs_system,
1358
+ acs_users_failed_to_update_on_acs_system,
1359
+ acs_users_failed_to_delete_on_acs_system
1360
+ ]).describe("Error associated with the `acs_user`.");
1361
+ zod.z.object({
1362
+ deleted_externally: acs_users_deleted_externally.optional().nullable(),
1363
+ salto_ks_subscription_limit_exceeded: acs_users_salto_ks_subscription_limit_exceeded.optional().nullable(),
1364
+ failed_to_create_on_acs_system: acs_users_failed_to_create_on_acs_system.optional().nullable(),
1365
+ failed_to_update_on_acs_system: acs_users_failed_to_update_on_acs_system.optional().nullable(),
1366
+ failed_to_delete_on_acs_system: acs_users_failed_to_delete_on_acs_system.optional().nullable()
1367
+ });
1368
+ var common_acs_user_warning = zod.z.object({
1307
1369
  created_at: zod.z.string().datetime(),
1308
1370
  message: zod.z.string()
1309
1371
  });
1310
- var acs_users_being_deleted = common_acs_users_warning.extend({
1372
+ var acs_users_being_deleted = common_acs_user_warning.extend({
1311
1373
  warning_code: zod.z.literal("being_deleted")
1312
- });
1313
- var acs_users_salto_ks_user_not_subscribed = common_acs_users_warning.extend({
1374
+ }).describe(
1375
+ `Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.`
1376
+ );
1377
+ var acs_users_salto_ks_user_not_subscribed = common_acs_user_warning.extend({
1314
1378
  warning_code: zod.z.literal("salto_ks_user_not_subscribed")
1315
- });
1316
- var acs_users_failed_to_update_acs_user_on_acs_system = common_acs_users_warning.extend({
1317
- warning_code: zod.z.literal("failed_to_update_acs_user_on_acs_system")
1318
- });
1319
- var acs_users_salto_site_user_suspended = common_acs_users_warning.extend({
1320
- warning_code: zod.z.literal("salto_site_user_suspended")
1321
- });
1379
+ }).describe(
1380
+ `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\u2019t 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.`
1381
+ );
1322
1382
  zod.z.object({
1323
1383
  being_deleted: acs_users_being_deleted.optional().nullable(),
1324
- failed_to_update_acs_user_on_acs_system: acs_users_failed_to_update_acs_user_on_acs_system.optional().nullable(),
1325
- salto_ks_user_not_subscribed: acs_users_salto_ks_user_not_subscribed.optional().nullable(),
1326
- salto_site_user_suspended: acs_users_salto_site_user_suspended.optional().nullable()
1384
+ salto_ks_user_not_subscribed: acs_users_salto_ks_user_not_subscribed.optional().nullable()
1327
1385
  });
1328
- var acs_users_warning = zod.z.union([
1386
+ var acs_users_warnings = zod.z.union([
1329
1387
  acs_users_being_deleted,
1330
- acs_users_failed_to_update_acs_user_on_acs_system,
1331
- acs_users_salto_ks_user_not_subscribed,
1332
- acs_users_salto_site_user_suspended
1333
- ]);
1388
+ acs_users_failed_to_update_on_acs_system,
1389
+ acs_users_salto_ks_user_not_subscribed
1390
+ ]).describe("Warning associated with the `acs_user`.");
1334
1391
  var user_fields = zod.z.object({
1335
1392
  full_name: zod.z.string().optional(),
1336
1393
  email: zod.z.string().email().optional().describe(`
@@ -1358,8 +1415,8 @@ var common_acs_user = zod.z.object({
1358
1415
  user_identity_phone_number: zod.z.string().nullable().optional(),
1359
1416
  latest_desired_state_synced_with_provider_at: zod.z.string().datetime().optional(),
1360
1417
  is_latest_desired_state_synced_with_provider: zod.z.boolean().optional(),
1361
- warnings: zod.z.array(acs_users_warning),
1362
- errors: zod.z.any()
1418
+ warnings: zod.z.array(acs_users_warnings),
1419
+ errors: zod.z.array(acs_user_errors)
1363
1420
  }).merge(user_fields);
1364
1421
  var acs_user = common_acs_user.merge(
1365
1422
  zod.z.object({
@@ -1394,23 +1451,42 @@ var common_failed_action_attempt = common_action_attempt.extend({
1394
1451
  result: zod.z.null()
1395
1452
  });
1396
1453
 
1397
- // src/lib/seam/connect/models/action-attempts/deprecated.ts
1454
+ // src/lib/seam/connect/models/action-attempts/activate-climate-preset.ts
1455
+ var action_type = zod.z.literal("ACTIVATE_CLIMATE_PRESET");
1398
1456
  var error = zod.z.object({
1399
1457
  type: zod.z.string(),
1400
1458
  message: zod.z.string()
1401
1459
  });
1402
- var result = zod.z.any();
1460
+ var result = zod.z.object({});
1461
+ var activate_climate_preset_action_attempt = zod.z.discriminatedUnion(
1462
+ "status",
1463
+ [
1464
+ common_pending_action_attempt.extend({
1465
+ action_type
1466
+ }).describe("Activating climate preset."),
1467
+ common_succeeded_action_attempt.extend({
1468
+ action_type,
1469
+ result
1470
+ }).describe("Activating climate preset succeeded."),
1471
+ common_failed_action_attempt.extend({ action_type, error }).describe("Activating climate preset failed.")
1472
+ ]
1473
+ );
1474
+ var error2 = zod.z.object({
1475
+ type: zod.z.string(),
1476
+ message: zod.z.string()
1477
+ });
1478
+ var result2 = zod.z.any();
1403
1479
  var sync_access_codes_action_attempt = zod.z.discriminatedUnion("status", [
1404
1480
  common_pending_action_attempt.extend({
1405
1481
  action_type: zod.z.literal("SYNC_ACCESS_CODES")
1406
1482
  }),
1407
1483
  common_succeeded_action_attempt.extend({
1408
1484
  action_type: zod.z.literal("SYNC_ACCESS_CODES"),
1409
- result
1485
+ result: result2
1410
1486
  }),
1411
1487
  common_failed_action_attempt.extend({
1412
1488
  action_type: zod.z.literal("SYNC_ACCESS_CODES"),
1413
- error
1489
+ error: error2
1414
1490
  })
1415
1491
  ]);
1416
1492
  var create_access_code_action_attempt = zod.z.discriminatedUnion("status", [
@@ -1419,11 +1495,11 @@ var create_access_code_action_attempt = zod.z.discriminatedUnion("status", [
1419
1495
  }),
1420
1496
  common_succeeded_action_attempt.extend({
1421
1497
  action_type: zod.z.literal("CREATE_ACCESS_CODE"),
1422
- result
1498
+ result: result2
1423
1499
  }),
1424
1500
  common_failed_action_attempt.extend({
1425
1501
  action_type: zod.z.literal("CREATE_ACCESS_CODE"),
1426
- error
1502
+ error: error2
1427
1503
  })
1428
1504
  ]);
1429
1505
  var delete_access_code_action_attempt = zod.z.discriminatedUnion("status", [
@@ -1432,11 +1508,11 @@ var delete_access_code_action_attempt = zod.z.discriminatedUnion("status", [
1432
1508
  }),
1433
1509
  common_succeeded_action_attempt.extend({
1434
1510
  action_type: zod.z.literal("DELETE_ACCESS_CODE"),
1435
- result
1511
+ result: result2
1436
1512
  }),
1437
1513
  common_failed_action_attempt.extend({
1438
1514
  action_type: zod.z.literal("DELETE_ACCESS_CODE"),
1439
- error
1515
+ error: error2
1440
1516
  })
1441
1517
  ]);
1442
1518
  var update_access_code_action_attempt = zod.z.discriminatedUnion("status", [
@@ -1445,11 +1521,11 @@ var update_access_code_action_attempt = zod.z.discriminatedUnion("status", [
1445
1521
  }),
1446
1522
  common_succeeded_action_attempt.extend({
1447
1523
  action_type: zod.z.literal("UPDATE_ACCESS_CODE"),
1448
- result
1524
+ result: result2
1449
1525
  }),
1450
1526
  common_failed_action_attempt.extend({
1451
1527
  action_type: zod.z.literal("UPDATE_ACCESS_CODE"),
1452
- error
1528
+ error: error2
1453
1529
  })
1454
1530
  ]);
1455
1531
  var create_noise_threshold_action_attempt = zod.z.discriminatedUnion("status", [
@@ -1458,11 +1534,11 @@ var create_noise_threshold_action_attempt = zod.z.discriminatedUnion("status", [
1458
1534
  }),
1459
1535
  common_succeeded_action_attempt.extend({
1460
1536
  action_type: zod.z.literal("CREATE_NOISE_THRESHOLD"),
1461
- result
1537
+ result: result2
1462
1538
  }),
1463
1539
  common_failed_action_attempt.extend({
1464
1540
  action_type: zod.z.literal("CREATE_NOISE_THRESHOLD"),
1465
- error
1541
+ error: error2
1466
1542
  })
1467
1543
  ]);
1468
1544
  var delete_noise_threshold_action_attempt = zod.z.discriminatedUnion("status", [
@@ -1471,11 +1547,11 @@ var delete_noise_threshold_action_attempt = zod.z.discriminatedUnion("status", [
1471
1547
  }),
1472
1548
  common_succeeded_action_attempt.extend({
1473
1549
  action_type: zod.z.literal("DELETE_NOISE_THRESHOLD"),
1474
- result
1550
+ result: result2
1475
1551
  }),
1476
1552
  common_failed_action_attempt.extend({
1477
1553
  action_type: zod.z.literal("DELETE_NOISE_THRESHOLD"),
1478
- error
1554
+ error: error2
1479
1555
  })
1480
1556
  ]);
1481
1557
  var update_noise_threshold_action_attempt = zod.z.discriminatedUnion("status", [
@@ -1484,11 +1560,11 @@ var update_noise_threshold_action_attempt = zod.z.discriminatedUnion("status", [
1484
1560
  }),
1485
1561
  common_succeeded_action_attempt.extend({
1486
1562
  action_type: zod.z.literal("UPDATE_NOISE_THRESHOLD"),
1487
- result
1563
+ result: result2
1488
1564
  }),
1489
1565
  common_failed_action_attempt.extend({
1490
1566
  action_type: zod.z.literal("UPDATE_NOISE_THRESHOLD"),
1491
- error
1567
+ error: error2
1492
1568
  })
1493
1569
  ]);
1494
1570
  var deprecated_action_attempts = [
@@ -1500,142 +1576,142 @@ var deprecated_action_attempts = [
1500
1576
  ...delete_noise_threshold_action_attempt.options,
1501
1577
  ...update_noise_threshold_action_attempt.options
1502
1578
  ];
1503
- var action_type = zod.z.literal("LOCK_DOOR");
1504
- var error2 = zod.z.object({
1579
+ var action_type2 = zod.z.literal("LOCK_DOOR");
1580
+ var error3 = zod.z.object({
1505
1581
  type: zod.z.string(),
1506
1582
  message: zod.z.string()
1507
1583
  });
1508
- var result2 = zod.z.object({});
1584
+ var result3 = zod.z.object({});
1509
1585
  var lock_door_action_attempt = zod.z.discriminatedUnion("status", [
1510
1586
  common_pending_action_attempt.extend({
1511
- action_type
1587
+ action_type: action_type2
1512
1588
  }).describe("Locking door."),
1513
1589
  common_succeeded_action_attempt.extend({
1514
- action_type,
1515
- result: result2
1590
+ action_type: action_type2,
1591
+ result: result3
1516
1592
  }).describe("Locking door succeeded."),
1517
- common_failed_action_attempt.extend({ action_type, error: error2 }).describe("Locking door failed.")
1593
+ common_failed_action_attempt.extend({ action_type: action_type2, error: error3 }).describe("Locking door failed.")
1518
1594
  ]);
1519
- var action_type2 = zod.z.literal("RESET_SANDBOX_WORKSPACE");
1520
- var error3 = zod.z.object({
1595
+ var action_type3 = zod.z.literal("RESET_SANDBOX_WORKSPACE");
1596
+ var error4 = zod.z.object({
1521
1597
  type: zod.z.string(),
1522
1598
  message: zod.z.string()
1523
1599
  });
1524
- var result3 = zod.z.object({});
1600
+ var result4 = zod.z.object({});
1525
1601
  var reset_sandbox_workspace_action_attempt = zod.z.discriminatedUnion(
1526
1602
  "status",
1527
1603
  [
1528
1604
  common_pending_action_attempt.extend({
1529
- action_type: action_type2
1605
+ action_type: action_type3
1530
1606
  }).describe("Resetting sandbox workspace."),
1531
1607
  common_succeeded_action_attempt.extend({
1532
- action_type: action_type2,
1533
- result: result3
1608
+ action_type: action_type3,
1609
+ result: result4
1534
1610
  }).describe("Resetting sandbox workspace succeeded."),
1535
1611
  common_failed_action_attempt.extend({
1536
- action_type: action_type2,
1537
- error: error3
1612
+ action_type: action_type3,
1613
+ error: error4
1538
1614
  }).describe("Resetting sandbox workspace failed.")
1539
1615
  ]
1540
1616
  );
1541
- var action_type3 = zod.z.literal("SET_COOL");
1542
- var error4 = zod.z.object({
1617
+ var action_type4 = zod.z.literal("SET_COOL");
1618
+ var error5 = zod.z.object({
1543
1619
  type: zod.z.string(),
1544
1620
  message: zod.z.string()
1545
1621
  });
1546
- var result4 = zod.z.object({});
1622
+ var result5 = zod.z.object({});
1547
1623
  var set_cool_action_attempt = zod.z.discriminatedUnion("status", [
1548
1624
  common_pending_action_attempt.extend({
1549
- action_type: action_type3
1625
+ action_type: action_type4
1550
1626
  }).describe("Setting HVAC to cool."),
1551
1627
  common_succeeded_action_attempt.extend({
1552
- action_type: action_type3,
1553
- result: result4
1628
+ action_type: action_type4,
1629
+ result: result5
1554
1630
  }).describe("Setting HVAC to cool succeeded."),
1555
- common_failed_action_attempt.extend({ action_type: action_type3, error: error4 }).describe("Setting HVAC to cool failed.")
1631
+ common_failed_action_attempt.extend({ action_type: action_type4, error: error5 }).describe("Setting HVAC to cool failed.")
1556
1632
  ]);
1557
- var action_type4 = zod.z.literal("SET_FAN_MODE");
1558
- var error5 = zod.z.object({
1633
+ var action_type5 = zod.z.literal("SET_FAN_MODE");
1634
+ var error6 = zod.z.object({
1559
1635
  type: zod.z.string(),
1560
1636
  message: zod.z.string()
1561
1637
  });
1562
- var result5 = zod.z.object({});
1638
+ var result6 = zod.z.object({});
1563
1639
  var set_fan_mode_action_attempt = zod.z.discriminatedUnion("status", [
1564
1640
  common_pending_action_attempt.extend({
1565
- action_type: action_type4
1641
+ action_type: action_type5
1566
1642
  }).describe("Setting fan mode."),
1567
1643
  common_succeeded_action_attempt.extend({
1568
- action_type: action_type4,
1569
- result: result5
1644
+ action_type: action_type5,
1645
+ result: result6
1570
1646
  }).describe("Setting fan mode succeeded."),
1571
- common_failed_action_attempt.extend({ action_type: action_type4, error: error5 }).describe("Setting fan mode failed.")
1647
+ common_failed_action_attempt.extend({ action_type: action_type5, error: error6 }).describe("Setting fan mode failed.")
1572
1648
  ]);
1573
- var action_type5 = zod.z.literal("SET_HEAT");
1574
- var error6 = zod.z.object({
1649
+ var action_type6 = zod.z.literal("SET_HEAT");
1650
+ var error7 = zod.z.object({
1575
1651
  type: zod.z.string(),
1576
1652
  message: zod.z.string()
1577
1653
  });
1578
- var result6 = zod.z.object({});
1654
+ var result7 = zod.z.object({});
1579
1655
  var set_heat_action_attempt = zod.z.discriminatedUnion("status", [
1580
1656
  common_pending_action_attempt.extend({
1581
- action_type: action_type5
1657
+ action_type: action_type6
1582
1658
  }).describe("Setting HVAC to heat mode."),
1583
1659
  common_succeeded_action_attempt.extend({
1584
- action_type: action_type5,
1585
- result: result6
1660
+ action_type: action_type6,
1661
+ result: result7
1586
1662
  }).describe("Setting HVAC to heat mode succeeded."),
1587
- common_failed_action_attempt.extend({ action_type: action_type5, error: error6 }).describe("Setting HVAC to heat mode failed.")
1663
+ common_failed_action_attempt.extend({ action_type: action_type6, error: error7 }).describe("Setting HVAC to heat mode failed.")
1588
1664
  ]);
1589
- var action_type6 = zod.z.literal("SET_HEAT_COOL");
1590
- var error7 = zod.z.object({
1665
+ var action_type7 = zod.z.literal("SET_HEAT_COOL");
1666
+ var error8 = zod.z.object({
1591
1667
  type: zod.z.string(),
1592
1668
  message: zod.z.string()
1593
1669
  });
1594
- var result7 = zod.z.object({});
1670
+ var result8 = zod.z.object({});
1595
1671
  var set_heat_cool_action_attempt = zod.z.discriminatedUnion("status", [
1596
1672
  common_pending_action_attempt.extend({
1597
- action_type: action_type6
1673
+ action_type: action_type7
1598
1674
  }).describe("Setting HVAC to heat-cool mode."),
1599
1675
  common_succeeded_action_attempt.extend({
1600
- action_type: action_type6,
1601
- result: result7
1676
+ action_type: action_type7,
1677
+ result: result8
1602
1678
  }).describe("Setting HVAC to heat-cool mode succeeded."),
1603
- common_failed_action_attempt.extend({ action_type: action_type6, error: error7 }).describe("Setting heat-cool mode failed.")
1679
+ common_failed_action_attempt.extend({ action_type: action_type7, error: error8 }).describe("Setting heat-cool mode failed.")
1604
1680
  ]);
1605
- var action_type7 = zod.z.literal("SET_THERMOSTAT_OFF");
1606
- var error8 = zod.z.object({
1681
+ var action_type8 = zod.z.literal("SET_THERMOSTAT_OFF");
1682
+ var error9 = zod.z.object({
1607
1683
  type: zod.z.string(),
1608
1684
  message: zod.z.string()
1609
1685
  });
1610
- var result8 = zod.z.object({});
1686
+ var result9 = zod.z.object({});
1611
1687
  var set_thermostat_off_action_attempt = zod.z.discriminatedUnion(
1612
1688
  "status",
1613
1689
  [
1614
1690
  common_pending_action_attempt.extend({
1615
- action_type: action_type7
1691
+ action_type: action_type8
1616
1692
  }).describe("Turning HVAC off."),
1617
1693
  common_succeeded_action_attempt.extend({
1618
- action_type: action_type7,
1619
- result: result8
1694
+ action_type: action_type8,
1695
+ result: result9
1620
1696
  }).describe("Turning HVAC off succeeded."),
1621
- common_failed_action_attempt.extend({ action_type: action_type7, error: error8 }).describe("Turning HVAC off failed.")
1697
+ common_failed_action_attempt.extend({ action_type: action_type8, error: error9 }).describe("Turning HVAC off failed.")
1622
1698
  ]
1623
1699
  );
1624
- var action_type8 = zod.z.literal("UNLOCK_DOOR");
1625
- var error9 = zod.z.object({
1700
+ var action_type9 = zod.z.literal("UNLOCK_DOOR");
1701
+ var error10 = zod.z.object({
1626
1702
  type: zod.z.string(),
1627
1703
  message: zod.z.string()
1628
1704
  });
1629
- var result9 = zod.z.object({});
1705
+ var result10 = zod.z.object({});
1630
1706
  var unlock_door_action_attempt = zod.z.discriminatedUnion("status", [
1631
1707
  common_pending_action_attempt.extend({
1632
- action_type: action_type8
1708
+ action_type: action_type9
1633
1709
  }).describe("Unlocking door."),
1634
1710
  common_succeeded_action_attempt.extend({
1635
- action_type: action_type8,
1636
- result: result9
1711
+ action_type: action_type9,
1712
+ result: result10
1637
1713
  }).describe("Unlocking door succeeded."),
1638
- common_failed_action_attempt.extend({ action_type: action_type8, error: error9 }).describe("Unlocking door failed.")
1714
+ common_failed_action_attempt.extend({ action_type: action_type9, error: error10 }).describe("Unlocking door failed.")
1639
1715
  ]);
1640
1716
 
1641
1717
  // src/lib/seam/connect/models/action-attempts/action-attempt.ts
@@ -1648,6 +1724,7 @@ var action_attempt = zod.z.union([
1648
1724
  ...set_heat_cool_action_attempt.options,
1649
1725
  ...set_fan_mode_action_attempt.options,
1650
1726
  ...set_thermostat_off_action_attempt.options,
1727
+ ...activate_climate_preset_action_attempt.options,
1651
1728
  ...deprecated_action_attempts
1652
1729
  ]);
1653
1730
  var client_session = zod.z.object({
@@ -2936,7 +3013,114 @@ var openapi_default = {
2936
3013
  "x-deprecated": "use email_address."
2937
3014
  },
2938
3015
  email_address: { format: "email", type: "string" },
2939
- errors: {},
3016
+ errors: {
3017
+ items: {
3018
+ description: "Error associated with the `acs_user`.",
3019
+ oneOf: [
3020
+ {
3021
+ description: "Indicates that the ACS user was deleted from the ACS system outside of Seam.",
3022
+ properties: {
3023
+ created_at: {
3024
+ description: "Date and time at which Seam created the error.",
3025
+ format: "date-time",
3026
+ type: "string"
3027
+ },
3028
+ error_code: {
3029
+ enum: ["deleted_externally"],
3030
+ type: "string"
3031
+ },
3032
+ message: {
3033
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
3034
+ type: "string"
3035
+ }
3036
+ },
3037
+ required: ["created_at", "message", "error_code"],
3038
+ type: "object"
3039
+ },
3040
+ {
3041
+ description: "Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.",
3042
+ properties: {
3043
+ created_at: {
3044
+ description: "Date and time at which Seam created the error.",
3045
+ format: "date-time",
3046
+ type: "string"
3047
+ },
3048
+ error_code: {
3049
+ enum: ["salto_ks_subscription_limit_exceeded"],
3050
+ type: "string"
3051
+ },
3052
+ message: {
3053
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
3054
+ type: "string"
3055
+ }
3056
+ },
3057
+ required: ["created_at", "message", "error_code"],
3058
+ type: "object"
3059
+ },
3060
+ {
3061
+ description: "Indicates that the user was not created on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
3062
+ properties: {
3063
+ created_at: {
3064
+ description: "Date and time at which Seam created the error.",
3065
+ format: "date-time",
3066
+ type: "string"
3067
+ },
3068
+ message: {
3069
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
3070
+ type: "string"
3071
+ },
3072
+ warning_code: {
3073
+ enum: ["failed_to_create_on_acs_system"],
3074
+ type: "string"
3075
+ }
3076
+ },
3077
+ required: ["created_at", "message", "warning_code"],
3078
+ type: "object"
3079
+ },
3080
+ {
3081
+ 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.",
3082
+ properties: {
3083
+ created_at: {
3084
+ description: "Date and time at which Seam created the error.",
3085
+ format: "date-time",
3086
+ type: "string"
3087
+ },
3088
+ message: {
3089
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
3090
+ type: "string"
3091
+ },
3092
+ warning_code: {
3093
+ enum: ["failed_to_update_on_acs_system"],
3094
+ type: "string"
3095
+ }
3096
+ },
3097
+ required: ["created_at", "message", "warning_code"],
3098
+ type: "object"
3099
+ },
3100
+ {
3101
+ description: "Indicates that the user was not deleted on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
3102
+ properties: {
3103
+ created_at: {
3104
+ description: "Date and time at which Seam created the error.",
3105
+ format: "date-time",
3106
+ type: "string"
3107
+ },
3108
+ message: {
3109
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
3110
+ type: "string"
3111
+ },
3112
+ warning_code: {
3113
+ enum: ["failed_to_delete_on_acs_system"],
3114
+ type: "string"
3115
+ }
3116
+ },
3117
+ required: ["created_at", "message", "warning_code"],
3118
+ type: "object"
3119
+ }
3120
+ ]
3121
+ },
3122
+ type: "array"
3123
+ },
2940
3124
  external_type: {
2941
3125
  enum: [
2942
3126
  "pti_user",
@@ -2964,8 +3148,10 @@ var openapi_default = {
2964
3148
  user_identity_phone_number: { nullable: true, type: "string" },
2965
3149
  warnings: {
2966
3150
  items: {
3151
+ description: "Warning associated with the `acs_user`.",
2967
3152
  oneOf: [
2968
3153
  {
3154
+ description: "Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.",
2969
3155
  properties: {
2970
3156
  created_at: { format: "date-time", type: "string" },
2971
3157
  message: { type: "string" },
@@ -2975,23 +3161,19 @@ var openapi_default = {
2975
3161
  type: "object"
2976
3162
  },
2977
3163
  {
3164
+ 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.",
2978
3165
  properties: {
2979
- created_at: { format: "date-time", type: "string" },
2980
- message: { type: "string" },
2981
- warning_code: {
2982
- enum: ["failed_to_update_acs_user_on_acs_system"],
3166
+ created_at: {
3167
+ description: "Date and time at which Seam created the error.",
3168
+ format: "date-time",
2983
3169
  type: "string"
2984
- }
2985
- },
2986
- required: ["created_at", "message", "warning_code"],
2987
- type: "object"
2988
- },
2989
- {
2990
- properties: {
2991
- created_at: { format: "date-time", type: "string" },
2992
- message: { type: "string" },
3170
+ },
3171
+ message: {
3172
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
3173
+ type: "string"
3174
+ },
2993
3175
  warning_code: {
2994
- enum: ["salto_ks_user_not_subscribed"],
3176
+ enum: ["failed_to_update_on_acs_system"],
2995
3177
  type: "string"
2996
3178
  }
2997
3179
  },
@@ -2999,11 +3181,12 @@ var openapi_default = {
2999
3181
  type: "object"
3000
3182
  },
3001
3183
  {
3184
+ 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\u2019t 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.",
3002
3185
  properties: {
3003
3186
  created_at: { format: "date-time", type: "string" },
3004
3187
  message: { type: "string" },
3005
3188
  warning_code: {
3006
- enum: ["salto_site_user_suspended"],
3189
+ enum: ["salto_ks_user_not_subscribed"],
3007
3190
  type: "string"
3008
3191
  }
3009
3192
  },
@@ -3024,6 +3207,7 @@ var openapi_default = {
3024
3207
  "display_name",
3025
3208
  "is_suspended",
3026
3209
  "warnings",
3210
+ "errors",
3027
3211
  "is_managed"
3028
3212
  ],
3029
3213
  type: "object"
@@ -3648,6 +3832,7 @@ var openapi_default = {
3648
3832
  type: "object"
3649
3833
  },
3650
3834
  {
3835
+ description: "Activating climate preset.",
3651
3836
  properties: {
3652
3837
  action_attempt_id: {
3653
3838
  description: "The ID of the action attempt.",
@@ -3655,7 +3840,10 @@ var openapi_default = {
3655
3840
  type: "string",
3656
3841
  "x-title": "Action Attempt ID"
3657
3842
  },
3658
- action_type: { enum: ["SYNC_ACCESS_CODES"], type: "string" },
3843
+ action_type: {
3844
+ enum: ["ACTIVATE_CLIMATE_PRESET"],
3845
+ type: "string"
3846
+ },
3659
3847
  error: { nullable: true },
3660
3848
  result: { nullable: true },
3661
3849
  status: { enum: ["pending"], type: "string" }
@@ -3670,6 +3858,7 @@ var openapi_default = {
3670
3858
  type: "object"
3671
3859
  },
3672
3860
  {
3861
+ description: "Activating climate preset succeeded.",
3673
3862
  properties: {
3674
3863
  action_attempt_id: {
3675
3864
  description: "The ID of the action attempt.",
@@ -3677,15 +3866,25 @@ var openapi_default = {
3677
3866
  type: "string",
3678
3867
  "x-title": "Action Attempt ID"
3679
3868
  },
3680
- action_type: { enum: ["SYNC_ACCESS_CODES"], type: "string" },
3869
+ action_type: {
3870
+ enum: ["ACTIVATE_CLIMATE_PRESET"],
3871
+ type: "string"
3872
+ },
3681
3873
  error: { nullable: true },
3682
- result: {},
3874
+ result: { properties: {}, type: "object" },
3683
3875
  status: { enum: ["success"], type: "string" }
3684
3876
  },
3685
- required: ["action_attempt_id", "status", "error", "action_type"],
3877
+ required: [
3878
+ "action_attempt_id",
3879
+ "status",
3880
+ "error",
3881
+ "action_type",
3882
+ "result"
3883
+ ],
3686
3884
  type: "object"
3687
3885
  },
3688
3886
  {
3887
+ description: "Activating climate preset failed.",
3689
3888
  properties: {
3690
3889
  action_attempt_id: {
3691
3890
  description: "The ID of the action attempt.",
@@ -3693,7 +3892,10 @@ var openapi_default = {
3693
3892
  type: "string",
3694
3893
  "x-title": "Action Attempt ID"
3695
3894
  },
3696
- action_type: { enum: ["SYNC_ACCESS_CODES"], type: "string" },
3895
+ action_type: {
3896
+ enum: ["ACTIVATE_CLIMATE_PRESET"],
3897
+ type: "string"
3898
+ },
3697
3899
  error: {
3698
3900
  properties: {
3699
3901
  message: { type: "string" },
@@ -3722,7 +3924,7 @@ var openapi_default = {
3722
3924
  type: "string",
3723
3925
  "x-title": "Action Attempt ID"
3724
3926
  },
3725
- action_type: { enum: ["CREATE_ACCESS_CODE"], type: "string" },
3927
+ action_type: { enum: ["SYNC_ACCESS_CODES"], type: "string" },
3726
3928
  error: { nullable: true },
3727
3929
  result: { nullable: true },
3728
3930
  status: { enum: ["pending"], type: "string" }
@@ -3744,7 +3946,7 @@ var openapi_default = {
3744
3946
  type: "string",
3745
3947
  "x-title": "Action Attempt ID"
3746
3948
  },
3747
- action_type: { enum: ["CREATE_ACCESS_CODE"], type: "string" },
3949
+ action_type: { enum: ["SYNC_ACCESS_CODES"], type: "string" },
3748
3950
  error: { nullable: true },
3749
3951
  result: {},
3750
3952
  status: { enum: ["success"], type: "string" }
@@ -3760,7 +3962,7 @@ var openapi_default = {
3760
3962
  type: "string",
3761
3963
  "x-title": "Action Attempt ID"
3762
3964
  },
3763
- action_type: { enum: ["CREATE_ACCESS_CODE"], type: "string" },
3965
+ action_type: { enum: ["SYNC_ACCESS_CODES"], type: "string" },
3764
3966
  error: {
3765
3967
  properties: {
3766
3968
  message: { type: "string" },
@@ -3789,7 +3991,7 @@ var openapi_default = {
3789
3991
  type: "string",
3790
3992
  "x-title": "Action Attempt ID"
3791
3993
  },
3792
- action_type: { enum: ["DELETE_ACCESS_CODE"], type: "string" },
3994
+ action_type: { enum: ["CREATE_ACCESS_CODE"], type: "string" },
3793
3995
  error: { nullable: true },
3794
3996
  result: { nullable: true },
3795
3997
  status: { enum: ["pending"], type: "string" }
@@ -3811,7 +4013,7 @@ var openapi_default = {
3811
4013
  type: "string",
3812
4014
  "x-title": "Action Attempt ID"
3813
4015
  },
3814
- action_type: { enum: ["DELETE_ACCESS_CODE"], type: "string" },
4016
+ action_type: { enum: ["CREATE_ACCESS_CODE"], type: "string" },
3815
4017
  error: { nullable: true },
3816
4018
  result: {},
3817
4019
  status: { enum: ["success"], type: "string" }
@@ -3827,7 +4029,7 @@ var openapi_default = {
3827
4029
  type: "string",
3828
4030
  "x-title": "Action Attempt ID"
3829
4031
  },
3830
- action_type: { enum: ["DELETE_ACCESS_CODE"], type: "string" },
4032
+ action_type: { enum: ["CREATE_ACCESS_CODE"], type: "string" },
3831
4033
  error: {
3832
4034
  properties: {
3833
4035
  message: { type: "string" },
@@ -3856,7 +4058,74 @@ var openapi_default = {
3856
4058
  type: "string",
3857
4059
  "x-title": "Action Attempt ID"
3858
4060
  },
3859
- action_type: { enum: ["UPDATE_ACCESS_CODE"], type: "string" },
4061
+ action_type: { enum: ["DELETE_ACCESS_CODE"], type: "string" },
4062
+ error: { nullable: true },
4063
+ result: { nullable: true },
4064
+ status: { enum: ["pending"], type: "string" }
4065
+ },
4066
+ required: [
4067
+ "action_attempt_id",
4068
+ "status",
4069
+ "result",
4070
+ "error",
4071
+ "action_type"
4072
+ ],
4073
+ type: "object"
4074
+ },
4075
+ {
4076
+ properties: {
4077
+ action_attempt_id: {
4078
+ description: "The ID of the action attempt.",
4079
+ format: "uuid",
4080
+ type: "string",
4081
+ "x-title": "Action Attempt ID"
4082
+ },
4083
+ action_type: { enum: ["DELETE_ACCESS_CODE"], type: "string" },
4084
+ error: { nullable: true },
4085
+ result: {},
4086
+ status: { enum: ["success"], type: "string" }
4087
+ },
4088
+ required: ["action_attempt_id", "status", "error", "action_type"],
4089
+ type: "object"
4090
+ },
4091
+ {
4092
+ properties: {
4093
+ action_attempt_id: {
4094
+ description: "The ID of the action attempt.",
4095
+ format: "uuid",
4096
+ type: "string",
4097
+ "x-title": "Action Attempt ID"
4098
+ },
4099
+ action_type: { enum: ["DELETE_ACCESS_CODE"], type: "string" },
4100
+ error: {
4101
+ properties: {
4102
+ message: { type: "string" },
4103
+ type: { type: "string" }
4104
+ },
4105
+ required: ["type", "message"],
4106
+ type: "object"
4107
+ },
4108
+ result: { nullable: true },
4109
+ status: { enum: ["error"], type: "string" }
4110
+ },
4111
+ required: [
4112
+ "action_attempt_id",
4113
+ "status",
4114
+ "result",
4115
+ "action_type",
4116
+ "error"
4117
+ ],
4118
+ type: "object"
4119
+ },
4120
+ {
4121
+ properties: {
4122
+ action_attempt_id: {
4123
+ description: "The ID of the action attempt.",
4124
+ format: "uuid",
4125
+ type: "string",
4126
+ "x-title": "Action Attempt ID"
4127
+ },
4128
+ action_type: { enum: ["UPDATE_ACCESS_CODE"], type: "string" },
3860
4129
  error: { nullable: true },
3861
4130
  result: { nullable: true },
3862
4131
  status: { enum: ["pending"], type: "string" }
@@ -4152,38 +4421,6 @@ var openapi_default = {
4152
4421
  ],
4153
4422
  type: "object"
4154
4423
  },
4155
- climate_setting_schedule: {
4156
- properties: {
4157
- climate_setting_schedule_id: { format: "uuid", type: "string" },
4158
- cooling_set_point_celsius: { format: "float", type: "number" },
4159
- cooling_set_point_fahrenheit: { format: "float", type: "number" },
4160
- created_at: { format: "date-time", type: "string" },
4161
- device_id: { format: "uuid", type: "string" },
4162
- errors: {
4163
- 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.'
4164
- },
4165
- heating_set_point_celsius: { format: "float", type: "number" },
4166
- heating_set_point_fahrenheit: { format: "float", type: "number" },
4167
- hvac_mode_setting: {
4168
- enum: ["off", "heat", "cool", "heat_cool"],
4169
- type: "string"
4170
- },
4171
- manual_override_allowed: { type: "boolean" },
4172
- name: { type: "string" },
4173
- schedule_ends_at: { type: "string" },
4174
- schedule_starts_at: { type: "string" },
4175
- schedule_type: { enum: ["time_bound"], type: "string" }
4176
- },
4177
- required: [
4178
- "climate_setting_schedule_id",
4179
- "schedule_type",
4180
- "device_id",
4181
- "schedule_starts_at",
4182
- "schedule_ends_at",
4183
- "created_at"
4184
- ],
4185
- type: "object"
4186
- },
4187
4424
  connect_webview: {
4188
4425
  properties: {
4189
4426
  accepted_devices: {
@@ -5188,56 +5425,85 @@ var openapi_default = {
5188
5425
  },
5189
5426
  {
5190
5427
  properties: {
5191
- active_climate_setting_schedule: {
5428
+ active_thermostat_schedule: {
5429
+ default: null,
5430
+ nullable: true,
5192
5431
  properties: {
5193
- climate_setting_schedule_id: {
5194
- format: "uuid",
5195
- type: "string"
5196
- },
5197
- cooling_set_point_celsius: {
5198
- format: "float",
5199
- type: "number"
5200
- },
5201
- cooling_set_point_fahrenheit: {
5202
- format: "float",
5203
- type: "number"
5204
- },
5432
+ climate_preset_key: { type: "string" },
5205
5433
  created_at: { format: "date-time", type: "string" },
5206
5434
  device_id: { format: "uuid", type: "string" },
5435
+ ends_at: { format: "date-time", type: "string" },
5207
5436
  errors: {
5208
- 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.'
5209
- },
5210
- heating_set_point_celsius: {
5211
- format: "float",
5212
- type: "number"
5213
- },
5214
- heating_set_point_fahrenheit: {
5215
- format: "float",
5216
- type: "number"
5437
+ 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.'
5217
5438
  },
5218
- hvac_mode_setting: {
5219
- enum: ["off", "heat", "cool", "heat_cool"],
5220
- type: "string"
5439
+ max_override_period_minutes: {
5440
+ default: 0,
5441
+ minimum: 0,
5442
+ type: "integer"
5221
5443
  },
5222
- manual_override_allowed: { type: "boolean" },
5223
5444
  name: { type: "string" },
5224
- schedule_ends_at: { type: "string" },
5225
- schedule_starts_at: { type: "string" },
5226
- schedule_type: {
5227
- enum: ["time_bound"],
5445
+ starts_at: { format: "date-time", type: "string" },
5446
+ thermostat_schedule_id: {
5447
+ format: "uuid",
5228
5448
  type: "string"
5229
5449
  }
5230
5450
  },
5231
5451
  required: [
5232
- "climate_setting_schedule_id",
5233
- "schedule_type",
5452
+ "thermostat_schedule_id",
5234
5453
  "device_id",
5235
- "schedule_starts_at",
5236
- "schedule_ends_at",
5454
+ "climate_preset_key",
5455
+ "starts_at",
5456
+ "ends_at",
5237
5457
  "created_at"
5238
5458
  ],
5239
5459
  type: "object"
5240
5460
  },
5461
+ available_climate_presets: {
5462
+ items: {
5463
+ properties: {
5464
+ can_delete: { type: "boolean" },
5465
+ can_edit: { type: "boolean" },
5466
+ climate_preset_key: { type: "string" },
5467
+ cooling_set_point_celsius: {
5468
+ format: "float",
5469
+ type: "number"
5470
+ },
5471
+ cooling_set_point_fahrenheit: {
5472
+ format: "float",
5473
+ type: "number"
5474
+ },
5475
+ display_name: { type: "string" },
5476
+ fan_mode_setting: {
5477
+ enum: ["auto", "on"],
5478
+ type: "string"
5479
+ },
5480
+ heating_set_point_celsius: {
5481
+ format: "float",
5482
+ type: "number"
5483
+ },
5484
+ heating_set_point_fahrenheit: {
5485
+ format: "float",
5486
+ type: "number"
5487
+ },
5488
+ hvac_mode_setting: {
5489
+ enum: ["off", "heat", "cool", "heat_cool"],
5490
+ type: "string"
5491
+ },
5492
+ manual_override_allowed: { type: "boolean" },
5493
+ name: { nullable: true, type: "string" }
5494
+ },
5495
+ required: [
5496
+ "climate_preset_key",
5497
+ "can_edit",
5498
+ "can_delete",
5499
+ "name",
5500
+ "display_name",
5501
+ "manual_override_allowed"
5502
+ ],
5503
+ type: "object"
5504
+ },
5505
+ type: "array"
5506
+ },
5241
5507
  available_hvac_mode_settings: {
5242
5508
  items: {
5243
5509
  enum: ["off", "heat", "cool", "heat_cool"],
@@ -5247,6 +5513,9 @@ var openapi_default = {
5247
5513
  },
5248
5514
  current_climate_setting: {
5249
5515
  properties: {
5516
+ can_delete: { type: "boolean" },
5517
+ can_edit: { type: "boolean" },
5518
+ climate_preset_key: { type: "string" },
5250
5519
  cooling_set_point_celsius: {
5251
5520
  format: "float",
5252
5521
  type: "number"
@@ -5255,6 +5524,11 @@ var openapi_default = {
5255
5524
  format: "float",
5256
5525
  type: "number"
5257
5526
  },
5527
+ display_name: { type: "string" },
5528
+ fan_mode_setting: {
5529
+ enum: ["auto", "on"],
5530
+ type: "string"
5531
+ },
5258
5532
  heating_set_point_celsius: {
5259
5533
  format: "float",
5260
5534
  type: "number"
@@ -5267,16 +5541,17 @@ var openapi_default = {
5267
5541
  enum: ["off", "heat", "cool", "heat_cool"],
5268
5542
  type: "string"
5269
5543
  },
5270
- manual_override_allowed: { type: "boolean" }
5544
+ manual_override_allowed: { type: "boolean" },
5545
+ name: { nullable: true, type: "string" }
5271
5546
  },
5272
- required: [
5273
- "hvac_mode_setting",
5274
- "manual_override_allowed"
5275
- ],
5276
5547
  type: "object"
5277
5548
  },
5278
5549
  default_climate_setting: {
5550
+ deprecated: true,
5279
5551
  properties: {
5552
+ can_delete: { type: "boolean" },
5553
+ can_edit: { type: "boolean" },
5554
+ climate_preset_key: { type: "string" },
5280
5555
  cooling_set_point_celsius: {
5281
5556
  format: "float",
5282
5557
  type: "number"
@@ -5285,6 +5560,11 @@ var openapi_default = {
5285
5560
  format: "float",
5286
5561
  type: "number"
5287
5562
  },
5563
+ display_name: { type: "string" },
5564
+ fan_mode_setting: {
5565
+ enum: ["auto", "on"],
5566
+ type: "string"
5567
+ },
5288
5568
  heating_set_point_celsius: {
5289
5569
  format: "float",
5290
5570
  type: "number"
@@ -5297,19 +5577,24 @@ var openapi_default = {
5297
5577
  enum: ["off", "heat", "cool", "heat_cool"],
5298
5578
  type: "string"
5299
5579
  },
5300
- manual_override_allowed: { type: "boolean" }
5580
+ manual_override_allowed: { type: "boolean" },
5581
+ name: { nullable: true, type: "string" }
5301
5582
  },
5302
- required: [
5303
- "hvac_mode_setting",
5304
- "manual_override_allowed"
5305
- ],
5306
- type: "object"
5583
+ type: "object",
5584
+ "x-deprecated": "use fallback_climate_preset_key to specify a fallback climate preset instead."
5585
+ },
5586
+ fallback_climate_preset_key: {
5587
+ default: null,
5588
+ minLength: 1,
5589
+ nullable: true,
5590
+ type: "string"
5307
5591
  },
5308
5592
  fan_mode_setting: {
5593
+ deprecated: true,
5309
5594
  enum: ["auto", "on"],
5310
- type: "string"
5595
+ type: "string",
5596
+ "x-deprecated": "use current_climate_setting.fan_mode_setting instead."
5311
5597
  },
5312
- is_climate_setting_schedule_active: { type: "boolean" },
5313
5598
  is_cooling: { type: "boolean" },
5314
5599
  is_fan_running: { type: "boolean" },
5315
5600
  is_heating: { type: "boolean" },
@@ -5733,6 +6018,34 @@ var openapi_default = {
5733
6018
  required: ["service", "status", "description"],
5734
6019
  type: "object"
5735
6020
  },
6021
+ thermostat_schedule: {
6022
+ properties: {
6023
+ climate_preset_key: { type: "string" },
6024
+ created_at: { format: "date-time", type: "string" },
6025
+ device_id: { format: "uuid", type: "string" },
6026
+ ends_at: { format: "date-time", type: "string" },
6027
+ errors: {
6028
+ 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.'
6029
+ },
6030
+ max_override_period_minutes: {
6031
+ default: 0,
6032
+ minimum: 0,
6033
+ type: "integer"
6034
+ },
6035
+ name: { type: "string" },
6036
+ starts_at: { format: "date-time", type: "string" },
6037
+ thermostat_schedule_id: { format: "uuid", type: "string" }
6038
+ },
6039
+ required: [
6040
+ "thermostat_schedule_id",
6041
+ "device_id",
6042
+ "climate_preset_key",
6043
+ "starts_at",
6044
+ "ends_at",
6045
+ "created_at"
6046
+ ],
6047
+ type: "object"
6048
+ },
5736
6049
  unmanaged_access_code: {
5737
6050
  properties: {
5738
6051
  access_code_id: {
@@ -9827,12 +10140,7 @@ var openapi_default = {
9827
10140
  acs_user: {
9828
10141
  properties: {
9829
10142
  access_schedule: {
9830
- properties: {
9831
- ends_at: { format: "date-time", type: "string" },
9832
- starts_at: { format: "date-time", type: "string" }
9833
- },
9834
- required: ["starts_at", "ends_at"],
9835
- type: "object"
10143
+ $ref: "#/components/schemas/thermostat_schedule"
9836
10144
  },
9837
10145
  acs_system_id: { format: "uuid", type: "string" },
9838
10146
  acs_user_id: { format: "uuid", type: "string" },
@@ -9845,77 +10153,75 @@ var openapi_default = {
9845
10153
  "x-deprecated": "use email_address."
9846
10154
  },
9847
10155
  email_address: { format: "email", type: "string" },
9848
- errors: { $ref: "#/components/schemas/access_code" },
9849
- external_type: {
9850
- enum: [
9851
- "pti_user",
9852
- "brivo_user",
9853
- "hid_credential_manager_user",
9854
- "salto_site_user",
9855
- "latch_user"
9856
- ],
9857
- type: "string"
9858
- },
9859
- external_type_display_name: { type: "string" },
9860
- full_name: { type: "string" },
9861
- hid_acs_system_id: { format: "uuid", type: "string" },
9862
- is_latest_desired_state_synced_with_provider: {
9863
- type: "boolean"
9864
- },
9865
- is_managed: { enum: [false], type: "boolean" },
9866
- is_suspended: { type: "boolean" },
9867
- latest_desired_state_synced_with_provider_at: {
9868
- format: "date-time",
9869
- type: "string"
9870
- },
9871
- phone_number: { type: "string" },
9872
- user_identity_email_address: {
9873
- nullable: true,
9874
- type: "string"
9875
- },
9876
- user_identity_full_name: {
9877
- nullable: true,
9878
- type: "string"
9879
- },
9880
- user_identity_id: { type: "string" },
9881
- user_identity_phone_number: {
9882
- nullable: true,
9883
- type: "string"
9884
- },
9885
- warnings: {
10156
+ errors: {
9886
10157
  items: {
10158
+ description: "Error associated with the `acs_user`.",
9887
10159
  oneOf: [
9888
10160
  {
10161
+ description: "Indicates that the ACS user was deleted from the ACS system outside of Seam.",
9889
10162
  properties: {
9890
10163
  created_at: {
10164
+ description: "Date and time at which Seam created the error.",
9891
10165
  format: "date-time",
9892
10166
  type: "string"
9893
10167
  },
9894
- message: { type: "string" },
9895
- warning_code: {
9896
- enum: ["being_deleted"],
10168
+ error_code: {
10169
+ enum: ["deleted_externally"],
10170
+ type: "string"
10171
+ },
10172
+ message: {
10173
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
9897
10174
  type: "string"
9898
10175
  }
9899
10176
  },
9900
10177
  required: [
9901
10178
  "created_at",
9902
10179
  "message",
9903
- "warning_code"
10180
+ "error_code"
9904
10181
  ],
9905
10182
  type: "object"
9906
10183
  },
9907
10184
  {
10185
+ description: "Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.",
9908
10186
  properties: {
9909
10187
  created_at: {
10188
+ description: "Date and time at which Seam created the error.",
9910
10189
  format: "date-time",
9911
10190
  type: "string"
9912
10191
  },
9913
- message: { type: "string" },
9914
- warning_code: {
10192
+ error_code: {
9915
10193
  enum: [
9916
- "failed_to_update_acs_user_on_acs_system"
10194
+ "salto_ks_subscription_limit_exceeded"
9917
10195
  ],
9918
10196
  type: "string"
10197
+ },
10198
+ message: {
10199
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
10200
+ type: "string"
10201
+ }
10202
+ },
10203
+ required: [
10204
+ "created_at",
10205
+ "message",
10206
+ "error_code"
10207
+ ],
10208
+ type: "object"
10209
+ },
10210
+ {
10211
+ description: "Indicates that the user was not created on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
10212
+ properties: {
10213
+ created_at: {
10214
+ description: "Date and time at which Seam created the error.",
10215
+ format: "date-time",
10216
+ type: "string"
10217
+ },
10218
+ message: {
10219
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
10220
+ type: "string"
10221
+ },
10222
+ warning_code: {
10223
+ enum: ["failed_to_create_on_acs_system"],
10224
+ type: "string"
9919
10225
  }
9920
10226
  },
9921
10227
  required: [
@@ -9926,14 +10232,19 @@ var openapi_default = {
9926
10232
  type: "object"
9927
10233
  },
9928
10234
  {
10235
+ 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.",
9929
10236
  properties: {
9930
10237
  created_at: {
10238
+ description: "Date and time at which Seam created the error.",
9931
10239
  format: "date-time",
9932
10240
  type: "string"
9933
10241
  },
9934
- message: { type: "string" },
10242
+ message: {
10243
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
10244
+ type: "string"
10245
+ },
9935
10246
  warning_code: {
9936
- enum: ["salto_ks_user_not_subscribed"],
10247
+ enum: ["failed_to_update_on_acs_system"],
9937
10248
  type: "string"
9938
10249
  }
9939
10250
  },
@@ -9945,14 +10256,19 @@ var openapi_default = {
9945
10256
  type: "object"
9946
10257
  },
9947
10258
  {
10259
+ description: "Indicates that the user was not deleted on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
9948
10260
  properties: {
9949
10261
  created_at: {
10262
+ description: "Date and time at which Seam created the error.",
9950
10263
  format: "date-time",
9951
10264
  type: "string"
9952
10265
  },
9953
- message: { type: "string" },
10266
+ message: {
10267
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
10268
+ type: "string"
10269
+ },
9954
10270
  warning_code: {
9955
- enum: ["salto_site_user_suspended"],
10271
+ enum: ["failed_to_delete_on_acs_system"],
9956
10272
  type: "string"
9957
10273
  }
9958
10274
  },
@@ -9967,30 +10283,139 @@ var openapi_default = {
9967
10283
  },
9968
10284
  type: "array"
9969
10285
  },
9970
- workspace_id: { format: "uuid", type: "string" }
9971
- },
9972
- required: [
9973
- "acs_user_id",
9974
- "acs_system_id",
9975
- "workspace_id",
9976
- "created_at",
9977
- "display_name",
9978
- "is_suspended",
9979
- "warnings",
9980
- "is_managed"
9981
- ],
9982
- type: "object"
9983
- },
9984
- ok: { type: "boolean" }
9985
- },
9986
- required: ["acs_user", "ok"],
9987
- type: "object"
9988
- }
9989
- }
9990
- },
9991
- description: "OK"
9992
- },
9993
- 400: { description: "Bad Request" },
10286
+ external_type: {
10287
+ enum: [
10288
+ "pti_user",
10289
+ "brivo_user",
10290
+ "hid_credential_manager_user",
10291
+ "salto_site_user",
10292
+ "latch_user"
10293
+ ],
10294
+ type: "string"
10295
+ },
10296
+ external_type_display_name: { type: "string" },
10297
+ full_name: { type: "string" },
10298
+ hid_acs_system_id: { format: "uuid", type: "string" },
10299
+ is_latest_desired_state_synced_with_provider: {
10300
+ type: "boolean"
10301
+ },
10302
+ is_managed: { enum: [false], type: "boolean" },
10303
+ is_suspended: { type: "boolean" },
10304
+ latest_desired_state_synced_with_provider_at: {
10305
+ format: "date-time",
10306
+ type: "string"
10307
+ },
10308
+ phone_number: { type: "string" },
10309
+ user_identity_email_address: {
10310
+ nullable: true,
10311
+ type: "string"
10312
+ },
10313
+ user_identity_full_name: {
10314
+ nullable: true,
10315
+ type: "string"
10316
+ },
10317
+ user_identity_id: { type: "string" },
10318
+ user_identity_phone_number: {
10319
+ nullable: true,
10320
+ type: "string"
10321
+ },
10322
+ warnings: {
10323
+ items: {
10324
+ description: "Warning associated with the `acs_user`.",
10325
+ oneOf: [
10326
+ {
10327
+ description: "Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.",
10328
+ properties: {
10329
+ created_at: {
10330
+ format: "date-time",
10331
+ type: "string"
10332
+ },
10333
+ message: { type: "string" },
10334
+ warning_code: {
10335
+ enum: ["being_deleted"],
10336
+ type: "string"
10337
+ }
10338
+ },
10339
+ required: [
10340
+ "created_at",
10341
+ "message",
10342
+ "warning_code"
10343
+ ],
10344
+ type: "object"
10345
+ },
10346
+ {
10347
+ 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.",
10348
+ properties: {
10349
+ created_at: {
10350
+ description: "Date and time at which Seam created the error.",
10351
+ format: "date-time",
10352
+ type: "string"
10353
+ },
10354
+ message: {
10355
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
10356
+ type: "string"
10357
+ },
10358
+ warning_code: {
10359
+ enum: ["failed_to_update_on_acs_system"],
10360
+ type: "string"
10361
+ }
10362
+ },
10363
+ required: [
10364
+ "created_at",
10365
+ "message",
10366
+ "warning_code"
10367
+ ],
10368
+ type: "object"
10369
+ },
10370
+ {
10371
+ 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\u2019t 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.",
10372
+ properties: {
10373
+ created_at: {
10374
+ format: "date-time",
10375
+ type: "string"
10376
+ },
10377
+ message: { type: "string" },
10378
+ warning_code: {
10379
+ enum: ["salto_ks_user_not_subscribed"],
10380
+ type: "string"
10381
+ }
10382
+ },
10383
+ required: [
10384
+ "created_at",
10385
+ "message",
10386
+ "warning_code"
10387
+ ],
10388
+ type: "object"
10389
+ }
10390
+ ]
10391
+ },
10392
+ type: "array"
10393
+ },
10394
+ workspace_id: { format: "uuid", type: "string" }
10395
+ },
10396
+ required: [
10397
+ "acs_user_id",
10398
+ "acs_system_id",
10399
+ "workspace_id",
10400
+ "created_at",
10401
+ "display_name",
10402
+ "is_suspended",
10403
+ "warnings",
10404
+ "errors",
10405
+ "is_managed"
10406
+ ],
10407
+ type: "object"
10408
+ },
10409
+ ok: { type: "boolean" }
10410
+ },
10411
+ required: ["acs_user", "ok"],
10412
+ type: "object"
10413
+ }
10414
+ }
10415
+ },
10416
+ description: "OK"
10417
+ },
10418
+ 400: { description: "Bad Request" },
9994
10419
  401: { description: "Unauthorized" }
9995
10420
  },
9996
10421
  security: [
@@ -10034,15 +10459,7 @@ var openapi_default = {
10034
10459
  items: {
10035
10460
  properties: {
10036
10461
  access_schedule: {
10037
- properties: {
10038
- ends_at: { format: "date-time", type: "string" },
10039
- starts_at: {
10040
- format: "date-time",
10041
- type: "string"
10042
- }
10043
- },
10044
- required: ["starts_at", "ends_at"],
10045
- type: "object"
10462
+ $ref: "#/components/schemas/thermostat_schedule"
10046
10463
  },
10047
10464
  acs_system_id: { format: "uuid", type: "string" },
10048
10465
  acs_user_id: { format: "uuid", type: "string" },
@@ -10055,7 +10472,136 @@ var openapi_default = {
10055
10472
  "x-deprecated": "use email_address."
10056
10473
  },
10057
10474
  email_address: { format: "email", type: "string" },
10058
- errors: { $ref: "#/components/schemas/access_code" },
10475
+ errors: {
10476
+ items: {
10477
+ description: "Error associated with the `acs_user`.",
10478
+ oneOf: [
10479
+ {
10480
+ description: "Indicates that the ACS user was deleted from the ACS system outside of Seam.",
10481
+ properties: {
10482
+ created_at: {
10483
+ description: "Date and time at which Seam created the error.",
10484
+ format: "date-time",
10485
+ type: "string"
10486
+ },
10487
+ error_code: {
10488
+ enum: ["deleted_externally"],
10489
+ type: "string"
10490
+ },
10491
+ message: {
10492
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
10493
+ type: "string"
10494
+ }
10495
+ },
10496
+ required: [
10497
+ "created_at",
10498
+ "message",
10499
+ "error_code"
10500
+ ],
10501
+ type: "object"
10502
+ },
10503
+ {
10504
+ description: "Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.",
10505
+ properties: {
10506
+ created_at: {
10507
+ description: "Date and time at which Seam created the error.",
10508
+ format: "date-time",
10509
+ type: "string"
10510
+ },
10511
+ error_code: {
10512
+ enum: [
10513
+ "salto_ks_subscription_limit_exceeded"
10514
+ ],
10515
+ type: "string"
10516
+ },
10517
+ message: {
10518
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
10519
+ type: "string"
10520
+ }
10521
+ },
10522
+ required: [
10523
+ "created_at",
10524
+ "message",
10525
+ "error_code"
10526
+ ],
10527
+ type: "object"
10528
+ },
10529
+ {
10530
+ description: "Indicates that the user was not created on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
10531
+ properties: {
10532
+ created_at: {
10533
+ description: "Date and time at which Seam created the error.",
10534
+ format: "date-time",
10535
+ type: "string"
10536
+ },
10537
+ message: {
10538
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
10539
+ type: "string"
10540
+ },
10541
+ warning_code: {
10542
+ enum: ["failed_to_create_on_acs_system"],
10543
+ type: "string"
10544
+ }
10545
+ },
10546
+ required: [
10547
+ "created_at",
10548
+ "message",
10549
+ "warning_code"
10550
+ ],
10551
+ type: "object"
10552
+ },
10553
+ {
10554
+ 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.",
10555
+ properties: {
10556
+ created_at: {
10557
+ description: "Date and time at which Seam created the error.",
10558
+ format: "date-time",
10559
+ type: "string"
10560
+ },
10561
+ message: {
10562
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
10563
+ type: "string"
10564
+ },
10565
+ warning_code: {
10566
+ enum: ["failed_to_update_on_acs_system"],
10567
+ type: "string"
10568
+ }
10569
+ },
10570
+ required: [
10571
+ "created_at",
10572
+ "message",
10573
+ "warning_code"
10574
+ ],
10575
+ type: "object"
10576
+ },
10577
+ {
10578
+ description: "Indicates that the user was not deleted on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.",
10579
+ properties: {
10580
+ created_at: {
10581
+ description: "Date and time at which Seam created the error.",
10582
+ format: "date-time",
10583
+ type: "string"
10584
+ },
10585
+ message: {
10586
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
10587
+ type: "string"
10588
+ },
10589
+ warning_code: {
10590
+ enum: ["failed_to_delete_on_acs_system"],
10591
+ type: "string"
10592
+ }
10593
+ },
10594
+ required: [
10595
+ "created_at",
10596
+ "message",
10597
+ "warning_code"
10598
+ ],
10599
+ type: "object"
10600
+ }
10601
+ ]
10602
+ },
10603
+ type: "array"
10604
+ },
10059
10605
  external_type: {
10060
10606
  enum: [
10061
10607
  "pti_user",
@@ -10094,8 +10640,10 @@ var openapi_default = {
10094
10640
  },
10095
10641
  warnings: {
10096
10642
  items: {
10643
+ description: "Warning associated with the `acs_user`.",
10097
10644
  oneOf: [
10098
10645
  {
10646
+ description: "Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.",
10099
10647
  properties: {
10100
10648
  created_at: {
10101
10649
  format: "date-time",
@@ -10115,35 +10663,19 @@ var openapi_default = {
10115
10663
  type: "object"
10116
10664
  },
10117
10665
  {
10666
+ 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.",
10118
10667
  properties: {
10119
10668
  created_at: {
10669
+ description: "Date and time at which Seam created the error.",
10120
10670
  format: "date-time",
10121
10671
  type: "string"
10122
10672
  },
10123
- message: { type: "string" },
10124
- warning_code: {
10125
- enum: [
10126
- "failed_to_update_acs_user_on_acs_system"
10127
- ],
10128
- type: "string"
10129
- }
10130
- },
10131
- required: [
10132
- "created_at",
10133
- "message",
10134
- "warning_code"
10135
- ],
10136
- type: "object"
10137
- },
10138
- {
10139
- properties: {
10140
- created_at: {
10141
- format: "date-time",
10673
+ message: {
10674
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
10142
10675
  type: "string"
10143
10676
  },
10144
- message: { type: "string" },
10145
10677
  warning_code: {
10146
- enum: ["salto_ks_user_not_subscribed"],
10678
+ enum: ["failed_to_update_on_acs_system"],
10147
10679
  type: "string"
10148
10680
  }
10149
10681
  },
@@ -10155,6 +10687,7 @@ var openapi_default = {
10155
10687
  type: "object"
10156
10688
  },
10157
10689
  {
10690
+ 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\u2019t 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.",
10158
10691
  properties: {
10159
10692
  created_at: {
10160
10693
  format: "date-time",
@@ -10162,7 +10695,7 @@ var openapi_default = {
10162
10695
  },
10163
10696
  message: { type: "string" },
10164
10697
  warning_code: {
10165
- enum: ["salto_site_user_suspended"],
10698
+ enum: ["salto_ks_user_not_subscribed"],
10166
10699
  type: "string"
10167
10700
  }
10168
10701
  },
@@ -10187,6 +10720,7 @@ var openapi_default = {
10187
10720
  "display_name",
10188
10721
  "is_suspended",
10189
10722
  "warnings",
10723
+ "errors",
10190
10724
  "is_managed"
10191
10725
  ],
10192
10726
  type: "object"
@@ -14122,50 +14656,18 @@ var openapi_default = {
14122
14656
  "x-fern-sdk-return-value": "phone"
14123
14657
  }
14124
14658
  },
14125
- "/thermostats/climate_setting_schedules/create": {
14659
+ "/thermostats/activate_climate_preset": {
14126
14660
  post: {
14127
- operationId: "thermostatsClimateSettingSchedulesCreatePost",
14661
+ operationId: "thermostatsActivateClimatePresetPost",
14128
14662
  requestBody: {
14129
14663
  content: {
14130
14664
  "application/json": {
14131
14665
  schema: {
14132
14666
  properties: {
14133
- cooling_set_point_celsius: {
14134
- format: "float",
14135
- type: "number"
14136
- },
14137
- cooling_set_point_fahrenheit: {
14138
- format: "float",
14139
- type: "number"
14140
- },
14141
- device_id: { type: "string" },
14142
- heating_set_point_celsius: {
14143
- format: "float",
14144
- type: "number"
14145
- },
14146
- heating_set_point_fahrenheit: {
14147
- format: "float",
14148
- type: "number"
14149
- },
14150
- hvac_mode_setting: {
14151
- enum: ["off", "heat", "cool", "heat_cool"],
14152
- type: "string"
14153
- },
14154
- manual_override_allowed: { type: "boolean" },
14155
- name: { type: "string" },
14156
- schedule_ends_at: { type: "string" },
14157
- schedule_starts_at: { type: "string" },
14158
- schedule_type: {
14159
- default: "time_bound",
14160
- enum: ["time_bound"],
14161
- type: "string"
14162
- }
14667
+ climate_preset_key: { type: "string" },
14668
+ device_id: { format: "uuid", type: "string" }
14163
14669
  },
14164
- required: [
14165
- "device_id",
14166
- "schedule_starts_at",
14167
- "schedule_ends_at"
14168
- ],
14670
+ required: ["device_id", "climate_preset_key"],
14169
14671
  type: "object"
14170
14672
  }
14171
14673
  }
@@ -14177,12 +14679,12 @@ var openapi_default = {
14177
14679
  "application/json": {
14178
14680
  schema: {
14179
14681
  properties: {
14180
- climate_setting_schedule: {
14181
- $ref: "#/components/schemas/climate_setting_schedule"
14682
+ action_attempt: {
14683
+ $ref: "#/components/schemas/action_attempt"
14182
14684
  },
14183
14685
  ok: { type: "boolean" }
14184
14686
  },
14185
- required: ["climate_setting_schedule", "ok"],
14687
+ required: ["action_attempt", "ok"],
14186
14688
  type: "object"
14187
14689
  }
14188
14690
  }
@@ -14193,32 +14695,37 @@ var openapi_default = {
14193
14695
  401: { description: "Unauthorized" }
14194
14696
  },
14195
14697
  security: [
14196
- { client_session: [] },
14197
14698
  { pat_with_workspace: [] },
14198
14699
  { console_session: [] },
14199
14700
  { api_key: [] }
14200
14701
  ],
14201
- summary: "/thermostats/climate_setting_schedules/create",
14702
+ summary: "/thermostats/activate_climate_preset",
14202
14703
  tags: ["/thermostats"],
14203
- "x-fern-sdk-group-name": ["thermostats", "climate_setting_schedules"],
14204
- "x-fern-sdk-method-name": "create",
14205
- "x-fern-sdk-return-value": "climate_setting_schedule"
14704
+ "x-fern-sdk-group-name": ["thermostats"],
14705
+ "x-fern-sdk-method-name": "activate_climate_preset",
14706
+ "x-fern-sdk-return-value": "action_attempt"
14206
14707
  }
14207
14708
  },
14208
- "/thermostats/climate_setting_schedules/delete": {
14709
+ "/thermostats/cool": {
14209
14710
  post: {
14210
- operationId: "thermostatsClimateSettingSchedulesDeletePost",
14711
+ operationId: "thermostatsCoolPost",
14211
14712
  requestBody: {
14212
14713
  content: {
14213
14714
  "application/json": {
14214
14715
  schema: {
14215
14716
  properties: {
14216
- climate_setting_schedule_id: {
14217
- format: "uuid",
14218
- type: "string"
14219
- }
14717
+ cooling_set_point_celsius: {
14718
+ format: "float",
14719
+ type: "number"
14720
+ },
14721
+ cooling_set_point_fahrenheit: {
14722
+ format: "float",
14723
+ type: "number"
14724
+ },
14725
+ device_id: { format: "uuid", type: "string" },
14726
+ sync: { default: false, type: "boolean" }
14220
14727
  },
14221
- required: ["climate_setting_schedule_id"],
14728
+ required: ["device_id"],
14222
14729
  type: "object"
14223
14730
  }
14224
14731
  }
@@ -14229,8 +14736,13 @@ var openapi_default = {
14229
14736
  content: {
14230
14737
  "application/json": {
14231
14738
  schema: {
14232
- properties: { ok: { type: "boolean" } },
14233
- required: ["ok"],
14739
+ properties: {
14740
+ action_attempt: {
14741
+ $ref: "#/components/schemas/action_attempt"
14742
+ },
14743
+ ok: { type: "boolean" }
14744
+ },
14745
+ required: ["action_attempt", "ok"],
14234
14746
  type: "object"
14235
14747
  }
14236
14748
  }
@@ -14246,24 +14758,53 @@ var openapi_default = {
14246
14758
  { console_session: [] },
14247
14759
  { api_key: [] }
14248
14760
  ],
14249
- summary: "/thermostats/climate_setting_schedules/delete",
14761
+ summary: "/thermostats/cool",
14250
14762
  tags: ["/thermostats"],
14251
- "x-fern-sdk-group-name": ["thermostats", "climate_setting_schedules"],
14252
- "x-fern-sdk-method-name": "delete"
14253
- },
14254
- put: {
14255
- operationId: "thermostatsClimateSettingSchedulesDeletePut",
14763
+ "x-fern-sdk-group-name": ["thermostats"],
14764
+ "x-fern-sdk-method-name": "cool",
14765
+ "x-fern-sdk-return-value": "action_attempt"
14766
+ }
14767
+ },
14768
+ "/thermostats/create_climate_preset": {
14769
+ post: {
14770
+ operationId: "thermostatsCreateClimatePresetPost",
14256
14771
  requestBody: {
14257
14772
  content: {
14258
14773
  "application/json": {
14259
14774
  schema: {
14260
14775
  properties: {
14261
- climate_setting_schedule_id: {
14262
- format: "uuid",
14776
+ climate_preset_key: { type: "string" },
14777
+ cooling_set_point_celsius: {
14778
+ format: "float",
14779
+ type: "number"
14780
+ },
14781
+ cooling_set_point_fahrenheit: {
14782
+ format: "float",
14783
+ type: "number"
14784
+ },
14785
+ device_id: { format: "uuid", type: "string" },
14786
+ fan_mode_setting: { enum: ["auto", "on"], type: "string" },
14787
+ heating_set_point_celsius: {
14788
+ format: "float",
14789
+ type: "number"
14790
+ },
14791
+ heating_set_point_fahrenheit: {
14792
+ format: "float",
14793
+ type: "number"
14794
+ },
14795
+ hvac_mode_setting: {
14796
+ enum: ["off", "heat", "cool", "heat_cool"],
14263
14797
  type: "string"
14264
- }
14798
+ },
14799
+ manual_override_allowed: { type: "boolean" },
14800
+ name: { nullable: true, type: "string" }
14265
14801
  },
14266
- required: ["climate_setting_schedule_id"],
14802
+ required: [
14803
+ "device_id",
14804
+ "climate_preset_key",
14805
+ "name",
14806
+ "manual_override_allowed"
14807
+ ],
14267
14808
  type: "object"
14268
14809
  }
14269
14810
  }
@@ -14274,8 +14815,53 @@ var openapi_default = {
14274
14815
  content: {
14275
14816
  "application/json": {
14276
14817
  schema: {
14277
- properties: { ok: { type: "boolean" } },
14278
- required: ["ok"],
14818
+ properties: {
14819
+ climate_preset: {
14820
+ properties: {
14821
+ can_delete: { type: "boolean" },
14822
+ can_edit: { type: "boolean" },
14823
+ climate_preset_key: { type: "string" },
14824
+ cooling_set_point_celsius: {
14825
+ format: "float",
14826
+ type: "number"
14827
+ },
14828
+ cooling_set_point_fahrenheit: {
14829
+ format: "float",
14830
+ type: "number"
14831
+ },
14832
+ display_name: { type: "string" },
14833
+ fan_mode_setting: {
14834
+ enum: ["auto", "on"],
14835
+ type: "string"
14836
+ },
14837
+ heating_set_point_celsius: {
14838
+ format: "float",
14839
+ type: "number"
14840
+ },
14841
+ heating_set_point_fahrenheit: {
14842
+ format: "float",
14843
+ type: "number"
14844
+ },
14845
+ hvac_mode_setting: {
14846
+ enum: ["off", "heat", "cool", "heat_cool"],
14847
+ type: "string"
14848
+ },
14849
+ manual_override_allowed: { type: "boolean" },
14850
+ name: { nullable: true, type: "string" }
14851
+ },
14852
+ required: [
14853
+ "climate_preset_key",
14854
+ "can_edit",
14855
+ "can_delete",
14856
+ "name",
14857
+ "display_name",
14858
+ "manual_override_allowed"
14859
+ ],
14860
+ type: "object"
14861
+ },
14862
+ ok: { type: "boolean" }
14863
+ },
14864
+ required: ["climate_preset", "ok"],
14279
14865
  type: "object"
14280
14866
  }
14281
14867
  }
@@ -14286,30 +14872,28 @@ var openapi_default = {
14286
14872
  401: { description: "Unauthorized" }
14287
14873
  },
14288
14874
  security: [
14289
- { client_session: [] },
14290
14875
  { pat_with_workspace: [] },
14291
14876
  { console_session: [] },
14292
14877
  { api_key: [] }
14293
14878
  ],
14294
- summary: "/thermostats/climate_setting_schedules/delete",
14879
+ summary: "/thermostats/create_climate_preset",
14295
14880
  tags: ["/thermostats"],
14296
- "x-fern-ignore": true
14881
+ "x-fern-sdk-group-name": ["thermostats"],
14882
+ "x-fern-sdk-method-name": "create_climate_preset"
14297
14883
  }
14298
14884
  },
14299
- "/thermostats/climate_setting_schedules/get": {
14885
+ "/thermostats/delete_climate_preset": {
14300
14886
  post: {
14301
- operationId: "thermostatsClimateSettingSchedulesGetPost",
14887
+ operationId: "thermostatsDeleteClimatePresetPost",
14302
14888
  requestBody: {
14303
14889
  content: {
14304
14890
  "application/json": {
14305
14891
  schema: {
14306
14892
  properties: {
14307
- climate_setting_schedule_id: {
14308
- format: "uuid",
14309
- type: "string"
14310
- },
14893
+ climate_preset_key: { type: "string" },
14311
14894
  device_id: { format: "uuid", type: "string" }
14312
14895
  },
14896
+ required: ["device_id", "climate_preset_key"],
14313
14897
  type: "object"
14314
14898
  }
14315
14899
  }
@@ -14320,13 +14904,8 @@ var openapi_default = {
14320
14904
  content: {
14321
14905
  "application/json": {
14322
14906
  schema: {
14323
- properties: {
14324
- climate_setting_schedule: {
14325
- $ref: "#/components/schemas/climate_setting_schedule"
14326
- },
14327
- ok: { type: "boolean" }
14328
- },
14329
- required: ["climate_setting_schedule", "ok"],
14907
+ properties: { ok: { type: "boolean" } },
14908
+ required: ["ok"],
14330
14909
  type: "object"
14331
14910
  }
14332
14911
  }
@@ -14337,30 +14916,27 @@ var openapi_default = {
14337
14916
  401: { description: "Unauthorized" }
14338
14917
  },
14339
14918
  security: [
14340
- { client_session: [] },
14341
14919
  { pat_with_workspace: [] },
14342
14920
  { console_session: [] },
14343
14921
  { api_key: [] }
14344
14922
  ],
14345
- summary: "/thermostats/climate_setting_schedules/get",
14923
+ summary: "/thermostats/delete_climate_preset",
14346
14924
  tags: ["/thermostats"],
14347
- "x-fern-sdk-group-name": ["thermostats", "climate_setting_schedules"],
14348
- "x-fern-sdk-method-name": "get",
14349
- "x-fern-sdk-return-value": "climate_setting_schedule"
14925
+ "x-fern-sdk-group-name": ["thermostats"],
14926
+ "x-fern-sdk-method-name": "delete_climate_preset"
14350
14927
  }
14351
14928
  },
14352
- "/thermostats/climate_setting_schedules/list": {
14929
+ "/thermostats/get": {
14353
14930
  post: {
14354
- operationId: "thermostatsClimateSettingSchedulesListPost",
14931
+ operationId: "thermostatsGetPost",
14355
14932
  requestBody: {
14356
14933
  content: {
14357
14934
  "application/json": {
14358
14935
  schema: {
14359
14936
  properties: {
14360
14937
  device_id: { format: "uuid", type: "string" },
14361
- user_identifier_key: { type: "string" }
14938
+ name: { type: "string" }
14362
14939
  },
14363
- required: ["device_id"],
14364
14940
  type: "object"
14365
14941
  }
14366
14942
  }
@@ -14372,15 +14948,10 @@ var openapi_default = {
14372
14948
  "application/json": {
14373
14949
  schema: {
14374
14950
  properties: {
14375
- climate_setting_schedules: {
14376
- items: {
14377
- $ref: "#/components/schemas/climate_setting_schedule"
14378
- },
14379
- type: "array"
14380
- },
14381
- ok: { type: "boolean" }
14951
+ ok: { type: "boolean" },
14952
+ thermostat: { $ref: "#/components/schemas/device" }
14382
14953
  },
14383
- required: ["climate_setting_schedules", "ok"],
14954
+ required: ["thermostat", "ok"],
14384
14955
  type: "object"
14385
14956
  }
14386
14957
  }
@@ -14391,38 +14962,28 @@ var openapi_default = {
14391
14962
  401: { description: "Unauthorized" }
14392
14963
  },
14393
14964
  security: [
14394
- { api_key: [] },
14395
14965
  { client_session: [] },
14396
14966
  { pat_with_workspace: [] },
14397
- { console_session: [] }
14967
+ { console_session: [] },
14968
+ { api_key: [] }
14398
14969
  ],
14399
- summary: "/thermostats/climate_setting_schedules/list",
14970
+ summary: "/thermostats/get",
14400
14971
  tags: ["/thermostats"],
14401
- "x-fern-sdk-group-name": ["thermostats", "climate_setting_schedules"],
14402
- "x-fern-sdk-method-name": "list",
14403
- "x-fern-sdk-return-value": "climate_setting_schedules"
14972
+ "x-deprecated": "Use `/devices/get` instead.",
14973
+ "x-fern-sdk-group-name": ["thermostats"],
14974
+ "x-fern-sdk-method-name": "get",
14975
+ "x-fern-sdk-return-value": "thermostat"
14404
14976
  }
14405
14977
  },
14406
- "/thermostats/climate_setting_schedules/update": {
14407
- patch: {
14408
- operationId: "thermostatsClimateSettingSchedulesUpdatePatch",
14978
+ "/thermostats/heat": {
14979
+ post: {
14980
+ operationId: "thermostatsHeatPost",
14409
14981
  requestBody: {
14410
14982
  content: {
14411
14983
  "application/json": {
14412
14984
  schema: {
14413
14985
  properties: {
14414
- climate_setting_schedule_id: {
14415
- format: "uuid",
14416
- type: "string"
14417
- },
14418
- cooling_set_point_celsius: {
14419
- format: "float",
14420
- type: "number"
14421
- },
14422
- cooling_set_point_fahrenheit: {
14423
- format: "float",
14424
- type: "number"
14425
- },
14986
+ device_id: { format: "uuid", type: "string" },
14426
14987
  heating_set_point_celsius: {
14427
14988
  format: "float",
14428
14989
  type: "number"
@@ -14431,21 +14992,9 @@ var openapi_default = {
14431
14992
  format: "float",
14432
14993
  type: "number"
14433
14994
  },
14434
- hvac_mode_setting: {
14435
- enum: ["off", "heat", "cool", "heat_cool"],
14436
- type: "string"
14437
- },
14438
- manual_override_allowed: { type: "boolean" },
14439
- name: { type: "string" },
14440
- schedule_ends_at: { type: "string" },
14441
- schedule_starts_at: { type: "string" },
14442
- schedule_type: {
14443
- default: "time_bound",
14444
- enum: ["time_bound"],
14445
- type: "string"
14446
- }
14995
+ sync: { default: false, type: "boolean" }
14447
14996
  },
14448
- required: ["climate_setting_schedule_id"],
14997
+ required: ["device_id"],
14449
14998
  type: "object"
14450
14999
  }
14451
15000
  }
@@ -14457,12 +15006,12 @@ var openapi_default = {
14457
15006
  "application/json": {
14458
15007
  schema: {
14459
15008
  properties: {
14460
- climate_setting_schedule: {
14461
- $ref: "#/components/schemas/climate_setting_schedule"
15009
+ action_attempt: {
15010
+ $ref: "#/components/schemas/action_attempt"
14462
15011
  },
14463
15012
  ok: { type: "boolean" }
14464
15013
  },
14465
- required: ["climate_setting_schedule", "ok"],
15014
+ required: ["action_attempt", "ok"],
14466
15015
  type: "object"
14467
15016
  }
14468
15017
  }
@@ -14478,21 +15027,21 @@ var openapi_default = {
14478
15027
  { console_session: [] },
14479
15028
  { api_key: [] }
14480
15029
  ],
14481
- summary: "/thermostats/climate_setting_schedules/update",
15030
+ summary: "/thermostats/heat",
14482
15031
  tags: ["/thermostats"],
14483
- "x-fern-ignore": true
14484
- },
15032
+ "x-fern-sdk-group-name": ["thermostats"],
15033
+ "x-fern-sdk-method-name": "heat",
15034
+ "x-fern-sdk-return-value": "action_attempt"
15035
+ }
15036
+ },
15037
+ "/thermostats/heat_cool": {
14485
15038
  post: {
14486
- operationId: "thermostatsClimateSettingSchedulesUpdatePost",
15039
+ operationId: "thermostatsHeatCoolPost",
14487
15040
  requestBody: {
14488
15041
  content: {
14489
15042
  "application/json": {
14490
15043
  schema: {
14491
15044
  properties: {
14492
- climate_setting_schedule_id: {
14493
- format: "uuid",
14494
- type: "string"
14495
- },
14496
15045
  cooling_set_point_celsius: {
14497
15046
  format: "float",
14498
15047
  type: "number"
@@ -14501,6 +15050,7 @@ var openapi_default = {
14501
15050
  format: "float",
14502
15051
  type: "number"
14503
15052
  },
15053
+ device_id: { format: "uuid", type: "string" },
14504
15054
  heating_set_point_celsius: {
14505
15055
  format: "float",
14506
15056
  type: "number"
@@ -14509,21 +15059,9 @@ var openapi_default = {
14509
15059
  format: "float",
14510
15060
  type: "number"
14511
15061
  },
14512
- hvac_mode_setting: {
14513
- enum: ["off", "heat", "cool", "heat_cool"],
14514
- type: "string"
14515
- },
14516
- manual_override_allowed: { type: "boolean" },
14517
- name: { type: "string" },
14518
- schedule_ends_at: { type: "string" },
14519
- schedule_starts_at: { type: "string" },
14520
- schedule_type: {
14521
- default: "time_bound",
14522
- enum: ["time_bound"],
14523
- type: "string"
14524
- }
15062
+ sync: { default: false, type: "boolean" }
14525
15063
  },
14526
- required: ["climate_setting_schedule_id"],
15064
+ required: ["device_id"],
14527
15065
  type: "object"
14528
15066
  }
14529
15067
  }
@@ -14535,12 +15073,12 @@ var openapi_default = {
14535
15073
  "application/json": {
14536
15074
  schema: {
14537
15075
  properties: {
14538
- climate_setting_schedule: {
14539
- $ref: "#/components/schemas/climate_setting_schedule"
15076
+ action_attempt: {
15077
+ $ref: "#/components/schemas/action_attempt"
14540
15078
  },
14541
15079
  ok: { type: "boolean" }
14542
15080
  },
14543
- required: ["climate_setting_schedule", "ok"],
15081
+ required: ["action_attempt", "ok"],
14544
15082
  type: "object"
14545
15083
  }
14546
15084
  }
@@ -14556,53 +15094,224 @@ var openapi_default = {
14556
15094
  { console_session: [] },
14557
15095
  { api_key: [] }
14558
15096
  ],
14559
- summary: "/thermostats/climate_setting_schedules/update",
15097
+ summary: "/thermostats/heat_cool",
14560
15098
  tags: ["/thermostats"],
14561
- "x-fern-sdk-group-name": ["thermostats", "climate_setting_schedules"],
14562
- "x-fern-sdk-method-name": "update"
14563
- },
14564
- put: {
14565
- operationId: "thermostatsClimateSettingSchedulesUpdatePut",
15099
+ "x-fern-sdk-group-name": ["thermostats"],
15100
+ "x-fern-sdk-method-name": "heat_cool",
15101
+ "x-fern-sdk-return-value": "action_attempt"
15102
+ }
15103
+ },
15104
+ "/thermostats/list": {
15105
+ post: {
15106
+ operationId: "thermostatsListPost",
14566
15107
  requestBody: {
14567
15108
  content: {
14568
15109
  "application/json": {
14569
15110
  schema: {
14570
15111
  properties: {
14571
- climate_setting_schedule_id: {
15112
+ connect_webview_id: { format: "uuid", type: "string" },
15113
+ connected_account_id: {
15114
+ description: "List all devices owned by this connected account",
14572
15115
  format: "uuid",
14573
15116
  type: "string"
14574
15117
  },
14575
- cooling_set_point_celsius: {
14576
- format: "float",
14577
- type: "number"
14578
- },
14579
- cooling_set_point_fahrenheit: {
14580
- format: "float",
14581
- type: "number"
14582
- },
14583
- heating_set_point_celsius: {
14584
- format: "float",
14585
- type: "number"
15118
+ connected_account_ids: {
15119
+ items: { format: "uuid", type: "string" },
15120
+ type: "array"
14586
15121
  },
14587
- heating_set_point_fahrenheit: {
14588
- format: "float",
14589
- type: "number"
15122
+ created_before: { format: "date-time", type: "string" },
15123
+ custom_metadata_has: {
15124
+ additionalProperties: {
15125
+ oneOf: [{ type: "string" }, { type: "boolean" }]
15126
+ },
15127
+ type: "object"
14590
15128
  },
14591
- hvac_mode_setting: {
14592
- enum: ["off", "heat", "cool", "heat_cool"],
14593
- type: "string"
15129
+ device_ids: {
15130
+ items: { format: "uuid", type: "string" },
15131
+ type: "array"
14594
15132
  },
14595
- manual_override_allowed: { type: "boolean" },
14596
- name: { type: "string" },
14597
- schedule_ends_at: { type: "string" },
14598
- schedule_starts_at: { type: "string" },
14599
- schedule_type: {
14600
- default: "time_bound",
14601
- enum: ["time_bound"],
15133
+ device_type: {
15134
+ oneOf: [
15135
+ {
15136
+ enum: [
15137
+ "akuvox_lock",
15138
+ "august_lock",
15139
+ "brivo_access_point",
15140
+ "butterflymx_panel",
15141
+ "avigilon_alta_entry",
15142
+ "doorking_lock",
15143
+ "genie_door",
15144
+ "igloo_lock",
15145
+ "linear_lock",
15146
+ "lockly_lock",
15147
+ "kwikset_lock",
15148
+ "nuki_lock",
15149
+ "salto_lock",
15150
+ "schlage_lock",
15151
+ "seam_relay",
15152
+ "smartthings_lock",
15153
+ "wyze_lock",
15154
+ "yale_lock",
15155
+ "two_n_intercom",
15156
+ "controlbyweb_device",
15157
+ "ttlock_lock",
15158
+ "igloohome_lock",
15159
+ "hubitat_lock",
15160
+ "four_suites_door",
15161
+ "dormakaba_oracode_door",
15162
+ "tedee_lock"
15163
+ ],
15164
+ type: "string"
15165
+ },
15166
+ {
15167
+ enum: ["noiseaware_activity_zone", "minut_sensor"],
15168
+ type: "string"
15169
+ },
15170
+ {
15171
+ enum: [
15172
+ "ecobee_thermostat",
15173
+ "nest_thermostat",
15174
+ "honeywell_resideo_thermostat"
15175
+ ],
15176
+ type: "string"
15177
+ },
15178
+ { enum: ["ios_phone", "android_phone"], type: "string" }
15179
+ ]
15180
+ },
15181
+ device_types: {
15182
+ items: {
15183
+ oneOf: [
15184
+ {
15185
+ enum: [
15186
+ "akuvox_lock",
15187
+ "august_lock",
15188
+ "brivo_access_point",
15189
+ "butterflymx_panel",
15190
+ "avigilon_alta_entry",
15191
+ "doorking_lock",
15192
+ "genie_door",
15193
+ "igloo_lock",
15194
+ "linear_lock",
15195
+ "lockly_lock",
15196
+ "kwikset_lock",
15197
+ "nuki_lock",
15198
+ "salto_lock",
15199
+ "schlage_lock",
15200
+ "seam_relay",
15201
+ "smartthings_lock",
15202
+ "wyze_lock",
15203
+ "yale_lock",
15204
+ "two_n_intercom",
15205
+ "controlbyweb_device",
15206
+ "ttlock_lock",
15207
+ "igloohome_lock",
15208
+ "hubitat_lock",
15209
+ "four_suites_door",
15210
+ "dormakaba_oracode_door",
15211
+ "tedee_lock"
15212
+ ],
15213
+ type: "string"
15214
+ },
15215
+ {
15216
+ enum: ["noiseaware_activity_zone", "minut_sensor"],
15217
+ type: "string"
15218
+ },
15219
+ {
15220
+ enum: [
15221
+ "ecobee_thermostat",
15222
+ "nest_thermostat",
15223
+ "honeywell_resideo_thermostat"
15224
+ ],
15225
+ type: "string"
15226
+ },
15227
+ {
15228
+ enum: ["ios_phone", "android_phone"],
15229
+ type: "string"
15230
+ }
15231
+ ]
15232
+ },
15233
+ type: "array"
15234
+ },
15235
+ exclude_if: {
15236
+ items: {
15237
+ enum: [
15238
+ "can_remotely_unlock",
15239
+ "can_remotely_lock",
15240
+ "can_program_offline_access_codes",
15241
+ "can_program_online_access_codes",
15242
+ "can_hvac_heat",
15243
+ "can_hvac_cool",
15244
+ "can_hvac_heat_cool",
15245
+ "can_turn_off_hvac",
15246
+ "can_simulate_removal",
15247
+ "can_simulate_connection",
15248
+ "can_simulate_disconnection"
15249
+ ],
15250
+ type: "string"
15251
+ },
15252
+ type: "array"
15253
+ },
15254
+ include_if: {
15255
+ items: {
15256
+ enum: [
15257
+ "can_remotely_unlock",
15258
+ "can_remotely_lock",
15259
+ "can_program_offline_access_codes",
15260
+ "can_program_online_access_codes",
15261
+ "can_hvac_heat",
15262
+ "can_hvac_cool",
15263
+ "can_hvac_heat_cool",
15264
+ "can_turn_off_hvac",
15265
+ "can_simulate_removal",
15266
+ "can_simulate_connection",
15267
+ "can_simulate_disconnection"
15268
+ ],
15269
+ type: "string"
15270
+ },
15271
+ type: "array"
15272
+ },
15273
+ limit: { default: 500, format: "float", type: "number" },
15274
+ manufacturer: {
15275
+ enum: [
15276
+ "akuvox",
15277
+ "august",
15278
+ "avigilon_alta",
15279
+ "brivo",
15280
+ "butterflymx",
15281
+ "doorking",
15282
+ "four_suites",
15283
+ "genie",
15284
+ "igloo",
15285
+ "keywe",
15286
+ "kwikset",
15287
+ "linear",
15288
+ "lockly",
15289
+ "nuki",
15290
+ "philia",
15291
+ "salto",
15292
+ "samsung",
15293
+ "schlage",
15294
+ "seam",
15295
+ "unknown",
15296
+ "wyze",
15297
+ "yale",
15298
+ "minut",
15299
+ "two_n",
15300
+ "ttlock",
15301
+ "nest",
15302
+ "igloohome",
15303
+ "ecobee",
15304
+ "hubitat",
15305
+ "controlbyweb",
15306
+ "smartthings",
15307
+ "dormakaba_oracode",
15308
+ "tedee",
15309
+ "honeywell_resideo"
15310
+ ],
14602
15311
  type: "string"
14603
- }
15312
+ },
15313
+ user_identifier_key: { type: "string" }
14604
15314
  },
14605
- required: ["climate_setting_schedule_id"],
14606
15315
  type: "object"
14607
15316
  }
14608
15317
  }
@@ -14614,12 +15323,13 @@ var openapi_default = {
14614
15323
  "application/json": {
14615
15324
  schema: {
14616
15325
  properties: {
14617
- climate_setting_schedule: {
14618
- $ref: "#/components/schemas/climate_setting_schedule"
14619
- },
14620
- ok: { type: "boolean" }
15326
+ ok: { type: "boolean" },
15327
+ thermostats: {
15328
+ items: { $ref: "#/components/schemas/device" },
15329
+ type: "array"
15330
+ }
14621
15331
  },
14622
- required: ["climate_setting_schedule", "ok"],
15332
+ required: ["thermostats", "ok"],
14623
15333
  type: "object"
14624
15334
  }
14625
15335
  }
@@ -14630,32 +15340,26 @@ var openapi_default = {
14630
15340
  401: { description: "Unauthorized" }
14631
15341
  },
14632
15342
  security: [
14633
- { client_session: [] },
15343
+ { api_key: [] },
14634
15344
  { pat_with_workspace: [] },
14635
15345
  { console_session: [] },
14636
- { api_key: [] }
15346
+ { client_session: [] }
14637
15347
  ],
14638
- summary: "/thermostats/climate_setting_schedules/update",
15348
+ summary: "/thermostats/list",
14639
15349
  tags: ["/thermostats"],
14640
- "x-fern-ignore": true
15350
+ "x-fern-sdk-group-name": ["thermostats"],
15351
+ "x-fern-sdk-method-name": "list",
15352
+ "x-fern-sdk-return-value": "thermostats"
14641
15353
  }
14642
15354
  },
14643
- "/thermostats/cool": {
15355
+ "/thermostats/off": {
14644
15356
  post: {
14645
- operationId: "thermostatsCoolPost",
15357
+ operationId: "thermostatsOffPost",
14646
15358
  requestBody: {
14647
15359
  content: {
14648
15360
  "application/json": {
14649
15361
  schema: {
14650
15362
  properties: {
14651
- cooling_set_point_celsius: {
14652
- format: "float",
14653
- type: "number"
14654
- },
14655
- cooling_set_point_fahrenheit: {
14656
- format: "float",
14657
- type: "number"
14658
- },
14659
15363
  device_id: { format: "uuid", type: "string" },
14660
15364
  sync: { default: false, type: "boolean" }
14661
15365
  },
@@ -14692,24 +15396,38 @@ var openapi_default = {
14692
15396
  { console_session: [] },
14693
15397
  { api_key: [] }
14694
15398
  ],
14695
- summary: "/thermostats/cool",
15399
+ summary: "/thermostats/off",
14696
15400
  tags: ["/thermostats"],
14697
15401
  "x-fern-sdk-group-name": ["thermostats"],
14698
- "x-fern-sdk-method-name": "cool",
15402
+ "x-fern-sdk-method-name": "off",
14699
15403
  "x-fern-sdk-return-value": "action_attempt"
14700
15404
  }
14701
15405
  },
14702
- "/thermostats/get": {
15406
+ "/thermostats/schedules/create": {
14703
15407
  post: {
14704
- operationId: "thermostatsGetPost",
15408
+ operationId: "thermostatsSchedulesCreatePost",
14705
15409
  requestBody: {
14706
15410
  content: {
14707
15411
  "application/json": {
14708
15412
  schema: {
14709
15413
  properties: {
14710
- device_id: { format: "uuid", type: "string" },
14711
- name: { type: "string" }
15414
+ climate_preset_key: { type: "string" },
15415
+ device_id: { type: "string" },
15416
+ ends_at: { type: "string" },
15417
+ max_override_period_minutes: {
15418
+ default: 0,
15419
+ minimum: 0,
15420
+ type: "integer"
15421
+ },
15422
+ name: { type: "string" },
15423
+ starts_at: { type: "string" }
14712
15424
  },
15425
+ required: [
15426
+ "device_id",
15427
+ "climate_preset_key",
15428
+ "starts_at",
15429
+ "ends_at"
15430
+ ],
14713
15431
  type: "object"
14714
15432
  }
14715
15433
  }
@@ -14722,9 +15440,11 @@ var openapi_default = {
14722
15440
  schema: {
14723
15441
  properties: {
14724
15442
  ok: { type: "boolean" },
14725
- thermostat: { $ref: "#/components/schemas/device" }
15443
+ thermostat_schedule: {
15444
+ $ref: "#/components/schemas/thermostat_schedule"
15445
+ }
14726
15446
  },
14727
- required: ["thermostat", "ok"],
15447
+ required: ["thermostat_schedule", "ok"],
14728
15448
  type: "object"
14729
15449
  }
14730
15450
  }
@@ -14740,34 +15460,24 @@ var openapi_default = {
14740
15460
  { console_session: [] },
14741
15461
  { api_key: [] }
14742
15462
  ],
14743
- summary: "/thermostats/get",
15463
+ summary: "/thermostats/schedules/create",
14744
15464
  tags: ["/thermostats"],
14745
- "x-deprecated": "Use `/devices/get` instead.",
14746
- "x-fern-sdk-group-name": ["thermostats"],
14747
- "x-fern-sdk-method-name": "get",
14748
- "x-fern-sdk-return-value": "thermostat"
15465
+ "x-fern-sdk-group-name": ["thermostats", "schedules"],
15466
+ "x-fern-sdk-method-name": "create",
15467
+ "x-fern-sdk-return-value": "thermostat_schedule"
14749
15468
  }
14750
15469
  },
14751
- "/thermostats/heat": {
15470
+ "/thermostats/schedules/delete": {
14752
15471
  post: {
14753
- operationId: "thermostatsHeatPost",
15472
+ operationId: "thermostatsSchedulesDeletePost",
14754
15473
  requestBody: {
14755
15474
  content: {
14756
15475
  "application/json": {
14757
15476
  schema: {
14758
15477
  properties: {
14759
- device_id: { format: "uuid", type: "string" },
14760
- heating_set_point_celsius: {
14761
- format: "float",
14762
- type: "number"
14763
- },
14764
- heating_set_point_fahrenheit: {
14765
- format: "float",
14766
- type: "number"
14767
- },
14768
- sync: { default: false, type: "boolean" }
15478
+ thermostat_schedule_id: { format: "uuid", type: "string" }
14769
15479
  },
14770
- required: ["device_id"],
15480
+ required: ["thermostat_schedule_id"],
14771
15481
  type: "object"
14772
15482
  }
14773
15483
  }
@@ -14778,13 +15488,8 @@ var openapi_default = {
14778
15488
  content: {
14779
15489
  "application/json": {
14780
15490
  schema: {
14781
- properties: {
14782
- action_attempt: {
14783
- $ref: "#/components/schemas/action_attempt"
14784
- },
14785
- ok: { type: "boolean" }
14786
- },
14787
- required: ["action_attempt", "ok"],
15491
+ properties: { ok: { type: "boolean" } },
15492
+ required: ["ok"],
14788
15493
  type: "object"
14789
15494
  }
14790
15495
  }
@@ -14800,41 +15505,23 @@ var openapi_default = {
14800
15505
  { console_session: [] },
14801
15506
  { api_key: [] }
14802
15507
  ],
14803
- summary: "/thermostats/heat",
15508
+ summary: "/thermostats/schedules/delete",
14804
15509
  tags: ["/thermostats"],
14805
- "x-fern-sdk-group-name": ["thermostats"],
14806
- "x-fern-sdk-method-name": "heat",
14807
- "x-fern-sdk-return-value": "action_attempt"
15510
+ "x-fern-sdk-group-name": ["thermostats", "schedules"],
15511
+ "x-fern-sdk-method-name": "delete"
14808
15512
  }
14809
15513
  },
14810
- "/thermostats/heat_cool": {
15514
+ "/thermostats/schedules/get": {
14811
15515
  post: {
14812
- operationId: "thermostatsHeatCoolPost",
15516
+ operationId: "thermostatsSchedulesGetPost",
14813
15517
  requestBody: {
14814
15518
  content: {
14815
15519
  "application/json": {
14816
15520
  schema: {
14817
15521
  properties: {
14818
- cooling_set_point_celsius: {
14819
- format: "float",
14820
- type: "number"
14821
- },
14822
- cooling_set_point_fahrenheit: {
14823
- format: "float",
14824
- type: "number"
14825
- },
14826
- device_id: { format: "uuid", type: "string" },
14827
- heating_set_point_celsius: {
14828
- format: "float",
14829
- type: "number"
14830
- },
14831
- heating_set_point_fahrenheit: {
14832
- format: "float",
14833
- type: "number"
14834
- },
14835
- sync: { default: false, type: "boolean" }
15522
+ thermostat_schedule_id: { format: "uuid", type: "string" }
14836
15523
  },
14837
- required: ["device_id"],
15524
+ required: ["thermostat_schedule_id"],
14838
15525
  type: "object"
14839
15526
  }
14840
15527
  }
@@ -14846,12 +15533,12 @@ var openapi_default = {
14846
15533
  "application/json": {
14847
15534
  schema: {
14848
15535
  properties: {
14849
- action_attempt: {
14850
- $ref: "#/components/schemas/action_attempt"
14851
- },
14852
- ok: { type: "boolean" }
15536
+ ok: { type: "boolean" },
15537
+ thermostat_schedule: {
15538
+ $ref: "#/components/schemas/thermostat_schedule"
15539
+ }
14853
15540
  },
14854
- required: ["action_attempt", "ok"],
15541
+ required: ["thermostat_schedule", "ok"],
14855
15542
  type: "object"
14856
15543
  }
14857
15544
  }
@@ -14867,224 +15554,25 @@ var openapi_default = {
14867
15554
  { console_session: [] },
14868
15555
  { api_key: [] }
14869
15556
  ],
14870
- summary: "/thermostats/heat_cool",
15557
+ summary: "/thermostats/schedules/get",
14871
15558
  tags: ["/thermostats"],
14872
- "x-fern-sdk-group-name": ["thermostats"],
14873
- "x-fern-sdk-method-name": "heat_cool",
14874
- "x-fern-sdk-return-value": "action_attempt"
15559
+ "x-fern-sdk-group-name": ["thermostats", "schedules"],
15560
+ "x-fern-sdk-method-name": "get",
15561
+ "x-fern-sdk-return-value": "thermostat_schedule"
14875
15562
  }
14876
15563
  },
14877
- "/thermostats/list": {
15564
+ "/thermostats/schedules/list": {
14878
15565
  post: {
14879
- operationId: "thermostatsListPost",
15566
+ operationId: "thermostatsSchedulesListPost",
14880
15567
  requestBody: {
14881
15568
  content: {
14882
15569
  "application/json": {
14883
- schema: {
14884
- properties: {
14885
- connect_webview_id: { format: "uuid", type: "string" },
14886
- connected_account_id: {
14887
- description: "List all devices owned by this connected account",
14888
- format: "uuid",
14889
- type: "string"
14890
- },
14891
- connected_account_ids: {
14892
- items: { format: "uuid", type: "string" },
14893
- type: "array"
14894
- },
14895
- created_before: { format: "date-time", type: "string" },
14896
- custom_metadata_has: {
14897
- additionalProperties: {
14898
- oneOf: [{ type: "string" }, { type: "boolean" }]
14899
- },
14900
- type: "object"
14901
- },
14902
- device_ids: {
14903
- items: { format: "uuid", type: "string" },
14904
- type: "array"
14905
- },
14906
- device_type: {
14907
- oneOf: [
14908
- {
14909
- enum: [
14910
- "akuvox_lock",
14911
- "august_lock",
14912
- "brivo_access_point",
14913
- "butterflymx_panel",
14914
- "avigilon_alta_entry",
14915
- "doorking_lock",
14916
- "genie_door",
14917
- "igloo_lock",
14918
- "linear_lock",
14919
- "lockly_lock",
14920
- "kwikset_lock",
14921
- "nuki_lock",
14922
- "salto_lock",
14923
- "schlage_lock",
14924
- "seam_relay",
14925
- "smartthings_lock",
14926
- "wyze_lock",
14927
- "yale_lock",
14928
- "two_n_intercom",
14929
- "controlbyweb_device",
14930
- "ttlock_lock",
14931
- "igloohome_lock",
14932
- "hubitat_lock",
14933
- "four_suites_door",
14934
- "dormakaba_oracode_door",
14935
- "tedee_lock"
14936
- ],
14937
- type: "string"
14938
- },
14939
- {
14940
- enum: ["noiseaware_activity_zone", "minut_sensor"],
14941
- type: "string"
14942
- },
14943
- {
14944
- enum: [
14945
- "ecobee_thermostat",
14946
- "nest_thermostat",
14947
- "honeywell_resideo_thermostat"
14948
- ],
14949
- type: "string"
14950
- },
14951
- { enum: ["ios_phone", "android_phone"], type: "string" }
14952
- ]
14953
- },
14954
- device_types: {
14955
- items: {
14956
- oneOf: [
14957
- {
14958
- enum: [
14959
- "akuvox_lock",
14960
- "august_lock",
14961
- "brivo_access_point",
14962
- "butterflymx_panel",
14963
- "avigilon_alta_entry",
14964
- "doorking_lock",
14965
- "genie_door",
14966
- "igloo_lock",
14967
- "linear_lock",
14968
- "lockly_lock",
14969
- "kwikset_lock",
14970
- "nuki_lock",
14971
- "salto_lock",
14972
- "schlage_lock",
14973
- "seam_relay",
14974
- "smartthings_lock",
14975
- "wyze_lock",
14976
- "yale_lock",
14977
- "two_n_intercom",
14978
- "controlbyweb_device",
14979
- "ttlock_lock",
14980
- "igloohome_lock",
14981
- "hubitat_lock",
14982
- "four_suites_door",
14983
- "dormakaba_oracode_door",
14984
- "tedee_lock"
14985
- ],
14986
- type: "string"
14987
- },
14988
- {
14989
- enum: ["noiseaware_activity_zone", "minut_sensor"],
14990
- type: "string"
14991
- },
14992
- {
14993
- enum: [
14994
- "ecobee_thermostat",
14995
- "nest_thermostat",
14996
- "honeywell_resideo_thermostat"
14997
- ],
14998
- type: "string"
14999
- },
15000
- {
15001
- enum: ["ios_phone", "android_phone"],
15002
- type: "string"
15003
- }
15004
- ]
15005
- },
15006
- type: "array"
15007
- },
15008
- exclude_if: {
15009
- items: {
15010
- enum: [
15011
- "can_remotely_unlock",
15012
- "can_remotely_lock",
15013
- "can_program_offline_access_codes",
15014
- "can_program_online_access_codes",
15015
- "can_hvac_heat",
15016
- "can_hvac_cool",
15017
- "can_hvac_heat_cool",
15018
- "can_turn_off_hvac",
15019
- "can_simulate_removal",
15020
- "can_simulate_connection",
15021
- "can_simulate_disconnection"
15022
- ],
15023
- type: "string"
15024
- },
15025
- type: "array"
15026
- },
15027
- include_if: {
15028
- items: {
15029
- enum: [
15030
- "can_remotely_unlock",
15031
- "can_remotely_lock",
15032
- "can_program_offline_access_codes",
15033
- "can_program_online_access_codes",
15034
- "can_hvac_heat",
15035
- "can_hvac_cool",
15036
- "can_hvac_heat_cool",
15037
- "can_turn_off_hvac",
15038
- "can_simulate_removal",
15039
- "can_simulate_connection",
15040
- "can_simulate_disconnection"
15041
- ],
15042
- type: "string"
15043
- },
15044
- type: "array"
15045
- },
15046
- limit: { default: 500, format: "float", type: "number" },
15047
- manufacturer: {
15048
- enum: [
15049
- "akuvox",
15050
- "august",
15051
- "avigilon_alta",
15052
- "brivo",
15053
- "butterflymx",
15054
- "doorking",
15055
- "four_suites",
15056
- "genie",
15057
- "igloo",
15058
- "keywe",
15059
- "kwikset",
15060
- "linear",
15061
- "lockly",
15062
- "nuki",
15063
- "philia",
15064
- "salto",
15065
- "samsung",
15066
- "schlage",
15067
- "seam",
15068
- "unknown",
15069
- "wyze",
15070
- "yale",
15071
- "minut",
15072
- "two_n",
15073
- "ttlock",
15074
- "nest",
15075
- "igloohome",
15076
- "ecobee",
15077
- "hubitat",
15078
- "controlbyweb",
15079
- "smartthings",
15080
- "dormakaba_oracode",
15081
- "tedee",
15082
- "honeywell_resideo"
15083
- ],
15084
- type: "string"
15085
- },
15570
+ schema: {
15571
+ properties: {
15572
+ device_id: { format: "uuid", type: "string" },
15086
15573
  user_identifier_key: { type: "string" }
15087
15574
  },
15575
+ required: ["device_id"],
15088
15576
  type: "object"
15089
15577
  }
15090
15578
  }
@@ -15097,12 +15585,14 @@ var openapi_default = {
15097
15585
  schema: {
15098
15586
  properties: {
15099
15587
  ok: { type: "boolean" },
15100
- thermostats: {
15101
- items: { $ref: "#/components/schemas/device" },
15588
+ thermostat_schedules: {
15589
+ items: {
15590
+ $ref: "#/components/schemas/thermostat_schedule"
15591
+ },
15102
15592
  type: "array"
15103
15593
  }
15104
15594
  },
15105
- required: ["thermostats", "ok"],
15595
+ required: ["thermostat_schedules", "ok"],
15106
15596
  type: "object"
15107
15597
  }
15108
15598
  }
@@ -15114,29 +15604,84 @@ var openapi_default = {
15114
15604
  },
15115
15605
  security: [
15116
15606
  { api_key: [] },
15607
+ { client_session: [] },
15117
15608
  { pat_with_workspace: [] },
15118
- { console_session: [] },
15119
- { client_session: [] }
15609
+ { console_session: [] }
15120
15610
  ],
15121
- summary: "/thermostats/list",
15611
+ summary: "/thermostats/schedules/list",
15122
15612
  tags: ["/thermostats"],
15123
- "x-fern-sdk-group-name": ["thermostats"],
15613
+ "x-fern-sdk-group-name": ["thermostats", "schedules"],
15124
15614
  "x-fern-sdk-method-name": "list",
15125
- "x-fern-sdk-return-value": "thermostats"
15615
+ "x-fern-sdk-return-value": "thermostat_schedules"
15126
15616
  }
15127
15617
  },
15128
- "/thermostats/off": {
15618
+ "/thermostats/schedules/update": {
15619
+ patch: {
15620
+ operationId: "thermostatsSchedulesUpdatePatch",
15621
+ requestBody: {
15622
+ content: {
15623
+ "application/json": {
15624
+ schema: {
15625
+ properties: {
15626
+ climate_preset_key: { type: "string" },
15627
+ ends_at: { type: "string" },
15628
+ max_override_period_minutes: { minimum: 0, type: "integer" },
15629
+ name: { type: "string" },
15630
+ starts_at: { type: "string" },
15631
+ thermostat_schedule_id: { format: "uuid", type: "string" }
15632
+ },
15633
+ required: ["thermostat_schedule_id"],
15634
+ type: "object"
15635
+ }
15636
+ }
15637
+ }
15638
+ },
15639
+ responses: {
15640
+ 200: {
15641
+ content: {
15642
+ "application/json": {
15643
+ schema: {
15644
+ properties: {
15645
+ ok: { type: "boolean" },
15646
+ thermostat_schedule: {
15647
+ $ref: "#/components/schemas/thermostat_schedule"
15648
+ }
15649
+ },
15650
+ required: ["thermostat_schedule", "ok"],
15651
+ type: "object"
15652
+ }
15653
+ }
15654
+ },
15655
+ description: "OK"
15656
+ },
15657
+ 400: { description: "Bad Request" },
15658
+ 401: { description: "Unauthorized" }
15659
+ },
15660
+ security: [
15661
+ { client_session: [] },
15662
+ { pat_with_workspace: [] },
15663
+ { console_session: [] },
15664
+ { api_key: [] }
15665
+ ],
15666
+ summary: "/thermostats/schedules/update",
15667
+ tags: ["/thermostats"],
15668
+ "x-fern-ignore": true
15669
+ },
15129
15670
  post: {
15130
- operationId: "thermostatsOffPost",
15671
+ operationId: "thermostatsSchedulesUpdatePost",
15131
15672
  requestBody: {
15132
15673
  content: {
15133
15674
  "application/json": {
15134
15675
  schema: {
15135
15676
  properties: {
15136
- device_id: { format: "uuid", type: "string" },
15137
- sync: { default: false, type: "boolean" }
15677
+ climate_preset_key: { type: "string" },
15678
+ ends_at: { type: "string" },
15679
+ max_override_period_minutes: { minimum: 0, type: "integer" },
15680
+ name: { type: "string" },
15681
+ starts_at: { type: "string" },
15682
+ thermostat_schedule_id: { format: "uuid", type: "string" }
15138
15683
  },
15139
- required: ["device_id"],
15684
+ required: ["thermostat_schedule_id"],
15140
15685
  type: "object"
15141
15686
  }
15142
15687
  }
@@ -15148,12 +15693,12 @@ var openapi_default = {
15148
15693
  "application/json": {
15149
15694
  schema: {
15150
15695
  properties: {
15151
- action_attempt: {
15152
- $ref: "#/components/schemas/action_attempt"
15153
- },
15154
- ok: { type: "boolean" }
15696
+ ok: { type: "boolean" },
15697
+ thermostat_schedule: {
15698
+ $ref: "#/components/schemas/thermostat_schedule"
15699
+ }
15155
15700
  },
15156
- required: ["action_attempt", "ok"],
15701
+ required: ["thermostat_schedule", "ok"],
15157
15702
  type: "object"
15158
15703
  }
15159
15704
  }
@@ -15169,11 +15714,54 @@ var openapi_default = {
15169
15714
  { console_session: [] },
15170
15715
  { api_key: [] }
15171
15716
  ],
15172
- summary: "/thermostats/off",
15717
+ summary: "/thermostats/schedules/update",
15718
+ tags: ["/thermostats"],
15719
+ "x-fern-sdk-group-name": ["thermostats", "schedules"],
15720
+ "x-fern-sdk-method-name": "update"
15721
+ }
15722
+ },
15723
+ "/thermostats/set_fallback_climate_preset": {
15724
+ post: {
15725
+ operationId: "thermostatsSetFallbackClimatePresetPost",
15726
+ requestBody: {
15727
+ content: {
15728
+ "application/json": {
15729
+ schema: {
15730
+ properties: {
15731
+ climate_preset_key: { type: "string" },
15732
+ device_id: { format: "uuid", type: "string" }
15733
+ },
15734
+ required: ["device_id", "climate_preset_key"],
15735
+ type: "object"
15736
+ }
15737
+ }
15738
+ }
15739
+ },
15740
+ responses: {
15741
+ 200: {
15742
+ content: {
15743
+ "application/json": {
15744
+ schema: {
15745
+ properties: { ok: { type: "boolean" } },
15746
+ required: ["ok"],
15747
+ type: "object"
15748
+ }
15749
+ }
15750
+ },
15751
+ description: "OK"
15752
+ },
15753
+ 400: { description: "Bad Request" },
15754
+ 401: { description: "Unauthorized" }
15755
+ },
15756
+ security: [
15757
+ { pat_with_workspace: [] },
15758
+ { console_session: [] },
15759
+ { api_key: [] }
15760
+ ],
15761
+ summary: "/thermostats/set_fallback_climate_preset",
15173
15762
  tags: ["/thermostats"],
15174
15763
  "x-fern-sdk-group-name": ["thermostats"],
15175
- "x-fern-sdk-method-name": "off",
15176
- "x-fern-sdk-return-value": "action_attempt"
15764
+ "x-fern-sdk-method-name": "set_fallback_climate_preset"
15177
15765
  }
15178
15766
  },
15179
15767
  "/thermostats/set_fan_mode": {
@@ -15185,7 +15773,12 @@ var openapi_default = {
15185
15773
  schema: {
15186
15774
  properties: {
15187
15775
  device_id: { format: "uuid", type: "string" },
15188
- fan_mode: { enum: ["auto", "on"], type: "string" },
15776
+ fan_mode: {
15777
+ deprecated: true,
15778
+ enum: ["auto", "on"],
15779
+ type: "string",
15780
+ "x-deprecated": "use fan_mode_setting instead."
15781
+ },
15189
15782
  fan_mode_setting: { enum: ["auto", "on"], type: "string" },
15190
15783
  sync: { default: false, type: "boolean" }
15191
15784
  },
@@ -15229,43 +15822,46 @@ var openapi_default = {
15229
15822
  "x-fern-sdk-return-value": "action_attempt"
15230
15823
  }
15231
15824
  },
15232
- "/thermostats/update": {
15825
+ "/thermostats/update_climate_preset": {
15233
15826
  patch: {
15234
- operationId: "thermostatsUpdatePatch",
15827
+ operationId: "thermostatsUpdateClimatePresetPatch",
15235
15828
  requestBody: {
15236
15829
  content: {
15237
15830
  "application/json": {
15238
15831
  schema: {
15239
15832
  properties: {
15240
- default_climate_setting: {
15241
- properties: {
15242
- cooling_set_point_celsius: {
15243
- format: "float",
15244
- type: "number"
15245
- },
15246
- cooling_set_point_fahrenheit: {
15247
- format: "float",
15248
- type: "number"
15249
- },
15250
- heating_set_point_celsius: {
15251
- format: "float",
15252
- type: "number"
15253
- },
15254
- heating_set_point_fahrenheit: {
15255
- format: "float",
15256
- type: "number"
15257
- },
15258
- hvac_mode_setting: {
15259
- enum: ["off", "heat", "cool", "heat_cool"],
15260
- type: "string"
15261
- },
15262
- manual_override_allowed: { type: "boolean" }
15263
- },
15264
- type: "object"
15833
+ climate_preset_key: { type: "string" },
15834
+ cooling_set_point_celsius: {
15835
+ format: "float",
15836
+ type: "number"
15265
15837
  },
15266
- device_id: { format: "uuid", type: "string" }
15838
+ cooling_set_point_fahrenheit: {
15839
+ format: "float",
15840
+ type: "number"
15841
+ },
15842
+ device_id: { format: "uuid", type: "string" },
15843
+ fan_mode_setting: { enum: ["auto", "on"], type: "string" },
15844
+ heating_set_point_celsius: {
15845
+ format: "float",
15846
+ type: "number"
15847
+ },
15848
+ heating_set_point_fahrenheit: {
15849
+ format: "float",
15850
+ type: "number"
15851
+ },
15852
+ hvac_mode_setting: {
15853
+ enum: ["off", "heat", "cool", "heat_cool"],
15854
+ type: "string"
15855
+ },
15856
+ manual_override_allowed: { type: "boolean" },
15857
+ name: { nullable: true, type: "string" }
15267
15858
  },
15268
- required: ["device_id", "default_climate_setting"],
15859
+ required: [
15860
+ "device_id",
15861
+ "climate_preset_key",
15862
+ "name",
15863
+ "manual_override_allowed"
15864
+ ],
15269
15865
  type: "object"
15270
15866
  }
15271
15867
  }
@@ -15276,8 +15872,53 @@ var openapi_default = {
15276
15872
  content: {
15277
15873
  "application/json": {
15278
15874
  schema: {
15279
- properties: { ok: { type: "boolean" } },
15280
- required: ["ok"],
15875
+ properties: {
15876
+ climate_preset: {
15877
+ properties: {
15878
+ can_delete: { type: "boolean" },
15879
+ can_edit: { type: "boolean" },
15880
+ climate_preset_key: { type: "string" },
15881
+ cooling_set_point_celsius: {
15882
+ format: "float",
15883
+ type: "number"
15884
+ },
15885
+ cooling_set_point_fahrenheit: {
15886
+ format: "float",
15887
+ type: "number"
15888
+ },
15889
+ display_name: { type: "string" },
15890
+ fan_mode_setting: {
15891
+ enum: ["auto", "on"],
15892
+ type: "string"
15893
+ },
15894
+ heating_set_point_celsius: {
15895
+ format: "float",
15896
+ type: "number"
15897
+ },
15898
+ heating_set_point_fahrenheit: {
15899
+ format: "float",
15900
+ type: "number"
15901
+ },
15902
+ hvac_mode_setting: {
15903
+ enum: ["off", "heat", "cool", "heat_cool"],
15904
+ type: "string"
15905
+ },
15906
+ manual_override_allowed: { type: "boolean" },
15907
+ name: { nullable: true, type: "string" }
15908
+ },
15909
+ required: [
15910
+ "climate_preset_key",
15911
+ "can_edit",
15912
+ "can_delete",
15913
+ "name",
15914
+ "display_name",
15915
+ "manual_override_allowed"
15916
+ ],
15917
+ type: "object"
15918
+ },
15919
+ ok: { type: "boolean" }
15920
+ },
15921
+ required: ["climate_preset", "ok"],
15281
15922
  type: "object"
15282
15923
  }
15283
15924
  }
@@ -15288,51 +15929,53 @@ var openapi_default = {
15288
15929
  401: { description: "Unauthorized" }
15289
15930
  },
15290
15931
  security: [
15291
- { api_key: [] },
15292
15932
  { pat_with_workspace: [] },
15293
15933
  { console_session: [] },
15294
- { client_session: [] }
15934
+ { api_key: [] }
15295
15935
  ],
15296
- summary: "/thermostats/update",
15936
+ summary: "/thermostats/update_climate_preset",
15297
15937
  tags: ["/thermostats"],
15298
15938
  "x-fern-ignore": true
15299
15939
  },
15300
15940
  post: {
15301
- operationId: "thermostatsUpdatePost",
15941
+ operationId: "thermostatsUpdateClimatePresetPost",
15302
15942
  requestBody: {
15303
15943
  content: {
15304
15944
  "application/json": {
15305
15945
  schema: {
15306
15946
  properties: {
15307
- default_climate_setting: {
15308
- properties: {
15309
- cooling_set_point_celsius: {
15310
- format: "float",
15311
- type: "number"
15312
- },
15313
- cooling_set_point_fahrenheit: {
15314
- format: "float",
15315
- type: "number"
15316
- },
15317
- heating_set_point_celsius: {
15318
- format: "float",
15319
- type: "number"
15320
- },
15321
- heating_set_point_fahrenheit: {
15322
- format: "float",
15323
- type: "number"
15324
- },
15325
- hvac_mode_setting: {
15326
- enum: ["off", "heat", "cool", "heat_cool"],
15327
- type: "string"
15328
- },
15329
- manual_override_allowed: { type: "boolean" }
15330
- },
15331
- type: "object"
15947
+ climate_preset_key: { type: "string" },
15948
+ cooling_set_point_celsius: {
15949
+ format: "float",
15950
+ type: "number"
15332
15951
  },
15333
- device_id: { format: "uuid", type: "string" }
15952
+ cooling_set_point_fahrenheit: {
15953
+ format: "float",
15954
+ type: "number"
15955
+ },
15956
+ device_id: { format: "uuid", type: "string" },
15957
+ fan_mode_setting: { enum: ["auto", "on"], type: "string" },
15958
+ heating_set_point_celsius: {
15959
+ format: "float",
15960
+ type: "number"
15961
+ },
15962
+ heating_set_point_fahrenheit: {
15963
+ format: "float",
15964
+ type: "number"
15965
+ },
15966
+ hvac_mode_setting: {
15967
+ enum: ["off", "heat", "cool", "heat_cool"],
15968
+ type: "string"
15969
+ },
15970
+ manual_override_allowed: { type: "boolean" },
15971
+ name: { nullable: true, type: "string" }
15334
15972
  },
15335
- required: ["device_id", "default_climate_setting"],
15973
+ required: [
15974
+ "device_id",
15975
+ "climate_preset_key",
15976
+ "name",
15977
+ "manual_override_allowed"
15978
+ ],
15336
15979
  type: "object"
15337
15980
  }
15338
15981
  }
@@ -15343,8 +15986,53 @@ var openapi_default = {
15343
15986
  content: {
15344
15987
  "application/json": {
15345
15988
  schema: {
15346
- properties: { ok: { type: "boolean" } },
15347
- required: ["ok"],
15989
+ properties: {
15990
+ climate_preset: {
15991
+ properties: {
15992
+ can_delete: { type: "boolean" },
15993
+ can_edit: { type: "boolean" },
15994
+ climate_preset_key: { type: "string" },
15995
+ cooling_set_point_celsius: {
15996
+ format: "float",
15997
+ type: "number"
15998
+ },
15999
+ cooling_set_point_fahrenheit: {
16000
+ format: "float",
16001
+ type: "number"
16002
+ },
16003
+ display_name: { type: "string" },
16004
+ fan_mode_setting: {
16005
+ enum: ["auto", "on"],
16006
+ type: "string"
16007
+ },
16008
+ heating_set_point_celsius: {
16009
+ format: "float",
16010
+ type: "number"
16011
+ },
16012
+ heating_set_point_fahrenheit: {
16013
+ format: "float",
16014
+ type: "number"
16015
+ },
16016
+ hvac_mode_setting: {
16017
+ enum: ["off", "heat", "cool", "heat_cool"],
16018
+ type: "string"
16019
+ },
16020
+ manual_override_allowed: { type: "boolean" },
16021
+ name: { nullable: true, type: "string" }
16022
+ },
16023
+ required: [
16024
+ "climate_preset_key",
16025
+ "can_edit",
16026
+ "can_delete",
16027
+ "name",
16028
+ "display_name",
16029
+ "manual_override_allowed"
16030
+ ],
16031
+ type: "object"
16032
+ },
16033
+ ok: { type: "boolean" }
16034
+ },
16035
+ required: ["climate_preset", "ok"],
15348
16036
  type: "object"
15349
16037
  }
15350
16038
  }
@@ -15355,15 +16043,15 @@ var openapi_default = {
15355
16043
  401: { description: "Unauthorized" }
15356
16044
  },
15357
16045
  security: [
15358
- { api_key: [] },
15359
16046
  { pat_with_workspace: [] },
15360
16047
  { console_session: [] },
15361
- { client_session: [] }
16048
+ { api_key: [] }
15362
16049
  ],
15363
- summary: "/thermostats/update",
16050
+ summary: "/thermostats/update_climate_preset",
15364
16051
  tags: ["/thermostats"],
15365
16052
  "x-fern-sdk-group-name": ["thermostats"],
15366
- "x-fern-sdk-method-name": "update"
16053
+ "x-fern-sdk-method-name": "update_climate_preset",
16054
+ "x-fern-sdk-return-value": "climate_preset"
15367
16055
  }
15368
16056
  },
15369
16057
  "/user_identities/add_acs_user": {