@seamapi/types 1.406.0 → 1.406.1

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 (54) hide show
  1. package/dist/connect.cjs +2065 -559
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +7008 -366
  4. package/lib/seam/connect/models/devices/capabilities-supported.js +3 -1
  5. package/lib/seam/connect/models/devices/capabilities-supported.js.map +1 -1
  6. package/lib/seam/connect/models/devices/capability-properties/access-code.js +53 -21
  7. package/lib/seam/connect/models/devices/capability-properties/access-code.js.map +1 -1
  8. package/lib/seam/connect/models/devices/capability-properties/lock.js +20 -4
  9. package/lib/seam/connect/models/devices/capability-properties/lock.js.map +1 -1
  10. package/lib/seam/connect/models/devices/capability-properties/thermostat.js +175 -31
  11. package/lib/seam/connect/models/devices/capability-properties/thermostat.js.map +1 -1
  12. package/lib/seam/connect/models/devices/device-metadata.js +455 -191
  13. package/lib/seam/connect/models/devices/device-metadata.js.map +1 -1
  14. package/lib/seam/connect/models/devices/device-type.js +8 -6
  15. package/lib/seam/connect/models/devices/device-type.js.map +1 -1
  16. package/lib/seam/connect/models/devices/device.js +171 -80
  17. package/lib/seam/connect/models/devices/device.js.map +1 -1
  18. package/lib/seam/connect/models/devices/phone-properties.js +5 -7
  19. package/lib/seam/connect/models/devices/phone-properties.js.map +1 -1
  20. package/lib/seam/connect/models/devices/phone.js +22 -8
  21. package/lib/seam/connect/models/devices/phone.js.map +1 -1
  22. package/lib/seam/connect/models/devices/unmanaged-device.js +35 -1
  23. package/lib/seam/connect/models/devices/unmanaged-device.js.map +1 -1
  24. package/lib/seam/connect/models/events/devices.d.ts +4 -4
  25. package/lib/seam/connect/models/events/seam-event.d.ts +2 -2
  26. package/lib/seam/connect/models/index.d.ts +1 -0
  27. package/lib/seam/connect/models/index.js +1 -0
  28. package/lib/seam/connect/models/index.js.map +1 -1
  29. package/lib/seam/connect/models/partner/index.d.ts +1 -0
  30. package/lib/seam/connect/models/partner/index.js +2 -0
  31. package/lib/seam/connect/models/partner/index.js.map +1 -0
  32. package/lib/seam/connect/models/partner/resources.d.ts +42 -0
  33. package/lib/seam/connect/models/partner/resources.js +19 -0
  34. package/lib/seam/connect/models/partner/resources.js.map +1 -0
  35. package/lib/seam/connect/openapi.d.ts +782 -50
  36. package/lib/seam/connect/openapi.js +1173 -199
  37. package/lib/seam/connect/openapi.js.map +1 -1
  38. package/lib/seam/connect/route-types.d.ts +6228 -318
  39. package/package.json +2 -2
  40. package/src/lib/seam/connect/models/devices/capabilities-supported.ts +3 -1
  41. package/src/lib/seam/connect/models/devices/capability-properties/access-code.ts +64 -34
  42. package/src/lib/seam/connect/models/devices/capability-properties/lock.ts +20 -4
  43. package/src/lib/seam/connect/models/devices/capability-properties/thermostat.ts +175 -31
  44. package/src/lib/seam/connect/models/devices/device-metadata.ts +457 -193
  45. package/src/lib/seam/connect/models/devices/device-type.ts +10 -6
  46. package/src/lib/seam/connect/models/devices/device.ts +173 -96
  47. package/src/lib/seam/connect/models/devices/phone-properties.ts +34 -36
  48. package/src/lib/seam/connect/models/devices/phone.ts +22 -19
  49. package/src/lib/seam/connect/models/devices/unmanaged-device.ts +35 -1
  50. package/src/lib/seam/connect/models/index.ts +1 -0
  51. package/src/lib/seam/connect/models/partner/index.ts +1 -0
  52. package/src/lib/seam/connect/models/partner/resources.ts +24 -0
  53. package/src/lib/seam/connect/openapi.ts +1417 -204
  54. package/src/lib/seam/connect/route-types.ts +6231 -318
package/dist/connect.cjs CHANGED
@@ -53,7 +53,9 @@ var capabilities = zod.z.enum([
53
53
  "thermostat",
54
54
  "battery",
55
55
  "phone"
56
- ]);
56
+ ]).describe(`
57
+ Collection of capabilities that the device supports when connected to Seam. **Important:** Superseded by [capability flags](https://docs.seam.co/latest/capability-guides/device-and-system-capabilities#capability-flags).
58
+ `);
57
59
  var access_code_code_constraint = zod.z.object({
58
60
  constraint_type: zod.z.enum([
59
61
  "no_zeros",
@@ -76,34 +78,69 @@ var access_code_code_constraint = zod.z.object({
76
78
  // TTLock
77
79
  "cannot_contain_0789"
78
80
  // TTLock (for some cylinder devices only)
79
- ])
80
- });
81
+ ]).describe(`Code constraint type for access codes.`)
82
+ }).describe(`Code constraint for access codes.`);
81
83
  var access_code_name_constraint = zod.z.object({
82
84
  constraint_type: zod.z.enum(["name_length", "name_must_be_unique"]),
83
85
  // Nuki, Kwikset
84
- min_length: zod.z.number().optional(),
85
- max_length: zod.z.number().optional()
86
- });
87
- var access_code_constraint = zod.z.union([
88
- access_code_code_constraint,
89
- access_code_name_constraint
90
- ]);
86
+ min_length: zod.z.number().optional().describe(`Minimum name length constraint for access codes.`),
87
+ max_length: zod.z.number().optional().describe(`Maximum name length constraint for access codes.`)
88
+ }).describe(`Name constraint for access codes.`);
89
+ var access_code_constraint = zod.z.union([access_code_code_constraint, access_code_name_constraint]).describe(`Access code constraint.`);
91
90
  var access_code_capability_properties = zod.z.object({
92
- _experimental_supported_code_from_access_codes_lengths: zod.z.array(zod.z.number()).optional(),
93
- code_constraints: zod.z.array(access_code_constraint).optional().describe(
94
- "Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific."
95
- ),
96
- supported_code_lengths: zod.z.array(zod.z.number()).optional(),
97
- max_active_codes_supported: zod.z.number().optional(),
98
- supports_backup_access_code_pool: zod.z.boolean().optional(),
99
- has_native_entry_events: zod.z.boolean().optional()
91
+ _experimental_supported_code_from_access_codes_lengths: zod.z.array(zod.z.number()).optional().describe(`
92
+ ---
93
+ undocumented: Marked as experimental.
94
+ ---
95
+ `),
96
+ code_constraints: zod.z.array(access_code_constraint).optional().describe(`
97
+ ---
98
+ property_group_key: access_codes
99
+ ---
100
+ Constraints on access codes for the device. Seam represents each constraint as an object with a \`constraint_type\` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific.`),
101
+ supported_code_lengths: zod.z.array(zod.z.number()).optional().describe(`
102
+ ---
103
+ property_group_key: access_codes
104
+ ---
105
+ Supported code lengths for access codes.`),
106
+ max_active_codes_supported: zod.z.number().optional().describe(`
107
+ ---
108
+ property_group_key: access_codes
109
+ ---
110
+ Maximum number of active access codes that the device supports.`),
111
+ supports_backup_access_code_pool: zod.z.boolean().optional().describe(`
112
+ ---
113
+ property_group_key: access_codes
114
+ ---
115
+ Indicates whether the device supports a [backup access code pool](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes).`),
116
+ has_native_entry_events: zod.z.boolean().optional().describe(`
117
+ ---
118
+ property_group_key: access_codes
119
+ ---
120
+ Indicates whether the device supports native entry events.`)
100
121
  });
101
122
  var lock_capability_properties = zod.z.object({
102
- locked: zod.z.boolean().optional(),
123
+ locked: zod.z.boolean().optional().describe(`
124
+ ---
125
+ property_group_key: locks
126
+ ---
127
+ Indicates whether the lock is locked.
128
+ `),
103
129
  keypad_battery: zod.z.object({
104
- level: zod.z.number()
105
- }).optional(),
106
- door_open: zod.z.boolean().optional()
130
+ level: zod.z.number().describe(`Keypad battery charge level.
131
+ `)
132
+ }).optional().describe(`
133
+ ---
134
+ property_group_key: access_codes
135
+ ---
136
+ Keypad battery status.
137
+ `),
138
+ door_open: zod.z.boolean().optional().describe(`
139
+ ---
140
+ property_group_key: locks
141
+ ---
142
+ Indicates whether the door is open.
143
+ `)
107
144
  });
108
145
  var hvac_mode_setting = zod.z.enum(["off", "heat", "cool", "heat_cool"]);
109
146
  var fan_mode_setting = zod.z.enum(["auto", "on", "circulate"]);
@@ -249,53 +286,189 @@ var thermostat_schedule = zod.z.object({
249
286
 
250
287
  // src/lib/seam/connect/models/devices/capability-properties/thermostat.ts
251
288
  var thermostat_capability_properties = zod.z.object({
252
- temperature_fahrenheit: zod.z.number(),
253
- temperature_celsius: zod.z.number(),
254
- relative_humidity: zod.z.number().min(0).max(1),
255
- available_hvac_mode_settings: zod.z.array(hvac_mode_setting),
256
- available_fan_mode_settings: zod.z.array(fan_mode_setting),
257
- is_heating: zod.z.boolean(),
258
- is_cooling: zod.z.boolean(),
259
- is_fan_running: zod.z.boolean(),
289
+ temperature_fahrenheit: zod.z.number().describe(`
290
+ ---
291
+ property_group_key: thermostats
292
+ ---
293
+ Reported temperature in \xB0F.
294
+ `),
295
+ temperature_celsius: zod.z.number().describe(`
296
+ ---
297
+ property_group_key: thermostats
298
+ ---
299
+ Reported temperature in \xB0C.
300
+ `),
301
+ relative_humidity: zod.z.number().min(0).max(1).describe(`
302
+ ---
303
+ property_group_key: thermostats
304
+ ---
305
+ Reported relative humidity, as a value between 0 and 1, inclusive.
306
+ `),
307
+ available_hvac_mode_settings: zod.z.array(hvac_mode_setting).describe(`
308
+ ---
309
+ property_group_key: thermostats
310
+ ---
311
+ HVAC mode settings that the thermostat supports.
312
+ `),
313
+ available_fan_mode_settings: zod.z.array(fan_mode_setting).describe(`
314
+ ---
315
+ property_group_key: thermostats
316
+ ---
317
+ Fan mode settings that the thermostat supports.
318
+ `),
319
+ is_heating: zod.z.boolean().describe(`
320
+ ---
321
+ property_group_key: thermostats
322
+ ---
323
+ Indicates whether the connected HVAC system is currently heating, as reported by the thermostat.
324
+ `),
325
+ is_cooling: zod.z.boolean().describe(`
326
+ ---
327
+ property_group_key: thermostats
328
+ ---
329
+ Indicates whether the connected HVAC system is currently cooling, as reported by the thermostat.
330
+ `),
331
+ is_fan_running: zod.z.boolean().describe(`
332
+ ---
333
+ property_group_key: thermostats
334
+ ---
335
+ Indicates whether the fan in the connected HVAC system is currently running, as reported by the thermostat.
336
+ `),
260
337
  fan_mode_setting: fan_mode_setting.describe(`
261
338
  ---
262
- deprecated: use current_climate_setting.fan_mode_setting instead.
339
+ deprecated: Use \`current_climate_setting.fan_mode_setting\` instead.
340
+ property_group_key: thermostats
263
341
  ---
264
342
  `),
265
343
  /**
266
344
  * this is true if the current thermostat settings differ that what is on seam, and `current_climate_setting.manual_override_allowed: true`
267
345
  */
268
- is_temporary_manual_override_active: zod.z.boolean(),
346
+ is_temporary_manual_override_active: zod.z.boolean().describe(`
347
+ ---
348
+ property_group_key: thermostats
349
+ ---
350
+ Indicates whether the current thermostat settings differ from the most recent active program or schedule that Seam activated. For this condition to occur, \`current_climate_setting.manual_override_allowed\` must also be \`true\`.
351
+ `),
269
352
  /**
270
353
  * can be derived from `fallback_climate_preset_key`, or `active_thermostat_schedule` if one is active
271
354
  */
272
- current_climate_setting: climate_setting,
355
+ current_climate_setting: climate_setting.describe(`
356
+ ---
357
+ property_group_key: thermostats
358
+ ---
359
+ Current climate setting.
360
+ `),
273
361
  default_climate_setting: climate_setting.describe(`
274
362
  ---
275
363
  deprecated: use fallback_climate_preset_key to specify a fallback climate preset instead.
364
+ property_group_key: thermostats
276
365
  ---
277
366
  `),
278
- available_climate_presets: zod.z.array(climate_preset),
279
- fallback_climate_preset_key: zod.z.string().min(1).nullable().default(null),
280
- active_thermostat_schedule: thermostat_schedule.nullable().default(null),
281
- thermostat_daily_programs: zod.z.array(thermostat_daily_program).optional(),
282
- thermostat_weekly_program: thermostat_weekly_program.nullable().optional(),
283
- min_cooling_set_point_celsius: zod.z.number(),
284
- min_cooling_set_point_fahrenheit: zod.z.number(),
285
- max_cooling_set_point_celsius: zod.z.number(),
286
- max_cooling_set_point_fahrenheit: zod.z.number(),
287
- min_heating_set_point_celsius: zod.z.number(),
288
- min_heating_set_point_fahrenheit: zod.z.number(),
289
- max_heating_set_point_celsius: zod.z.number(),
290
- max_heating_set_point_fahrenheit: zod.z.number(),
291
- min_heating_cooling_delta_celsius: zod.z.number(),
292
- min_heating_cooling_delta_fahrenheit: zod.z.number(),
367
+ available_climate_presets: zod.z.array(climate_preset).describe(`
368
+ ---
369
+ property_group_key: thermostats
370
+ ---
371
+ Available [climate presets](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) for the thermostat.
372
+ `),
373
+ fallback_climate_preset_key: zod.z.string().min(1).nullable().default(null).describe(`
374
+ ---
375
+ property_group_key: thermostats
376
+ ---
377
+ Key of the [fallback climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset) for the thermostat.
378
+ `),
379
+ active_thermostat_schedule: thermostat_schedule.nullable().default(null).describe(`
380
+ ---
381
+ property_group_key: thermostats
382
+ ---
383
+ Active [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
384
+ `),
385
+ thermostat_daily_programs: zod.z.array(thermostat_daily_program).optional().describe(`
386
+ ---
387
+ property_group_key: thermostats
388
+ ---
389
+ Configured [daily programs](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-programs) for the thermostat.
390
+ `),
391
+ thermostat_weekly_program: thermostat_weekly_program.nullable().optional().describe(`
392
+ ---
393
+ property_group_key: thermostats
394
+ ---
395
+ Current [weekly program](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-programs) for the thermostat.
396
+ `),
397
+ min_cooling_set_point_celsius: zod.z.number().describe(`
398
+ ---
399
+ property_group_key: thermostats
400
+ ---
401
+ Minimum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in \xB0C.
402
+ `),
403
+ min_cooling_set_point_fahrenheit: zod.z.number().describe(`
404
+ ---
405
+ property_group_key: thermostats
406
+ ---
407
+ Minimum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in \xB0F.
408
+ `),
409
+ max_cooling_set_point_celsius: zod.z.number().describe(`
410
+ ---
411
+ property_group_key: thermostats
412
+ ---
413
+ Maximum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in \xB0C.
414
+ `),
415
+ max_cooling_set_point_fahrenheit: zod.z.number().describe(`
416
+ ---
417
+ property_group_key: thermostats
418
+ ---
419
+ Maximum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in \xB0F.
420
+ `),
421
+ min_heating_set_point_celsius: zod.z.number().describe(`
422
+ ---
423
+ property_group_key: thermostats
424
+ ---
425
+ Minimum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in \xB0C.
426
+ `),
427
+ min_heating_set_point_fahrenheit: zod.z.number().describe(`
428
+ ---
429
+ property_group_key: thermostats
430
+ ---
431
+ Minimum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in \xB0F.
432
+ `),
433
+ max_heating_set_point_celsius: zod.z.number().describe(`
434
+ ---
435
+ property_group_key: thermostats
436
+ ---
437
+ Maximum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in \xB0C.
438
+ `),
439
+ max_heating_set_point_fahrenheit: zod.z.number().describe(`
440
+ ---
441
+ property_group_key: thermostats
442
+ ---
443
+ Maximum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in \xB0F.
444
+ `),
445
+ min_heating_cooling_delta_celsius: zod.z.number().describe(`
446
+ ---
447
+ property_group_key: thermostats
448
+ ---
449
+ Minimum [temperature difference](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#minimum-heating-cooling-temperature-delta) in \xB0C between the cooling and heating set points when in heat-cool (auto) mode.
450
+ `),
451
+ min_heating_cooling_delta_fahrenheit: zod.z.number().describe(`
452
+ ---
453
+ property_group_key: thermostats
454
+ ---
455
+ Minimum [temperature difference](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#minimum-heating-cooling-temperature-delta) in \xB0F between the cooling and heating set points when in heat-cool (auto) mode.
456
+ `),
293
457
  temperature_threshold: zod.z.object({
294
- lower_limit_celsius: zod.z.number().nullable(),
295
- lower_limit_fahrenheit: zod.z.number().nullable(),
296
- upper_limit_celsius: zod.z.number().nullable(),
297
- upper_limit_fahrenheit: zod.z.number().nullable()
298
- }).optional()
458
+ lower_limit_celsius: zod.z.number().nullable().describe(`Lower limit in \xB0C within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
459
+ `),
460
+ lower_limit_fahrenheit: zod.z.number().nullable().describe(`Lower limit in \xB0F within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
461
+ `),
462
+ upper_limit_celsius: zod.z.number().nullable().describe(`Upper limit in \xB0C within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
463
+ `),
464
+ upper_limit_fahrenheit: zod.z.number().nullable().describe(`Upper limit in \xB0F within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
465
+ `)
466
+ }).optional().describe(`
467
+ ---
468
+ property_group_key: thermostats
469
+ ---
470
+ Current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.
471
+ `)
299
472
  }).partial();
300
473
 
301
474
  // src/lib/seam/connect/models/devices/capability-properties/index.ts
@@ -682,251 +855,452 @@ var connected_account = zod.z.object({
682
855
  Represents a [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts). A connected account is an external third-party account to which your user has authorized Seam to get access, for example, an August account with a list of door locks.
683
856
  `);
684
857
  var dormakaba_oracode_time_slot = zod.z.object({
685
- name: zod.z.string(),
686
- prefix: zod.z.number(),
858
+ name: zod.z.string().describe(`Name of a time slot for a dormakaba Oracode device.
859
+ `),
860
+ prefix: zod.z.number().describe(`Prefix for a time slot for a dormakaba Oracode device.
861
+ `),
687
862
  // Seam TOD
688
- check_in_time: zod.z.string(),
863
+ check_in_time: zod.z.string().describe(`Check in time for a time slot for a dormakaba Oracode device.
864
+ `),
689
865
  // Seam TOD
690
- check_out_time: zod.z.string(),
691
- is_24_hour: zod.z.boolean(),
692
- is_biweekly_mode: zod.z.boolean(),
693
- is_one_shot: zod.z.boolean(),
694
- is_master: zod.z.boolean(),
695
- ext_dormakaba_oracode_user_level_prefix: zod.z.number(),
696
- dormakaba_oracode_user_level_id: zod.z.string().uuid()
697
- });
866
+ check_out_time: zod.z.string().describe(`Checkout time for a time slot for a dormakaba Oracode device.
867
+ `),
868
+ is_24_hour: zod.z.boolean().describe(`Indicates whether a time slot for a dormakaba Oracode device is a 24-hour time slot.
869
+ `),
870
+ is_biweekly_mode: zod.z.boolean().describe(`Indicates whether a time slot for a dormakaba Oracode device is in biweekly mode.
871
+ `),
872
+ is_one_shot: zod.z.boolean().describe(`Indicates whether a time slot for a dormakaba Oracode device is a one-shot time slot.
873
+ `),
874
+ is_master: zod.z.boolean().describe(`Indicates whether a time slot for a dormakaba Oracode device is a master time slot.
875
+ `),
876
+ ext_dormakaba_oracode_user_level_prefix: zod.z.number().describe(`Prefix for a user level for a dormakaba Oracode device.
877
+ `),
878
+ dormakaba_oracode_user_level_id: zod.z.string().uuid().describe(`ID of a user level for a dormakaba Oracode device.
879
+ `)
880
+ }).describe(`Time slot for a dormakaba Oracode device.
881
+ `);
698
882
  var device_metadata = zod.z.object({
699
883
  august_metadata: zod.z.object({
700
- lock_id: zod.z.string(),
701
- lock_name: zod.z.string(),
702
- house_name: zod.z.string(),
703
- has_keypad: zod.z.boolean(),
704
- keypad_battery_level: zod.z.string().optional(),
705
- model: zod.z.string().optional(),
706
- house_id: zod.z.string().optional()
707
- }),
884
+ lock_id: zod.z.string().describe(`Lock ID for an August device.
885
+ `),
886
+ lock_name: zod.z.string().describe(`Lock name for an August device.
887
+ `),
888
+ house_name: zod.z.string().describe(`House name for an August device.
889
+ `),
890
+ has_keypad: zod.z.boolean().describe(`Indicates whether an August device has a keypad.
891
+ `),
892
+ keypad_battery_level: zod.z.string().optional().describe(`Keypad battery level for an August device.
893
+ `),
894
+ model: zod.z.string().optional().describe(`Model for an August device.
895
+ `),
896
+ house_id: zod.z.string().optional().describe(`House ID for an August device.
897
+ `)
898
+ }).describe(`Metadata for an August device.
899
+ `),
708
900
  avigilon_alta_metadata: zod.z.object({
709
- entry_name: zod.z.string(),
710
- org_name: zod.z.string(),
711
- zone_id: zod.z.number(),
712
- zone_name: zod.z.string(),
713
- site_id: zod.z.number(),
714
- site_name: zod.z.string(),
715
- entry_relays_total_count: zod.z.number()
716
- }),
901
+ entry_name: zod.z.string().describe(`Entry name for an Avigilon Alta system.
902
+ `),
903
+ org_name: zod.z.string().describe(`Organization name for an Avigilon Alta system.
904
+ `),
905
+ zone_id: zod.z.number().describe(`Zone ID for an Avigilon Alta system.
906
+ `),
907
+ zone_name: zod.z.string().describe(`Zone name for an Avigilon Alta system.
908
+ `),
909
+ site_id: zod.z.number().describe(`Site ID for an Avigilon Alta system.
910
+ `),
911
+ site_name: zod.z.string().describe(`Site name for an Avigilon Alta system.
912
+ `),
913
+ entry_relays_total_count: zod.z.number().describe(`Total count of entry relays for an Avigilon Alta system.
914
+ `)
915
+ }).describe(`Metadata for an Avigilon Alta system.
916
+ `),
717
917
  schlage_metadata: zod.z.object({
718
- device_id: zod.z.string(),
719
- device_name: zod.z.string(),
720
- model: zod.z.string().optional()
721
- }),
918
+ device_id: zod.z.string().describe(`Device ID for a Schlage device.
919
+ `),
920
+ device_name: zod.z.string().describe(`Device name for a Schlage device.
921
+ `),
922
+ model: zod.z.string().optional().describe(`Model for a Schlage device.
923
+ `)
924
+ }).describe(`Metadata for a Schlage device.
925
+ `),
722
926
  smartthings_metadata: zod.z.object({
723
- device_id: zod.z.string(),
724
- device_name: zod.z.string(),
725
- model: zod.z.string().optional(),
726
- location_id: zod.z.string().optional()
727
- }),
927
+ device_id: zod.z.string().describe(`Device ID for a SmartThings device.
928
+ `),
929
+ device_name: zod.z.string().describe(`Device name for a SmartThings device.
930
+ `),
931
+ model: zod.z.string().optional().describe(`Model for a SmartThings device.
932
+ `),
933
+ location_id: zod.z.string().optional().describe(`Location ID for a SmartThings device.
934
+ `)
935
+ }).describe(`Metadata for a SmartThings device.
936
+ `),
728
937
  lockly_metadata: zod.z.object({
729
- device_id: zod.z.string(),
730
- device_name: zod.z.string(),
731
- model: zod.z.string().optional()
732
- }),
938
+ device_id: zod.z.string().describe(`Device ID for a Lockly device.
939
+ `),
940
+ device_name: zod.z.string().describe(`Device name for a Lockly device.
941
+ `),
942
+ model: zod.z.string().optional().describe(`Model for a Lockly device.
943
+ `)
944
+ }).describe(`Metadata for a Lockly device.
945
+ `),
733
946
  nuki_metadata: zod.z.object({
734
- device_id: zod.z.string(),
735
- device_name: zod.z.string(),
736
- keypad_battery_critical: zod.z.boolean().optional(),
737
- keypad_paired: zod.z.boolean().optional(),
738
- keypad_2_paired: zod.z.boolean().optional()
739
- }),
947
+ device_id: zod.z.string().describe(`Device ID for a Nuki device.
948
+ `),
949
+ device_name: zod.z.string().describe(`Device name for a Nuki device.
950
+ `),
951
+ keypad_battery_critical: zod.z.boolean().optional().describe(`Indicates whether the keypad battery is in a critical state for a Nuki device.
952
+ `),
953
+ keypad_paired: zod.z.boolean().optional().describe(`Indicates whether the keypad is paired for a Nuki device.
954
+ `),
955
+ keypad_2_paired: zod.z.boolean().optional().describe(`Indicates whether keypad 2 is paired for a Nuki device.
956
+ `)
957
+ }).describe(`Metadata for a Nuki device.
958
+ `),
740
959
  kwikset_metadata: zod.z.object({
741
- device_id: zod.z.string(),
742
- device_name: zod.z.string(),
743
- model_number: zod.z.string()
744
- }),
960
+ device_id: zod.z.string().describe(`Device ID for a Kwikset device.
961
+ `),
962
+ device_name: zod.z.string().describe(`Device name for a Kwikset device.
963
+ `),
964
+ model_number: zod.z.string().describe(`Model number for a Kwikset device.
965
+ `)
966
+ }).describe(`Metadata for a Kwikset device.
967
+ `),
745
968
  salto_metadata: zod.z.object({
746
- lock_id: zod.z.string(),
747
- customer_reference: zod.z.string(),
748
- lock_type: zod.z.string(),
749
- battery_level: zod.z.string(),
750
- locked_state: zod.z.string(),
751
- model: zod.z.string().optional()
969
+ lock_id: zod.z.string().describe(`Lock ID for a Salto device.
970
+ `),
971
+ customer_reference: zod.z.string().describe(`Customer reference for a Salto device.
972
+ `),
973
+ lock_type: zod.z.string().describe(`Lock type for a Salto device.
974
+ `),
975
+ battery_level: zod.z.string().describe(`Battery level for a Salto device.
976
+ `),
977
+ locked_state: zod.z.string().describe(`Locked state for a Salto device.
978
+ `),
979
+ model: zod.z.string().optional().describe(`Model for a Salto device.
980
+ `)
752
981
  }).describe(`
753
982
  ---
754
983
  deprecated: Use \`salto_ks_metadata \` instead.
984
+ ---
985
+ Metada for a Salto device.
755
986
  `),
756
987
  salto_ks_metadata: zod.z.object({
757
- lock_id: zod.z.string(),
758
- customer_reference: zod.z.string(),
759
- lock_type: zod.z.string(),
760
- battery_level: zod.z.string(),
761
- locked_state: zod.z.string(),
762
- model: zod.z.string().optional()
763
- }),
988
+ lock_id: zod.z.string().describe(`Lock ID for a Salto KS device.
989
+ `),
990
+ customer_reference: zod.z.string().describe(`Customer reference for a Salto KS device.
991
+ `),
992
+ lock_type: zod.z.string().describe(`Lock type for a Salto KS device.
993
+ `),
994
+ battery_level: zod.z.string().describe(`Battery level for a Salto KS device.
995
+ `),
996
+ locked_state: zod.z.string().describe(`Locked state for a Salto KS device.
997
+ `),
998
+ model: zod.z.string().optional().describe(`Model for a Salto KS device.
999
+ `)
1000
+ }).describe(`Metadata for a Salto KS device.
1001
+ `),
764
1002
  genie_metadata: zod.z.object({
765
- device_name: zod.z.string(),
766
- door_name: zod.z.string()
767
- }),
1003
+ device_name: zod.z.string().describe(`Lock name for a Genie device.
1004
+ `),
1005
+ door_name: zod.z.string().describe(`Door name for a Genie device.
1006
+ `)
1007
+ }).describe(`Metadata for a Genie device.
1008
+ `),
768
1009
  brivo_metadata: zod.z.object({
769
- device_name: zod.z.string()
770
- }),
1010
+ device_name: zod.z.string().describe(`Device name for a Brivo device.
1011
+ `)
1012
+ }).describe(`Metadata for a Brivo device.
1013
+ `),
771
1014
  igloo_metadata: zod.z.object({
772
- device_id: zod.z.string(),
773
- bridge_id: zod.z.string(),
774
- model: zod.z.string().optional()
775
- }),
1015
+ device_id: zod.z.string().describe(`Device ID for an igloo device.
1016
+ `),
1017
+ bridge_id: zod.z.string().describe(`Bridge ID for an igloo device.
1018
+ `),
1019
+ model: zod.z.string().optional().describe(`Model for an igloo device.
1020
+ `)
1021
+ }).describe(`Metadata for an igloo device.
1022
+ `),
776
1023
  noiseaware_metadata: zod.z.object({
777
- device_model: zod.z.enum(["indoor", "outdoor"]),
778
- noise_level_nrs: zod.z.number(),
779
- noise_level_decibel: zod.z.number(),
780
- device_name: zod.z.string(),
781
- device_id: zod.z.string()
782
- }),
1024
+ device_model: zod.z.enum(["indoor", "outdoor"]).describe(`Device model for a NoiseAware device.
1025
+ `),
1026
+ noise_level_nrs: zod.z.number().describe(`Noise level, expressed as a Noise Risk Score (NRS), for a NoiseAware device.
1027
+ `),
1028
+ noise_level_decibel: zod.z.number().describe(`Noise level, in decibels, for a NoiseAware device.
1029
+ `),
1030
+ device_name: zod.z.string().describe(`Device name for a NoiseAware device.
1031
+ `),
1032
+ device_id: zod.z.string().describe(`Device ID for a NoiseAware device.
1033
+ `)
1034
+ }).describe(`Metadata for a NoiseAware device.
1035
+ `),
783
1036
  minut_metadata: zod.z.object({
784
- device_id: zod.z.string(),
785
- device_name: zod.z.string(),
1037
+ device_id: zod.z.string().describe(`Device ID for a Minut device.
1038
+ `),
1039
+ device_name: zod.z.string().describe(`Device name for a Minut device.
1040
+ `),
786
1041
  latest_sensor_values: zod.z.object({
787
1042
  temperature: zod.z.object({
788
- time: zod.z.string(),
789
- value: zod.z.number()
790
- }),
1043
+ time: zod.z.string().describe(`Time of latest temperature reading for a Minut device.
1044
+ `),
1045
+ value: zod.z.number().describe(`Value of latest temperature reading for a Minut device.
1046
+ `)
1047
+ }).describe(`Latest temperature reading for a Minut device.
1048
+ `),
791
1049
  sound: zod.z.object({
792
- time: zod.z.string(),
793
- value: zod.z.number()
794
- }),
1050
+ time: zod.z.string().describe(`Time of latest sound reading for a Minut device.
1051
+ `),
1052
+ value: zod.z.number().describe(`Value of latest sound reading for a Minut device.
1053
+ `)
1054
+ }).describe(`Latest sound reading for a Minut device.
1055
+ `),
795
1056
  humidity: zod.z.object({
796
- time: zod.z.string(),
797
- value: zod.z.number()
798
- }),
1057
+ time: zod.z.string().describe(`Time of latest humidity reading for a Minut device.
1058
+ `),
1059
+ value: zod.z.number().describe(`Value of latest humidity reading for a Minut device.
1060
+ `)
1061
+ }).describe(`Latest humidity reading for a Minut device.
1062
+ `),
799
1063
  pressure: zod.z.object({
800
- time: zod.z.string(),
801
- value: zod.z.number()
802
- }),
1064
+ time: zod.z.string().describe(`Time of latest pressure reading for a Minut device.
1065
+ `),
1066
+ value: zod.z.number().describe(`Value of latest pressure reading for a Minut device.
1067
+ `)
1068
+ }).describe(`Latest pressure reading for a Minut device.
1069
+ `),
803
1070
  accelerometer_z: zod.z.object({
804
- time: zod.z.string(),
805
- value: zod.z.number()
806
- })
807
- })
808
- }),
1071
+ time: zod.z.string().describe(`Time of latest accelerometer Z-axis reading for a Minut device.
1072
+ `),
1073
+ value: zod.z.number().describe(`Value of latest accelerometer Z-axis reading for a Minut device.
1074
+ `)
1075
+ }).describe(`Latest accelerometer Z-axis reading for a Minut device.
1076
+ `)
1077
+ }).describe(`Latest sensor values for a Minut device.
1078
+ `)
1079
+ }).describe(`Metadata for a Minut device.
1080
+ `),
809
1081
  four_suites_metadata: zod.z.object({
810
- device_id: zod.z.number(),
811
- device_name: zod.z.string(),
812
- reclose_delay_in_seconds: zod.z.number()
813
- }),
1082
+ device_id: zod.z.number().describe(`Device ID for a 4SUITES device.
1083
+ `),
1084
+ device_name: zod.z.string().describe(`Device name for a 4SUITES device.
1085
+ `),
1086
+ reclose_delay_in_seconds: zod.z.number().describe(`Reclose delay, in seconds, for a 4SUITES device.
1087
+ `)
1088
+ }).describe(`Metadata for a 4SUITES device.
1089
+ `),
814
1090
  two_n_metadata: zod.z.object({
815
- device_id: zod.z.number(),
816
- device_name: zod.z.string()
817
- }),
1091
+ device_id: zod.z.number().describe(`Device ID for a 2N device.
1092
+ `),
1093
+ device_name: zod.z.string().describe(`Device name for a 2N device.
1094
+ `)
1095
+ }).describe(`Metadata for a 2N device.
1096
+ `),
818
1097
  controlbyweb_metadata: zod.z.object({
819
- device_id: zod.z.string(),
820
- device_name: zod.z.string(),
821
- relay_name: zod.z.string().nullable()
822
- }),
1098
+ device_id: zod.z.string().describe(`Device ID for a ControlByWeb device.
1099
+ `),
1100
+ device_name: zod.z.string().describe(`Device name for a ControlByWeb device.
1101
+ `),
1102
+ relay_name: zod.z.string().nullable().describe(`Relay name for a ControlByWeb device.
1103
+ `)
1104
+ }).describe(`Metadata for a ControlByWeb device.
1105
+ `),
823
1106
  ttlock_metadata: zod.z.object({
824
- lock_id: zod.z.number(),
825
- lock_alias: zod.z.string(),
826
- feature_value: zod.z.string(),
1107
+ lock_id: zod.z.number().describe(`Lock ID for a TTLock device.
1108
+ `),
1109
+ lock_alias: zod.z.string().describe(`Lock alias for a TTLock device.
1110
+ `),
1111
+ feature_value: zod.z.string().describe(`Feature value for a TTLock device.
1112
+ `),
827
1113
  features: zod.z.object({
828
- passcode: zod.z.boolean(),
829
- passcode_management: zod.z.boolean(),
830
- unlock_via_gateway: zod.z.boolean(),
831
- lock_command: zod.z.boolean(),
832
- incomplete_keyboard_passcode: zod.z.boolean(),
833
- wifi: zod.z.boolean()
834
- }),
835
- has_gateway: zod.z.boolean().optional(),
1114
+ passcode: zod.z.boolean().describe(`Indicates whether a TTLock device supports a passcode.
1115
+ `),
1116
+ passcode_management: zod.z.boolean().describe(`Indicates whether a TTLock device supports passcode management.
1117
+ `),
1118
+ unlock_via_gateway: zod.z.boolean().describe(`Indicates whether a TTLock device supports unlock via gateway.
1119
+ `),
1120
+ lock_command: zod.z.boolean().describe(`Indicates whether a TTLock device supports the lock command.
1121
+ `),
1122
+ incomplete_keyboard_passcode: zod.z.boolean().describe(`Indicates whether a TTLock device supports an incomplete keyboard passcode.
1123
+ `),
1124
+ wifi: zod.z.boolean().describe(`Indicates whether a TTLock device supports Wi-Fi.
1125
+ `)
1126
+ }).describe(`Features for a TTLock device.
1127
+ `),
1128
+ has_gateway: zod.z.boolean().optional().describe(`Indicates whether a TTLock device has a gateway.
1129
+ `),
836
1130
  wireless_keypads: zod.z.array(
837
1131
  zod.z.object({
838
- wireless_keypad_id: zod.z.number(),
839
- wireless_keypad_name: zod.z.string()
1132
+ wireless_keypad_id: zod.z.number().describe(`ID for a wireless keypad for a TTLock device.
1133
+ `),
1134
+ wireless_keypad_name: zod.z.string().describe(`Name for a wireless keypad for a TTLock device.
1135
+ `)
840
1136
  })
841
- ).optional()
842
- }),
1137
+ ).optional().describe(`Wireless keypads for a TTLock device.
1138
+ `)
1139
+ }).describe(`Metadata for a TTLock device.
1140
+ `),
843
1141
  seam_bridge_metadata: zod.z.object({
844
- unlock_method: zod.z.enum(["bridge", "doorking"]).optional(),
845
- device_num: zod.z.number(),
846
- name: zod.z.string()
847
- }),
1142
+ unlock_method: zod.z.enum(["bridge", "doorking"]).optional().describe(`Unlock method for Seam Bridge.
1143
+ `),
1144
+ device_num: zod.z.number().describe(`Device number for Seam Bridge.
1145
+ `),
1146
+ name: zod.z.string().describe(`Name for Seam Bridge.
1147
+ `)
1148
+ }).describe(`Metadata for Seam Bridge.
1149
+ `),
848
1150
  igloohome_metadata: zod.z.object({
849
- device_id: zod.z.string(),
850
- device_name: zod.z.string(),
851
- bridge_id: zod.z.string().optional(),
852
- bridge_name: zod.z.string().optional(),
853
- keypad_id: zod.z.string().optional()
854
- }),
1151
+ device_id: zod.z.string().describe(`Device ID for an igloohome device.
1152
+ `),
1153
+ device_name: zod.z.string().describe(`Device name for an igloohome device.
1154
+ `),
1155
+ bridge_id: zod.z.string().optional().describe(`Bridge ID for an igloohome device.
1156
+ `),
1157
+ bridge_name: zod.z.string().optional().describe(`Bridge name for an igloohome device.
1158
+ `),
1159
+ keypad_id: zod.z.string().optional().describe(`Keypad ID for an igloohome device.
1160
+ `)
1161
+ }).describe(`Metadata for an igloohome device.
1162
+ `),
855
1163
  nest_metadata: zod.z.object({
856
- nest_device_id: zod.z.string(),
857
- device_name: zod.z.string(),
1164
+ nest_device_id: zod.z.string().describe(`Device ID for a Google Nest device.
1165
+ `),
1166
+ device_name: zod.z.string().describe(`Device name for a Google Nest device. Google sets this value.
1167
+ `),
858
1168
  // set by Google
859
- device_custom_name: zod.z.string(),
1169
+ device_custom_name: zod.z.string().describe(`Custom device name for a Google Nest device. The device owner sets this value.
1170
+ `),
860
1171
  // set by device owner
861
- display_name: zod.z.string().optional()
862
- }),
1172
+ display_name: zod.z.string().optional().describe(`Display name for a Google Nest device.
1173
+ `)
1174
+ }).describe(`Metadata for a Google Nest device.
1175
+ `),
863
1176
  ecobee_metadata: zod.z.object({
864
- ecobee_device_id: zod.z.string(),
865
- device_name: zod.z.string()
866
- }),
1177
+ ecobee_device_id: zod.z.string().describe(`Device ID for an ecobee device.
1178
+ `),
1179
+ device_name: zod.z.string().describe(`Device name for an ecobee device.
1180
+ `)
1181
+ }).describe(`Metadata for an ecobee device.
1182
+ `),
867
1183
  honeywell_resideo_metadata: zod.z.object({
868
- honeywell_resideo_device_id: zod.z.string(),
869
- device_name: zod.z.string()
870
- }),
1184
+ honeywell_resideo_device_id: zod.z.string().describe(`Device ID for a Honeywell Resideo device.
1185
+ `),
1186
+ device_name: zod.z.string().describe(`Device name for a Honeywell Resideo device.
1187
+ `)
1188
+ }).describe(`Metadata for a Honeywell Resideo device.
1189
+ `),
871
1190
  hubitat_metadata: zod.z.object({
872
- device_id: zod.z.string(),
873
- device_name: zod.z.string(),
874
- device_label: zod.z.string()
875
- }),
1191
+ device_id: zod.z.string().describe(`Device ID for a Hubitat device.
1192
+ `),
1193
+ device_name: zod.z.string().describe(`Device name for a Hubitat device.
1194
+ `),
1195
+ device_label: zod.z.string().describe(`Device label for a Hubitat device.
1196
+ `)
1197
+ }).describe(`Metadata for a Hubitat device.
1198
+ `),
876
1199
  dormakaba_oracode_metadata: zod.z.object({
877
- door_id: zod.z.number().optional(),
878
- door_name: zod.z.string(),
879
- device_id: zod.z.number().or(zod.z.string()).optional(),
880
- door_is_wireless: zod.z.boolean(),
881
- site_id: zod.z.number().nullable().describe("@DEPRECATED"),
882
- site_name: zod.z.string(),
883
- iana_timezone: zod.z.string().optional(),
884
- predefined_time_slots: zod.z.array(dormakaba_oracode_time_slot).optional()
885
- }),
1200
+ door_id: zod.z.number().optional().describe(`Door ID for a dormakaba Oracode device.
1201
+ `),
1202
+ door_name: zod.z.string().describe(`Door name for a dormakaba Oracode device.
1203
+ `),
1204
+ device_id: zod.z.number().or(zod.z.string()).optional().describe(`Device ID for a dormakaba Oracode device.
1205
+ `),
1206
+ door_is_wireless: zod.z.boolean().describe(`Indicates whether a door is wireless for a dormakaba Oracode device.
1207
+ `),
1208
+ site_id: zod.z.number().nullable().describe(`
1209
+ ---
1210
+ deprecated: Previously marked as "@DEPRECATED."
1211
+ ---
1212
+ Site ID for a dormakaba Oracode device.
1213
+ `),
1214
+ site_name: zod.z.string().describe(`Site name for a dormakaba Oracode device.
1215
+ `),
1216
+ iana_timezone: zod.z.string().optional().describe(`IANA time zone for a dormakaba Oracode device.
1217
+ `),
1218
+ predefined_time_slots: zod.z.array(dormakaba_oracode_time_slot).optional().describe(`Predefined time slots for a dormakaba Oracode device.
1219
+ `)
1220
+ }).describe(`Metadata for a dormakaba Oracode device.
1221
+ `),
886
1222
  wyze_metadata: zod.z.object({
887
- device_id: zod.z.string(),
888
- device_name: zod.z.string(),
889
- product_name: zod.z.string(),
890
- product_type: zod.z.string(),
891
- product_model: zod.z.string(),
892
- device_info_model: zod.z.string(),
893
- keypad_uuid: zod.z.string().optional(),
894
- locker_status_hardlock: zod.z.number().optional()
895
- }),
1223
+ device_id: zod.z.string().describe(`Device ID for a Wyze device.
1224
+ `),
1225
+ device_name: zod.z.string().describe(`Device name for a Wyze device.
1226
+ `),
1227
+ product_name: zod.z.string().describe(`Product name for a Wyze device.
1228
+ `),
1229
+ product_type: zod.z.string().describe(`Product type for a Wyze device.
1230
+ `),
1231
+ product_model: zod.z.string().describe(`Product model for a Wyze device.
1232
+ `),
1233
+ device_info_model: zod.z.string().describe(`Device information model for a Wyze device.
1234
+ `),
1235
+ keypad_uuid: zod.z.string().optional().describe(`Keypad UUID for a Wyze device.
1236
+ `),
1237
+ locker_status_hardlock: zod.z.number().optional().describe(`Locker status (hardlock) for a Wyze device.
1238
+ `)
1239
+ }).describe(`Metadata for a Wyze device.
1240
+ `),
896
1241
  tedee_metadata: zod.z.object({
897
- device_id: zod.z.number(),
898
- serial_number: zod.z.string(),
899
- device_name: zod.z.string(),
900
- device_model: zod.z.string(),
901
- bridge_id: zod.z.number(),
902
- bridge_name: zod.z.string(),
903
- keypad_id: zod.z.number().optional()
904
- }),
1242
+ device_id: zod.z.number().describe(`Device ID for a Tedee device.
1243
+ `),
1244
+ serial_number: zod.z.string().describe(`Serial number for a Tedee device.
1245
+ `),
1246
+ device_name: zod.z.string().describe(`Device name for a Tedee device.
1247
+ `),
1248
+ device_model: zod.z.string().describe(`Device model for a Tedee device.
1249
+ `),
1250
+ bridge_id: zod.z.number().describe(`Bridge ID for a Tedee device.
1251
+ `),
1252
+ bridge_name: zod.z.string().describe(`Bridge name for a Tedee device.
1253
+ `),
1254
+ keypad_id: zod.z.number().optional().describe(`Keypad ID for a Tedee device.
1255
+ `)
1256
+ }).describe(`Metadata for a Tedee device.
1257
+ `),
905
1258
  visionline_metadata: zod.z.object({
906
- encoder_id: zod.z.string()
907
- }),
1259
+ encoder_id: zod.z.string().describe(`Encoder ID for an ASSA ABLOY Visionline system.
1260
+ `)
1261
+ }).describe(`Metadata for an ASSA ABLOY Visionline system.
1262
+ `),
908
1263
  akiles_metadata: zod.z.object({
909
- gadget_name: zod.z.string(),
910
- gadget_id: zod.z.string(),
911
- product_name: zod.z.string(),
1264
+ gadget_name: zod.z.string().describe(`Gadget name for an Akiles device.
1265
+ `),
1266
+ gadget_id: zod.z.string().describe(`Gadget ID for an Akiles device.
1267
+ `),
1268
+ product_name: zod.z.string().describe(`Product name for an Akiles device.
1269
+ `),
912
1270
  /**
913
1271
  * Group ID to add users to for this device
914
1272
  */
915
- _member_group_id: zod.z.string().optional()
916
- }),
1273
+ _member_group_id: zod.z.string().optional().describe(`Group ID to which to add users for an Akiles device.
1274
+ `)
1275
+ }).describe(`Metadata for an Akiles device.
1276
+ `),
917
1277
  assa_abloy_vostio_metadata: zod.z.object({
918
- encoder_name: zod.z.string()
919
- }),
1278
+ encoder_name: zod.z.string().describe(`Encoder name for an ASSA ABLOY Vostio system.
1279
+ `)
1280
+ }).describe(`Metadata for an ASSA ABLOY Vostio system.
1281
+ `),
920
1282
  tado_metadata: zod.z.object({
921
- serial_no: zod.z.string(),
922
- device_type: zod.z.string()
923
- }),
1283
+ serial_no: zod.z.string().describe(`Serial number for a tado\xB0 device.
1284
+ `),
1285
+ device_type: zod.z.string().describe(`Device type for a tado\xB0 device.
1286
+ `)
1287
+ }).describe(`Metadata for a tado\xB0 device.
1288
+ `),
924
1289
  sensi_metadata: zod.z.object({
925
- device_id: zod.z.string(),
926
- device_name: zod.z.string(),
927
- product_type: zod.z.string()
928
- })
929
- }).partial();
1290
+ device_id: zod.z.string().describe(`Device ID for a Sensi device.
1291
+ `),
1292
+ device_name: zod.z.string().describe(`Device name for a Sensi device.
1293
+ `),
1294
+ product_type: zod.z.string().describe(`Product type for a Sensi device.
1295
+ `)
1296
+ }).describe(`Metadata for a Sensi device.
1297
+ `)
1298
+ }).partial().describe(`
1299
+ ---
1300
+ property_group_key: provider_metadata
1301
+ ---
1302
+ Provider-specific metadata.
1303
+ `);
930
1304
  var LOCK_DEVICE_TYPE = {
931
1305
  AKUVOX_LOCK: "akuvox_lock",
932
1306
  AUGUST_LOCK: "august_lock",
@@ -958,14 +1332,16 @@ var LOCK_DEVICE_TYPE = {
958
1332
  };
959
1333
  var lock_device_type = zod.z.enum(
960
1334
  Object.values(LOCK_DEVICE_TYPE)
961
- );
1335
+ ).describe(`Device type for smartlocks.
1336
+ `);
962
1337
  var NOISE_SENSOR_DEVICE_TYPE = {
963
1338
  NOISEAWARE_ACTIVITY_ZONE: "noiseaware_activity_zone",
964
1339
  MINUT_SENSOR: "minut_sensor"
965
1340
  };
966
1341
  var noise_sensor_device_type = zod.z.enum(
967
1342
  Object.values(NOISE_SENSOR_DEVICE_TYPE)
968
- );
1343
+ ).describe(`Device type for noise sensors.
1344
+ `);
969
1345
  var THERMOSTAT_DEVICE_TYPE = {
970
1346
  ECOBEE_THERMOSTAT: "ecobee_thermostat",
971
1347
  NEST_THERMOSTAT: "nest_thermostat",
@@ -976,7 +1352,8 @@ var THERMOSTAT_DEVICE_TYPE = {
976
1352
  };
977
1353
  var thermostat_device_type = zod.z.enum(
978
1354
  Object.values(THERMOSTAT_DEVICE_TYPE)
979
- );
1355
+ ).describe(`Device type for thermostats.
1356
+ `);
980
1357
  var PHONE_DEVICE_TYPE = {
981
1358
  IOS_PHONE: "ios_phone",
982
1359
  ANDROID_PHONE: "android_phone"
@@ -984,7 +1361,10 @@ var PHONE_DEVICE_TYPE = {
984
1361
  var PHONE_DEVICE_TYPE_LIST = Object.values(
985
1362
  PHONE_DEVICE_TYPE
986
1363
  );
987
- var phone_device_type = zod.z.enum(Object.values(PHONE_DEVICE_TYPE_LIST)).describe("Type of phone.");
1364
+ var phone_device_type = zod.z.enum(
1365
+ Object.values(PHONE_DEVICE_TYPE_LIST)
1366
+ ).describe(`Device type for phones.
1367
+ `);
988
1368
  var any_device_type = zod.z.union([
989
1369
  lock_device_type,
990
1370
  noise_sensor_device_type,
@@ -1008,7 +1388,9 @@ var phone_specific_properties = zod.z.object({
1008
1388
  "Indicates whether the credential service has an active associated phone."
1009
1389
  )
1010
1390
  }).optional().describe("Salto Space credential service metadata for the phone.")
1011
- }).describe("Properties of the phone.");
1391
+ }).describe(`
1392
+ Properties of the phone.
1393
+ `);
1012
1394
 
1013
1395
  // src/lib/seam/connect/models/devices/device.ts
1014
1396
  var device_capability_flags2 = models_exports.device_capability_flags.extend({
@@ -1016,7 +1398,8 @@ var device_capability_flags2 = models_exports.device_capability_flags.extend({
1016
1398
  can_simulate_connection: zod.z.boolean().optional(),
1017
1399
  can_simulate_disconnection: zod.z.boolean().optional()
1018
1400
  });
1019
- var battery_status = zod.z.enum(["critical", "low", "good", "full"]);
1401
+ var battery_status = zod.z.enum(["critical", "low", "good", "full"]).describe(`Represents the current status of the battery charge level. Values are \`critical\`, which indicates an extremely low level, suggesting imminent shutdown or an urgent need for charging; \`low\`, which signifies that the battery is under the preferred threshold and should be charged soon; \`good\`, which denotes a satisfactory charge level, adequate for normal use without the immediate need for recharging; and \`full\`, which represents a battery that is fully charged, providing the maximum duration of usage.
1402
+ `);
1020
1403
  var common_device_error = zod.z.object({
1021
1404
  message: zod.z.string(),
1022
1405
  is_device_error: zod.z.literal(true),
@@ -1208,65 +1591,126 @@ var common_device_properties = zod.z.object({
1208
1591
  Name of the device.
1209
1592
  `),
1210
1593
  accessory_keypad: zod.z.object({
1211
- is_connected: zod.z.boolean().describe(
1212
- "Indicates if the accessory_keypad is connected to the device."
1213
- ),
1594
+ is_connected: zod.z.boolean().describe(`Indicates if an accessory keypad is connected to the device.
1595
+ `),
1214
1596
  battery: zod.z.object({
1215
1597
  level: zod.z.number().min(0).max(1)
1216
- }).optional().describe("Indicates if the keypad battery properties.")
1217
- }).optional().describe("Represents the accessory keypad state."),
1598
+ }).optional().describe(`Keypad battery properties.
1599
+ `)
1600
+ }).optional().describe(`
1601
+ ---
1602
+ property_group_key: hardware
1603
+ ---
1604
+ Accessory keypad properties and state.
1605
+ `),
1218
1606
  appearance: zod.z.object({
1219
1607
  name: zod.z.string().describe(
1220
1608
  "Name of the device as seen from the provider API and application, not settable through Seam."
1221
1609
  )
1222
- }),
1610
+ }).describe(`
1611
+ ---
1612
+ property_group_key: hardware
1613
+ ---
1614
+ Appearance-related properties, as reported by the device.
1615
+ `),
1223
1616
  model: zod.z.object({
1224
- can_connect_accessory_keypad: zod.z.boolean().optional().describe("Indicates whether the device can connect a accessory keypad."),
1225
- display_name: zod.z.string().describe("Display name of the device model."),
1226
- manufacturer_display_name: zod.z.string().describe(
1227
- "Display name that corresponds to the manufacturer-specific terminology for the device."
1228
- ),
1229
- has_built_in_keypad: zod.z.boolean().optional().describe(
1230
- "Indicates whether the device has a built in accessory keypad."
1231
- ),
1232
- offline_access_codes_supported: zod.z.boolean().optional().describe("Indicates whether the device supports offline access codes."),
1233
- online_access_codes_supported: zod.z.boolean().optional().describe("Indicates whether the device supports online access codes."),
1234
- accessory_keypad_supported: zod.z.boolean().optional().describe(
1235
- `
1236
- ---
1237
- deprecated: use device.properties.model.can_connect_accessory_keypad
1238
- ---
1239
- `
1240
- )
1241
- }),
1242
- has_direct_power: zod.z.boolean().optional().describe("Indicates whether the device has direct power."),
1243
- battery_level: zod.z.number().min(0).max(1).optional().describe(
1244
- "Indicates the battery level of the device as a decimal value between 0 and 1, inclusive."
1245
- ),
1617
+ can_connect_accessory_keypad: zod.z.boolean().optional().describe(`
1618
+ Indicates whether the device can connect a accessory keypad.
1619
+ `),
1620
+ display_name: zod.z.string().describe(`
1621
+ Display name of the device model.
1622
+ `),
1623
+ manufacturer_display_name: zod.z.string().describe(`
1624
+ Display name that corresponds to the manufacturer-specific terminology for the device.
1625
+ `),
1626
+ has_built_in_keypad: zod.z.boolean().optional().describe(`
1627
+ Indicates whether the device has a built in accessory keypad.
1628
+ `),
1629
+ offline_access_codes_supported: zod.z.boolean().optional().describe(`
1630
+ ---
1631
+ deprecated: use device.can_program_offline_access_codes.
1632
+ ---
1633
+ `),
1634
+ online_access_codes_supported: zod.z.boolean().optional().describe(`
1635
+ ---
1636
+ deprecated: use device.can_program_online_access_codes.
1637
+ ---
1638
+ `),
1639
+ accessory_keypad_supported: zod.z.boolean().optional().describe(`
1640
+ ---
1641
+ deprecated: use device.properties.model.can_connect_accessory_keypad
1642
+ ---
1643
+ `)
1644
+ }).describe(`Device model-related properties.`),
1645
+ has_direct_power: zod.z.boolean().optional().describe(`
1646
+ ---
1647
+ property_group_key: hardware
1648
+ ---
1649
+ Indicates whether the device has direct power.
1650
+ `),
1651
+ battery_level: zod.z.number().min(0).max(1).optional().describe(`
1652
+ ---
1653
+ property_group_key: hardware
1654
+ ---
1655
+ Indicates the battery level of the device as a decimal value between 0 and 1, inclusive.
1656
+ `),
1246
1657
  battery: zod.z.object({
1247
- level: zod.z.number().min(0).max(1),
1658
+ level: zod.z.number().min(0).max(1).describe(`Battery charge level as a value between 0 and 1, inclusive.
1659
+ `),
1248
1660
  status: battery_status
1249
- }).optional().describe(
1250
- 'Represents the current status of the battery charge level. Values are "critical," which indicates an extremely low level, suggesting imminent shutdown or an urgent need for charging; "low," which signifies that the battery is under the preferred threshold and should be charged soon; "good," which denotes a satisfactory charge level, adequate for normal use without the immediate need for recharging; and "full," which represents a battery that is fully charged, providing the maximum duration of usage.'
1251
- ),
1661
+ }).optional().describe(`
1662
+ ---
1663
+ property_group_key: hardware
1664
+ ---
1665
+ Represents the current status of the battery charge level.
1666
+ `),
1252
1667
  // todo: use enum
1253
- manufacturer: zod.z.string().optional().describe(
1254
- "Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub."
1255
- ),
1256
- image_url: zod.z.string().url().optional().describe("Image URL for the device."),
1257
- image_alt_text: zod.z.string().optional().describe("Alt text for the device image."),
1258
- serial_number: zod.z.string().optional().describe("Serial number of the device."),
1668
+ manufacturer: zod.z.string().optional().describe(`
1669
+ ---
1670
+ property_group_key: hardware
1671
+ ---
1672
+ Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub.
1673
+ `),
1674
+ image_url: zod.z.string().url().optional().describe(`
1675
+ ---
1676
+ property_group_key: hardware
1677
+ ---
1678
+ Image URL for the device.
1679
+ `),
1680
+ image_alt_text: zod.z.string().optional().describe(`
1681
+ ---
1682
+ property_group_key: hardware
1683
+ ---
1684
+ Alt text for the device image.
1685
+ `),
1686
+ serial_number: zod.z.string().optional().describe(`
1687
+ ---
1688
+ property_group_key: hardware
1689
+ ---
1690
+ Serial number of the device.
1691
+ `),
1259
1692
  online_access_codes_enabled: zod.z.boolean().describe(
1260
- "Indicates whether it is currently possible to use online access codes for the device."
1693
+ `
1694
+ ---
1695
+ property_group_key: access_codes
1696
+ ---
1697
+ Indicates whether it is currently possible to use online access codes for the device.
1698
+ `
1261
1699
  ).optional(),
1262
1700
  offline_access_codes_enabled: zod.z.boolean().describe(
1263
- "Indicates whether it is currently possible to use offline access codes for the device."
1701
+ `
1702
+ ---
1703
+ property_group_key: access_codes
1704
+ ---
1705
+ Indicates whether it is currently possible to use offline access codes for the device.
1706
+ `
1264
1707
  ).optional(),
1265
1708
  // Deprecated legacy capability support props
1266
1709
  supports_accessory_keypad: zod.z.boolean().describe(
1267
1710
  `
1268
1711
  ---
1269
1712
  deprecated: use device.properties.model.can_connect_accessory_keypad
1713
+ property_group_key: access_codes
1270
1714
  ---
1271
1715
  `
1272
1716
  ).optional(),
@@ -1274,13 +1718,26 @@ var common_device_properties = zod.z.object({
1274
1718
  `
1275
1719
  ---
1276
1720
  deprecated: use offline_access_codes_enabled
1721
+ property_group_key: access_codes
1277
1722
  ---
1278
1723
  `
1279
1724
  ).optional(),
1280
1725
  noise_level_decibels: zod.z.number().describe(
1281
- "Indicates current noise level in decibels, if the device supports noise detection."
1726
+ `
1727
+ ---
1728
+ property_group_key: noise_sensors
1729
+ ---
1730
+ Indicates current noise level in decibels, if the device supports noise detection.
1731
+ `
1282
1732
  ).optional(),
1283
- currently_triggering_noise_threshold_ids: zod.z.array(zod.z.string()).describe("Array of noise threshold IDs that are currently triggering.").optional()
1733
+ currently_triggering_noise_threshold_ids: zod.z.array(zod.z.string()).describe(
1734
+ `
1735
+ ---
1736
+ property_group_key: noise_sensors
1737
+ ---
1738
+ Array of noise threshold IDs that are currently triggering.
1739
+ `
1740
+ ).optional()
1284
1741
  });
1285
1742
  var device_and_connected_account_error_options = [
1286
1743
  ...device_error.options,
@@ -1299,14 +1756,40 @@ var device = zod.z.object({
1299
1756
  display_name: zod.z.string().describe(
1300
1757
  "Display name of the device, defaults to nickname (if it is set) or properties.appearance.name otherwise. Enables administrators and users to identify the device easily, especially when there are numerous devices."
1301
1758
  ),
1302
- capabilities_supported: zod.z.array(capabilities).describe(
1303
- 'Collection of capabilities that the device supports when connected to Seam. Values are "access_code," which indicates that the device can manage and utilize digital PIN codes for secure access; "lock," which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; "noise_detection," which indicates that the device supports monitoring and responding to ambient noise levels; "thermostat," which indicates that the device can regulate and adjust indoor temperatures; and "battery," which indicates that the device can manage battery life and health.'
1304
- ),
1305
- properties: common_device_properties.and(phone_specific_properties.partial()).and(device_metadata).and(capability_properties).describe("Properties of the device."),
1759
+ capabilities_supported: zod.z.array(capabilities).describe(`
1760
+ Collection of capabilities that the device supports when connected to Seam. Values are \`access_code\`, which indicates that the device can manage and utilize digital PIN codes for secure access; \`lock\`, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; \`noise_detection\`, which indicates that the device supports monitoring and responding to ambient noise levels; \`thermostat\`, which indicates that the device can regulate and adjust indoor temperatures; \`battery\`, which indicates that the device can manage battery life and health; and \`phone\`, which indicates that the device is a mobile device, such as a smartphone. **Important:** Superseded by [capability flags](https://docs.seam.co/latest/capability-guides/device-and-system-capabilities#capability-flags).
1761
+ `),
1762
+ properties: common_device_properties.and(phone_specific_properties.partial()).and(device_metadata).and(capability_properties).describe(`
1763
+ ---
1764
+ property_groups:
1765
+ locks:
1766
+ name: Locks
1767
+ access_codes:
1768
+ name: Access Codes
1769
+ thermostats:
1770
+ name: Thermostats
1771
+ hardware:
1772
+ name: Hardware
1773
+ noise_sensors:
1774
+ name: Noise Sensors
1775
+ phones:
1776
+ name: Phones
1777
+ provider_metadata:
1778
+ name: Provider Metadata
1779
+ ---
1780
+ Properties of the device.
1781
+ `),
1306
1782
  location: zod.z.object({
1307
- location_name: zod.z.string().optional().describe("Name of the device location."),
1308
- timezone: zod.z.string().optional().describe("Time zone of the device location.")
1309
- }).nullable().describe("Location information for the device."),
1783
+ location_name: zod.z.string().optional().describe(`Name of the device location.
1784
+ `),
1785
+ timezone: zod.z.string().optional().describe(`Time zone of the device location.
1786
+ `)
1787
+ }).nullable().describe(`
1788
+ ---
1789
+ property_group_key: hardware
1790
+ ---
1791
+ Location information for the device.
1792
+ `),
1310
1793
  connected_account_id: zod.z.string().uuid().describe(
1311
1794
  "Unique identifier for the account associated with the device."
1312
1795
  ),
@@ -1334,6 +1817,21 @@ var device = zod.z.object({
1334
1817
  }).merge(device_capability_flags2).describe(`
1335
1818
  ---
1336
1819
  route_path: /devices
1820
+ property_groups:
1821
+ locks:
1822
+ name: Locks
1823
+ access_codes:
1824
+ name: Access Codes
1825
+ thermostats:
1826
+ name: Thermostats
1827
+ hardware:
1828
+ name: Hardware
1829
+ noise_sensors:
1830
+ name: Noise Sensors
1831
+ phones:
1832
+ name: Phones
1833
+ provider_metadata:
1834
+ name: Provider Metadata
1337
1835
  ---
1338
1836
  Represents a [device](https://docs.seam.co/latest/core-concepts/devices) that has been connected to Seam.
1339
1837
  `);
@@ -1482,10 +1980,44 @@ var unmanaged_device = device.pick({
1482
1980
  online_access_codes_enabled: true,
1483
1981
  offline_access_codes_enabled: true,
1484
1982
  model: true
1485
- })
1983
+ }).describe(`
1984
+ ---
1985
+ property_groups:
1986
+ locks:
1987
+ name: locks
1988
+ access_codes:
1989
+ name: access codes
1990
+ thermostats:
1991
+ name: thermostats
1992
+ hardware:
1993
+ name: hardware
1994
+ noise_sensors:
1995
+ name: noise sensors
1996
+ phones:
1997
+ name: phones
1998
+ provider_metadata:
1999
+ name: provider metadata
2000
+ ---
2001
+ properties of the device.
2002
+ `)
1486
2003
  }).merge(device_capability_flags2).describe(`
1487
2004
  ---
1488
2005
  route_path: /devices/unmanaged
2006
+ property_groups:
2007
+ locks:
2008
+ name: Locks
2009
+ access_codes:
2010
+ name: Access Codes
2011
+ thermostats:
2012
+ name: Thermostats
2013
+ hardware:
2014
+ name: Hardware
2015
+ noise_sensors:
2016
+ name: Noise Sensors
2017
+ phones:
2018
+ name: Phones
2019
+ provider_metadata:
2020
+ name: Provider Metadata
1489
2021
  ---
1490
2022
  Represents an [unmanaged device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices). An unmanaged device has a limited set of visible properties and a subset of supported events. You cannot control an unmanaged device. Any [access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) on an unmanaged device are unmanaged. To control an unmanaged device with Seam, [convert it to a managed device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices#convert-an-unmanaged-device-to-managed).
1491
2023
  `);
@@ -11598,8 +12130,9 @@ var openapi_default = {
11598
12130
  can_simulate_removal: { type: "boolean" },
11599
12131
  can_turn_off_hvac: { type: "boolean" },
11600
12132
  capabilities_supported: {
11601
- description: 'Collection of capabilities that the device supports when connected to Seam. Values are "access_code," which indicates that the device can manage and utilize digital PIN codes for secure access; "lock," which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; "noise_detection," which indicates that the device supports monitoring and responding to ambient noise levels; "thermostat," which indicates that the device can regulate and adjust indoor temperatures; and "battery," which indicates that the device can manage battery life and health.',
12133
+ description: "\n Collection of capabilities that the device supports when connected to Seam. Values are `access_code`, which indicates that the device can manage and utilize digital PIN codes for secure access; `lock`, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; `noise_detection`, which indicates that the device supports monitoring and responding to ambient noise levels; `thermostat`, which indicates that the device can regulate and adjust indoor temperatures; `battery`, which indicates that the device can manage battery life and health; and `phone`, which indicates that the device is a mobile device, such as a smartphone. **Important:** Superseded by [capability flags](https://docs.seam.co/latest/capability-guides/device-and-system-capabilities#capability-flags).\n ",
11602
12134
  items: {
12135
+ description: "\n Collection of capabilities that the device supports when connected to Seam. **Important:** Superseded by [capability flags](https://docs.seam.co/latest/capability-guides/device-and-system-capabilities#capability-flags).\n ",
11603
12136
  enum: [
11604
12137
  "access_code",
11605
12138
  "lock",
@@ -11638,6 +12171,7 @@ var openapi_default = {
11638
12171
  description: "Type of the device.",
11639
12172
  oneOf: [
11640
12173
  {
12174
+ description: "Device type for smartlocks.\n ",
11641
12175
  enum: [
11642
12176
  "akuvox_lock",
11643
12177
  "august_lock",
@@ -11670,10 +12204,12 @@ var openapi_default = {
11670
12204
  type: "string"
11671
12205
  },
11672
12206
  {
12207
+ description: "Device type for noise sensors.\n ",
11673
12208
  enum: ["noiseaware_activity_zone", "minut_sensor"],
11674
12209
  type: "string"
11675
12210
  },
11676
12211
  {
12212
+ description: "Device type for thermostats.\n ",
11677
12213
  enum: [
11678
12214
  "ecobee_thermostat",
11679
12215
  "nest_thermostat",
@@ -11685,7 +12221,7 @@ var openapi_default = {
11685
12221
  type: "string"
11686
12222
  },
11687
12223
  {
11688
- description: "Type of phone.",
12224
+ description: "Device type for phones.\n ",
11689
12225
  enum: ["ios_phone", "android_phone"],
11690
12226
  type: "string"
11691
12227
  }
@@ -12042,15 +12578,16 @@ var openapi_default = {
12042
12578
  nullable: true,
12043
12579
  properties: {
12044
12580
  location_name: {
12045
- description: "Name of the device location.",
12581
+ description: "Name of the device location.\n ",
12046
12582
  type: "string"
12047
12583
  },
12048
12584
  timezone: {
12049
- description: "Time zone of the device location.",
12585
+ description: "Time zone of the device location.\n ",
12050
12586
  type: "string"
12051
12587
  }
12052
12588
  },
12053
- type: "object"
12589
+ type: "object",
12590
+ "x-property-group-key": "hardware"
12054
12591
  },
12055
12592
  nickname: {
12056
12593
  description: "Optional nickname to describe the device, settable through Seam",
@@ -12065,10 +12602,10 @@ var openapi_default = {
12065
12602
  {
12066
12603
  properties: {
12067
12604
  accessory_keypad: {
12068
- description: "Represents the accessory keypad state.",
12605
+ description: "Accessory keypad properties and state.",
12069
12606
  properties: {
12070
12607
  battery: {
12071
- description: "Indicates if the keypad battery properties.",
12608
+ description: "Keypad battery properties.\n ",
12072
12609
  properties: {
12073
12610
  level: {
12074
12611
  format: "float",
@@ -12081,14 +12618,16 @@ var openapi_default = {
12081
12618
  type: "object"
12082
12619
  },
12083
12620
  is_connected: {
12084
- description: "Indicates if the accessory_keypad is connected to the device.",
12621
+ description: "Indicates if an accessory keypad is connected to the device.\n ",
12085
12622
  type: "boolean"
12086
12623
  }
12087
12624
  },
12088
12625
  required: ["is_connected"],
12089
- type: "object"
12626
+ type: "object",
12627
+ "x-property-group-key": "hardware"
12090
12628
  },
12091
12629
  appearance: {
12630
+ description: "Appearance-related properties, as reported by the device.",
12092
12631
  properties: {
12093
12632
  name: {
12094
12633
  description: "Name of the device as seen from the provider API and application, not settable through Seam.",
@@ -12096,55 +12635,66 @@ var openapi_default = {
12096
12635
  }
12097
12636
  },
12098
12637
  required: ["name"],
12099
- type: "object"
12638
+ type: "object",
12639
+ "x-property-group-key": "hardware"
12100
12640
  },
12101
12641
  battery: {
12102
- description: 'Represents the current status of the battery charge level. Values are "critical," which indicates an extremely low level, suggesting imminent shutdown or an urgent need for charging; "low," which signifies that the battery is under the preferred threshold and should be charged soon; "good," which denotes a satisfactory charge level, adequate for normal use without the immediate need for recharging; and "full," which represents a battery that is fully charged, providing the maximum duration of usage.',
12642
+ description: "Represents the current status of the battery charge level.",
12103
12643
  properties: {
12104
12644
  level: {
12645
+ description: "Battery charge level as a value between 0 and 1, inclusive.\n ",
12105
12646
  format: "float",
12106
12647
  maximum: 1,
12107
12648
  minimum: 0,
12108
12649
  type: "number"
12109
12650
  },
12110
12651
  status: {
12652
+ description: "Represents the current status of the battery charge level. Values are `critical`, which indicates an extremely low level, suggesting imminent shutdown or an urgent need for charging; `low`, which signifies that the battery is under the preferred threshold and should be charged soon; `good`, which denotes a satisfactory charge level, adequate for normal use without the immediate need for recharging; and `full`, which represents a battery that is fully charged, providing the maximum duration of usage.\n ",
12111
12653
  enum: ["critical", "low", "good", "full"],
12112
12654
  type: "string"
12113
12655
  }
12114
12656
  },
12115
12657
  required: ["level", "status"],
12116
- type: "object"
12658
+ type: "object",
12659
+ "x-property-group-key": "hardware"
12117
12660
  },
12118
12661
  battery_level: {
12119
12662
  description: "Indicates the battery level of the device as a decimal value between 0 and 1, inclusive.",
12120
12663
  format: "float",
12121
12664
  maximum: 1,
12122
12665
  minimum: 0,
12123
- type: "number"
12666
+ type: "number",
12667
+ "x-property-group-key": "hardware"
12124
12668
  },
12125
12669
  currently_triggering_noise_threshold_ids: {
12126
12670
  description: "Array of noise threshold IDs that are currently triggering.",
12127
12671
  items: { type: "string" },
12128
- type: "array"
12672
+ type: "array",
12673
+ "x-property-group-key": "noise_sensors"
12129
12674
  },
12130
12675
  has_direct_power: {
12131
12676
  description: "Indicates whether the device has direct power.",
12132
- type: "boolean"
12677
+ type: "boolean",
12678
+ "x-property-group-key": "hardware"
12133
12679
  },
12134
12680
  image_alt_text: {
12135
12681
  description: "Alt text for the device image.",
12136
- type: "string"
12682
+ type: "string",
12683
+ "x-property-group-key": "hardware"
12137
12684
  },
12138
12685
  image_url: {
12139
12686
  description: "Image URL for the device.",
12140
12687
  format: "uri",
12141
- type: "string"
12688
+ type: "string",
12689
+ "x-property-group-key": "hardware"
12142
12690
  },
12143
12691
  manufacturer: {
12144
12692
  description: "Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub.",
12145
- type: "string"
12693
+ type: "string",
12694
+ "x-property-group-key": "hardware"
12146
12695
  },
12147
12696
  model: {
12697
+ description: "Device model-related properties.",
12148
12698
  properties: {
12149
12699
  accessory_keypad_supported: {
12150
12700
  deprecated: true,
@@ -12152,28 +12702,30 @@ var openapi_default = {
12152
12702
  "x-deprecated": "use device.properties.model.can_connect_accessory_keypad"
12153
12703
  },
12154
12704
  can_connect_accessory_keypad: {
12155
- description: "Indicates whether the device can connect a accessory keypad.",
12705
+ description: "\n Indicates whether the device can connect a accessory keypad.\n ",
12156
12706
  type: "boolean"
12157
12707
  },
12158
12708
  display_name: {
12159
- description: "Display name of the device model.",
12709
+ description: "\n Display name of the device model.\n ",
12160
12710
  type: "string"
12161
12711
  },
12162
12712
  has_built_in_keypad: {
12163
- description: "Indicates whether the device has a built in accessory keypad.",
12713
+ description: "\n Indicates whether the device has a built in accessory keypad.\n ",
12164
12714
  type: "boolean"
12165
12715
  },
12166
12716
  manufacturer_display_name: {
12167
- description: "Display name that corresponds to the manufacturer-specific terminology for the device.",
12717
+ description: "\n Display name that corresponds to the manufacturer-specific terminology for the device.\n ",
12168
12718
  type: "string"
12169
12719
  },
12170
12720
  offline_access_codes_supported: {
12171
- description: "Indicates whether the device supports offline access codes.",
12172
- type: "boolean"
12721
+ deprecated: true,
12722
+ type: "boolean",
12723
+ "x-deprecated": "use device.can_program_offline_access_codes."
12173
12724
  },
12174
12725
  online_access_codes_supported: {
12175
- description: "Indicates whether the device supports online access codes.",
12176
- type: "boolean"
12726
+ deprecated: true,
12727
+ type: "boolean",
12728
+ "x-deprecated": "use device.can_program_online_access_codes."
12177
12729
  }
12178
12730
  },
12179
12731
  required: [
@@ -12191,11 +12743,13 @@ var openapi_default = {
12191
12743
  noise_level_decibels: {
12192
12744
  description: "Indicates current noise level in decibels, if the device supports noise detection.",
12193
12745
  format: "float",
12194
- type: "number"
12746
+ type: "number",
12747
+ "x-property-group-key": "noise_sensors"
12195
12748
  },
12196
12749
  offline_access_codes_enabled: {
12197
12750
  description: "Indicates whether it is currently possible to use offline access codes for the device.",
12198
- type: "boolean"
12751
+ type: "boolean",
12752
+ "x-property-group-key": "access_codes"
12199
12753
  },
12200
12754
  online: {
12201
12755
  description: "Indicates whether the device is online.",
@@ -12203,28 +12757,32 @@ var openapi_default = {
12203
12757
  },
12204
12758
  online_access_codes_enabled: {
12205
12759
  description: "Indicates whether it is currently possible to use online access codes for the device.",
12206
- type: "boolean"
12760
+ type: "boolean",
12761
+ "x-property-group-key": "access_codes"
12207
12762
  },
12208
12763
  serial_number: {
12209
12764
  description: "Serial number of the device.",
12210
- type: "string"
12765
+ type: "string",
12766
+ "x-property-group-key": "hardware"
12211
12767
  },
12212
12768
  supports_accessory_keypad: {
12213
12769
  deprecated: true,
12214
12770
  type: "boolean",
12215
- "x-deprecated": "use device.properties.model.can_connect_accessory_keypad"
12771
+ "x-deprecated": "use device.properties.model.can_connect_accessory_keypad",
12772
+ "x-property-group-key": "access_codes"
12216
12773
  },
12217
12774
  supports_offline_access_codes: {
12218
12775
  deprecated: true,
12219
12776
  type: "boolean",
12220
- "x-deprecated": "use offline_access_codes_enabled"
12777
+ "x-deprecated": "use offline_access_codes_enabled",
12778
+ "x-property-group-key": "access_codes"
12221
12779
  }
12222
12780
  },
12223
12781
  required: ["online", "name", "appearance", "model"],
12224
12782
  type: "object"
12225
12783
  },
12226
12784
  {
12227
- description: "Properties of the phone.",
12785
+ description: "\n Properties of the phone.\n ",
12228
12786
  properties: {
12229
12787
  assa_abloy_credential_service_metadata: {
12230
12788
  description: "ASSA ABLOY Credential Service metadata for the phone.",
@@ -12272,31 +12830,73 @@ var openapi_default = {
12272
12830
  ]
12273
12831
  },
12274
12832
  {
12833
+ description: "Provider-specific metadata.",
12275
12834
  properties: {
12276
12835
  akiles_metadata: {
12836
+ description: "Metadata for an Akiles device.\n ",
12277
12837
  properties: {
12278
- _member_group_id: { type: "string" },
12279
- gadget_id: { type: "string" },
12280
- gadget_name: { type: "string" },
12281
- product_name: { type: "string" }
12838
+ _member_group_id: {
12839
+ description: "Group ID to which to add users for an Akiles device.\n ",
12840
+ type: "string"
12841
+ },
12842
+ gadget_id: {
12843
+ description: "Gadget ID for an Akiles device.\n ",
12844
+ type: "string"
12845
+ },
12846
+ gadget_name: {
12847
+ description: "Gadget name for an Akiles device.\n ",
12848
+ type: "string"
12849
+ },
12850
+ product_name: {
12851
+ description: "Product name for an Akiles device.\n ",
12852
+ type: "string"
12853
+ }
12282
12854
  },
12283
12855
  required: ["gadget_name", "gadget_id", "product_name"],
12284
12856
  type: "object"
12285
12857
  },
12286
12858
  assa_abloy_vostio_metadata: {
12287
- properties: { encoder_name: { type: "string" } },
12859
+ description: "Metadata for an ASSA ABLOY Vostio system.\n ",
12860
+ properties: {
12861
+ encoder_name: {
12862
+ description: "Encoder name for an ASSA ABLOY Vostio system.\n ",
12863
+ type: "string"
12864
+ }
12865
+ },
12288
12866
  required: ["encoder_name"],
12289
12867
  type: "object"
12290
12868
  },
12291
12869
  august_metadata: {
12870
+ description: "Metadata for an August device.\n ",
12292
12871
  properties: {
12293
- has_keypad: { type: "boolean" },
12294
- house_id: { type: "string" },
12295
- house_name: { type: "string" },
12296
- keypad_battery_level: { type: "string" },
12297
- lock_id: { type: "string" },
12298
- lock_name: { type: "string" },
12299
- model: { type: "string" }
12872
+ has_keypad: {
12873
+ description: "Indicates whether an August device has a keypad.\n ",
12874
+ type: "boolean"
12875
+ },
12876
+ house_id: {
12877
+ description: "House ID for an August device.\n ",
12878
+ type: "string"
12879
+ },
12880
+ house_name: {
12881
+ description: "House name for an August device.\n ",
12882
+ type: "string"
12883
+ },
12884
+ keypad_battery_level: {
12885
+ description: "Keypad battery level for an August device.\n ",
12886
+ type: "string"
12887
+ },
12888
+ lock_id: {
12889
+ description: "Lock ID for an August device.\n ",
12890
+ type: "string"
12891
+ },
12892
+ lock_name: {
12893
+ description: "Lock name for an August device.\n ",
12894
+ type: "string"
12895
+ },
12896
+ model: {
12897
+ description: "Model for an August device.\n ",
12898
+ type: "string"
12899
+ }
12300
12900
  },
12301
12901
  required: [
12302
12902
  "lock_id",
@@ -12307,17 +12907,39 @@ var openapi_default = {
12307
12907
  type: "object"
12308
12908
  },
12309
12909
  avigilon_alta_metadata: {
12910
+ description: "Metadata for an Avigilon Alta system.\n ",
12310
12911
  properties: {
12311
- entry_name: { type: "string" },
12912
+ entry_name: {
12913
+ description: "Entry name for an Avigilon Alta system.\n ",
12914
+ type: "string"
12915
+ },
12312
12916
  entry_relays_total_count: {
12917
+ description: "Total count of entry relays for an Avigilon Alta system.\n ",
12918
+ format: "float",
12919
+ type: "number"
12920
+ },
12921
+ org_name: {
12922
+ description: "Organization name for an Avigilon Alta system.\n ",
12923
+ type: "string"
12924
+ },
12925
+ site_id: {
12926
+ description: "Site ID for an Avigilon Alta system.\n ",
12313
12927
  format: "float",
12314
12928
  type: "number"
12315
12929
  },
12316
- org_name: { type: "string" },
12317
- site_id: { format: "float", type: "number" },
12318
- site_name: { type: "string" },
12319
- zone_id: { format: "float", type: "number" },
12320
- zone_name: { type: "string" }
12930
+ site_name: {
12931
+ description: "Site name for an Avigilon Alta system.\n ",
12932
+ type: "string"
12933
+ },
12934
+ zone_id: {
12935
+ description: "Zone ID for an Avigilon Alta system.\n ",
12936
+ format: "float",
12937
+ type: "number"
12938
+ },
12939
+ zone_name: {
12940
+ description: "Zone name for an Avigilon Alta system.\n ",
12941
+ type: "string"
12942
+ }
12321
12943
  },
12322
12944
  required: [
12323
12945
  "entry_name",
@@ -12331,50 +12953,111 @@ var openapi_default = {
12331
12953
  type: "object"
12332
12954
  },
12333
12955
  brivo_metadata: {
12334
- properties: { device_name: { type: "string" } },
12956
+ description: "Metadata for a Brivo device.\n ",
12957
+ properties: {
12958
+ device_name: {
12959
+ description: "Device name for a Brivo device.\n ",
12960
+ type: "string"
12961
+ }
12962
+ },
12335
12963
  required: ["device_name"],
12336
12964
  type: "object"
12337
12965
  },
12338
12966
  controlbyweb_metadata: {
12967
+ description: "Metadata for a ControlByWeb device.\n ",
12339
12968
  properties: {
12340
- device_id: { type: "string" },
12341
- device_name: { type: "string" },
12342
- relay_name: { nullable: true, type: "string" }
12969
+ device_id: {
12970
+ description: "Device ID for a ControlByWeb device.\n ",
12971
+ type: "string"
12972
+ },
12973
+ device_name: {
12974
+ description: "Device name for a ControlByWeb device.\n ",
12975
+ type: "string"
12976
+ },
12977
+ relay_name: {
12978
+ description: "Relay name for a ControlByWeb device.\n ",
12979
+ nullable: true,
12980
+ type: "string"
12981
+ }
12343
12982
  },
12344
12983
  required: ["device_id", "device_name", "relay_name"],
12345
12984
  type: "object"
12346
12985
  },
12347
12986
  dormakaba_oracode_metadata: {
12987
+ description: "Metadata for a dormakaba Oracode device.\n ",
12348
12988
  properties: {
12349
12989
  device_id: {
12990
+ description: "Device ID for a dormakaba Oracode device.\n ",
12350
12991
  oneOf: [
12351
12992
  { format: "float", type: "number" },
12352
12993
  { type: "string" }
12353
12994
  ]
12354
12995
  },
12355
- door_id: { format: "float", type: "number" },
12356
- door_is_wireless: { type: "boolean" },
12357
- door_name: { type: "string" },
12358
- iana_timezone: { type: "string" },
12996
+ door_id: {
12997
+ description: "Door ID for a dormakaba Oracode device.\n ",
12998
+ format: "float",
12999
+ type: "number"
13000
+ },
13001
+ door_is_wireless: {
13002
+ description: "Indicates whether a door is wireless for a dormakaba Oracode device.\n ",
13003
+ type: "boolean"
13004
+ },
13005
+ door_name: {
13006
+ description: "Door name for a dormakaba Oracode device.\n ",
13007
+ type: "string"
13008
+ },
13009
+ iana_timezone: {
13010
+ description: "IANA time zone for a dormakaba Oracode device.\n ",
13011
+ type: "string"
13012
+ },
12359
13013
  predefined_time_slots: {
13014
+ description: "Predefined time slots for a dormakaba Oracode device.\n ",
12360
13015
  items: {
13016
+ description: "Time slot for a dormakaba Oracode device.\n ",
12361
13017
  properties: {
12362
- check_in_time: { type: "string" },
12363
- check_out_time: { type: "string" },
13018
+ check_in_time: {
13019
+ description: "Check in time for a time slot for a dormakaba Oracode device.\n ",
13020
+ type: "string"
13021
+ },
13022
+ check_out_time: {
13023
+ description: "Checkout time for a time slot for a dormakaba Oracode device.\n ",
13024
+ type: "string"
13025
+ },
12364
13026
  dormakaba_oracode_user_level_id: {
13027
+ description: "ID of a user level for a dormakaba Oracode device.\n ",
12365
13028
  format: "uuid",
12366
13029
  type: "string"
12367
13030
  },
12368
13031
  ext_dormakaba_oracode_user_level_prefix: {
13032
+ description: "Prefix for a user level for a dormakaba Oracode device.\n ",
12369
13033
  format: "float",
12370
13034
  type: "number"
12371
13035
  },
12372
- is_24_hour: { type: "boolean" },
12373
- is_biweekly_mode: { type: "boolean" },
12374
- is_master: { type: "boolean" },
12375
- is_one_shot: { type: "boolean" },
12376
- name: { type: "string" },
12377
- prefix: { format: "float", type: "number" }
13036
+ is_24_hour: {
13037
+ description: "Indicates whether a time slot for a dormakaba Oracode device is a 24-hour time slot.\n ",
13038
+ type: "boolean"
13039
+ },
13040
+ is_biweekly_mode: {
13041
+ description: "Indicates whether a time slot for a dormakaba Oracode device is in biweekly mode.\n ",
13042
+ type: "boolean"
13043
+ },
13044
+ is_master: {
13045
+ description: "Indicates whether a time slot for a dormakaba Oracode device is a master time slot.\n ",
13046
+ type: "boolean"
13047
+ },
13048
+ is_one_shot: {
13049
+ description: "Indicates whether a time slot for a dormakaba Oracode device is a one-shot time slot.\n ",
13050
+ type: "boolean"
13051
+ },
13052
+ name: {
13053
+ description: "Name of a time slot for a dormakaba Oracode device.\n ",
13054
+ type: "string"
13055
+ },
13056
+ prefix: {
13057
+ description: "Prefix for a time slot for a dormakaba Oracode device.\n ",
13058
+ format: "float",
13059
+ type: "number"
13060
+ }
12378
13061
  },
12379
13062
  required: [
12380
13063
  "name",
@@ -12393,12 +13076,17 @@ var openapi_default = {
12393
13076
  type: "array"
12394
13077
  },
12395
13078
  site_id: {
12396
- description: "@DEPRECATED",
13079
+ deprecated: true,
13080
+ description: "Site ID for a dormakaba Oracode device.",
12397
13081
  format: "float",
12398
13082
  nullable: true,
12399
- type: "number"
13083
+ type: "number",
13084
+ "x-deprecated": 'Previously marked as "@DEPRECATED."'
12400
13085
  },
12401
- site_name: { type: "string" }
13086
+ site_name: {
13087
+ description: "Site name for a dormakaba Oracode device.\n ",
13088
+ type: "string"
13089
+ }
12402
13090
  },
12403
13091
  required: [
12404
13092
  "door_name",
@@ -12409,18 +13097,34 @@ var openapi_default = {
12409
13097
  type: "object"
12410
13098
  },
12411
13099
  ecobee_metadata: {
13100
+ description: "Metadata for an ecobee device.\n ",
12412
13101
  properties: {
12413
- device_name: { type: "string" },
12414
- ecobee_device_id: { type: "string" }
13102
+ device_name: {
13103
+ description: "Device name for an ecobee device.\n ",
13104
+ type: "string"
13105
+ },
13106
+ ecobee_device_id: {
13107
+ description: "Device ID for an ecobee device.\n ",
13108
+ type: "string"
13109
+ }
12415
13110
  },
12416
13111
  required: ["ecobee_device_id", "device_name"],
12417
13112
  type: "object"
12418
13113
  },
12419
13114
  four_suites_metadata: {
13115
+ description: "Metadata for a 4SUITES device.\n ",
12420
13116
  properties: {
12421
- device_id: { format: "float", type: "number" },
12422
- device_name: { type: "string" },
13117
+ device_id: {
13118
+ description: "Device ID for a 4SUITES device.\n ",
13119
+ format: "float",
13120
+ type: "number"
13121
+ },
13122
+ device_name: {
13123
+ description: "Device name for a 4SUITES device.\n ",
13124
+ type: "string"
13125
+ },
12423
13126
  reclose_delay_in_seconds: {
13127
+ description: "Reclose delay, in seconds, for a 4SUITES device.\n ",
12424
13128
  format: "float",
12425
13129
  type: "number"
12426
13130
  }
@@ -12433,17 +13137,31 @@ var openapi_default = {
12433
13137
  type: "object"
12434
13138
  },
12435
13139
  genie_metadata: {
13140
+ description: "Metadata for a Genie device.\n ",
12436
13141
  properties: {
12437
- device_name: { type: "string" },
12438
- door_name: { type: "string" }
13142
+ device_name: {
13143
+ description: "Lock name for a Genie device.\n ",
13144
+ type: "string"
13145
+ },
13146
+ door_name: {
13147
+ description: "Door name for a Genie device.\n ",
13148
+ type: "string"
13149
+ }
12439
13150
  },
12440
13151
  required: ["device_name", "door_name"],
12441
13152
  type: "object"
12442
13153
  },
12443
13154
  honeywell_resideo_metadata: {
13155
+ description: "Metadata for a Honeywell Resideo device.\n ",
12444
13156
  properties: {
12445
- device_name: { type: "string" },
12446
- honeywell_resideo_device_id: { type: "string" }
13157
+ device_name: {
13158
+ description: "Device name for a Honeywell Resideo device.\n ",
13159
+ type: "string"
13160
+ },
13161
+ honeywell_resideo_device_id: {
13162
+ description: "Device ID for a Honeywell Resideo device.\n ",
13163
+ type: "string"
13164
+ }
12447
13165
  },
12448
13166
  required: [
12449
13167
  "honeywell_resideo_device_id",
@@ -12452,94 +13170,198 @@ var openapi_default = {
12452
13170
  type: "object"
12453
13171
  },
12454
13172
  hubitat_metadata: {
13173
+ description: "Metadata for a Hubitat device.\n ",
12455
13174
  properties: {
12456
- device_id: { type: "string" },
12457
- device_label: { type: "string" },
12458
- device_name: { type: "string" }
13175
+ device_id: {
13176
+ description: "Device ID for a Hubitat device.\n ",
13177
+ type: "string"
13178
+ },
13179
+ device_label: {
13180
+ description: "Device label for a Hubitat device.\n ",
13181
+ type: "string"
13182
+ },
13183
+ device_name: {
13184
+ description: "Device name for a Hubitat device.\n ",
13185
+ type: "string"
13186
+ }
12459
13187
  },
12460
13188
  required: ["device_id", "device_name", "device_label"],
12461
13189
  type: "object"
12462
13190
  },
12463
13191
  igloo_metadata: {
13192
+ description: "Metadata for an igloo device.\n ",
12464
13193
  properties: {
12465
- bridge_id: { type: "string" },
12466
- device_id: { type: "string" },
12467
- model: { type: "string" }
13194
+ bridge_id: {
13195
+ description: "Bridge ID for an igloo device.\n ",
13196
+ type: "string"
13197
+ },
13198
+ device_id: {
13199
+ description: "Device ID for an igloo device.\n ",
13200
+ type: "string"
13201
+ },
13202
+ model: {
13203
+ description: "Model for an igloo device.\n ",
13204
+ type: "string"
13205
+ }
12468
13206
  },
12469
13207
  required: ["device_id", "bridge_id"],
12470
13208
  type: "object"
12471
13209
  },
12472
13210
  igloohome_metadata: {
13211
+ description: "Metadata for an igloohome device.\n ",
12473
13212
  properties: {
12474
- bridge_id: { type: "string" },
12475
- bridge_name: { type: "string" },
12476
- device_id: { type: "string" },
12477
- device_name: { type: "string" },
12478
- keypad_id: { type: "string" }
13213
+ bridge_id: {
13214
+ description: "Bridge ID for an igloohome device.\n ",
13215
+ type: "string"
13216
+ },
13217
+ bridge_name: {
13218
+ description: "Bridge name for an igloohome device.\n ",
13219
+ type: "string"
13220
+ },
13221
+ device_id: {
13222
+ description: "Device ID for an igloohome device.\n ",
13223
+ type: "string"
13224
+ },
13225
+ device_name: {
13226
+ description: "Device name for an igloohome device.\n ",
13227
+ type: "string"
13228
+ },
13229
+ keypad_id: {
13230
+ description: "Keypad ID for an igloohome device.\n ",
13231
+ type: "string"
13232
+ }
12479
13233
  },
12480
13234
  required: ["device_id", "device_name"],
12481
13235
  type: "object"
12482
13236
  },
12483
13237
  kwikset_metadata: {
13238
+ description: "Metadata for a Kwikset device.\n ",
12484
13239
  properties: {
12485
- device_id: { type: "string" },
12486
- device_name: { type: "string" },
12487
- model_number: { type: "string" }
13240
+ device_id: {
13241
+ description: "Device ID for a Kwikset device.\n ",
13242
+ type: "string"
13243
+ },
13244
+ device_name: {
13245
+ description: "Device name for a Kwikset device.\n ",
13246
+ type: "string"
13247
+ },
13248
+ model_number: {
13249
+ description: "Model number for a Kwikset device.\n ",
13250
+ type: "string"
13251
+ }
12488
13252
  },
12489
13253
  required: ["device_id", "device_name", "model_number"],
12490
13254
  type: "object"
12491
13255
  },
12492
13256
  lockly_metadata: {
13257
+ description: "Metadata for a Lockly device.\n ",
12493
13258
  properties: {
12494
- device_id: { type: "string" },
12495
- device_name: { type: "string" },
12496
- model: { type: "string" }
13259
+ device_id: {
13260
+ description: "Device ID for a Lockly device.\n ",
13261
+ type: "string"
13262
+ },
13263
+ device_name: {
13264
+ description: "Device name for a Lockly device.\n ",
13265
+ type: "string"
13266
+ },
13267
+ model: {
13268
+ description: "Model for a Lockly device.\n ",
13269
+ type: "string"
13270
+ }
12497
13271
  },
12498
13272
  required: ["device_id", "device_name"],
12499
13273
  type: "object"
12500
13274
  },
12501
13275
  minut_metadata: {
13276
+ description: "Metadata for a Minut device.\n ",
12502
13277
  properties: {
12503
- device_id: { type: "string" },
12504
- device_name: { type: "string" },
13278
+ device_id: {
13279
+ description: "Device ID for a Minut device.\n ",
13280
+ type: "string"
13281
+ },
13282
+ device_name: {
13283
+ description: "Device name for a Minut device.\n ",
13284
+ type: "string"
13285
+ },
12505
13286
  latest_sensor_values: {
13287
+ description: "Latest sensor values for a Minut device.\n ",
12506
13288
  properties: {
12507
13289
  accelerometer_z: {
13290
+ description: "Latest accelerometer Z-axis reading for a Minut device.\n ",
12508
13291
  properties: {
12509
- time: { type: "string" },
12510
- value: { format: "float", type: "number" }
13292
+ time: {
13293
+ description: "Time of latest accelerometer Z-axis reading for a Minut device.\n ",
13294
+ type: "string"
13295
+ },
13296
+ value: {
13297
+ description: "Value of latest accelerometer Z-axis reading for a Minut device.\n ",
13298
+ format: "float",
13299
+ type: "number"
13300
+ }
12511
13301
  },
12512
13302
  required: ["time", "value"],
12513
13303
  type: "object"
12514
13304
  },
12515
13305
  humidity: {
13306
+ description: "Latest humidity reading for a Minut device.\n ",
12516
13307
  properties: {
12517
- time: { type: "string" },
12518
- value: { format: "float", type: "number" }
13308
+ time: {
13309
+ description: "Time of latest humidity reading for a Minut device.\n ",
13310
+ type: "string"
13311
+ },
13312
+ value: {
13313
+ description: "Value of latest humidity reading for a Minut device.\n ",
13314
+ format: "float",
13315
+ type: "number"
13316
+ }
12519
13317
  },
12520
13318
  required: ["time", "value"],
12521
13319
  type: "object"
12522
13320
  },
12523
13321
  pressure: {
13322
+ description: "Latest pressure reading for a Minut device.\n ",
12524
13323
  properties: {
12525
- time: { type: "string" },
12526
- value: { format: "float", type: "number" }
13324
+ time: {
13325
+ description: "Time of latest pressure reading for a Minut device.\n ",
13326
+ type: "string"
13327
+ },
13328
+ value: {
13329
+ description: "Value of latest pressure reading for a Minut device.\n ",
13330
+ format: "float",
13331
+ type: "number"
13332
+ }
12527
13333
  },
12528
13334
  required: ["time", "value"],
12529
13335
  type: "object"
12530
13336
  },
12531
13337
  sound: {
13338
+ description: "Latest sound reading for a Minut device.\n ",
12532
13339
  properties: {
12533
- time: { type: "string" },
12534
- value: { format: "float", type: "number" }
13340
+ time: {
13341
+ description: "Time of latest sound reading for a Minut device.\n ",
13342
+ type: "string"
13343
+ },
13344
+ value: {
13345
+ description: "Value of latest sound reading for a Minut device.\n ",
13346
+ format: "float",
13347
+ type: "number"
13348
+ }
12535
13349
  },
12536
13350
  required: ["time", "value"],
12537
13351
  type: "object"
12538
13352
  },
12539
13353
  temperature: {
13354
+ description: "Latest temperature reading for a Minut device.\n ",
12540
13355
  properties: {
12541
- time: { type: "string" },
12542
- value: { format: "float", type: "number" }
13356
+ time: {
13357
+ description: "Time of latest temperature reading for a Minut device.\n ",
13358
+ type: "string"
13359
+ },
13360
+ value: {
13361
+ description: "Value of latest temperature reading for a Minut device.\n ",
13362
+ format: "float",
13363
+ type: "number"
13364
+ }
12543
13365
  },
12544
13366
  required: ["time", "value"],
12545
13367
  type: "object"
@@ -12563,11 +13385,24 @@ var openapi_default = {
12563
13385
  type: "object"
12564
13386
  },
12565
13387
  nest_metadata: {
13388
+ description: "Metadata for a Google Nest device.\n ",
12566
13389
  properties: {
12567
- device_custom_name: { type: "string" },
12568
- device_name: { type: "string" },
12569
- display_name: { type: "string" },
12570
- nest_device_id: { type: "string" }
13390
+ device_custom_name: {
13391
+ description: "Custom device name for a Google Nest device. The device owner sets this value.\n ",
13392
+ type: "string"
13393
+ },
13394
+ device_name: {
13395
+ description: "Device name for a Google Nest device. Google sets this value.\n ",
13396
+ type: "string"
13397
+ },
13398
+ display_name: {
13399
+ description: "Display name for a Google Nest device.\n ",
13400
+ type: "string"
13401
+ },
13402
+ nest_device_id: {
13403
+ description: "Device ID for a Google Nest device.\n ",
13404
+ type: "string"
13405
+ }
12571
13406
  },
12572
13407
  required: [
12573
13408
  "nest_device_id",
@@ -12577,18 +13412,31 @@ var openapi_default = {
12577
13412
  type: "object"
12578
13413
  },
12579
13414
  noiseaware_metadata: {
13415
+ description: "Metadata for a NoiseAware device.\n ",
12580
13416
  properties: {
12581
- device_id: { type: "string" },
13417
+ device_id: {
13418
+ description: "Device ID for a NoiseAware device.\n ",
13419
+ type: "string"
13420
+ },
12582
13421
  device_model: {
13422
+ description: "Device model for a NoiseAware device.\n ",
12583
13423
  enum: ["indoor", "outdoor"],
12584
13424
  type: "string"
12585
13425
  },
12586
- device_name: { type: "string" },
13426
+ device_name: {
13427
+ description: "Device name for a NoiseAware device.\n ",
13428
+ type: "string"
13429
+ },
12587
13430
  noise_level_decibel: {
13431
+ description: "Noise level, in decibels, for a NoiseAware device.\n ",
12588
13432
  format: "float",
12589
13433
  type: "number"
12590
13434
  },
12591
- noise_level_nrs: { format: "float", type: "number" }
13435
+ noise_level_nrs: {
13436
+ description: "Noise level, expressed as a Noise Risk Score (NRS), for a NoiseAware device.\n ",
13437
+ format: "float",
13438
+ type: "number"
13439
+ }
12592
13440
  },
12593
13441
  required: [
12594
13442
  "device_model",
@@ -12600,24 +13448,59 @@ var openapi_default = {
12600
13448
  type: "object"
12601
13449
  },
12602
13450
  nuki_metadata: {
13451
+ description: "Metadata for a Nuki device.\n ",
12603
13452
  properties: {
12604
- device_id: { type: "string" },
12605
- device_name: { type: "string" },
12606
- keypad_2_paired: { type: "boolean" },
12607
- keypad_battery_critical: { type: "boolean" },
12608
- keypad_paired: { type: "boolean" }
13453
+ device_id: {
13454
+ description: "Device ID for a Nuki device.\n ",
13455
+ type: "string"
13456
+ },
13457
+ device_name: {
13458
+ description: "Device name for a Nuki device.\n ",
13459
+ type: "string"
13460
+ },
13461
+ keypad_2_paired: {
13462
+ description: "Indicates whether keypad 2 is paired for a Nuki device.\n ",
13463
+ type: "boolean"
13464
+ },
13465
+ keypad_battery_critical: {
13466
+ description: "Indicates whether the keypad battery is in a critical state for a Nuki device.\n ",
13467
+ type: "boolean"
13468
+ },
13469
+ keypad_paired: {
13470
+ description: "Indicates whether the keypad is paired for a Nuki device.\n ",
13471
+ type: "boolean"
13472
+ }
12609
13473
  },
12610
13474
  required: ["device_id", "device_name"],
12611
13475
  type: "object"
12612
13476
  },
12613
13477
  salto_ks_metadata: {
13478
+ description: "Metadata for a Salto KS device.\n ",
12614
13479
  properties: {
12615
- battery_level: { type: "string" },
12616
- customer_reference: { type: "string" },
12617
- lock_id: { type: "string" },
12618
- lock_type: { type: "string" },
12619
- locked_state: { type: "string" },
12620
- model: { type: "string" }
13480
+ battery_level: {
13481
+ description: "Battery level for a Salto KS device.\n ",
13482
+ type: "string"
13483
+ },
13484
+ customer_reference: {
13485
+ description: "Customer reference for a Salto KS device.\n ",
13486
+ type: "string"
13487
+ },
13488
+ lock_id: {
13489
+ description: "Lock ID for a Salto KS device.\n ",
13490
+ type: "string"
13491
+ },
13492
+ lock_type: {
13493
+ description: "Lock type for a Salto KS device.\n ",
13494
+ type: "string"
13495
+ },
13496
+ locked_state: {
13497
+ description: "Locked state for a Salto KS device.\n ",
13498
+ type: "string"
13499
+ },
13500
+ model: {
13501
+ description: "Model for a Salto KS device.\n ",
13502
+ type: "string"
13503
+ }
12621
13504
  },
12622
13505
  required: [
12623
13506
  "lock_id",
@@ -12629,14 +13512,33 @@ var openapi_default = {
12629
13512
  type: "object"
12630
13513
  },
12631
13514
  salto_metadata: {
12632
- description: "\n ---\n deprecated: Use `salto_ks_metadata ` instead.\n ",
13515
+ deprecated: true,
13516
+ description: "Metada for a Salto device.",
12633
13517
  properties: {
12634
- battery_level: { type: "string" },
12635
- customer_reference: { type: "string" },
12636
- lock_id: { type: "string" },
12637
- lock_type: { type: "string" },
12638
- locked_state: { type: "string" },
12639
- model: { type: "string" }
13518
+ battery_level: {
13519
+ description: "Battery level for a Salto device.\n ",
13520
+ type: "string"
13521
+ },
13522
+ customer_reference: {
13523
+ description: "Customer reference for a Salto device.\n ",
13524
+ type: "string"
13525
+ },
13526
+ lock_id: {
13527
+ description: "Lock ID for a Salto device.\n ",
13528
+ type: "string"
13529
+ },
13530
+ lock_type: {
13531
+ description: "Lock type for a Salto device.\n ",
13532
+ type: "string"
13533
+ },
13534
+ locked_state: {
13535
+ description: "Locked state for a Salto device.\n ",
13536
+ type: "string"
13537
+ },
13538
+ model: {
13539
+ description: "Model for a Salto device.\n ",
13540
+ type: "string"
13541
+ }
12640
13542
  },
12641
13543
  required: [
12642
13544
  "lock_id",
@@ -12645,22 +13547,42 @@ var openapi_default = {
12645
13547
  "battery_level",
12646
13548
  "locked_state"
12647
13549
  ],
12648
- type: "object"
13550
+ type: "object",
13551
+ "x-deprecated": "Use `salto_ks_metadata ` instead."
12649
13552
  },
12650
13553
  schlage_metadata: {
13554
+ description: "Metadata for a Schlage device.\n ",
12651
13555
  properties: {
12652
- device_id: { type: "string" },
12653
- device_name: { type: "string" },
12654
- model: { type: "string" }
13556
+ device_id: {
13557
+ description: "Device ID for a Schlage device.\n ",
13558
+ type: "string"
13559
+ },
13560
+ device_name: {
13561
+ description: "Device name for a Schlage device.\n ",
13562
+ type: "string"
13563
+ },
13564
+ model: {
13565
+ description: "Model for a Schlage device.\n ",
13566
+ type: "string"
13567
+ }
12655
13568
  },
12656
13569
  required: ["device_id", "device_name"],
12657
13570
  type: "object"
12658
13571
  },
12659
13572
  seam_bridge_metadata: {
13573
+ description: "Metadata for Seam Bridge.\n ",
12660
13574
  properties: {
12661
- device_num: { format: "float", type: "number" },
12662
- name: { type: "string" },
13575
+ device_num: {
13576
+ description: "Device number for Seam Bridge.\n ",
13577
+ format: "float",
13578
+ type: "number"
13579
+ },
13580
+ name: {
13581
+ description: "Name for Seam Bridge.\n ",
13582
+ type: "string"
13583
+ },
12663
13584
  unlock_method: {
13585
+ description: "Unlock method for Seam Bridge.\n ",
12664
13586
  enum: ["bridge", "doorking"],
12665
13587
  type: "string"
12666
13588
  }
@@ -12669,41 +13591,96 @@ var openapi_default = {
12669
13591
  type: "object"
12670
13592
  },
12671
13593
  sensi_metadata: {
13594
+ description: "Metadata for a Sensi device.\n ",
12672
13595
  properties: {
12673
- device_id: { type: "string" },
12674
- device_name: { type: "string" },
12675
- product_type: { type: "string" }
13596
+ device_id: {
13597
+ description: "Device ID for a Sensi device.\n ",
13598
+ type: "string"
13599
+ },
13600
+ device_name: {
13601
+ description: "Device name for a Sensi device.\n ",
13602
+ type: "string"
13603
+ },
13604
+ product_type: {
13605
+ description: "Product type for a Sensi device.\n ",
13606
+ type: "string"
13607
+ }
12676
13608
  },
12677
13609
  required: ["device_id", "device_name", "product_type"],
12678
13610
  type: "object"
12679
13611
  },
12680
13612
  smartthings_metadata: {
13613
+ description: "Metadata for a SmartThings device.\n ",
12681
13614
  properties: {
12682
- device_id: { type: "string" },
12683
- device_name: { type: "string" },
12684
- location_id: { type: "string" },
12685
- model: { type: "string" }
13615
+ device_id: {
13616
+ description: "Device ID for a SmartThings device.\n ",
13617
+ type: "string"
13618
+ },
13619
+ device_name: {
13620
+ description: "Device name for a SmartThings device.\n ",
13621
+ type: "string"
13622
+ },
13623
+ location_id: {
13624
+ description: "Location ID for a SmartThings device.\n ",
13625
+ type: "string"
13626
+ },
13627
+ model: {
13628
+ description: "Model for a SmartThings device.\n ",
13629
+ type: "string"
13630
+ }
12686
13631
  },
12687
13632
  required: ["device_id", "device_name"],
12688
13633
  type: "object"
12689
13634
  },
12690
13635
  tado_metadata: {
13636
+ description: "Metadata for a tado\xB0 device.\n ",
12691
13637
  properties: {
12692
- device_type: { type: "string" },
12693
- serial_no: { type: "string" }
13638
+ device_type: {
13639
+ description: "Device type for a tado\xB0 device.\n ",
13640
+ type: "string"
13641
+ },
13642
+ serial_no: {
13643
+ description: "Serial number for a tado\xB0 device.\n ",
13644
+ type: "string"
13645
+ }
12694
13646
  },
12695
13647
  required: ["serial_no", "device_type"],
12696
13648
  type: "object"
12697
13649
  },
12698
13650
  tedee_metadata: {
13651
+ description: "Metadata for a Tedee device.\n ",
12699
13652
  properties: {
12700
- bridge_id: { format: "float", type: "number" },
12701
- bridge_name: { type: "string" },
12702
- device_id: { format: "float", type: "number" },
12703
- device_model: { type: "string" },
12704
- device_name: { type: "string" },
12705
- keypad_id: { format: "float", type: "number" },
12706
- serial_number: { type: "string" }
13653
+ bridge_id: {
13654
+ description: "Bridge ID for a Tedee device.\n ",
13655
+ format: "float",
13656
+ type: "number"
13657
+ },
13658
+ bridge_name: {
13659
+ description: "Bridge name for a Tedee device.\n ",
13660
+ type: "string"
13661
+ },
13662
+ device_id: {
13663
+ description: "Device ID for a Tedee device.\n ",
13664
+ format: "float",
13665
+ type: "number"
13666
+ },
13667
+ device_model: {
13668
+ description: "Device model for a Tedee device.\n ",
13669
+ type: "string"
13670
+ },
13671
+ device_name: {
13672
+ description: "Device name for a Tedee device.\n ",
13673
+ type: "string"
13674
+ },
13675
+ keypad_id: {
13676
+ description: "Keypad ID for a Tedee device.\n ",
13677
+ format: "float",
13678
+ type: "number"
13679
+ },
13680
+ serial_number: {
13681
+ description: "Serial number for a Tedee device.\n ",
13682
+ type: "string"
13683
+ }
12707
13684
  },
12708
13685
  required: [
12709
13686
  "device_id",
@@ -12716,16 +13693,39 @@ var openapi_default = {
12716
13693
  type: "object"
12717
13694
  },
12718
13695
  ttlock_metadata: {
13696
+ description: "Metadata for a TTLock device.\n ",
12719
13697
  properties: {
12720
- feature_value: { type: "string" },
13698
+ feature_value: {
13699
+ description: "Feature value for a TTLock device.\n ",
13700
+ type: "string"
13701
+ },
12721
13702
  features: {
13703
+ description: "Features for a TTLock device.\n ",
12722
13704
  properties: {
12723
- incomplete_keyboard_passcode: { type: "boolean" },
12724
- lock_command: { type: "boolean" },
12725
- passcode: { type: "boolean" },
12726
- passcode_management: { type: "boolean" },
12727
- unlock_via_gateway: { type: "boolean" },
12728
- wifi: { type: "boolean" }
13705
+ incomplete_keyboard_passcode: {
13706
+ description: "Indicates whether a TTLock device supports an incomplete keyboard passcode.\n ",
13707
+ type: "boolean"
13708
+ },
13709
+ lock_command: {
13710
+ description: "Indicates whether a TTLock device supports the lock command.\n ",
13711
+ type: "boolean"
13712
+ },
13713
+ passcode: {
13714
+ description: "Indicates whether a TTLock device supports a passcode.\n ",
13715
+ type: "boolean"
13716
+ },
13717
+ passcode_management: {
13718
+ description: "Indicates whether a TTLock device supports passcode management.\n ",
13719
+ type: "boolean"
13720
+ },
13721
+ unlock_via_gateway: {
13722
+ description: "Indicates whether a TTLock device supports unlock via gateway.\n ",
13723
+ type: "boolean"
13724
+ },
13725
+ wifi: {
13726
+ description: "Indicates whether a TTLock device supports Wi-Fi.\n ",
13727
+ type: "boolean"
13728
+ }
12729
13729
  },
12730
13730
  required: [
12731
13731
  "passcode",
@@ -12737,17 +13737,32 @@ var openapi_default = {
12737
13737
  ],
12738
13738
  type: "object"
12739
13739
  },
12740
- has_gateway: { type: "boolean" },
12741
- lock_alias: { type: "string" },
12742
- lock_id: { format: "float", type: "number" },
13740
+ has_gateway: {
13741
+ description: "Indicates whether a TTLock device has a gateway.\n ",
13742
+ type: "boolean"
13743
+ },
13744
+ lock_alias: {
13745
+ description: "Lock alias for a TTLock device.\n ",
13746
+ type: "string"
13747
+ },
13748
+ lock_id: {
13749
+ description: "Lock ID for a TTLock device.\n ",
13750
+ format: "float",
13751
+ type: "number"
13752
+ },
12743
13753
  wireless_keypads: {
13754
+ description: "Wireless keypads for a TTLock device.\n ",
12744
13755
  items: {
12745
13756
  properties: {
12746
13757
  wireless_keypad_id: {
13758
+ description: "ID for a wireless keypad for a TTLock device.\n ",
12747
13759
  format: "float",
12748
13760
  type: "number"
12749
13761
  },
12750
- wireless_keypad_name: { type: "string" }
13762
+ wireless_keypad_name: {
13763
+ description: "Name for a wireless keypad for a TTLock device.\n ",
13764
+ type: "string"
13765
+ }
12751
13766
  },
12752
13767
  required: [
12753
13768
  "wireless_keypad_id",
@@ -12767,31 +13782,68 @@ var openapi_default = {
12767
13782
  type: "object"
12768
13783
  },
12769
13784
  two_n_metadata: {
13785
+ description: "Metadata for a 2N device.\n ",
12770
13786
  properties: {
12771
- device_id: { format: "float", type: "number" },
12772
- device_name: { type: "string" }
13787
+ device_id: {
13788
+ description: "Device ID for a 2N device.\n ",
13789
+ format: "float",
13790
+ type: "number"
13791
+ },
13792
+ device_name: {
13793
+ description: "Device name for a 2N device.\n ",
13794
+ type: "string"
13795
+ }
12773
13796
  },
12774
13797
  required: ["device_id", "device_name"],
12775
13798
  type: "object"
12776
13799
  },
12777
13800
  visionline_metadata: {
12778
- properties: { encoder_id: { type: "string" } },
13801
+ description: "Metadata for an ASSA ABLOY Visionline system.\n ",
13802
+ properties: {
13803
+ encoder_id: {
13804
+ description: "Encoder ID for an ASSA ABLOY Visionline system.\n ",
13805
+ type: "string"
13806
+ }
13807
+ },
12779
13808
  required: ["encoder_id"],
12780
13809
  type: "object"
12781
13810
  },
12782
13811
  wyze_metadata: {
13812
+ description: "Metadata for a Wyze device.\n ",
12783
13813
  properties: {
12784
- device_id: { type: "string" },
12785
- device_info_model: { type: "string" },
12786
- device_name: { type: "string" },
12787
- keypad_uuid: { type: "string" },
13814
+ device_id: {
13815
+ description: "Device ID for a Wyze device.\n ",
13816
+ type: "string"
13817
+ },
13818
+ device_info_model: {
13819
+ description: "Device information model for a Wyze device.\n ",
13820
+ type: "string"
13821
+ },
13822
+ device_name: {
13823
+ description: "Device name for a Wyze device.\n ",
13824
+ type: "string"
13825
+ },
13826
+ keypad_uuid: {
13827
+ description: "Keypad UUID for a Wyze device.\n ",
13828
+ type: "string"
13829
+ },
12788
13830
  locker_status_hardlock: {
13831
+ description: "Locker status (hardlock) for a Wyze device.\n ",
12789
13832
  format: "float",
12790
13833
  type: "number"
12791
13834
  },
12792
- product_model: { type: "string" },
12793
- product_name: { type: "string" },
12794
- product_type: { type: "string" }
13835
+ product_model: {
13836
+ description: "Product model for a Wyze device.\n ",
13837
+ type: "string"
13838
+ },
13839
+ product_name: {
13840
+ description: "Product name for a Wyze device.\n ",
13841
+ type: "string"
13842
+ },
13843
+ product_type: {
13844
+ description: "Product type for a Wyze device.\n ",
13845
+ type: "string"
13846
+ }
12795
13847
  },
12796
13848
  required: [
12797
13849
  "device_id",
@@ -12804,7 +13856,8 @@ var openapi_default = {
12804
13856
  type: "object"
12805
13857
  }
12806
13858
  },
12807
- type: "object"
13859
+ type: "object",
13860
+ "x-property-group-key": "provider_metadata"
12808
13861
  }
12809
13862
  ]
12810
13863
  },
@@ -12814,15 +13867,19 @@ var openapi_default = {
12814
13867
  properties: {
12815
13868
  _experimental_supported_code_from_access_codes_lengths: {
12816
13869
  items: { format: "float", type: "number" },
12817
- type: "array"
13870
+ type: "array",
13871
+ "x-undocumented": "Marked as experimental."
12818
13872
  },
12819
13873
  code_constraints: {
12820
13874
  description: "Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific.",
12821
13875
  items: {
13876
+ description: "Access code constraint.",
12822
13877
  oneOf: [
12823
13878
  {
13879
+ description: "Code constraint for access codes.",
12824
13880
  properties: {
12825
13881
  constraint_type: {
13882
+ description: "Code constraint type for access codes.",
12826
13883
  enum: [
12827
13884
  "no_zeros",
12828
13885
  "cannot_start_with_12",
@@ -12842,40 +13899,76 @@ var openapi_default = {
12842
13899
  type: "object"
12843
13900
  },
12844
13901
  {
13902
+ description: "Name constraint for access codes.",
12845
13903
  properties: {
12846
13904
  constraint_type: {
12847
13905
  enum: ["name_length", "name_must_be_unique"],
12848
13906
  type: "string"
12849
13907
  },
12850
- max_length: { format: "float", type: "number" },
12851
- min_length: { format: "float", type: "number" }
13908
+ max_length: {
13909
+ description: "Maximum name length constraint for access codes.",
13910
+ format: "float",
13911
+ type: "number"
13912
+ },
13913
+ min_length: {
13914
+ description: "Minimum name length constraint for access codes.",
13915
+ format: "float",
13916
+ type: "number"
13917
+ }
12852
13918
  },
12853
13919
  required: ["constraint_type"],
12854
13920
  type: "object"
12855
13921
  }
12856
13922
  ]
12857
13923
  },
12858
- type: "array"
13924
+ type: "array",
13925
+ "x-property-group-key": "access_codes"
13926
+ },
13927
+ door_open: {
13928
+ description: "Indicates whether the door is open.",
13929
+ type: "boolean",
13930
+ "x-property-group-key": "locks"
13931
+ },
13932
+ has_native_entry_events: {
13933
+ description: "Indicates whether the device supports native entry events.",
13934
+ type: "boolean",
13935
+ "x-property-group-key": "access_codes"
12859
13936
  },
12860
- door_open: { type: "boolean" },
12861
- has_native_entry_events: { type: "boolean" },
12862
13937
  keypad_battery: {
13938
+ description: "Keypad battery status.",
12863
13939
  properties: {
12864
- level: { format: "float", type: "number" }
13940
+ level: {
13941
+ description: "Keypad battery charge level.\n ",
13942
+ format: "float",
13943
+ type: "number"
13944
+ }
12865
13945
  },
12866
13946
  required: ["level"],
12867
- type: "object"
13947
+ type: "object",
13948
+ "x-property-group-key": "access_codes"
13949
+ },
13950
+ locked: {
13951
+ description: "Indicates whether the lock is locked.",
13952
+ type: "boolean",
13953
+ "x-property-group-key": "locks"
12868
13954
  },
12869
- locked: { type: "boolean" },
12870
13955
  max_active_codes_supported: {
13956
+ description: "Maximum number of active access codes that the device supports.",
12871
13957
  format: "float",
12872
- type: "number"
13958
+ type: "number",
13959
+ "x-property-group-key": "access_codes"
12873
13960
  },
12874
13961
  supported_code_lengths: {
13962
+ description: "Supported code lengths for access codes.",
12875
13963
  items: { format: "float", type: "number" },
12876
- type: "array"
13964
+ type: "array",
13965
+ "x-property-group-key": "access_codes"
12877
13966
  },
12878
- supports_backup_access_code_pool: { type: "boolean" }
13967
+ supports_backup_access_code_pool: {
13968
+ description: "Indicates whether the device supports a [backup access code pool](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes).",
13969
+ type: "boolean",
13970
+ "x-property-group-key": "access_codes"
13971
+ }
12879
13972
  },
12880
13973
  type: "object"
12881
13974
  },
@@ -12883,7 +13976,7 @@ var openapi_default = {
12883
13976
  properties: {
12884
13977
  active_thermostat_schedule: {
12885
13978
  default: null,
12886
- description: "Represents a [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) that activates a configured [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) on a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) at a specified starting time and deactivates the climate preset at a specified ending time.",
13979
+ description: "Active [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules).",
12887
13980
  nullable: true,
12888
13981
  properties: {
12889
13982
  climate_preset_key: {
@@ -12967,9 +14060,11 @@ var openapi_default = {
12967
14060
  "errors"
12968
14061
  ],
12969
14062
  type: "object",
14063
+ "x-property-group-key": "thermostats",
12970
14064
  "x-route-path": "/thermostats/schedules"
12971
14065
  },
12972
14066
  available_climate_presets: {
14067
+ description: "Available [climate presets](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) for the thermostat.",
12973
14068
  items: {
12974
14069
  properties: {
12975
14070
  can_delete: {
@@ -13045,23 +14140,29 @@ var openapi_default = {
13045
14140
  ],
13046
14141
  type: "object"
13047
14142
  },
13048
- type: "array"
14143
+ type: "array",
14144
+ "x-property-group-key": "thermostats"
13049
14145
  },
13050
14146
  available_fan_mode_settings: {
14147
+ description: "Fan mode settings that the thermostat supports.",
13051
14148
  items: {
13052
14149
  enum: ["auto", "on", "circulate"],
13053
14150
  type: "string"
13054
14151
  },
13055
- type: "array"
14152
+ type: "array",
14153
+ "x-property-group-key": "thermostats"
13056
14154
  },
13057
14155
  available_hvac_mode_settings: {
14156
+ description: "HVAC mode settings that the thermostat supports.",
13058
14157
  items: {
13059
14158
  enum: ["off", "heat", "cool", "heat_cool"],
13060
14159
  type: "string"
13061
14160
  },
13062
- type: "array"
14161
+ type: "array",
14162
+ "x-property-group-key": "thermostats"
13063
14163
  },
13064
14164
  current_climate_setting: {
14165
+ description: "Current climate setting.",
13065
14166
  properties: {
13066
14167
  can_delete: {
13067
14168
  description: "Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted.",
@@ -13126,7 +14227,8 @@ var openapi_default = {
13126
14227
  type: "string"
13127
14228
  }
13128
14229
  },
13129
- type: "object"
14230
+ type: "object",
14231
+ "x-property-group-key": "thermostats"
13130
14232
  },
13131
14233
  default_climate_setting: {
13132
14234
  deprecated: true,
@@ -13195,93 +14297,147 @@ var openapi_default = {
13195
14297
  }
13196
14298
  },
13197
14299
  type: "object",
13198
- "x-deprecated": "use fallback_climate_preset_key to specify a fallback climate preset instead."
14300
+ "x-deprecated": "use fallback_climate_preset_key to specify a fallback climate preset instead.",
14301
+ "x-property-group-key": "thermostats"
13199
14302
  },
13200
14303
  fallback_climate_preset_key: {
13201
14304
  default: null,
14305
+ description: "Key of the [fallback climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset) for the thermostat.",
13202
14306
  minLength: 1,
13203
14307
  nullable: true,
13204
- type: "string"
14308
+ type: "string",
14309
+ "x-property-group-key": "thermostats"
13205
14310
  },
13206
14311
  fan_mode_setting: {
13207
14312
  deprecated: true,
13208
14313
  enum: ["auto", "on", "circulate"],
13209
14314
  type: "string",
13210
- "x-deprecated": "use current_climate_setting.fan_mode_setting instead."
14315
+ "x-deprecated": "Use `current_climate_setting.fan_mode_setting` instead.",
14316
+ "x-property-group-key": "thermostats"
14317
+ },
14318
+ is_cooling: {
14319
+ description: "Indicates whether the connected HVAC system is currently cooling, as reported by the thermostat.",
14320
+ type: "boolean",
14321
+ "x-property-group-key": "thermostats"
14322
+ },
14323
+ is_fan_running: {
14324
+ description: "Indicates whether the fan in the connected HVAC system is currently running, as reported by the thermostat.",
14325
+ type: "boolean",
14326
+ "x-property-group-key": "thermostats"
14327
+ },
14328
+ is_heating: {
14329
+ description: "Indicates whether the connected HVAC system is currently heating, as reported by the thermostat.",
14330
+ type: "boolean",
14331
+ "x-property-group-key": "thermostats"
14332
+ },
14333
+ is_temporary_manual_override_active: {
14334
+ description: "Indicates whether the current thermostat settings differ from the most recent active program or schedule that Seam activated. For this condition to occur, `current_climate_setting.manual_override_allowed` must also be `true`.",
14335
+ type: "boolean",
14336
+ "x-property-group-key": "thermostats"
13211
14337
  },
13212
- is_cooling: { type: "boolean" },
13213
- is_fan_running: { type: "boolean" },
13214
- is_heating: { type: "boolean" },
13215
- is_temporary_manual_override_active: { type: "boolean" },
13216
14338
  max_cooling_set_point_celsius: {
14339
+ description: "Maximum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in \xB0C.",
13217
14340
  format: "float",
13218
- type: "number"
14341
+ type: "number",
14342
+ "x-property-group-key": "thermostats"
13219
14343
  },
13220
14344
  max_cooling_set_point_fahrenheit: {
14345
+ description: "Maximum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in \xB0F.",
13221
14346
  format: "float",
13222
- type: "number"
14347
+ type: "number",
14348
+ "x-property-group-key": "thermostats"
13223
14349
  },
13224
14350
  max_heating_set_point_celsius: {
14351
+ description: "Maximum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in \xB0C.",
13225
14352
  format: "float",
13226
- type: "number"
14353
+ type: "number",
14354
+ "x-property-group-key": "thermostats"
13227
14355
  },
13228
14356
  max_heating_set_point_fahrenheit: {
14357
+ description: "Maximum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in \xB0F.",
13229
14358
  format: "float",
13230
- type: "number"
14359
+ type: "number",
14360
+ "x-property-group-key": "thermostats"
13231
14361
  },
13232
14362
  min_cooling_set_point_celsius: {
14363
+ description: "Minimum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in \xB0C.",
13233
14364
  format: "float",
13234
- type: "number"
14365
+ type: "number",
14366
+ "x-property-group-key": "thermostats"
13235
14367
  },
13236
14368
  min_cooling_set_point_fahrenheit: {
14369
+ description: "Minimum [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#cooling-set-point) in \xB0F.",
13237
14370
  format: "float",
13238
- type: "number"
14371
+ type: "number",
14372
+ "x-property-group-key": "thermostats"
13239
14373
  },
13240
14374
  min_heating_cooling_delta_celsius: {
14375
+ description: "Minimum [temperature difference](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#minimum-heating-cooling-temperature-delta) in \xB0C between the cooling and heating set points when in heat-cool (auto) mode.",
13241
14376
  format: "float",
13242
- type: "number"
14377
+ type: "number",
14378
+ "x-property-group-key": "thermostats"
13243
14379
  },
13244
14380
  min_heating_cooling_delta_fahrenheit: {
14381
+ description: "Minimum [temperature difference](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#minimum-heating-cooling-temperature-delta) in \xB0F between the cooling and heating set points when in heat-cool (auto) mode.",
13245
14382
  format: "float",
13246
- type: "number"
14383
+ type: "number",
14384
+ "x-property-group-key": "thermostats"
13247
14385
  },
13248
14386
  min_heating_set_point_celsius: {
14387
+ description: "Minimum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in \xB0C.",
13249
14388
  format: "float",
13250
- type: "number"
14389
+ type: "number",
14390
+ "x-property-group-key": "thermostats"
13251
14391
  },
13252
14392
  min_heating_set_point_fahrenheit: {
14393
+ description: "Minimum [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points#heating-set-point) in \xB0F.",
13253
14394
  format: "float",
13254
- type: "number"
14395
+ type: "number",
14396
+ "x-property-group-key": "thermostats"
13255
14397
  },
13256
14398
  relative_humidity: {
14399
+ description: "Reported relative humidity, as a value between 0 and 1, inclusive.",
13257
14400
  format: "float",
13258
14401
  maximum: 1,
13259
14402
  minimum: 0,
13260
- type: "number"
14403
+ type: "number",
14404
+ "x-property-group-key": "thermostats"
14405
+ },
14406
+ temperature_celsius: {
14407
+ description: "Reported temperature in \xB0C.",
14408
+ format: "float",
14409
+ type: "number",
14410
+ "x-property-group-key": "thermostats"
13261
14411
  },
13262
- temperature_celsius: { format: "float", type: "number" },
13263
14412
  temperature_fahrenheit: {
14413
+ description: "Reported temperature in \xB0F.",
13264
14414
  format: "float",
13265
- type: "number"
14415
+ type: "number",
14416
+ "x-property-group-key": "thermostats"
13266
14417
  },
13267
14418
  temperature_threshold: {
14419
+ description: "Current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.",
13268
14420
  properties: {
13269
14421
  lower_limit_celsius: {
14422
+ description: "Lower limit in \xB0C within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.\n ",
13270
14423
  format: "float",
13271
14424
  nullable: true,
13272
14425
  type: "number"
13273
14426
  },
13274
14427
  lower_limit_fahrenheit: {
14428
+ description: "Lower limit in \xB0F within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.\n ",
13275
14429
  format: "float",
13276
14430
  nullable: true,
13277
14431
  type: "number"
13278
14432
  },
13279
14433
  upper_limit_celsius: {
14434
+ description: "Upper limit in \xB0C within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.\n ",
13280
14435
  format: "float",
13281
14436
  nullable: true,
13282
14437
  type: "number"
13283
14438
  },
13284
14439
  upper_limit_fahrenheit: {
14440
+ description: "Upper limit in \xB0F within the current [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) set for the thermostat.\n ",
13285
14441
  format: "float",
13286
14442
  nullable: true,
13287
14443
  type: "number"
@@ -13293,9 +14449,11 @@ var openapi_default = {
13293
14449
  "upper_limit_celsius",
13294
14450
  "upper_limit_fahrenheit"
13295
14451
  ],
13296
- type: "object"
14452
+ type: "object",
14453
+ "x-property-group-key": "thermostats"
13297
14454
  },
13298
14455
  thermostat_daily_programs: {
14456
+ description: "Configured [daily programs](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-programs) for the thermostat.",
13299
14457
  items: {
13300
14458
  description: "Represents a thermostat daily program, consisting of a set of periods, each of which has a starting time and the key that identifies the climate preset to apply at the starting time.",
13301
14459
  properties: {
@@ -13359,9 +14517,11 @@ var openapi_default = {
13359
14517
  type: "object",
13360
14518
  "x-route-path": "/thermostats/thermostat_daily_programs"
13361
14519
  },
13362
- type: "array"
14520
+ type: "array",
14521
+ "x-property-group-key": "thermostats"
13363
14522
  },
13364
14523
  thermostat_weekly_program: {
14524
+ description: "Current [weekly program](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-programs) for the thermostat.",
13365
14525
  nullable: true,
13366
14526
  properties: {
13367
14527
  created_at: {
@@ -13422,7 +14582,8 @@ var openapi_default = {
13422
14582
  "sunday_program_id",
13423
14583
  "created_at"
13424
14584
  ],
13425
- type: "object"
14585
+ type: "object",
14586
+ "x-property-group-key": "thermostats"
13426
14587
  }
13427
14588
  },
13428
14589
  type: "object"
@@ -13430,7 +14591,16 @@ var openapi_default = {
13430
14591
  ]
13431
14592
  }
13432
14593
  ],
13433
- description: "Properties of the device."
14594
+ description: "Properties of the device.",
14595
+ "x-property-groups": {
14596
+ access_codes: { name: "Access Codes" },
14597
+ hardware: { name: "Hardware" },
14598
+ locks: { name: "Locks" },
14599
+ noise_sensors: { name: "Noise Sensors" },
14600
+ phones: { name: "Phones" },
14601
+ provider_metadata: { name: "Provider Metadata" },
14602
+ thermostats: { name: "Thermostats" }
14603
+ }
13434
14604
  },
13435
14605
  warnings: {
13436
14606
  description: 'Array of warnings associated with the device. Each warning object within the array contains two fields: "warning_code" and "message." "warning_code" is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.',
@@ -13701,6 +14871,15 @@ var openapi_default = {
13701
14871
  "custom_metadata"
13702
14872
  ],
13703
14873
  type: "object",
14874
+ "x-property-groups": {
14875
+ access_codes: { name: "Access Codes" },
14876
+ hardware: { name: "Hardware" },
14877
+ locks: { name: "Locks" },
14878
+ noise_sensors: { name: "Noise Sensors" },
14879
+ phones: { name: "Phones" },
14880
+ provider_metadata: { name: "Provider Metadata" },
14881
+ thermostats: { name: "Thermostats" }
14882
+ },
13704
14883
  "x-route-path": "/devices"
13705
14884
  },
13706
14885
  device_provider: {
@@ -18552,7 +19731,7 @@ var openapi_default = {
18552
19731
  description: "Represents an app user's mobile phone.",
18553
19732
  properties: {
18554
19733
  created_at: {
18555
- description: "Date and time at which the `phone` was created.",
19734
+ description: "Date and time at which the phone was created.\n ",
18556
19735
  format: "date-time",
18557
19736
  type: "string"
18558
19737
  },
@@ -18560,25 +19739,25 @@ var openapi_default = {
18560
19739
  additionalProperties: {
18561
19740
  oneOf: [{ type: "string" }, { type: "boolean" }]
18562
19741
  },
18563
- description: "Optional [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) for the phone.",
19742
+ description: "Optional [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) for the phone.\n ",
18564
19743
  type: "object"
18565
19744
  },
18566
19745
  device_id: {
18567
- description: "ID of the `phone`.",
19746
+ description: "ID of the phone.\n ",
18568
19747
  format: "uuid",
18569
19748
  type: "string"
18570
19749
  },
18571
19750
  device_type: {
18572
- description: "Type of phone.",
19751
+ description: "Device type for phones.\n ",
18573
19752
  enum: ["ios_phone", "android_phone"],
18574
19753
  type: "string"
18575
19754
  },
18576
19755
  display_name: {
18577
- description: "Display name of the phone. Defaults to `nickname` (if it is set) or `properties.appearance.name` otherwise. Enables administrators and users to identify the phone easily, especially when there are numerous phones.",
19756
+ description: "Display name of the phone. Defaults to `nickname` (if it is set) or `properties.appearance.name` otherwise. Enables administrators and users to identify the phone easily, especially when there are numerous phones.\n ",
18578
19757
  type: "string"
18579
19758
  },
18580
19759
  errors: {
18581
- description: "Errors associated with the `phone`.",
19760
+ description: "Errors associated with the phone.",
18582
19761
  items: {
18583
19762
  properties: {
18584
19763
  error_code: { type: "string" },
@@ -18590,11 +19769,11 @@ var openapi_default = {
18590
19769
  type: "array"
18591
19770
  },
18592
19771
  nickname: {
18593
- description: "Optional nickname to describe the phone, settable through Seam.",
19772
+ description: "Optional nickname to describe the phone, settable through Seam.\n ",
18594
19773
  type: "string"
18595
19774
  },
18596
19775
  properties: {
18597
- description: "Properties of the phone.",
19776
+ description: "\n Properties of the phone.\n ",
18598
19777
  properties: {
18599
19778
  assa_abloy_credential_service_metadata: {
18600
19779
  description: "ASSA ABLOY Credential Service metadata for the phone.",
@@ -18640,7 +19819,7 @@ var openapi_default = {
18640
19819
  type: "object"
18641
19820
  },
18642
19821
  warnings: {
18643
- description: "Warnings associated with the `phone`.",
19822
+ description: "Warnings associated with the phone.",
18644
19823
  items: {
18645
19824
  properties: {
18646
19825
  message: { type: "string" },
@@ -18652,7 +19831,7 @@ var openapi_default = {
18652
19831
  type: "array"
18653
19832
  },
18654
19833
  workspace_id: {
18655
- description: "ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the `phone`.",
19834
+ description: "ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the phone.\n ",
18656
19835
  format: "uuid",
18657
19836
  type: "string"
18658
19837
  }
@@ -18669,6 +19848,7 @@ var openapi_default = {
18669
19848
  "properties"
18670
19849
  ],
18671
19850
  type: "object",
19851
+ "x-property-groups": { phones: { name: "Phones" } },
18672
19852
  "x-route-path": "/phones"
18673
19853
  },
18674
19854
  phone_registration: {
@@ -21666,8 +22846,9 @@ var openapi_default = {
21666
22846
  can_simulate_removal: { type: "boolean" },
21667
22847
  can_turn_off_hvac: { type: "boolean" },
21668
22848
  capabilities_supported: {
21669
- description: 'Collection of capabilities that the device supports when connected to Seam. Values are "access_code," which indicates that the device can manage and utilize digital PIN codes for secure access; "lock," which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; "noise_detection," which indicates that the device supports monitoring and responding to ambient noise levels; "thermostat," which indicates that the device can regulate and adjust indoor temperatures; and "battery," which indicates that the device can manage battery life and health.',
22849
+ description: "\n Collection of capabilities that the device supports when connected to Seam. Values are `access_code`, which indicates that the device can manage and utilize digital PIN codes for secure access; `lock`, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; `noise_detection`, which indicates that the device supports monitoring and responding to ambient noise levels; `thermostat`, which indicates that the device can regulate and adjust indoor temperatures; `battery`, which indicates that the device can manage battery life and health; and `phone`, which indicates that the device is a mobile device, such as a smartphone. **Important:** Superseded by [capability flags](https://docs.seam.co/latest/capability-guides/device-and-system-capabilities#capability-flags).\n ",
21670
22850
  items: {
22851
+ description: "\n Collection of capabilities that the device supports when connected to Seam. **Important:** Superseded by [capability flags](https://docs.seam.co/latest/capability-guides/device-and-system-capabilities#capability-flags).\n ",
21671
22852
  enum: [
21672
22853
  "access_code",
21673
22854
  "lock",
@@ -21699,6 +22880,7 @@ var openapi_default = {
21699
22880
  description: "Type of the device.",
21700
22881
  oneOf: [
21701
22882
  {
22883
+ description: "Device type for smartlocks.\n ",
21702
22884
  enum: [
21703
22885
  "akuvox_lock",
21704
22886
  "august_lock",
@@ -21731,10 +22913,12 @@ var openapi_default = {
21731
22913
  type: "string"
21732
22914
  },
21733
22915
  {
22916
+ description: "Device type for noise sensors.\n ",
21734
22917
  enum: ["noiseaware_activity_zone", "minut_sensor"],
21735
22918
  type: "string"
21736
22919
  },
21737
22920
  {
22921
+ description: "Device type for thermostats.\n ",
21738
22922
  enum: [
21739
22923
  "ecobee_thermostat",
21740
22924
  "nest_thermostat",
@@ -21746,7 +22930,7 @@ var openapi_default = {
21746
22930
  type: "string"
21747
22931
  },
21748
22932
  {
21749
- description: "Type of phone.",
22933
+ description: "Device type for phones.\n ",
21750
22934
  enum: ["ios_phone", "android_phone"],
21751
22935
  type: "string"
21752
22936
  }
@@ -22095,23 +23279,25 @@ var openapi_default = {
22095
23279
  nullable: true,
22096
23280
  properties: {
22097
23281
  location_name: {
22098
- description: "Name of the device location.",
23282
+ description: "Name of the device location.\n ",
22099
23283
  type: "string"
22100
23284
  },
22101
23285
  timezone: {
22102
- description: "Time zone of the device location.",
23286
+ description: "Time zone of the device location.\n ",
22103
23287
  type: "string"
22104
23288
  }
22105
23289
  },
22106
- type: "object"
23290
+ type: "object",
23291
+ "x-property-group-key": "hardware"
22107
23292
  },
22108
23293
  properties: {
23294
+ description: "properties of the device.",
22109
23295
  properties: {
22110
23296
  accessory_keypad: {
22111
- description: "Represents the accessory keypad state.",
23297
+ description: "Accessory keypad properties and state.",
22112
23298
  properties: {
22113
23299
  battery: {
22114
- description: "Indicates if the keypad battery properties.",
23300
+ description: "Keypad battery properties.\n ",
22115
23301
  properties: {
22116
23302
  level: {
22117
23303
  format: "float",
@@ -22124,51 +23310,60 @@ var openapi_default = {
22124
23310
  type: "object"
22125
23311
  },
22126
23312
  is_connected: {
22127
- description: "Indicates if the accessory_keypad is connected to the device.",
23313
+ description: "Indicates if an accessory keypad is connected to the device.\n ",
22128
23314
  type: "boolean"
22129
23315
  }
22130
23316
  },
22131
23317
  required: ["is_connected"],
22132
- type: "object"
23318
+ type: "object",
23319
+ "x-property-group-key": "hardware"
22133
23320
  },
22134
23321
  battery: {
22135
- description: 'Represents the current status of the battery charge level. Values are "critical," which indicates an extremely low level, suggesting imminent shutdown or an urgent need for charging; "low," which signifies that the battery is under the preferred threshold and should be charged soon; "good," which denotes a satisfactory charge level, adequate for normal use without the immediate need for recharging; and "full," which represents a battery that is fully charged, providing the maximum duration of usage.',
23322
+ description: "Represents the current status of the battery charge level.",
22136
23323
  properties: {
22137
23324
  level: {
23325
+ description: "Battery charge level as a value between 0 and 1, inclusive.\n ",
22138
23326
  format: "float",
22139
23327
  maximum: 1,
22140
23328
  minimum: 0,
22141
23329
  type: "number"
22142
23330
  },
22143
23331
  status: {
23332
+ description: "Represents the current status of the battery charge level. Values are `critical`, which indicates an extremely low level, suggesting imminent shutdown or an urgent need for charging; `low`, which signifies that the battery is under the preferred threshold and should be charged soon; `good`, which denotes a satisfactory charge level, adequate for normal use without the immediate need for recharging; and `full`, which represents a battery that is fully charged, providing the maximum duration of usage.\n ",
22144
23333
  enum: ["critical", "low", "good", "full"],
22145
23334
  type: "string"
22146
23335
  }
22147
23336
  },
22148
23337
  required: ["level", "status"],
22149
- type: "object"
23338
+ type: "object",
23339
+ "x-property-group-key": "hardware"
22150
23340
  },
22151
23341
  battery_level: {
22152
23342
  description: "Indicates the battery level of the device as a decimal value between 0 and 1, inclusive.",
22153
23343
  format: "float",
22154
23344
  maximum: 1,
22155
23345
  minimum: 0,
22156
- type: "number"
23346
+ type: "number",
23347
+ "x-property-group-key": "hardware"
22157
23348
  },
22158
23349
  image_alt_text: {
22159
23350
  description: "Alt text for the device image.",
22160
- type: "string"
23351
+ type: "string",
23352
+ "x-property-group-key": "hardware"
22161
23353
  },
22162
23354
  image_url: {
22163
23355
  description: "Image URL for the device.",
22164
23356
  format: "uri",
22165
- type: "string"
23357
+ type: "string",
23358
+ "x-property-group-key": "hardware"
22166
23359
  },
22167
23360
  manufacturer: {
22168
23361
  description: "Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub.",
22169
- type: "string"
23362
+ type: "string",
23363
+ "x-property-group-key": "hardware"
22170
23364
  },
22171
23365
  model: {
23366
+ description: "Device model-related properties.",
22172
23367
  properties: {
22173
23368
  accessory_keypad_supported: {
22174
23369
  deprecated: true,
@@ -22176,28 +23371,30 @@ var openapi_default = {
22176
23371
  "x-deprecated": "use device.properties.model.can_connect_accessory_keypad"
22177
23372
  },
22178
23373
  can_connect_accessory_keypad: {
22179
- description: "Indicates whether the device can connect a accessory keypad.",
23374
+ description: "\n Indicates whether the device can connect a accessory keypad.\n ",
22180
23375
  type: "boolean"
22181
23376
  },
22182
23377
  display_name: {
22183
- description: "Display name of the device model.",
23378
+ description: "\n Display name of the device model.\n ",
22184
23379
  type: "string"
22185
23380
  },
22186
23381
  has_built_in_keypad: {
22187
- description: "Indicates whether the device has a built in accessory keypad.",
23382
+ description: "\n Indicates whether the device has a built in accessory keypad.\n ",
22188
23383
  type: "boolean"
22189
23384
  },
22190
23385
  manufacturer_display_name: {
22191
- description: "Display name that corresponds to the manufacturer-specific terminology for the device.",
23386
+ description: "\n Display name that corresponds to the manufacturer-specific terminology for the device.\n ",
22192
23387
  type: "string"
22193
23388
  },
22194
23389
  offline_access_codes_supported: {
22195
- description: "Indicates whether the device supports offline access codes.",
22196
- type: "boolean"
23390
+ deprecated: true,
23391
+ type: "boolean",
23392
+ "x-deprecated": "use device.can_program_offline_access_codes."
22197
23393
  },
22198
23394
  online_access_codes_supported: {
22199
- description: "Indicates whether the device supports online access codes.",
22200
- type: "boolean"
23395
+ deprecated: true,
23396
+ type: "boolean",
23397
+ "x-deprecated": "use device.can_program_online_access_codes."
22201
23398
  }
22202
23399
  },
22203
23400
  required: ["display_name", "manufacturer_display_name"],
@@ -22211,7 +23408,8 @@ var openapi_default = {
22211
23408
  },
22212
23409
  offline_access_codes_enabled: {
22213
23410
  description: "Indicates whether it is currently possible to use offline access codes for the device.",
22214
- type: "boolean"
23411
+ type: "boolean",
23412
+ "x-property-group-key": "access_codes"
22215
23413
  },
22216
23414
  online: {
22217
23415
  description: "Indicates whether the device is online.",
@@ -22219,11 +23417,21 @@ var openapi_default = {
22219
23417
  },
22220
23418
  online_access_codes_enabled: {
22221
23419
  description: "Indicates whether it is currently possible to use online access codes for the device.",
22222
- type: "boolean"
23420
+ type: "boolean",
23421
+ "x-property-group-key": "access_codes"
22223
23422
  }
22224
23423
  },
22225
23424
  required: ["name", "online", "model"],
22226
- type: "object"
23425
+ type: "object",
23426
+ "x-property-groups": {
23427
+ access_codes: { name: "access codes" },
23428
+ hardware: { name: "hardware" },
23429
+ locks: { name: "locks" },
23430
+ noise_sensors: { name: "noise sensors" },
23431
+ phones: { name: "phones" },
23432
+ provider_metadata: { name: "provider metadata" },
23433
+ thermostats: { name: "thermostats" }
23434
+ }
22227
23435
  },
22228
23436
  warnings: {
22229
23437
  description: 'Array of warnings associated with the device. Each warning object within the array contains two fields: "warning_code" and "message." "warning_code" is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.',
@@ -22492,6 +23700,15 @@ var openapi_default = {
22492
23700
  "properties"
22493
23701
  ],
22494
23702
  type: "object",
23703
+ "x-property-groups": {
23704
+ access_codes: { name: "Access Codes" },
23705
+ hardware: { name: "Hardware" },
23706
+ locks: { name: "Locks" },
23707
+ noise_sensors: { name: "Noise Sensors" },
23708
+ phones: { name: "Phones" },
23709
+ provider_metadata: { name: "Provider Metadata" },
23710
+ thermostats: { name: "Thermostats" }
23711
+ },
22495
23712
  "x-route-path": "/devices/unmanaged"
22496
23713
  },
22497
23714
  user_identity: {
@@ -22634,6 +23851,11 @@ var openapi_default = {
22634
23851
  scheme: "bearer",
22635
23852
  type: "http"
22636
23853
  },
23854
+ customer_client_session: {
23855
+ bearerFormat: "Customer Client Session Token",
23856
+ scheme: "bearer",
23857
+ type: "http"
23858
+ },
22637
23859
  pat_with_workspace: {
22638
23860
  bearerFormat: "API Token",
22639
23861
  scheme: "bearer",
@@ -28591,6 +29813,8 @@ var openapi_default = {
28591
29813
  items: { type: "string" },
28592
29814
  type: "array"
28593
29815
  },
29816
+ customer_id: { type: "string" },
29817
+ customer_key: { type: "string" },
28594
29818
  expires_at: {
28595
29819
  description: "Date and time at which the client session should expire, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.",
28596
29820
  format: "date-time",
@@ -28665,6 +29889,8 @@ var openapi_default = {
28665
29889
  items: { type: "string" },
28666
29890
  type: "array"
28667
29891
  },
29892
+ customer_id: { type: "string" },
29893
+ customer_key: { type: "string" },
28668
29894
  expires_at: {
28669
29895
  description: "Date and time at which the client session should expire, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.",
28670
29896
  format: "date-time",
@@ -29259,6 +30485,7 @@ var openapi_default = {
29259
30485
  description: "URL that you want to redirect the user to after the provider login is complete.",
29260
30486
  type: "string"
29261
30487
  },
30488
+ customer_id: { format: "uuid", type: "string" },
29262
30489
  device_selection_mode: {
29263
30490
  enum: ["none", "single", "multiple"],
29264
30491
  type: "string",
@@ -29310,6 +30537,7 @@ var openapi_default = {
29310
30537
  },
29311
30538
  security: [
29312
30539
  { client_session: [] },
30540
+ { customer_client_session: [] },
29313
30541
  { pat_with_workspace: [] },
29314
30542
  { console_session_with_workspace: [] },
29315
30543
  { api_key: [] }
@@ -29446,6 +30674,7 @@ var openapi_default = {
29446
30674
  description: "Custom metadata pairs by which you want to [filter Connect Webviews](https://docs.seam.co/latest/core-concepts/connect-webviews/filtering-connect-webviews-by-custom-metadata). Returns Connect Webviews with `custom_metadata` that contains all of the provided key:value pairs.",
29447
30675
  type: "object"
29448
30676
  },
30677
+ customer_id: { type: "string" },
29449
30678
  limit: {
29450
30679
  default: 500,
29451
30680
  description: "Maximum number of records to return per page.",
@@ -29486,6 +30715,7 @@ var openapi_default = {
29486
30715
  },
29487
30716
  security: [
29488
30717
  { client_session: [] },
30718
+ { customer_client_session: [] },
29489
30719
  { pat_with_workspace: [] },
29490
30720
  { console_session_with_workspace: [] },
29491
30721
  { api_key: [] }
@@ -29984,6 +31214,7 @@ var openapi_default = {
29984
31214
  description: "Device type for which you want to list devices.",
29985
31215
  oneOf: [
29986
31216
  {
31217
+ description: "Device type for smartlocks.\n ",
29987
31218
  enum: [
29988
31219
  "akuvox_lock",
29989
31220
  "august_lock",
@@ -30016,10 +31247,12 @@ var openapi_default = {
30016
31247
  type: "string"
30017
31248
  },
30018
31249
  {
31250
+ description: "Device type for noise sensors.\n ",
30019
31251
  enum: ["noiseaware_activity_zone", "minut_sensor"],
30020
31252
  type: "string"
30021
31253
  },
30022
31254
  {
31255
+ description: "Device type for thermostats.\n ",
30023
31256
  enum: [
30024
31257
  "ecobee_thermostat",
30025
31258
  "nest_thermostat",
@@ -30031,7 +31264,7 @@ var openapi_default = {
30031
31264
  type: "string"
30032
31265
  },
30033
31266
  {
30034
- description: "Type of phone.",
31267
+ description: "Device type for phones.\n ",
30035
31268
  enum: ["ios_phone", "android_phone"],
30036
31269
  type: "string"
30037
31270
  }
@@ -30042,6 +31275,7 @@ var openapi_default = {
30042
31275
  items: {
30043
31276
  oneOf: [
30044
31277
  {
31278
+ description: "Device type for smartlocks.\n ",
30045
31279
  enum: [
30046
31280
  "akuvox_lock",
30047
31281
  "august_lock",
@@ -30074,10 +31308,12 @@ var openapi_default = {
30074
31308
  type: "string"
30075
31309
  },
30076
31310
  {
31311
+ description: "Device type for noise sensors.\n ",
30077
31312
  enum: ["noiseaware_activity_zone", "minut_sensor"],
30078
31313
  type: "string"
30079
31314
  },
30080
31315
  {
31316
+ description: "Device type for thermostats.\n ",
30081
31317
  enum: [
30082
31318
  "ecobee_thermostat",
30083
31319
  "nest_thermostat",
@@ -30089,7 +31325,7 @@ var openapi_default = {
30089
31325
  type: "string"
30090
31326
  },
30091
31327
  {
30092
- description: "Type of phone.",
31328
+ description: "Device type for phones.\n ",
30093
31329
  enum: ["ios_phone", "android_phone"],
30094
31330
  type: "string"
30095
31331
  }
@@ -30568,6 +31804,7 @@ var openapi_default = {
30568
31804
  description: "Device type for which you want to list devices.",
30569
31805
  oneOf: [
30570
31806
  {
31807
+ description: "Device type for smartlocks.\n ",
30571
31808
  enum: [
30572
31809
  "akuvox_lock",
30573
31810
  "august_lock",
@@ -30600,10 +31837,12 @@ var openapi_default = {
30600
31837
  type: "string"
30601
31838
  },
30602
31839
  {
31840
+ description: "Device type for noise sensors.\n ",
30603
31841
  enum: ["noiseaware_activity_zone", "minut_sensor"],
30604
31842
  type: "string"
30605
31843
  },
30606
31844
  {
31845
+ description: "Device type for thermostats.\n ",
30607
31846
  enum: [
30608
31847
  "ecobee_thermostat",
30609
31848
  "nest_thermostat",
@@ -30615,7 +31854,7 @@ var openapi_default = {
30615
31854
  type: "string"
30616
31855
  },
30617
31856
  {
30618
- description: "Type of phone.",
31857
+ description: "Device type for phones.\n ",
30619
31858
  enum: ["ios_phone", "android_phone"],
30620
31859
  type: "string"
30621
31860
  }
@@ -30626,6 +31865,7 @@ var openapi_default = {
30626
31865
  items: {
30627
31866
  oneOf: [
30628
31867
  {
31868
+ description: "Device type for smartlocks.\n ",
30629
31869
  enum: [
30630
31870
  "akuvox_lock",
30631
31871
  "august_lock",
@@ -30658,10 +31898,12 @@ var openapi_default = {
30658
31898
  type: "string"
30659
31899
  },
30660
31900
  {
31901
+ description: "Device type for noise sensors.\n ",
30661
31902
  enum: ["noiseaware_activity_zone", "minut_sensor"],
30662
31903
  type: "string"
30663
31904
  },
30664
31905
  {
31906
+ description: "Device type for thermostats.\n ",
30665
31907
  enum: [
30666
31908
  "ecobee_thermostat",
30667
31909
  "nest_thermostat",
@@ -30673,7 +31915,7 @@ var openapi_default = {
30673
31915
  type: "string"
30674
31916
  },
30675
31917
  {
30676
- description: "Type of phone.",
31918
+ description: "Device type for phones.\n ",
30677
31919
  enum: ["ios_phone", "android_phone"],
30678
31920
  type: "string"
30679
31921
  }
@@ -31562,6 +32804,7 @@ var openapi_default = {
31562
32804
  device_types: {
31563
32805
  description: "Array of device types by which to filter devices.",
31564
32806
  items: {
32807
+ description: "Device type for smartlocks.\n ",
31565
32808
  enum: [
31566
32809
  "akuvox_lock",
31567
32810
  "august_lock",
@@ -32087,6 +33330,7 @@ var openapi_default = {
32087
33330
  device_types: {
32088
33331
  description: "Array of device types by which to filter devices.",
32089
33332
  items: {
33333
+ description: "Device type for noise sensors.\n ",
32090
33334
  enum: ["noiseaware_activity_zone", "minut_sensor"],
32091
33335
  type: "string"
32092
33336
  },
@@ -34134,6 +35378,85 @@ var openapi_default = {
34134
35378
  "x-undocumented": "Mobile SDK only."
34135
35379
  }
34136
35380
  },
35381
+ "/seam/partner/v1/resources/list": {
35382
+ post: {
35383
+ description: "List partner resources that have been pushed to Seam.",
35384
+ operationId: "seamPartnerV1ResourcesListPost",
35385
+ requestBody: {
35386
+ content: {
35387
+ "application/json": {
35388
+ schema: {
35389
+ properties: {
35390
+ resource_type_alias: {
35391
+ description: "Filter by resource type alias.",
35392
+ type: "string"
35393
+ }
35394
+ },
35395
+ type: "object"
35396
+ }
35397
+ }
35398
+ }
35399
+ },
35400
+ responses: {
35401
+ 200: {
35402
+ content: {
35403
+ "application/json": {
35404
+ schema: {
35405
+ properties: {
35406
+ ok: { type: "boolean" },
35407
+ partner_resources: {
35408
+ items: {
35409
+ properties: {
35410
+ custom_metadata: {
35411
+ additionalProperties: { type: "string" },
35412
+ type: "object"
35413
+ },
35414
+ customer_key: { type: "string" },
35415
+ description: { type: "string" },
35416
+ email_address: { type: "string" },
35417
+ ends_at: { type: "string" },
35418
+ location_keys: {
35419
+ items: { type: "string" },
35420
+ type: "array"
35421
+ },
35422
+ name: { type: "string" },
35423
+ partner_resource_key: { type: "string" },
35424
+ partner_resource_type: { type: "string" },
35425
+ phone_number: { type: "string" },
35426
+ starts_at: { type: "string" },
35427
+ user_identity_key: { type: "string" }
35428
+ },
35429
+ required: [
35430
+ "partner_resource_type",
35431
+ "partner_resource_key",
35432
+ "customer_key"
35433
+ ],
35434
+ type: "object"
35435
+ },
35436
+ type: "array"
35437
+ }
35438
+ },
35439
+ required: ["partner_resources", "ok"],
35440
+ type: "object"
35441
+ }
35442
+ }
35443
+ },
35444
+ description: "OK"
35445
+ },
35446
+ 400: { description: "Bad Request" },
35447
+ 401: { description: "Unauthorized" }
35448
+ },
35449
+ security: [{ customer_client_session: [] }],
35450
+ summary: "/seam/partner/v1/resources/list",
35451
+ tags: [],
35452
+ "x-fern-sdk-group-name": ["seam", "partner", "v1", "resources"],
35453
+ "x-fern-sdk-method-name": "list",
35454
+ "x-fern-sdk-return-value": "partner_resources",
35455
+ "x-response-key": "partner_resources",
35456
+ "x-title": "List partner resources at Seam",
35457
+ "x-undocumented": "Partner building blocks/UI only."
35458
+ }
35459
+ },
34137
35460
  "/thermostats/activate_climate_preset": {
34138
35461
  post: {
34139
35462
  description: "Activates a specified [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).",
@@ -35046,6 +36369,7 @@ var openapi_default = {
35046
36369
  device_types: {
35047
36370
  description: "Array of device types by which to filter thermostat devices.",
35048
36371
  items: {
36372
+ description: "Device type for thermostats.\n ",
35049
36373
  enum: [
35050
36374
  "ecobee_thermostat",
35051
36375
  "nest_thermostat",
@@ -38370,6 +39694,190 @@ var openapi_default = {
38370
39694
  "x-undocumented": "Experimental locations."
38371
39695
  }
38372
39696
  },
39697
+ "/unstable_partner/building_blocks/generate_link": {
39698
+ post: {
39699
+ description: "Creates a new bridge client session.",
39700
+ operationId: "unstablePartnerBuildingBlocksGenerateLinkPost",
39701
+ requestBody: {
39702
+ content: {
39703
+ "application/json": {
39704
+ schema: {
39705
+ properties: {
39706
+ bridge_client_machine_identifier_key: { type: "string" },
39707
+ bridge_client_name: { type: "string" },
39708
+ bridge_client_time_zone: { type: "string" }
39709
+ },
39710
+ required: [
39711
+ "bridge_client_name",
39712
+ "bridge_client_time_zone",
39713
+ "bridge_client_machine_identifier_key"
39714
+ ],
39715
+ type: "object"
39716
+ }
39717
+ }
39718
+ }
39719
+ },
39720
+ responses: {
39721
+ 200: {
39722
+ content: {
39723
+ "application/json": {
39724
+ schema: {
39725
+ properties: {
39726
+ bridge_client_session: {
39727
+ properties: {
39728
+ bridge_client_machine_identifier_key: {
39729
+ type: "string"
39730
+ },
39731
+ bridge_client_name: { type: "string" },
39732
+ bridge_client_session_id: {
39733
+ format: "uuid",
39734
+ type: "string"
39735
+ },
39736
+ bridge_client_session_token: { type: "string" },
39737
+ bridge_client_time_zone: { type: "string" },
39738
+ created_at: { format: "date-time", type: "string" },
39739
+ errors: {
39740
+ items: {
39741
+ description: "Error associated with the `bridge_client_session`.",
39742
+ discriminator: { propertyName: "error_code" },
39743
+ oneOf: [
39744
+ {
39745
+ description: "Seam cannot reach the bridge's LAN",
39746
+ properties: {
39747
+ can_tailscale_proxy_reach_bridge: {
39748
+ description: "Tailscale proxy cannot reach the bridge",
39749
+ nullable: true,
39750
+ type: "boolean"
39751
+ },
39752
+ can_tailscale_proxy_reach_tailscale_network: {
39753
+ description: "Tailscale proxy cannot reach the Tailscale network",
39754
+ nullable: true,
39755
+ type: "boolean"
39756
+ },
39757
+ created_at: {
39758
+ format: "date-time",
39759
+ type: "string"
39760
+ },
39761
+ error_code: {
39762
+ description: "Unique identifier of the type of error. Enables quick recognition and categorization of the issue.",
39763
+ enum: ["bridge_lan_unreachable"],
39764
+ type: "string"
39765
+ },
39766
+ is_bridge_socks_server_healthy: {
39767
+ description: "Bridge's SOCKS server is unhealthy",
39768
+ nullable: true,
39769
+ type: "boolean"
39770
+ },
39771
+ is_tailscale_proxy_reachable: {
39772
+ description: "Seam cannot reach the tailscale proxy",
39773
+ nullable: true,
39774
+ type: "boolean"
39775
+ },
39776
+ is_tailscale_proxy_socks_server_healthy: {
39777
+ description: "Tailscale proxy's SOCKS server is unhealthy",
39778
+ nullable: true,
39779
+ type: "boolean"
39780
+ },
39781
+ message: { type: "string" }
39782
+ },
39783
+ required: [
39784
+ "message",
39785
+ "created_at",
39786
+ "error_code",
39787
+ "is_tailscale_proxy_reachable",
39788
+ "is_tailscale_proxy_socks_server_healthy",
39789
+ "can_tailscale_proxy_reach_tailscale_network",
39790
+ "can_tailscale_proxy_reach_bridge",
39791
+ "is_bridge_socks_server_healthy"
39792
+ ],
39793
+ type: "object"
39794
+ },
39795
+ {
39796
+ description: "Bridge has stopped communicating with Seam",
39797
+ properties: {
39798
+ created_at: {
39799
+ format: "date-time",
39800
+ type: "string"
39801
+ },
39802
+ error_code: {
39803
+ description: "Unique identifier of the type of error. Enables quick recognition and categorization of the issue.",
39804
+ enum: ["no_communication_from_bridge"],
39805
+ type: "string"
39806
+ },
39807
+ message: { type: "string" }
39808
+ },
39809
+ required: [
39810
+ "message",
39811
+ "created_at",
39812
+ "error_code"
39813
+ ],
39814
+ type: "object"
39815
+ }
39816
+ ]
39817
+ },
39818
+ type: "array"
39819
+ },
39820
+ pairing_code: {
39821
+ maxLength: 6,
39822
+ minLength: 6,
39823
+ type: "string"
39824
+ },
39825
+ pairing_code_expires_at: {
39826
+ format: "date-time",
39827
+ type: "string"
39828
+ },
39829
+ tailscale_auth_key: { nullable: true, type: "string" },
39830
+ tailscale_hostname: { type: "string" },
39831
+ telemetry_token: { nullable: true, type: "string" },
39832
+ telemetry_token_expires_at: {
39833
+ format: "date-time",
39834
+ nullable: true,
39835
+ type: "string"
39836
+ },
39837
+ telemetry_url: { nullable: true, type: "string" }
39838
+ },
39839
+ required: [
39840
+ "created_at",
39841
+ "bridge_client_session_id",
39842
+ "bridge_client_session_token",
39843
+ "pairing_code",
39844
+ "pairing_code_expires_at",
39845
+ "tailscale_hostname",
39846
+ "tailscale_auth_key",
39847
+ "bridge_client_name",
39848
+ "bridge_client_time_zone",
39849
+ "bridge_client_machine_identifier_key",
39850
+ "errors",
39851
+ "telemetry_token",
39852
+ "telemetry_token_expires_at",
39853
+ "telemetry_url"
39854
+ ],
39855
+ type: "object",
39856
+ "x-route-path": "/seam/bridge/v1/bridge_client_sessions",
39857
+ "x-undocumented": "Seam Bridge Client only."
39858
+ },
39859
+ ok: { type: "boolean" }
39860
+ },
39861
+ required: ["bridge_client_session", "ok"],
39862
+ type: "object"
39863
+ }
39864
+ }
39865
+ },
39866
+ description: "OK"
39867
+ },
39868
+ 400: { description: "Bad Request" },
39869
+ 401: { description: "Unauthorized" }
39870
+ },
39871
+ security: [{ certified_client: [] }],
39872
+ summary: "/unstable_partner/building_blocks/generate_link",
39873
+ tags: [],
39874
+ "x-fern-sdk-group-name": ["unstable_partner", "building_blocks"],
39875
+ "x-fern-sdk-method-name": "generate_link",
39876
+ "x-fern-sdk-return-value": "bridge_client_session",
39877
+ "x-response-key": "bridge_client_session",
39878
+ "x-title": "Generate a building block magic link"
39879
+ }
39880
+ },
38373
39881
  "/unstable_partner/resources/push": {
38374
39882
  post: {
38375
39883
  description: "Send Seam some of your resources.",
@@ -38390,7 +39898,6 @@ var openapi_default = {
38390
39898
  description: { type: "string" },
38391
39899
  email_address: { type: "string" },
38392
39900
  ends_at: { type: "string" },
38393
- icon_url: { type: "string" },
38394
39901
  location_keys: {
38395
39902
  items: { type: "string" },
38396
39903
  type: "array"
@@ -38416,7 +39923,6 @@ var openapi_default = {
38416
39923
  description: { type: "string" },
38417
39924
  email_address: { type: "string" },
38418
39925
  ends_at: { type: "string" },
38419
- icon_url: { type: "string" },
38420
39926
  location_keys: {
38421
39927
  items: { type: "string" },
38422
39928
  type: "array"