@seamapi/types 1.385.0 → 1.386.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 (92) hide show
  1. package/dist/connect.cjs +2472 -316
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +14983 -6309
  4. package/lib/seam/connect/models/access-codes/unmanaged-access-code.d.ts +1 -1
  5. package/lib/seam/connect/models/access-grants/access-method.d.ts +9 -3
  6. package/lib/seam/connect/models/access-grants/access-method.js +9 -1
  7. package/lib/seam/connect/models/access-grants/access-method.js.map +1 -1
  8. package/lib/seam/connect/models/acs/acs-credential.d.ts +2 -2
  9. package/lib/seam/connect/models/acs/acs-system.d.ts +36 -0
  10. package/lib/seam/connect/models/acs/acs-system.js +6 -0
  11. package/lib/seam/connect/models/acs/acs-system.js.map +1 -1
  12. package/lib/seam/connect/models/acs/acs-users/acs-user.d.ts +0 -12
  13. package/lib/seam/connect/models/acs/acs-users/acs-user.js +4 -22
  14. package/lib/seam/connect/models/acs/acs-users/acs-user.js.map +1 -1
  15. package/lib/seam/connect/models/acs/acs-users/pending-mutations.js +43 -18
  16. package/lib/seam/connect/models/acs/acs-users/pending-mutations.js.map +1 -1
  17. package/lib/seam/connect/models/action-attempts/action-attempt.d.ts +189 -6
  18. package/lib/seam/connect/models/action-attempts/action-attempt.js +2 -0
  19. package/lib/seam/connect/models/action-attempts/action-attempt.js.map +1 -1
  20. package/lib/seam/connect/models/action-attempts/encode-access-method.d.ts +186 -0
  21. package/lib/seam/connect/models/action-attempts/encode-access-method.js +42 -0
  22. package/lib/seam/connect/models/action-attempts/encode-access-method.js.map +1 -0
  23. package/lib/seam/connect/models/action-attempts/scan-credential.d.ts +6 -6
  24. package/lib/seam/connect/models/colors.d.ts +2 -0
  25. package/lib/seam/connect/models/colors.js +8 -0
  26. package/lib/seam/connect/models/colors.js.map +1 -0
  27. package/lib/seam/connect/models/devices/capability-properties/index.d.ts +135 -13
  28. package/lib/seam/connect/models/devices/capability-properties/thermostat.d.ts +135 -13
  29. package/lib/seam/connect/models/devices/capability-properties/thermostat.js +8 -1
  30. package/lib/seam/connect/models/devices/capability-properties/thermostat.js.map +1 -1
  31. package/lib/seam/connect/models/devices/device-provider.d.ts +1 -1
  32. package/lib/seam/connect/models/devices/device-provider.js +1 -1
  33. package/lib/seam/connect/models/devices/device-provider.js.map +1 -1
  34. package/lib/seam/connect/models/devices/device.d.ts +247 -19
  35. package/lib/seam/connect/models/devices/device.js +11 -0
  36. package/lib/seam/connect/models/devices/device.js.map +1 -1
  37. package/lib/seam/connect/models/devices/unmanaged-device.d.ts +156 -13
  38. package/lib/seam/connect/models/events/access-grants.d.ts +254 -0
  39. package/lib/seam/connect/models/events/access-grants.js +59 -0
  40. package/lib/seam/connect/models/events/access-grants.js.map +1 -0
  41. package/lib/seam/connect/models/events/access-methods.d.ts +146 -0
  42. package/lib/seam/connect/models/events/access-methods.js +35 -0
  43. package/lib/seam/connect/models/events/access-methods.js.map +1 -0
  44. package/lib/seam/connect/models/events/devices.d.ts +6 -4
  45. package/lib/seam/connect/models/events/seam-event.d.ts +194 -3
  46. package/lib/seam/connect/models/events/seam-event.js +4 -0
  47. package/lib/seam/connect/models/events/seam-event.js.map +1 -1
  48. package/lib/seam/connect/models/instant-keys/instant-key.d.ts +2 -2
  49. package/lib/seam/connect/models/thermostats/climate-preset.d.ts +6 -0
  50. package/lib/seam/connect/models/thermostats/climate-preset.js +3 -0
  51. package/lib/seam/connect/models/thermostats/climate-preset.js.map +1 -1
  52. package/lib/seam/connect/models/thermostats/index.d.ts +1 -0
  53. package/lib/seam/connect/models/thermostats/index.js +1 -0
  54. package/lib/seam/connect/models/thermostats/index.js.map +1 -1
  55. package/lib/seam/connect/models/thermostats/thermostat-program.d.ts +79 -0
  56. package/lib/seam/connect/models/thermostats/thermostat-program.js +74 -0
  57. package/lib/seam/connect/models/thermostats/thermostat-program.js.map +1 -0
  58. package/lib/seam/connect/models/thermostats/thermostat-schedule.d.ts +7 -7
  59. package/lib/seam/connect/models/thermostats/thermostat-schedule.js +3 -7
  60. package/lib/seam/connect/models/thermostats/thermostat-schedule.js.map +1 -1
  61. package/lib/seam/connect/models/workspaces/workspace.d.ts +33 -0
  62. package/lib/seam/connect/models/workspaces/workspace.js +8 -0
  63. package/lib/seam/connect/models/workspaces/workspace.js.map +1 -1
  64. package/lib/seam/connect/openapi.d.ts +2532 -507
  65. package/lib/seam/connect/openapi.js +3383 -1439
  66. package/lib/seam/connect/openapi.js.map +1 -1
  67. package/lib/seam/connect/route-types.d.ts +7498 -1677
  68. package/lib/seam/connect/schemas.d.ts +1 -1
  69. package/lib/seam/connect/schemas.js +1 -1
  70. package/lib/seam/connect/schemas.js.map +1 -1
  71. package/package.json +2 -2
  72. package/src/lib/seam/connect/models/access-grants/access-method.ts +11 -1
  73. package/src/lib/seam/connect/models/acs/acs-system.ts +6 -0
  74. package/src/lib/seam/connect/models/acs/acs-users/acs-user.ts +6 -22
  75. package/src/lib/seam/connect/models/acs/acs-users/pending-mutations.ts +62 -27
  76. package/src/lib/seam/connect/models/action-attempts/action-attempt.ts +2 -0
  77. package/src/lib/seam/connect/models/action-attempts/encode-access-method.ts +69 -0
  78. package/src/lib/seam/connect/models/colors.ts +9 -0
  79. package/src/lib/seam/connect/models/devices/capability-properties/thermostat.ts +9 -0
  80. package/src/lib/seam/connect/models/devices/device-provider.ts +1 -1
  81. package/src/lib/seam/connect/models/devices/device.ts +14 -0
  82. package/src/lib/seam/connect/models/events/access-grants.ts +91 -0
  83. package/src/lib/seam/connect/models/events/access-methods.ts +51 -0
  84. package/src/lib/seam/connect/models/events/seam-event.ts +4 -0
  85. package/src/lib/seam/connect/models/thermostats/climate-preset.ts +5 -0
  86. package/src/lib/seam/connect/models/thermostats/index.ts +1 -0
  87. package/src/lib/seam/connect/models/thermostats/thermostat-program.ts +90 -0
  88. package/src/lib/seam/connect/models/thermostats/thermostat-schedule.ts +3 -7
  89. package/src/lib/seam/connect/models/workspaces/workspace.ts +9 -0
  90. package/src/lib/seam/connect/openapi.ts +3570 -1488
  91. package/src/lib/seam/connect/route-types.ts +16330 -9720
  92. package/src/lib/seam/connect/schemas.ts +2 -0
package/dist/connect.cjs CHANGED
@@ -34,7 +34,9 @@ __export(schemas_exports, {
34
34
  noise_threshold: () => noise_threshold,
35
35
  pagination: () => pagination,
36
36
  seam_event: () => seam_event,
37
+ thermostat_daily_program: () => thermostat_daily_program,
37
38
  thermostat_schedule: () => thermostat_schedule,
39
+ thermostat_weekly_program: () => thermostat_weekly_program,
38
40
  unmanaged_access_code: () => unmanaged_access_code,
39
41
  unmanaged_acs_access_group: () => unmanaged_acs_access_group,
40
42
  unmanaged_acs_credential: () => unmanaged_acs_credential,
@@ -116,6 +118,9 @@ var climate_preset = zod.z.object({
116
118
  can_delete: zod.z.boolean().describe(
117
119
  "Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted."
118
120
  ),
121
+ can_program: zod.z.boolean().describe(
122
+ "Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program."
123
+ ),
119
124
  name: zod.z.string().nullable().default(null).optional().describe(
120
125
  "User-friendly name to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets)."
121
126
  ),
@@ -149,6 +154,36 @@ var climate_preset = zod.z.object({
149
154
  )
150
155
  });
151
156
  var climate_setting = climate_preset.partial();
157
+ var thermostat_daily_program_period = zod.z.object({
158
+ starts_at_time: zod.z.string().regex(/^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/).describe(
159
+ "Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format."
160
+ ),
161
+ climate_preset_key: zod.z.string().describe(
162
+ "Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time."
163
+ )
164
+ });
165
+ var thermostat_daily_program = zod.z.object({
166
+ thermostat_daily_program_id: zod.z.string().uuid().describe("ID of the thermostat daily program."),
167
+ device_id: zod.z.string().uuid().describe("ID of the desired thermostat device."),
168
+ name: zod.z.string().optional().describe("User-friendly name to identify the thermostat daily program."),
169
+ periods: zod.z.array(thermostat_daily_program_period).describe("Array of thermostat daily program periods."),
170
+ created_at: zod.z.string().datetime().describe(
171
+ "Date and time at which the thermostat daily program was created."
172
+ )
173
+ });
174
+ var thermostat_weekly_program = zod.z.object({
175
+ device_id: zod.z.string().uuid().describe("ID of the thermostat device the weekly program is for."),
176
+ monday_program_id: zod.z.string().uuid().nullable().describe("ID of the thermostat daily program to run on Mondays."),
177
+ tuesday_program_id: zod.z.string().uuid().nullable().describe("ID of the thermostat daily program to run on Tuesdays."),
178
+ wednesday_program_id: zod.z.string().uuid().nullable().describe("ID of the thermostat daily program to run on Wednesdays."),
179
+ thursday_program_id: zod.z.string().uuid().nullable().describe("ID of the thermostat daily program to run on Thursdays."),
180
+ friday_program_id: zod.z.string().uuid().nullable().describe("ID of the thermostat daily program to run on Fridays."),
181
+ saturday_program_id: zod.z.string().uuid().nullable().describe("ID of the thermostat daily program to run on Saturdays."),
182
+ sunday_program_id: zod.z.string().uuid().nullable().describe("ID of the thermostat daily program to run on Sundays."),
183
+ created_at: zod.z.string().datetime().describe(
184
+ "Date and time at which the thermostat weekly program was created."
185
+ )
186
+ });
152
187
  var thermostat_schedule = zod.z.object({
153
188
  thermostat_schedule_id: zod.z.string().uuid().describe(
154
189
  "ID of the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules)."
@@ -162,18 +197,14 @@ var thermostat_schedule = zod.z.object({
162
197
  climate_preset_key: zod.z.string().describe(
163
198
  "Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to use for the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules)."
164
199
  ),
165
- max_override_period_minutes: zod.z.number().int().nonnegative().nullable().optional().describe(
200
+ max_override_period_minutes: zod.z.number().int().positive().nullable().optional().describe(
166
201
  "Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions)."
167
202
  ),
168
203
  starts_at: zod.z.string().datetime().describe(
169
204
  "Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format."
170
205
  ),
171
- unstable_is_override_allowed: zod.z.boolean().optional().describe(
172
- `
173
- ---
174
- undocumented: Unstable
175
- ---
176
- Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.`
206
+ is_override_allowed: zod.z.boolean().optional().describe(
207
+ "Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts."
177
208
  ),
178
209
  ends_at: zod.z.string().datetime().describe(
179
210
  "Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format."
@@ -231,6 +262,8 @@ var thermostat_capability_properties = zod.z.object({
231
262
  available_climate_presets: zod.z.array(climate_preset),
232
263
  fallback_climate_preset_key: zod.z.string().min(1).nullable().default(null),
233
264
  active_thermostat_schedule: thermostat_schedule.nullable().default(null),
265
+ thermostat_daily_programs: zod.z.array(thermostat_daily_program).nullable().default(null),
266
+ thermostat_weekly_program: thermostat_weekly_program.nullable().default(null),
234
267
  min_cooling_set_point_celsius: zod.z.number(),
235
268
  min_cooling_set_point_fahrenheit: zod.z.number(),
236
269
  max_cooling_set_point_celsius: zod.z.number(),
@@ -1049,6 +1082,11 @@ var scheduled_maintenance_window2 = common_device_warning.extend({
1049
1082
  var device_has_flaky_connection = common_device_warning.extend({
1050
1083
  warning_code: zod.z.literal("device_has_flaky_connection").describe(warning_code_description2)
1051
1084
  }).describe("Device has flaky connection.");
1085
+ var lockly_time_zone_not_configured = common_device_warning.extend({
1086
+ warning_code: zod.z.literal("lockly_time_zone_not_configured").describe(warning_code_description2)
1087
+ }).describe(
1088
+ "We detected that this device does not have a time zone configured. Time bound codes may not work as expected."
1089
+ );
1052
1090
  var unknown_issue_with_phone = common_device_warning.extend({
1053
1091
  warning_code: zod.z.literal("unknown_issue_with_phone").describe(warning_code_description2)
1054
1092
  }).describe(
@@ -1070,7 +1108,8 @@ var device_warning = zod.z.discriminatedUnion("warning_code", [
1070
1108
  salto_ks_office_mode,
1071
1109
  salto_ks_privacy_mode,
1072
1110
  salto_ks_subscription_limit_almost_reached2,
1073
- unknown_issue_with_phone
1111
+ unknown_issue_with_phone,
1112
+ lockly_time_zone_not_configured
1074
1113
  ]);
1075
1114
  zod.z.object({
1076
1115
  partial_backup_access_code_pool: partial_backup_access_code_pool.optional().nullable(),
@@ -1091,7 +1130,8 @@ zod.z.object({
1091
1130
  salto_ks_office_mode: salto_ks_office_mode.optional().nullable(),
1092
1131
  salto_ks_privacy_mode: salto_ks_privacy_mode.optional().nullable(),
1093
1132
  salto_ks_subscription_limit_almost_reached: salto_ks_subscription_limit_almost_reached2.optional().nullable(),
1094
- unknown_issue_with_phone: unknown_issue_with_phone.optional().nullable()
1133
+ unknown_issue_with_phone: unknown_issue_with_phone.optional().nullable(),
1134
+ lockly_time_zone_not_configured: lockly_time_zone_not_configured.optional().nullable()
1095
1135
  });
1096
1136
  var common_device_properties = zod.z.object({
1097
1137
  online: zod.z.boolean().describe("Indicates whether the device is online."),
@@ -1321,7 +1361,7 @@ var PROVIDER_CATEGORY_MAP = {
1321
1361
  "lockly",
1322
1362
  "tedee"
1323
1363
  ],
1324
- thermostats: ["ecobee", "nest"],
1364
+ thermostats: ["ecobee", "nest", "sensi", "honeywell_resideo"],
1325
1365
  noise_sensors: ["minut", "noiseaware"],
1326
1366
  access_control_systems: [
1327
1367
  "pti",
@@ -1696,6 +1736,26 @@ var unmanaged_access_code = access_code.pick({
1696
1736
 
1697
1737
  Prior to using Seam to manage your devices, you may have used another lock management system to manage the access codes on your devices. Where possible, we help you keep any existing access codes on devices and transition those codes to ones managed by your Seam workspace.
1698
1738
  `);
1739
+ var access_method = zod.z.object({
1740
+ workspace_id: zod.z.string().uuid().describe(
1741
+ "Unique identifier for the Seam workspace associated with the access grant."
1742
+ ),
1743
+ access_method_id: zod.z.string().uuid().describe("ID of the access method."),
1744
+ display_name: zod.z.string().describe("Display name of the access method."),
1745
+ mode: zod.z.enum(["code", "card", "mobile_key"]).describe(
1746
+ "Access method mode. Supported values: `code`, `card`, `mobile_key`."
1747
+ ),
1748
+ created_at: zod.z.string().datetime().describe("Date and time at which the access method was created."),
1749
+ issued_at: zod.z.string().datetime().optional().describe("Date and time at which the access method was issued."),
1750
+ instant_key_url: zod.z.string().optional().describe("URL of instant key for mobile key access methods."),
1751
+ is_card_encoding_required: zod.z.boolean().optional().describe(
1752
+ "Whether card encoding is required for plastic card access methods."
1753
+ )
1754
+ }).describe(`
1755
+ ---
1756
+ undocumented: Unreleased.
1757
+ ---
1758
+ `);
1699
1759
  var acs_access_group_external_type = zod.z.enum([
1700
1760
  "pti_unit",
1701
1761
  "pti_access_level",
@@ -2187,7 +2247,13 @@ var acs_system_capability_flags = zod.z.object({
2187
2247
  ),
2188
2248
  can_add_acs_users_to_acs_access_groups: zod.z.boolean().optional().describe(
2189
2249
  "Indicates whether the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) supports [adding users to access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups#add-an-acs-user-to-an-access-group). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems)."
2190
- )
2250
+ ),
2251
+ can_update_user_schedule: zod.z.boolean().optional(),
2252
+ can_create_user: zod.z.boolean().optional(),
2253
+ can_delete_user: zod.z.boolean().optional(),
2254
+ can_update_user_information: zod.z.boolean().optional(),
2255
+ can_update_user_supension_state: zod.z.boolean().optional(),
2256
+ can_update_user_group_membership: zod.z.boolean().optional()
2191
2257
  });
2192
2258
  var acs_location = zod.z.object({
2193
2259
  time_zone: zod.z.string().nullable().describe(
@@ -2403,15 +2469,19 @@ var start_end_schedule = zod.z.object({
2403
2469
  });
2404
2470
  var schedule = start_end_schedule;
2405
2471
  var common_pending_mutation = zod.z.object({
2406
- created_at: zod.z.string().datetime(),
2407
- message: zod.z.string()
2472
+ created_at: zod.z.string().datetime().describe("Date and time at which the mutation was created."),
2473
+ message: zod.z.string().describe("Detailed description of the mutation.")
2408
2474
  });
2409
2475
  var creating = common_pending_mutation.extend({
2410
2476
  mutation_code: zod.z.literal("creating")
2411
- });
2477
+ }).describe(
2478
+ "Seam is in the process of pushing a user creation to the integrated access system."
2479
+ );
2412
2480
  var deleting = common_pending_mutation.extend({
2413
2481
  mutation_code: zod.z.literal("deleting")
2414
- });
2482
+ }).describe(
2483
+ "Seam is in the process of pushing a user deletion to the integrated access system."
2484
+ );
2415
2485
  var acs_user_info = zod.z.object({
2416
2486
  email_address: zod.z.string().email().nullable(),
2417
2487
  full_name: zod.z.string().nullable(),
@@ -2430,21 +2500,27 @@ var updating_access_schedule_mutation = common_pending_mutation.extend({
2430
2500
  mutation_code: zod.z.literal("updating_access_schedule"),
2431
2501
  from: access_schedule,
2432
2502
  to: access_schedule
2433
- });
2503
+ }).describe(
2504
+ "Seam is in the process of pushing an access schedule update to the integrated access system."
2505
+ );
2434
2506
  var updating_suspension_state_mutation = common_pending_mutation.extend({
2435
2507
  mutation_code: zod.z.literal("updating_suspension_state"),
2436
2508
  from: zod.z.object({ is_suspended: zod.z.boolean() }),
2437
2509
  to: zod.z.object({ is_suspended: zod.z.boolean() })
2438
- });
2510
+ }).describe(
2511
+ "Seam is in the process of pushing a suspension state update to the integrated access system."
2512
+ );
2439
2513
  var updating_group_membership_mutation = common_pending_mutation.extend({
2440
2514
  mutation_code: zod.z.literal("updating_group_membership"),
2441
2515
  from: zod.z.object({
2442
- acs_access_group_id: zod.z.string().uuid().nullable()
2443
- }),
2516
+ acs_access_group_id: zod.z.string().uuid().nullable().describe("Old access group ID.")
2517
+ }).describe("Old access group membership."),
2444
2518
  to: zod.z.object({
2445
- acs_access_group_id: zod.z.string().uuid().nullable()
2446
- })
2447
- });
2519
+ acs_access_group_id: zod.z.string().uuid().nullable().describe("New access group ID.")
2520
+ }).describe("New access group membership.")
2521
+ }).describe(
2522
+ "Seam is in the process of pushing an access group membership update to the integrated access system."
2523
+ );
2448
2524
  var acs_user_pending_mutations = zod.z.discriminatedUnion(
2449
2525
  "mutation_code",
2450
2526
  [
@@ -2656,27 +2732,15 @@ var common_acs_user = zod.z.object({
2656
2732
  user_identity_phone_number: zod.z.string().nullable().optional().describe(
2657
2733
  "Phone number of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`)."
2658
2734
  ),
2659
- latest_desired_state_synced_with_provider_at: zod.z.string().datetime().nullable().optional().describe(`
2660
- ---
2661
- undocumented: Only used internally.
2662
- ---
2663
- `),
2664
- is_latest_desired_state_synced_with_provider: zod.z.boolean().nullable().optional().describe(`
2665
- ---
2666
- undocumented: Only used internally.
2667
- ---
2668
- `),
2669
2735
  warnings: zod.z.array(acs_users_warnings).describe(
2670
2736
  "Warnings associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management)."
2671
2737
  ),
2672
2738
  errors: zod.z.array(acs_user_errors).describe(
2673
2739
  "Errors associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management)."
2674
2740
  ),
2675
- pending_mutations: zod.z.array(acs_user_pending_mutations).optional().describe(`
2676
- ---
2677
- undocumented: Experimental.
2678
- ---
2679
- `)
2741
+ pending_mutations: zod.z.array(acs_user_pending_mutations).optional().describe(
2742
+ "Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system."
2743
+ )
2680
2744
  }).merge(user_fields);
2681
2745
  var acs_user = common_acs_user.merge(
2682
2746
  zod.z.object({
@@ -2869,7 +2933,7 @@ var deprecated_action_attempts = [
2869
2933
  ...delete_noise_threshold_action_attempt.options,
2870
2934
  ...update_noise_threshold_action_attempt.options
2871
2935
  ];
2872
- var action_type2 = zod.z.literal("ENCODE_CREDENTIAL").describe("Type of action that the action attempt tracks.");
2936
+ var action_type2 = zod.z.literal("ENCODE_ACCESS_METHOD").describe("Type of action that the action attempt tracks.");
2873
2937
  var no_credential_on_encoder_error = zod.z.object({
2874
2938
  type: zod.z.literal("no_credential_on_encoder"),
2875
2939
  message: zod.z.string()
@@ -2888,71 +2952,112 @@ var error3 = zod.z.union([
2888
2952
  incompatible_card_format_error,
2889
2953
  credential_cannot_be_reissued
2890
2954
  ]);
2891
- var result3 = acs_credential.or(unmanaged_acs_credential).describe(
2955
+ var result3 = access_method.describe(
2956
+ "If an encoding attempt was successful, includes the `access_method` data that was encoded onto the card."
2957
+ );
2958
+ var encode_access_method_action_attempt = zod.z.discriminatedUnion(
2959
+ "status",
2960
+ [
2961
+ common_pending_action_attempt.extend({
2962
+ action_type: action_type2
2963
+ }).describe(
2964
+ "Action attempt to track encoding credential data from the physical encoder onto a card."
2965
+ ),
2966
+ common_succeeded_action_attempt.extend({
2967
+ action_type: action_type2,
2968
+ result: result3
2969
+ }).describe(
2970
+ "Action attempt to indicate that encoding access method data from the physical encoder onto a card succeeded."
2971
+ ),
2972
+ common_failed_action_attempt.extend({ action_type: action_type2, error: error3 }).describe(
2973
+ "Action attempt to indicate that encoding access method data from the physical encoder onto a card failed."
2974
+ )
2975
+ ]
2976
+ );
2977
+ var action_type3 = zod.z.literal("ENCODE_CREDENTIAL").describe("Type of action that the action attempt tracks.");
2978
+ var no_credential_on_encoder_error2 = zod.z.object({
2979
+ type: zod.z.literal("no_credential_on_encoder"),
2980
+ message: zod.z.string()
2981
+ });
2982
+ var incompatible_card_format_error2 = zod.z.object({
2983
+ type: zod.z.literal("incompatible_card_format"),
2984
+ message: zod.z.string()
2985
+ });
2986
+ var credential_cannot_be_reissued2 = zod.z.object({
2987
+ type: zod.z.literal("credential_cannot_be_reissued"),
2988
+ message: zod.z.string()
2989
+ });
2990
+ var error4 = zod.z.union([
2991
+ ...common_action_attempt_errors,
2992
+ no_credential_on_encoder_error2,
2993
+ incompatible_card_format_error2,
2994
+ credential_cannot_be_reissued2
2995
+ ]);
2996
+ var result4 = acs_credential.or(unmanaged_acs_credential).describe(
2892
2997
  "If an encoding attempt was successful, includes the `acs_credential` data that was encoded onto the card."
2893
2998
  );
2894
2999
  var encode_credential_action_attempt = zod.z.discriminatedUnion("status", [
2895
3000
  common_pending_action_attempt.extend({
2896
- action_type: action_type2
3001
+ action_type: action_type3
2897
3002
  }).describe(
2898
3003
  "Action attempt to track encoding credential data from the physical encoder onto a card."
2899
3004
  ),
2900
3005
  common_succeeded_action_attempt.extend({
2901
- action_type: action_type2,
2902
- result: result3
3006
+ action_type: action_type3,
3007
+ result: result4
2903
3008
  }).describe(
2904
3009
  "Action attempt to indicate that encoding credential data from the physical encoder onto a card succeeded."
2905
3010
  ),
2906
- common_failed_action_attempt.extend({ action_type: action_type2, error: error3 }).describe(
3011
+ common_failed_action_attempt.extend({ action_type: action_type3, error: error4 }).describe(
2907
3012
  "Action attempt to indicate that encoding credential data from the physical encoder onto a card failed."
2908
3013
  )
2909
3014
  ]);
2910
- var action_type3 = zod.z.literal("LOCK_DOOR");
2911
- var error4 = zod.z.object({
3015
+ var action_type4 = zod.z.literal("LOCK_DOOR");
3016
+ var error5 = zod.z.object({
2912
3017
  type: zod.z.string(),
2913
3018
  message: zod.z.string()
2914
3019
  });
2915
- var result4 = zod.z.object({});
3020
+ var result5 = zod.z.object({});
2916
3021
  var lock_door_action_attempt = zod.z.discriminatedUnion("status", [
2917
3022
  common_pending_action_attempt.extend({
2918
- action_type: action_type3
3023
+ action_type: action_type4
2919
3024
  }).describe("Locking door."),
2920
3025
  common_succeeded_action_attempt.extend({
2921
- action_type: action_type3,
2922
- result: result4
3026
+ action_type: action_type4,
3027
+ result: result5
2923
3028
  }).describe("Locking door succeeded."),
2924
- common_failed_action_attempt.extend({ action_type: action_type3, error: error4 }).describe("Locking door failed.")
3029
+ common_failed_action_attempt.extend({ action_type: action_type4, error: error5 }).describe("Locking door failed.")
2925
3030
  ]);
2926
- var action_type4 = zod.z.literal("RESET_SANDBOX_WORKSPACE");
2927
- var error5 = zod.z.object({
3031
+ var action_type5 = zod.z.literal("RESET_SANDBOX_WORKSPACE");
3032
+ var error6 = zod.z.object({
2928
3033
  type: zod.z.string(),
2929
3034
  message: zod.z.string()
2930
3035
  });
2931
- var result5 = zod.z.object({});
3036
+ var result6 = zod.z.object({});
2932
3037
  var reset_sandbox_workspace_action_attempt = zod.z.discriminatedUnion(
2933
3038
  "status",
2934
3039
  [
2935
3040
  common_pending_action_attempt.extend({
2936
- action_type: action_type4
3041
+ action_type: action_type5
2937
3042
  }).describe("Resetting sandbox workspace."),
2938
3043
  common_succeeded_action_attempt.extend({
2939
- action_type: action_type4,
2940
- result: result5
3044
+ action_type: action_type5,
3045
+ result: result6
2941
3046
  }).describe("Resetting sandbox workspace succeeded."),
2942
3047
  common_failed_action_attempt.extend({
2943
- action_type: action_type4,
2944
- error: error5
3048
+ action_type: action_type5,
3049
+ error: error6
2945
3050
  }).describe("Resetting sandbox workspace failed.")
2946
3051
  ]
2947
3052
  );
2948
- var action_type5 = zod.z.literal("SCAN_CREDENTIAL");
2949
- var no_credential_on_encoder_error2 = zod.z.object({
3053
+ var action_type6 = zod.z.literal("SCAN_CREDENTIAL");
3054
+ var no_credential_on_encoder_error3 = zod.z.object({
2950
3055
  type: zod.z.literal("no_credential_on_encoder"),
2951
3056
  message: zod.z.string()
2952
3057
  });
2953
- var error6 = zod.z.union([
3058
+ var error7 = zod.z.union([
2954
3059
  ...common_action_attempt_errors,
2955
- no_credential_on_encoder_error2
3060
+ no_credential_on_encoder_error3
2956
3061
  ]);
2957
3062
  var warning = zod.z.object({
2958
3063
  warning_code: zod.z.union([
@@ -2962,109 +3067,109 @@ var warning = zod.z.object({
2962
3067
  warning_message: zod.z.string()
2963
3068
  });
2964
3069
  var acs_credential_on_seam = acs_credential.or(unmanaged_acs_credential);
2965
- var result6 = zod.z.object({
3070
+ var result7 = zod.z.object({
2966
3071
  acs_credential_on_encoder: acs_credential_on_encoder.nullable().describe("Snapshot of credential data read from physical encoder."),
2967
3072
  acs_credential_on_seam: acs_credential_on_seam.nullable().describe("Matching acs_credential currently encoded on this card."),
2968
3073
  warnings: zod.z.array(warning)
2969
3074
  });
2970
3075
  var scan_credential_action_attempt = zod.z.discriminatedUnion("status", [
2971
3076
  common_pending_action_attempt.extend({
2972
- action_type: action_type5
3077
+ action_type: action_type6
2973
3078
  }).describe("Reading credential data from physical encoder."),
2974
3079
  common_succeeded_action_attempt.extend({
2975
- action_type: action_type5,
2976
- result: result6
3080
+ action_type: action_type6,
3081
+ result: result7
2977
3082
  }).describe("Reading credential data from physical encoder succeeded."),
2978
- common_failed_action_attempt.extend({ action_type: action_type5, error: error6 }).describe("Reading credential data from physical encoder failed.")
3083
+ common_failed_action_attempt.extend({ action_type: action_type6, error: error7 }).describe("Reading credential data from physical encoder failed.")
2979
3084
  ]);
2980
- var action_type6 = zod.z.literal("SET_FAN_MODE");
2981
- var error7 = zod.z.object({
3085
+ var action_type7 = zod.z.literal("SET_FAN_MODE");
3086
+ var error8 = zod.z.object({
2982
3087
  type: zod.z.string(),
2983
3088
  message: zod.z.string()
2984
3089
  });
2985
- var result7 = zod.z.object({});
3090
+ var result8 = zod.z.object({});
2986
3091
  var set_fan_mode_action_attempt = zod.z.discriminatedUnion("status", [
2987
3092
  common_pending_action_attempt.extend({
2988
- action_type: action_type6
3093
+ action_type: action_type7
2989
3094
  }).describe("Setting fan mode."),
2990
3095
  common_succeeded_action_attempt.extend({
2991
- action_type: action_type6,
2992
- result: result7
3096
+ action_type: action_type7,
3097
+ result: result8
2993
3098
  }).describe("Setting fan mode succeeded."),
2994
- common_failed_action_attempt.extend({ action_type: action_type6, error: error7 }).describe("Setting fan mode failed.")
3099
+ common_failed_action_attempt.extend({ action_type: action_type7, error: error8 }).describe("Setting fan mode failed.")
2995
3100
  ]);
2996
- var action_type7 = zod.z.literal("SET_HVAC_MODE");
2997
- var error8 = zod.z.object({
3101
+ var action_type8 = zod.z.literal("SET_HVAC_MODE");
3102
+ var error9 = zod.z.object({
2998
3103
  type: zod.z.string(),
2999
3104
  message: zod.z.string()
3000
3105
  });
3001
- var result8 = zod.z.object({});
3106
+ var result9 = zod.z.object({});
3002
3107
  var set_hvac_mode_action_attempt = zod.z.discriminatedUnion("status", [
3003
3108
  common_pending_action_attempt.extend({
3004
- action_type: action_type7
3109
+ action_type: action_type8
3005
3110
  }).describe("Setting HVAC mode."),
3006
3111
  common_succeeded_action_attempt.extend({
3007
- action_type: action_type7,
3008
- result: result8
3112
+ action_type: action_type8,
3113
+ result: result9
3009
3114
  }).describe("Setting HVAC mode succeeded."),
3010
- common_failed_action_attempt.extend({ action_type: action_type7, error: error8 }).describe("Setting HVAC mode failed.")
3115
+ common_failed_action_attempt.extend({ action_type: action_type8, error: error9 }).describe("Setting HVAC mode failed.")
3011
3116
  ]);
3012
- var action_type8 = zod.z.literal("SIMULATE_KEYPAD_CODE_ENTRY");
3013
- var error9 = zod.z.object({
3117
+ var action_type9 = zod.z.literal("SIMULATE_KEYPAD_CODE_ENTRY");
3118
+ var error10 = zod.z.object({
3014
3119
  type: zod.z.string(),
3015
3120
  message: zod.z.string()
3016
3121
  });
3017
- var result9 = zod.z.object({});
3122
+ var result10 = zod.z.object({});
3018
3123
  var simulate_keypad_code_entry_action_attempt = zod.z.discriminatedUnion(
3019
3124
  "status",
3020
3125
  [
3021
3126
  common_pending_action_attempt.extend({
3022
- action_type: action_type8
3127
+ action_type: action_type9
3023
3128
  }).describe("Simulating keypad code entry."),
3024
3129
  common_succeeded_action_attempt.extend({
3025
- action_type: action_type8,
3026
- result: result9
3130
+ action_type: action_type9,
3131
+ result: result10
3027
3132
  }).describe("Simulating keypad code entry succeeded."),
3028
3133
  common_failed_action_attempt.extend({
3029
- action_type: action_type8,
3030
- error: error9
3134
+ action_type: action_type9,
3135
+ error: error10
3031
3136
  }).describe("Simulating keypad code entry failed.")
3032
3137
  ]
3033
3138
  );
3034
- var action_type9 = zod.z.literal("SIMULATE_MANUAL_LOCK_VIA_KEYPAD");
3035
- var error10 = zod.z.object({
3139
+ var action_type10 = zod.z.literal("SIMULATE_MANUAL_LOCK_VIA_KEYPAD");
3140
+ var error11 = zod.z.object({
3036
3141
  type: zod.z.string(),
3037
3142
  message: zod.z.string()
3038
3143
  });
3039
- var result10 = zod.z.object({});
3144
+ var result11 = zod.z.object({});
3040
3145
  var simulate_manual_lock_via_keypad_action_attempt = zod.z.discriminatedUnion("status", [
3041
3146
  common_pending_action_attempt.extend({
3042
- action_type: action_type9
3147
+ action_type: action_type10
3043
3148
  }).describe("Simulating manual lock via keypad."),
3044
3149
  common_succeeded_action_attempt.extend({
3045
- action_type: action_type9,
3046
- result: result10
3150
+ action_type: action_type10,
3151
+ result: result11
3047
3152
  }).describe("Simulating manual lock via keypad succeeded."),
3048
3153
  common_failed_action_attempt.extend({
3049
- action_type: action_type9,
3050
- error: error10
3154
+ action_type: action_type10,
3155
+ error: error11
3051
3156
  }).describe("Simulating manual lock via keypad failed.")
3052
3157
  ]);
3053
- var action_type10 = zod.z.literal("UNLOCK_DOOR");
3054
- var error11 = zod.z.object({
3158
+ var action_type11 = zod.z.literal("UNLOCK_DOOR");
3159
+ var error12 = zod.z.object({
3055
3160
  type: zod.z.string(),
3056
3161
  message: zod.z.string()
3057
3162
  });
3058
- var result11 = zod.z.object({});
3163
+ var result12 = zod.z.object({});
3059
3164
  var unlock_door_action_attempt = zod.z.discriminatedUnion("status", [
3060
3165
  common_pending_action_attempt.extend({
3061
- action_type: action_type10
3166
+ action_type: action_type11
3062
3167
  }).describe("Unlocking door."),
3063
3168
  common_succeeded_action_attempt.extend({
3064
- action_type: action_type10,
3065
- result: result11
3169
+ action_type: action_type11,
3170
+ result: result12
3066
3171
  }).describe("Unlocking door succeeded."),
3067
- common_failed_action_attempt.extend({ action_type: action_type10, error: error11 }).describe("Unlocking door failed.")
3172
+ common_failed_action_attempt.extend({ action_type: action_type11, error: error12 }).describe("Unlocking door failed.")
3068
3173
  ]);
3069
3174
 
3070
3175
  // src/lib/seam/connect/models/action-attempts/action-attempt.ts
@@ -3072,6 +3177,7 @@ var action_attempt = zod.z.union([
3072
3177
  ...lock_door_action_attempt.options,
3073
3178
  ...unlock_door_action_attempt.options,
3074
3179
  ...scan_credential_action_attempt.options,
3180
+ ...encode_access_method_action_attempt.options,
3075
3181
  ...encode_credential_action_attempt.options,
3076
3182
  ...reset_sandbox_workspace_action_attempt.options,
3077
3183
  ...set_fan_mode_action_attempt.options,
@@ -3380,6 +3486,95 @@ var access_code_events = [
3380
3486
  unmanaged_access_code_created_event,
3381
3487
  unmanaged_access_code_removed_event
3382
3488
  ];
3489
+ var access_grant_event = common_event.extend({
3490
+ access_grant_id: zod.z.string().uuid().describe("ID of the access grant.")
3491
+ });
3492
+ var access_grant_created_event = access_grant_event.extend({
3493
+ event_type: zod.z.literal("access_grant.created")
3494
+ }).describe(`
3495
+ ---
3496
+ route_path: /unstable_access_grants
3497
+ ---
3498
+ An access grant was created.
3499
+ `);
3500
+ var access_grant_deleted_event = access_grant_event.extend({
3501
+ event_type: zod.z.literal("access_grant.deleted")
3502
+ }).describe(`
3503
+ ---
3504
+ route_path: /unstable_access_grants
3505
+ ---
3506
+ An access grant was deleted.
3507
+ `);
3508
+ var access_grant_access_granted_to_all_doors_event = access_grant_event.extend({
3509
+ event_type: zod.z.literal("access_grant.access_granted_to_all_doors")
3510
+ }).describe(`
3511
+ ---
3512
+ route_path: /unstable_access_grants
3513
+ ---
3514
+ All access requested for an access grant was successfully granted.
3515
+ `);
3516
+ var acs_entrance_id = zod.z.string().uuid().describe(
3517
+ "ID of the door, an [ACS entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details)."
3518
+ );
3519
+ var access_grant_access_granted_to_door_event = access_grant_event.extend({
3520
+ event_type: zod.z.literal("access_grant.access_granted_to_door"),
3521
+ acs_entrance_id
3522
+ }).describe(`
3523
+ ---
3524
+ route_path: /unstable_access_grants
3525
+ ---
3526
+ Access requested as part of an access grant to a particular door was successfully granted.
3527
+ `);
3528
+ var access_grant_access_to_door_lost_event = access_grant_event.extend(
3529
+ {
3530
+ event_type: zod.z.literal("access_grant.access_to_door_lost"),
3531
+ acs_entrance_id
3532
+ }
3533
+ ).describe(`
3534
+ ---
3535
+ route_path: /unstable_access_grants
3536
+ ---
3537
+ Access to a particular door that was requested as part of an access grant was lost.
3538
+ `);
3539
+ var access_grant_events = [
3540
+ access_grant_created_event,
3541
+ access_grant_deleted_event,
3542
+ access_grant_access_granted_to_all_doors_event,
3543
+ access_grant_access_granted_to_door_event,
3544
+ access_grant_access_to_door_lost_event
3545
+ ];
3546
+ var access_method_event = common_event.extend({
3547
+ access_method_id: zod.z.string().uuid().describe("ID of the access method.")
3548
+ });
3549
+ var access_method_issued_event = access_method_event.extend({
3550
+ event_type: zod.z.literal("access_method.issued")
3551
+ }).describe(`
3552
+ ---
3553
+ route_path: /unstable_access_methods
3554
+ ---
3555
+ An access method was issued.
3556
+ `);
3557
+ var access_method_card_encoding_required_event = access_method_event.extend({
3558
+ event_type: zod.z.literal("access_method.card_encoding_required")
3559
+ }).describe(`
3560
+ ---
3561
+ route_path: /unstable_access_methods
3562
+ ---
3563
+ An access method representing a physical card requires encoding.
3564
+ `);
3565
+ var access_method_revoked_event = access_method_event.extend({
3566
+ event_type: zod.z.literal("access_method.revoked")
3567
+ }).describe(`
3568
+ ---
3569
+ route_path: /unstable_access_methods
3570
+ ---
3571
+ An access method was revoked.
3572
+ `);
3573
+ var access_method_events = [
3574
+ access_method_issued_event,
3575
+ access_method_revoked_event,
3576
+ access_method_card_encoding_required_event
3577
+ ];
3383
3578
  var common_acs_event = common_event.extend({
3384
3579
  connected_account_id: zod.z.string().uuid().optional().describe(
3385
3580
  "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts)."
@@ -4195,6 +4390,8 @@ var phone_events = [phone_deactivated_event];
4195
4390
  // src/lib/seam/connect/models/events/seam-event.ts
4196
4391
  var seam_event = zod.z.discriminatedUnion("event_type", [
4197
4392
  ...access_code_events,
4393
+ ...access_grant_events,
4394
+ ...access_method_events,
4198
4395
  ...acs_events,
4199
4396
  ...client_session_events,
4200
4397
  ...connected_account_events,
@@ -4281,11 +4478,26 @@ var webhook = zod.z.object({
4281
4478
  route_path: /webhooks
4282
4479
  ---
4283
4480
  `);
4481
+ var hex_color_code = zod.z.string().refine((value) => {
4482
+ if (value != null) {
4483
+ return /^#[\da-fa-z]{3,6}$/i.test(value);
4484
+ }
4485
+ return true;
4486
+ }, "Must be a hex color");
4487
+
4488
+ // src/lib/seam/connect/models/workspaces/workspace.ts
4284
4489
  var workspace = zod.z.object({
4285
4490
  workspace_id: zod.z.string().uuid(),
4286
4491
  name: zod.z.string(),
4287
4492
  company_name: zod.z.string(),
4288
4493
  is_sandbox: zod.z.boolean(),
4494
+ connect_webview_customization: zod.z.object({
4495
+ primary_button_color: hex_color_code.optional(),
4496
+ primary_button_text_color: hex_color_code.optional(),
4497
+ success_message: zod.z.string().optional(),
4498
+ logo_shape: zod.z.enum(["circle", "square"]).optional(),
4499
+ inviter_logo_url: zod.z.string().optional()
4500
+ }),
4289
4501
  is_suspended: zod.z.boolean().describe("True if a sandbox workspace has not been accessed in 14 days"),
4290
4502
  connect_partner_name: zod.z.string().nullable().describe(
4291
4503
  `
@@ -6323,10 +6535,16 @@ var openapi_default = {
6323
6535
  description: "Indicates whether the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) supports creating [access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems).",
6324
6536
  type: "boolean"
6325
6537
  },
6538
+ can_create_user: { type: "boolean" },
6539
+ can_delete_user: { type: "boolean" },
6326
6540
  can_remove_acs_users_from_acs_access_groups: {
6327
6541
  description: "Indicates whether the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) supports [removing users from access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups#remove-an-acs-user-from-an-access-group). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems).",
6328
6542
  type: "boolean"
6329
6543
  },
6544
+ can_update_user_group_membership: { type: "boolean" },
6545
+ can_update_user_information: { type: "boolean" },
6546
+ can_update_user_schedule: { type: "boolean" },
6547
+ can_update_user_supension_state: { type: "boolean" },
6330
6548
  connected_account_id: {
6331
6549
  description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts) associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).",
6332
6550
  format: "uuid",
@@ -6866,39 +7084,45 @@ var openapi_default = {
6866
7084
  type: "string"
6867
7085
  },
6868
7086
  hid_acs_system_id: { format: "uuid", type: "string" },
6869
- is_latest_desired_state_synced_with_provider: {
6870
- nullable: true,
6871
- type: "boolean",
6872
- "x-undocumented": "Only used internally."
6873
- },
6874
7087
  is_managed: { enum: [true], type: "boolean" },
6875
7088
  is_suspended: {
6876
7089
  description: "Indicates whether the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) is currently [suspended](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users).",
6877
7090
  type: "boolean"
6878
7091
  },
6879
- latest_desired_state_synced_with_provider_at: {
6880
- format: "date-time",
6881
- nullable: true,
6882
- type: "string",
6883
- "x-undocumented": "Only used internally."
6884
- },
6885
7092
  pending_mutations: {
7093
+ description: "Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system.",
6886
7094
  items: {
6887
7095
  discriminator: { propertyName: "mutation_code" },
6888
7096
  oneOf: [
6889
7097
  {
7098
+ description: "Seam is in the process of pushing a user creation to the integrated access system.",
6890
7099
  properties: {
6891
- created_at: { format: "date-time", type: "string" },
6892
- message: { type: "string" },
7100
+ created_at: {
7101
+ description: "Date and time at which the mutation was created.",
7102
+ format: "date-time",
7103
+ type: "string"
7104
+ },
7105
+ message: {
7106
+ description: "Detailed description of the mutation.",
7107
+ type: "string"
7108
+ },
6893
7109
  mutation_code: { enum: ["creating"], type: "string" }
6894
7110
  },
6895
7111
  required: ["created_at", "message", "mutation_code"],
6896
7112
  type: "object"
6897
7113
  },
6898
7114
  {
7115
+ description: "Seam is in the process of pushing a user deletion to the integrated access system.",
6899
7116
  properties: {
6900
- created_at: { format: "date-time", type: "string" },
6901
- message: { type: "string" },
7117
+ created_at: {
7118
+ description: "Date and time at which the mutation was created.",
7119
+ format: "date-time",
7120
+ type: "string"
7121
+ },
7122
+ message: {
7123
+ description: "Detailed description of the mutation.",
7124
+ type: "string"
7125
+ },
6902
7126
  mutation_code: { enum: ["deleting"], type: "string" }
6903
7127
  },
6904
7128
  required: ["created_at", "message", "mutation_code"],
@@ -6906,7 +7130,11 @@ var openapi_default = {
6906
7130
  },
6907
7131
  {
6908
7132
  properties: {
6909
- created_at: { format: "date-time", type: "string" },
7133
+ created_at: {
7134
+ description: "Date and time at which the mutation was created.",
7135
+ format: "date-time",
7136
+ type: "string"
7137
+ },
6910
7138
  from: {
6911
7139
  properties: {
6912
7140
  email_address: {
@@ -6919,7 +7147,10 @@ var openapi_default = {
6919
7147
  },
6920
7148
  type: "object"
6921
7149
  },
6922
- message: { type: "string" },
7150
+ message: {
7151
+ description: "Detailed description of the mutation.",
7152
+ type: "string"
7153
+ },
6923
7154
  mutation_code: {
6924
7155
  enum: ["updating_user_information"],
6925
7156
  type: "string"
@@ -6947,8 +7178,13 @@ var openapi_default = {
6947
7178
  type: "object"
6948
7179
  },
6949
7180
  {
7181
+ description: "Seam is in the process of pushing an access schedule update to the integrated access system.",
6950
7182
  properties: {
6951
- created_at: { format: "date-time", type: "string" },
7183
+ created_at: {
7184
+ description: "Date and time at which the mutation was created.",
7185
+ format: "date-time",
7186
+ type: "string"
7187
+ },
6952
7188
  from: {
6953
7189
  properties: {
6954
7190
  ends_at: {
@@ -6965,7 +7201,10 @@ var openapi_default = {
6965
7201
  required: ["starts_at", "ends_at"],
6966
7202
  type: "object"
6967
7203
  },
6968
- message: { type: "string" },
7204
+ message: {
7205
+ description: "Detailed description of the mutation.",
7206
+ type: "string"
7207
+ },
6969
7208
  mutation_code: {
6970
7209
  enum: ["updating_access_schedule"],
6971
7210
  type: "string"
@@ -6997,14 +7236,22 @@ var openapi_default = {
6997
7236
  type: "object"
6998
7237
  },
6999
7238
  {
7239
+ description: "Seam is in the process of pushing a suspension state update to the integrated access system.",
7000
7240
  properties: {
7001
- created_at: { format: "date-time", type: "string" },
7241
+ created_at: {
7242
+ description: "Date and time at which the mutation was created.",
7243
+ format: "date-time",
7244
+ type: "string"
7245
+ },
7002
7246
  from: {
7003
7247
  properties: { is_suspended: { type: "boolean" } },
7004
7248
  required: ["is_suspended"],
7005
7249
  type: "object"
7006
7250
  },
7007
- message: { type: "string" },
7251
+ message: {
7252
+ description: "Detailed description of the mutation.",
7253
+ type: "string"
7254
+ },
7008
7255
  mutation_code: {
7009
7256
  enum: ["updating_suspension_state"],
7010
7257
  type: "string"
@@ -7025,11 +7272,18 @@ var openapi_default = {
7025
7272
  type: "object"
7026
7273
  },
7027
7274
  {
7275
+ description: "Seam is in the process of pushing an access group membership update to the integrated access system.",
7028
7276
  properties: {
7029
- created_at: { format: "date-time", type: "string" },
7277
+ created_at: {
7278
+ description: "Date and time at which the mutation was created.",
7279
+ format: "date-time",
7280
+ type: "string"
7281
+ },
7030
7282
  from: {
7283
+ description: "Old access group membership.",
7031
7284
  properties: {
7032
7285
  acs_access_group_id: {
7286
+ description: "Old access group ID.",
7033
7287
  format: "uuid",
7034
7288
  nullable: true,
7035
7289
  type: "string"
@@ -7038,14 +7292,19 @@ var openapi_default = {
7038
7292
  required: ["acs_access_group_id"],
7039
7293
  type: "object"
7040
7294
  },
7041
- message: { type: "string" },
7295
+ message: {
7296
+ description: "Detailed description of the mutation.",
7297
+ type: "string"
7298
+ },
7042
7299
  mutation_code: {
7043
7300
  enum: ["updating_group_membership"],
7044
7301
  type: "string"
7045
7302
  },
7046
7303
  to: {
7304
+ description: "New access group membership.",
7047
7305
  properties: {
7048
7306
  acs_access_group_id: {
7307
+ description: "New access group ID.",
7049
7308
  format: "uuid",
7050
7309
  nullable: true,
7051
7310
  type: "string"
@@ -7066,8 +7325,7 @@ var openapi_default = {
7066
7325
  }
7067
7326
  ]
7068
7327
  },
7069
- type: "array",
7070
- "x-undocumented": "Experimental."
7328
+ type: "array"
7071
7329
  },
7072
7330
  phone_number: {
7073
7331
  description: "Phone number of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`).",
@@ -8303,6 +8561,213 @@ var openapi_default = {
8303
8561
  ],
8304
8562
  type: "object"
8305
8563
  },
8564
+ {
8565
+ description: "Action attempt to track encoding credential data from the physical encoder onto a card.",
8566
+ properties: {
8567
+ action_attempt_id: {
8568
+ description: "ID of the action attempt.",
8569
+ format: "uuid",
8570
+ type: "string"
8571
+ },
8572
+ action_type: {
8573
+ description: "Type of action that the action attempt tracks.",
8574
+ enum: ["ENCODE_ACCESS_METHOD"],
8575
+ type: "string"
8576
+ },
8577
+ error: {
8578
+ description: "Errors associated with the action attempt. Null for pending action attempts.",
8579
+ nullable: true
8580
+ },
8581
+ result: {
8582
+ description: "Result of the action attempt. Null for pending action attempts.",
8583
+ nullable: true
8584
+ },
8585
+ status: { enum: ["pending"], type: "string" }
8586
+ },
8587
+ required: [
8588
+ "action_attempt_id",
8589
+ "status",
8590
+ "result",
8591
+ "error",
8592
+ "action_type"
8593
+ ],
8594
+ type: "object"
8595
+ },
8596
+ {
8597
+ description: "Action attempt to indicate that encoding access method data from the physical encoder onto a card succeeded.",
8598
+ properties: {
8599
+ action_attempt_id: {
8600
+ description: "ID of the action attempt.",
8601
+ format: "uuid",
8602
+ type: "string"
8603
+ },
8604
+ action_type: {
8605
+ description: "Type of action that the action attempt tracks.",
8606
+ enum: ["ENCODE_ACCESS_METHOD"],
8607
+ type: "string"
8608
+ },
8609
+ error: {
8610
+ description: "Errors associated with the action attempt. Null for successful action attempts.",
8611
+ nullable: true
8612
+ },
8613
+ result: {
8614
+ description: "If an encoding attempt was successful, includes the `access_method` data that was encoded onto the card.",
8615
+ properties: {
8616
+ access_method_id: {
8617
+ description: "ID of the access method.",
8618
+ format: "uuid",
8619
+ type: "string"
8620
+ },
8621
+ created_at: {
8622
+ description: "Date and time at which the access method was created.",
8623
+ format: "date-time",
8624
+ type: "string"
8625
+ },
8626
+ display_name: {
8627
+ description: "Display name of the access method.",
8628
+ type: "string"
8629
+ },
8630
+ instant_key_url: {
8631
+ description: "URL of instant key for mobile key access methods.",
8632
+ type: "string"
8633
+ },
8634
+ is_card_encoding_required: {
8635
+ description: "Whether card encoding is required for plastic card access methods.",
8636
+ type: "boolean"
8637
+ },
8638
+ issued_at: {
8639
+ description: "Date and time at which the access method was issued.",
8640
+ format: "date-time",
8641
+ type: "string"
8642
+ },
8643
+ mode: {
8644
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
8645
+ enum: ["code", "card", "mobile_key"],
8646
+ type: "string"
8647
+ },
8648
+ workspace_id: {
8649
+ description: "Unique identifier for the Seam workspace associated with the access grant.",
8650
+ format: "uuid",
8651
+ type: "string"
8652
+ }
8653
+ },
8654
+ required: [
8655
+ "workspace_id",
8656
+ "access_method_id",
8657
+ "display_name",
8658
+ "mode",
8659
+ "created_at"
8660
+ ],
8661
+ type: "object"
8662
+ },
8663
+ status: { enum: ["success"], type: "string" }
8664
+ },
8665
+ required: [
8666
+ "action_attempt_id",
8667
+ "status",
8668
+ "error",
8669
+ "action_type",
8670
+ "result"
8671
+ ],
8672
+ type: "object"
8673
+ },
8674
+ {
8675
+ description: "Action attempt to indicate that encoding access method data from the physical encoder onto a card failed.",
8676
+ properties: {
8677
+ action_attempt_id: {
8678
+ description: "ID of the action attempt.",
8679
+ format: "uuid",
8680
+ type: "string"
8681
+ },
8682
+ action_type: {
8683
+ description: "Type of action that the action attempt tracks.",
8684
+ enum: ["ENCODE_ACCESS_METHOD"],
8685
+ type: "string"
8686
+ },
8687
+ error: {
8688
+ oneOf: [
8689
+ {
8690
+ description: "Error that doesn't fit into other specific error categories.",
8691
+ properties: {
8692
+ message: {
8693
+ description: "Message for the error associated with the action attempt.",
8694
+ type: "string"
8695
+ },
8696
+ type: {
8697
+ description: "Type of the error associated with the action attempt.",
8698
+ enum: ["uncategorized_error"],
8699
+ type: "string"
8700
+ }
8701
+ },
8702
+ required: ["type", "message"],
8703
+ type: "object"
8704
+ },
8705
+ {
8706
+ description: "Error to indicate an expired action attempt.",
8707
+ properties: {
8708
+ message: {
8709
+ description: "Message for the error associated with the action attempt.",
8710
+ type: "string"
8711
+ },
8712
+ type: {
8713
+ description: "Type of the error associated with the action attempt.",
8714
+ enum: ["action_attempt_expired"],
8715
+ type: "string"
8716
+ }
8717
+ },
8718
+ required: ["type", "message"],
8719
+ type: "object"
8720
+ },
8721
+ {
8722
+ properties: {
8723
+ message: { type: "string" },
8724
+ type: {
8725
+ enum: ["no_credential_on_encoder"],
8726
+ type: "string"
8727
+ }
8728
+ },
8729
+ required: ["type", "message"],
8730
+ type: "object"
8731
+ },
8732
+ {
8733
+ properties: {
8734
+ message: { type: "string" },
8735
+ type: {
8736
+ enum: ["incompatible_card_format"],
8737
+ type: "string"
8738
+ }
8739
+ },
8740
+ required: ["type", "message"],
8741
+ type: "object"
8742
+ },
8743
+ {
8744
+ properties: {
8745
+ message: { type: "string" },
8746
+ type: {
8747
+ enum: ["credential_cannot_be_reissued"],
8748
+ type: "string"
8749
+ }
8750
+ },
8751
+ required: ["type", "message"],
8752
+ type: "object"
8753
+ }
8754
+ ]
8755
+ },
8756
+ result: {
8757
+ description: "Result of the action attempt. Null for failed action attempts.",
8758
+ nullable: true
8759
+ },
8760
+ status: { enum: ["error"], type: "string" }
8761
+ },
8762
+ required: [
8763
+ "action_attempt_id",
8764
+ "status",
8765
+ "result",
8766
+ "action_type",
8767
+ "error"
8768
+ ],
8769
+ type: "object"
8770
+ },
8306
8771
  {
8307
8772
  description: "Action attempt to track encoding credential data from the physical encoder onto a card.",
8308
8773
  properties: {
@@ -11963,8 +12428,13 @@ var openapi_default = {
11963
12428
  },
11964
12429
  type: "array"
11965
12430
  },
12431
+ is_override_allowed: {
12432
+ description: "Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.",
12433
+ type: "boolean"
12434
+ },
11966
12435
  max_override_period_minutes: {
11967
12436
  description: "Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).",
12437
+ exclusiveMinimum: true,
11968
12438
  minimum: 0,
11969
12439
  nullable: true,
11970
12440
  type: "integer"
@@ -11982,11 +12452,6 @@ var openapi_default = {
11982
12452
  description: "ID of the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules).",
11983
12453
  format: "uuid",
11984
12454
  type: "string"
11985
- },
11986
- unstable_is_override_allowed: {
11987
- description: "Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.",
11988
- type: "boolean",
11989
- "x-undocumented": "Unstable"
11990
12455
  }
11991
12456
  },
11992
12457
  required: [
@@ -12012,6 +12477,10 @@ var openapi_default = {
12012
12477
  description: "Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited.",
12013
12478
  type: "boolean"
12014
12479
  },
12480
+ can_program: {
12481
+ description: "Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program.",
12482
+ type: "boolean"
12483
+ },
12015
12484
  climate_preset_key: {
12016
12485
  description: "Unique key to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets).",
12017
12486
  type: "string"
@@ -12067,6 +12536,7 @@ var openapi_default = {
12067
12536
  "climate_preset_key",
12068
12537
  "can_edit",
12069
12538
  "can_delete",
12539
+ "can_program",
12070
12540
  "display_name",
12071
12541
  "manual_override_allowed"
12072
12542
  ],
@@ -12098,6 +12568,10 @@ var openapi_default = {
12098
12568
  description: "Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited.",
12099
12569
  type: "boolean"
12100
12570
  },
12571
+ can_program: {
12572
+ description: "Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program.",
12573
+ type: "boolean"
12574
+ },
12101
12575
  climate_preset_key: {
12102
12576
  description: "Unique key to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets).",
12103
12577
  type: "string"
@@ -12162,6 +12636,10 @@ var openapi_default = {
12162
12636
  description: "Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited.",
12163
12637
  type: "boolean"
12164
12638
  },
12639
+ can_program: {
12640
+ description: "Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be programmed in a thermostat daily program.",
12641
+ type: "boolean"
12642
+ },
12165
12643
  climate_preset_key: {
12166
12644
  description: "Unique key to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets).",
12167
12645
  type: "string"
@@ -12313,6 +12791,133 @@ var openapi_default = {
12313
12791
  "upper_limit_fahrenheit"
12314
12792
  ],
12315
12793
  type: "object"
12794
+ },
12795
+ thermostat_daily_programs: {
12796
+ default: null,
12797
+ items: {
12798
+ properties: {
12799
+ created_at: {
12800
+ description: "Date and time at which the thermostat daily program was created.",
12801
+ format: "date-time",
12802
+ type: "string"
12803
+ },
12804
+ device_id: {
12805
+ description: "ID of the desired thermostat device.",
12806
+ format: "uuid",
12807
+ type: "string"
12808
+ },
12809
+ name: {
12810
+ description: "User-friendly name to identify the thermostat daily program.",
12811
+ type: "string"
12812
+ },
12813
+ periods: {
12814
+ description: "Array of thermostat daily program periods.",
12815
+ items: {
12816
+ properties: {
12817
+ climate_preset_key: {
12818
+ description: "Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time.",
12819
+ type: "string"
12820
+ },
12821
+ starts_at_time: {
12822
+ description: "Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.",
12823
+ pattern: "^([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)$",
12824
+ type: "string"
12825
+ }
12826
+ },
12827
+ required: [
12828
+ "starts_at_time",
12829
+ "climate_preset_key"
12830
+ ],
12831
+ type: "object"
12832
+ },
12833
+ type: "array"
12834
+ },
12835
+ thermostat_daily_program_id: {
12836
+ description: "ID of the thermostat daily program.",
12837
+ format: "uuid",
12838
+ type: "string"
12839
+ }
12840
+ },
12841
+ required: [
12842
+ "thermostat_daily_program_id",
12843
+ "device_id",
12844
+ "periods",
12845
+ "created_at"
12846
+ ],
12847
+ type: "object"
12848
+ },
12849
+ nullable: true,
12850
+ type: "array"
12851
+ },
12852
+ thermostat_weekly_program: {
12853
+ default: null,
12854
+ nullable: true,
12855
+ properties: {
12856
+ created_at: {
12857
+ description: "Date and time at which the thermostat weekly program was created.",
12858
+ format: "date-time",
12859
+ type: "string"
12860
+ },
12861
+ device_id: {
12862
+ description: "ID of the thermostat device the weekly program is for.",
12863
+ format: "uuid",
12864
+ type: "string"
12865
+ },
12866
+ friday_program_id: {
12867
+ description: "ID of the thermostat daily program to run on Fridays.",
12868
+ format: "uuid",
12869
+ nullable: true,
12870
+ type: "string"
12871
+ },
12872
+ monday_program_id: {
12873
+ description: "ID of the thermostat daily program to run on Mondays.",
12874
+ format: "uuid",
12875
+ nullable: true,
12876
+ type: "string"
12877
+ },
12878
+ saturday_program_id: {
12879
+ description: "ID of the thermostat daily program to run on Saturdays.",
12880
+ format: "uuid",
12881
+ nullable: true,
12882
+ type: "string"
12883
+ },
12884
+ sunday_program_id: {
12885
+ description: "ID of the thermostat daily program to run on Sundays.",
12886
+ format: "uuid",
12887
+ nullable: true,
12888
+ type: "string"
12889
+ },
12890
+ thursday_program_id: {
12891
+ description: "ID of the thermostat daily program to run on Thursdays.",
12892
+ format: "uuid",
12893
+ nullable: true,
12894
+ type: "string"
12895
+ },
12896
+ tuesday_program_id: {
12897
+ description: "ID of the thermostat daily program to run on Tuesdays.",
12898
+ format: "uuid",
12899
+ nullable: true,
12900
+ type: "string"
12901
+ },
12902
+ wednesday_program_id: {
12903
+ description: "ID of the thermostat daily program to run on Wednesdays.",
12904
+ format: "uuid",
12905
+ nullable: true,
12906
+ type: "string"
12907
+ }
12908
+ },
12909
+ required: [
12910
+ "device_id",
12911
+ "monday_program_id",
12912
+ "tuesday_program_id",
12913
+ "wednesday_program_id",
12914
+ "thursday_program_id",
12915
+ "friday_program_id",
12916
+ "saturday_program_id",
12917
+ "sunday_program_id",
12918
+ "created_at"
12919
+ ],
12920
+ type: "object"
12316
12921
  }
12317
12922
  },
12318
12923
  type: "object"
@@ -12550,6 +13155,20 @@ var openapi_default = {
12550
13155
  },
12551
13156
  required: ["message", "created_at", "warning_code"],
12552
13157
  type: "object"
13158
+ },
13159
+ {
13160
+ description: "We detected that this device does not have a time zone configured. Time bound codes may not work as expected.",
13161
+ properties: {
13162
+ created_at: { format: "date-time", type: "string" },
13163
+ message: { type: "string" },
13164
+ warning_code: {
13165
+ description: "Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.",
13166
+ enum: ["lockly_time_zone_not_configured"],
13167
+ type: "string"
13168
+ }
13169
+ },
13170
+ required: ["message", "created_at", "warning_code"],
13171
+ type: "object"
12553
13172
  }
12554
13173
  ]
12555
13174
  },
@@ -13194,7 +13813,401 @@ var openapi_default = {
13194
13813
  type: "string"
13195
13814
  },
13196
13815
  event_type: {
13197
- enum: ["access_code.delay_in_removing_from_device"],
13816
+ enum: ["access_code.delay_in_removing_from_device"],
13817
+ type: "string"
13818
+ },
13819
+ occurred_at: {
13820
+ description: "Date and time at which the event occurred.",
13821
+ format: "date-time",
13822
+ type: "string"
13823
+ },
13824
+ workspace_id: {
13825
+ description: "ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces).",
13826
+ format: "uuid",
13827
+ type: "string"
13828
+ }
13829
+ },
13830
+ required: [
13831
+ "event_id",
13832
+ "workspace_id",
13833
+ "created_at",
13834
+ "occurred_at",
13835
+ "access_code_id",
13836
+ "device_id",
13837
+ "connected_account_id",
13838
+ "event_type"
13839
+ ],
13840
+ type: "object",
13841
+ "x-route-path": "/access_codes"
13842
+ },
13843
+ {
13844
+ description: "An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) failed to be removed from a device.",
13845
+ properties: {
13846
+ access_code_id: {
13847
+ description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
13848
+ format: "uuid",
13849
+ type: "string"
13850
+ },
13851
+ connected_account_id: {
13852
+ description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
13853
+ format: "uuid",
13854
+ type: "string"
13855
+ },
13856
+ created_at: {
13857
+ description: "Date and time at which the event was created.",
13858
+ format: "date-time",
13859
+ type: "string"
13860
+ },
13861
+ device_id: {
13862
+ description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
13863
+ format: "uuid",
13864
+ type: "string"
13865
+ },
13866
+ event_id: {
13867
+ description: "ID of the event.",
13868
+ format: "uuid",
13869
+ type: "string"
13870
+ },
13871
+ event_type: {
13872
+ enum: ["access_code.failed_to_remove_from_device"],
13873
+ type: "string"
13874
+ },
13875
+ occurred_at: {
13876
+ description: "Date and time at which the event occurred.",
13877
+ format: "date-time",
13878
+ type: "string"
13879
+ },
13880
+ workspace_id: {
13881
+ description: "ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces).",
13882
+ format: "uuid",
13883
+ type: "string"
13884
+ }
13885
+ },
13886
+ required: [
13887
+ "event_id",
13888
+ "workspace_id",
13889
+ "created_at",
13890
+ "occurred_at",
13891
+ "access_code_id",
13892
+ "device_id",
13893
+ "connected_account_id",
13894
+ "event_type"
13895
+ ],
13896
+ type: "object",
13897
+ "x-route-path": "/access_codes"
13898
+ },
13899
+ {
13900
+ description: "An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was modified outside of Seam.",
13901
+ properties: {
13902
+ access_code_id: {
13903
+ description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
13904
+ format: "uuid",
13905
+ type: "string"
13906
+ },
13907
+ connected_account_id: {
13908
+ description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
13909
+ format: "uuid",
13910
+ type: "string"
13911
+ },
13912
+ created_at: {
13913
+ description: "Date and time at which the event was created.",
13914
+ format: "date-time",
13915
+ type: "string"
13916
+ },
13917
+ device_id: {
13918
+ description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
13919
+ format: "uuid",
13920
+ type: "string"
13921
+ },
13922
+ event_id: {
13923
+ description: "ID of the event.",
13924
+ format: "uuid",
13925
+ type: "string"
13926
+ },
13927
+ event_type: {
13928
+ enum: ["access_code.modified_external_to_seam"],
13929
+ type: "string"
13930
+ },
13931
+ occurred_at: {
13932
+ description: "Date and time at which the event occurred.",
13933
+ format: "date-time",
13934
+ type: "string"
13935
+ },
13936
+ workspace_id: {
13937
+ description: "ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces).",
13938
+ format: "uuid",
13939
+ type: "string"
13940
+ }
13941
+ },
13942
+ required: [
13943
+ "event_id",
13944
+ "workspace_id",
13945
+ "created_at",
13946
+ "occurred_at",
13947
+ "access_code_id",
13948
+ "device_id",
13949
+ "connected_account_id",
13950
+ "event_type"
13951
+ ],
13952
+ type: "object",
13953
+ "x-route-path": "/access_codes"
13954
+ },
13955
+ {
13956
+ description: "An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was deleted outside of Seam.",
13957
+ properties: {
13958
+ access_code_id: {
13959
+ description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
13960
+ format: "uuid",
13961
+ type: "string"
13962
+ },
13963
+ connected_account_id: {
13964
+ description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
13965
+ format: "uuid",
13966
+ type: "string"
13967
+ },
13968
+ created_at: {
13969
+ description: "Date and time at which the event was created.",
13970
+ format: "date-time",
13971
+ type: "string"
13972
+ },
13973
+ device_id: {
13974
+ description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
13975
+ format: "uuid",
13976
+ type: "string"
13977
+ },
13978
+ event_id: {
13979
+ description: "ID of the event.",
13980
+ format: "uuid",
13981
+ type: "string"
13982
+ },
13983
+ event_type: {
13984
+ enum: ["access_code.deleted_external_to_seam"],
13985
+ type: "string"
13986
+ },
13987
+ occurred_at: {
13988
+ description: "Date and time at which the event occurred.",
13989
+ format: "date-time",
13990
+ type: "string"
13991
+ },
13992
+ workspace_id: {
13993
+ description: "ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces).",
13994
+ format: "uuid",
13995
+ type: "string"
13996
+ }
13997
+ },
13998
+ required: [
13999
+ "event_id",
14000
+ "workspace_id",
14001
+ "created_at",
14002
+ "occurred_at",
14003
+ "access_code_id",
14004
+ "device_id",
14005
+ "connected_account_id",
14006
+ "event_type"
14007
+ ],
14008
+ type: "object",
14009
+ "x-route-path": "/access_codes"
14010
+ },
14011
+ {
14012
+ description: "A [backup access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes) was pulled from the backup access code pool and set on a device.",
14013
+ properties: {
14014
+ access_code_id: {
14015
+ description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
14016
+ format: "uuid",
14017
+ type: "string"
14018
+ },
14019
+ backup_access_code_id: { type: "string" },
14020
+ connected_account_id: {
14021
+ description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
14022
+ format: "uuid",
14023
+ type: "string"
14024
+ },
14025
+ created_at: {
14026
+ description: "Date and time at which the event was created.",
14027
+ format: "date-time",
14028
+ type: "string"
14029
+ },
14030
+ device_id: {
14031
+ description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
14032
+ format: "uuid",
14033
+ type: "string"
14034
+ },
14035
+ event_id: {
14036
+ description: "ID of the event.",
14037
+ format: "uuid",
14038
+ type: "string"
14039
+ },
14040
+ event_type: {
14041
+ enum: ["access_code.backup_access_code_pulled"],
14042
+ type: "string"
14043
+ },
14044
+ occurred_at: {
14045
+ description: "Date and time at which the event occurred.",
14046
+ format: "date-time",
14047
+ type: "string"
14048
+ },
14049
+ workspace_id: {
14050
+ description: "ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces).",
14051
+ format: "uuid",
14052
+ type: "string"
14053
+ }
14054
+ },
14055
+ required: [
14056
+ "event_id",
14057
+ "workspace_id",
14058
+ "created_at",
14059
+ "occurred_at",
14060
+ "access_code_id",
14061
+ "device_id",
14062
+ "connected_account_id",
14063
+ "event_type",
14064
+ "backup_access_code_id"
14065
+ ],
14066
+ type: "object",
14067
+ "x-route-path": "/access_codes"
14068
+ },
14069
+ {
14070
+ description: "An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) was converted successfully to a managed access code.",
14071
+ properties: {
14072
+ access_code_id: {
14073
+ description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
14074
+ format: "uuid",
14075
+ type: "string"
14076
+ },
14077
+ connected_account_id: {
14078
+ description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
14079
+ format: "uuid",
14080
+ type: "string"
14081
+ },
14082
+ created_at: {
14083
+ description: "Date and time at which the event was created.",
14084
+ format: "date-time",
14085
+ type: "string"
14086
+ },
14087
+ device_id: {
14088
+ description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
14089
+ format: "uuid",
14090
+ type: "string"
14091
+ },
14092
+ event_id: {
14093
+ description: "ID of the event.",
14094
+ format: "uuid",
14095
+ type: "string"
14096
+ },
14097
+ event_type: {
14098
+ enum: ["access_code.unmanaged.converted_to_managed"],
14099
+ type: "string"
14100
+ },
14101
+ occurred_at: {
14102
+ description: "Date and time at which the event occurred.",
14103
+ format: "date-time",
14104
+ type: "string"
14105
+ },
14106
+ workspace_id: {
14107
+ description: "ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces).",
14108
+ format: "uuid",
14109
+ type: "string"
14110
+ }
14111
+ },
14112
+ required: [
14113
+ "event_id",
14114
+ "workspace_id",
14115
+ "created_at",
14116
+ "occurred_at",
14117
+ "access_code_id",
14118
+ "device_id",
14119
+ "connected_account_id",
14120
+ "event_type"
14121
+ ],
14122
+ type: "object",
14123
+ "x-route-path": "/access_codes/unmanaged"
14124
+ },
14125
+ {
14126
+ description: "An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) failed to be converted to a managed access code.",
14127
+ properties: {
14128
+ access_code_id: {
14129
+ description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
14130
+ format: "uuid",
14131
+ type: "string"
14132
+ },
14133
+ connected_account_id: {
14134
+ description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
14135
+ format: "uuid",
14136
+ type: "string"
14137
+ },
14138
+ created_at: {
14139
+ description: "Date and time at which the event was created.",
14140
+ format: "date-time",
14141
+ type: "string"
14142
+ },
14143
+ device_id: {
14144
+ description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
14145
+ format: "uuid",
14146
+ type: "string"
14147
+ },
14148
+ event_id: {
14149
+ description: "ID of the event.",
14150
+ format: "uuid",
14151
+ type: "string"
14152
+ },
14153
+ event_type: {
14154
+ enum: ["access_code.unmanaged.failed_to_convert_to_managed"],
14155
+ type: "string"
14156
+ },
14157
+ occurred_at: {
14158
+ description: "Date and time at which the event occurred.",
14159
+ format: "date-time",
14160
+ type: "string"
14161
+ },
14162
+ workspace_id: {
14163
+ description: "ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces).",
14164
+ format: "uuid",
14165
+ type: "string"
14166
+ }
14167
+ },
14168
+ required: [
14169
+ "event_id",
14170
+ "workspace_id",
14171
+ "created_at",
14172
+ "occurred_at",
14173
+ "access_code_id",
14174
+ "device_id",
14175
+ "connected_account_id",
14176
+ "event_type"
14177
+ ],
14178
+ type: "object",
14179
+ "x-route-path": "/access_codes/unmanaged"
14180
+ },
14181
+ {
14182
+ description: "An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) was created on a device.",
14183
+ properties: {
14184
+ access_code_id: {
14185
+ description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
14186
+ format: "uuid",
14187
+ type: "string"
14188
+ },
14189
+ connected_account_id: {
14190
+ description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
14191
+ format: "uuid",
14192
+ type: "string"
14193
+ },
14194
+ created_at: {
14195
+ description: "Date and time at which the event was created.",
14196
+ format: "date-time",
14197
+ type: "string"
14198
+ },
14199
+ device_id: {
14200
+ description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
14201
+ format: "uuid",
14202
+ type: "string"
14203
+ },
14204
+ event_id: {
14205
+ description: "ID of the event.",
14206
+ format: "uuid",
14207
+ type: "string"
14208
+ },
14209
+ event_type: {
14210
+ enum: ["access_code.unmanaged.created"],
13198
14211
  type: "string"
13199
14212
  },
13200
14213
  occurred_at: {
@@ -13219,10 +14232,10 @@ var openapi_default = {
13219
14232
  "event_type"
13220
14233
  ],
13221
14234
  type: "object",
13222
- "x-route-path": "/access_codes"
14235
+ "x-route-path": "/access_codes/unmanaged"
13223
14236
  },
13224
14237
  {
13225
- description: "An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) failed to be removed from a device.",
14238
+ description: "An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) was removed from a device.",
13226
14239
  properties: {
13227
14240
  access_code_id: {
13228
14241
  description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
@@ -13250,7 +14263,7 @@ var openapi_default = {
13250
14263
  type: "string"
13251
14264
  },
13252
14265
  event_type: {
13253
- enum: ["access_code.failed_to_remove_from_device"],
14266
+ enum: ["access_code.unmanaged.removed"],
13254
14267
  type: "string"
13255
14268
  },
13256
14269
  occurred_at: {
@@ -13275,18 +14288,13 @@ var openapi_default = {
13275
14288
  "event_type"
13276
14289
  ],
13277
14290
  type: "object",
13278
- "x-route-path": "/access_codes"
14291
+ "x-route-path": "/access_codes/unmanaged"
13279
14292
  },
13280
14293
  {
13281
- description: "An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was modified outside of Seam.",
14294
+ description: "An access grant was created.",
13282
14295
  properties: {
13283
- access_code_id: {
13284
- description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
13285
- format: "uuid",
13286
- type: "string"
13287
- },
13288
- connected_account_id: {
13289
- description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
14296
+ access_grant_id: {
14297
+ description: "ID of the access grant.",
13290
14298
  format: "uuid",
13291
14299
  type: "string"
13292
14300
  },
@@ -13295,20 +14303,12 @@ var openapi_default = {
13295
14303
  format: "date-time",
13296
14304
  type: "string"
13297
14305
  },
13298
- device_id: {
13299
- description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
13300
- format: "uuid",
13301
- type: "string"
13302
- },
13303
14306
  event_id: {
13304
14307
  description: "ID of the event.",
13305
14308
  format: "uuid",
13306
14309
  type: "string"
13307
14310
  },
13308
- event_type: {
13309
- enum: ["access_code.modified_external_to_seam"],
13310
- type: "string"
13311
- },
14311
+ event_type: { enum: ["access_grant.created"], type: "string" },
13312
14312
  occurred_at: {
13313
14313
  description: "Date and time at which the event occurred.",
13314
14314
  format: "date-time",
@@ -13325,36 +14325,65 @@ var openapi_default = {
13325
14325
  "workspace_id",
13326
14326
  "created_at",
13327
14327
  "occurred_at",
13328
- "access_code_id",
13329
- "device_id",
13330
- "connected_account_id",
14328
+ "access_grant_id",
13331
14329
  "event_type"
13332
14330
  ],
13333
14331
  type: "object",
13334
- "x-route-path": "/access_codes"
14332
+ "x-route-path": "/unstable_access_grants"
13335
14333
  },
13336
14334
  {
13337
- description: "An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was deleted outside of Seam.",
14335
+ description: "An access grant was deleted.",
13338
14336
  properties: {
13339
- access_code_id: {
13340
- description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
14337
+ access_grant_id: {
14338
+ description: "ID of the access grant.",
13341
14339
  format: "uuid",
13342
14340
  type: "string"
13343
14341
  },
13344
- connected_account_id: {
13345
- description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
14342
+ created_at: {
14343
+ description: "Date and time at which the event was created.",
14344
+ format: "date-time",
14345
+ type: "string"
14346
+ },
14347
+ event_id: {
14348
+ description: "ID of the event.",
13346
14349
  format: "uuid",
13347
14350
  type: "string"
13348
14351
  },
13349
- created_at: {
13350
- description: "Date and time at which the event was created.",
14352
+ event_type: { enum: ["access_grant.deleted"], type: "string" },
14353
+ occurred_at: {
14354
+ description: "Date and time at which the event occurred.",
13351
14355
  format: "date-time",
13352
14356
  type: "string"
13353
14357
  },
13354
- device_id: {
13355
- description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
14358
+ workspace_id: {
14359
+ description: "ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces).",
13356
14360
  format: "uuid",
13357
14361
  type: "string"
14362
+ }
14363
+ },
14364
+ required: [
14365
+ "event_id",
14366
+ "workspace_id",
14367
+ "created_at",
14368
+ "occurred_at",
14369
+ "access_grant_id",
14370
+ "event_type"
14371
+ ],
14372
+ type: "object",
14373
+ "x-route-path": "/unstable_access_grants"
14374
+ },
14375
+ {
14376
+ description: "All access requested for an access grant was successfully granted.",
14377
+ properties: {
14378
+ access_grant_id: {
14379
+ description: "ID of the access grant.",
14380
+ format: "uuid",
14381
+ type: "string"
14382
+ },
14383
+ created_at: {
14384
+ description: "Date and time at which the event was created.",
14385
+ format: "date-time",
14386
+ type: "string"
13358
14387
  },
13359
14388
  event_id: {
13360
14389
  description: "ID of the event.",
@@ -13362,7 +14391,7 @@ var openapi_default = {
13362
14391
  type: "string"
13363
14392
  },
13364
14393
  event_type: {
13365
- enum: ["access_code.deleted_external_to_seam"],
14394
+ enum: ["access_grant.access_granted_to_all_doors"],
13366
14395
  type: "string"
13367
14396
  },
13368
14397
  occurred_at: {
@@ -13381,25 +14410,22 @@ var openapi_default = {
13381
14410
  "workspace_id",
13382
14411
  "created_at",
13383
14412
  "occurred_at",
13384
- "access_code_id",
13385
- "device_id",
13386
- "connected_account_id",
14413
+ "access_grant_id",
13387
14414
  "event_type"
13388
14415
  ],
13389
14416
  type: "object",
13390
- "x-route-path": "/access_codes"
14417
+ "x-route-path": "/unstable_access_grants"
13391
14418
  },
13392
14419
  {
13393
- description: "A [backup access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes) was pulled from the backup access code pool and set on a device.",
14420
+ description: "Access requested as part of an access grant to a particular door was successfully granted.",
13394
14421
  properties: {
13395
- access_code_id: {
13396
- description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
14422
+ access_grant_id: {
14423
+ description: "ID of the access grant.",
13397
14424
  format: "uuid",
13398
14425
  type: "string"
13399
14426
  },
13400
- backup_access_code_id: { type: "string" },
13401
- connected_account_id: {
13402
- description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
14427
+ acs_entrance_id: {
14428
+ description: "ID of the door, an [ACS entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details).",
13403
14429
  format: "uuid",
13404
14430
  type: "string"
13405
14431
  },
@@ -13408,18 +14434,13 @@ var openapi_default = {
13408
14434
  format: "date-time",
13409
14435
  type: "string"
13410
14436
  },
13411
- device_id: {
13412
- description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
13413
- format: "uuid",
13414
- type: "string"
13415
- },
13416
14437
  event_id: {
13417
14438
  description: "ID of the event.",
13418
14439
  format: "uuid",
13419
14440
  type: "string"
13420
14441
  },
13421
14442
  event_type: {
13422
- enum: ["access_code.backup_access_code_pulled"],
14443
+ enum: ["access_grant.access_granted_to_door"],
13423
14444
  type: "string"
13424
14445
  },
13425
14446
  occurred_at: {
@@ -13438,25 +14459,23 @@ var openapi_default = {
13438
14459
  "workspace_id",
13439
14460
  "created_at",
13440
14461
  "occurred_at",
13441
- "access_code_id",
13442
- "device_id",
13443
- "connected_account_id",
14462
+ "access_grant_id",
13444
14463
  "event_type",
13445
- "backup_access_code_id"
14464
+ "acs_entrance_id"
13446
14465
  ],
13447
14466
  type: "object",
13448
- "x-route-path": "/access_codes"
14467
+ "x-route-path": "/unstable_access_grants"
13449
14468
  },
13450
14469
  {
13451
- description: "An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) was converted successfully to a managed access code.",
14470
+ description: "Access to a particular door that was requested as part of an access grant was lost.",
13452
14471
  properties: {
13453
- access_code_id: {
13454
- description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
14472
+ access_grant_id: {
14473
+ description: "ID of the access grant.",
13455
14474
  format: "uuid",
13456
14475
  type: "string"
13457
14476
  },
13458
- connected_account_id: {
13459
- description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
14477
+ acs_entrance_id: {
14478
+ description: "ID of the door, an [ACS entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details).",
13460
14479
  format: "uuid",
13461
14480
  type: "string"
13462
14481
  },
@@ -13465,18 +14484,13 @@ var openapi_default = {
13465
14484
  format: "date-time",
13466
14485
  type: "string"
13467
14486
  },
13468
- device_id: {
13469
- description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
13470
- format: "uuid",
13471
- type: "string"
13472
- },
13473
14487
  event_id: {
13474
14488
  description: "ID of the event.",
13475
14489
  format: "uuid",
13476
14490
  type: "string"
13477
14491
  },
13478
14492
  event_type: {
13479
- enum: ["access_code.unmanaged.converted_to_managed"],
14493
+ enum: ["access_grant.access_to_door_lost"],
13480
14494
  type: "string"
13481
14495
  },
13482
14496
  occurred_at: {
@@ -13495,24 +14509,18 @@ var openapi_default = {
13495
14509
  "workspace_id",
13496
14510
  "created_at",
13497
14511
  "occurred_at",
13498
- "access_code_id",
13499
- "device_id",
13500
- "connected_account_id",
13501
- "event_type"
14512
+ "access_grant_id",
14513
+ "event_type",
14514
+ "acs_entrance_id"
13502
14515
  ],
13503
14516
  type: "object",
13504
- "x-route-path": "/access_codes/unmanaged"
14517
+ "x-route-path": "/unstable_access_grants"
13505
14518
  },
13506
14519
  {
13507
- description: "An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) failed to be converted to a managed access code.",
14520
+ description: "An access method was issued.",
13508
14521
  properties: {
13509
- access_code_id: {
13510
- description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
13511
- format: "uuid",
13512
- type: "string"
13513
- },
13514
- connected_account_id: {
13515
- description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
14522
+ access_method_id: {
14523
+ description: "ID of the access method.",
13516
14524
  format: "uuid",
13517
14525
  type: "string"
13518
14526
  },
@@ -13521,20 +14529,12 @@ var openapi_default = {
13521
14529
  format: "date-time",
13522
14530
  type: "string"
13523
14531
  },
13524
- device_id: {
13525
- description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
13526
- format: "uuid",
13527
- type: "string"
13528
- },
13529
14532
  event_id: {
13530
14533
  description: "ID of the event.",
13531
14534
  format: "uuid",
13532
14535
  type: "string"
13533
14536
  },
13534
- event_type: {
13535
- enum: ["access_code.unmanaged.failed_to_convert_to_managed"],
13536
- type: "string"
13537
- },
14537
+ event_type: { enum: ["access_method.issued"], type: "string" },
13538
14538
  occurred_at: {
13539
14539
  description: "Date and time at which the event occurred.",
13540
14540
  format: "date-time",
@@ -13551,24 +14551,17 @@ var openapi_default = {
13551
14551
  "workspace_id",
13552
14552
  "created_at",
13553
14553
  "occurred_at",
13554
- "access_code_id",
13555
- "device_id",
13556
- "connected_account_id",
14554
+ "access_method_id",
13557
14555
  "event_type"
13558
14556
  ],
13559
14557
  type: "object",
13560
- "x-route-path": "/access_codes/unmanaged"
14558
+ "x-route-path": "/unstable_access_methods"
13561
14559
  },
13562
14560
  {
13563
- description: "An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) was created on a device.",
14561
+ description: "An access method was revoked.",
13564
14562
  properties: {
13565
- access_code_id: {
13566
- description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
13567
- format: "uuid",
13568
- type: "string"
13569
- },
13570
- connected_account_id: {
13571
- description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
14563
+ access_method_id: {
14564
+ description: "ID of the access method.",
13572
14565
  format: "uuid",
13573
14566
  type: "string"
13574
14567
  },
@@ -13577,20 +14570,12 @@ var openapi_default = {
13577
14570
  format: "date-time",
13578
14571
  type: "string"
13579
14572
  },
13580
- device_id: {
13581
- description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
13582
- format: "uuid",
13583
- type: "string"
13584
- },
13585
14573
  event_id: {
13586
14574
  description: "ID of the event.",
13587
14575
  format: "uuid",
13588
14576
  type: "string"
13589
14577
  },
13590
- event_type: {
13591
- enum: ["access_code.unmanaged.created"],
13592
- type: "string"
13593
- },
14578
+ event_type: { enum: ["access_method.revoked"], type: "string" },
13594
14579
  occurred_at: {
13595
14580
  description: "Date and time at which the event occurred.",
13596
14581
  format: "date-time",
@@ -13607,24 +14592,17 @@ var openapi_default = {
13607
14592
  "workspace_id",
13608
14593
  "created_at",
13609
14594
  "occurred_at",
13610
- "access_code_id",
13611
- "device_id",
13612
- "connected_account_id",
14595
+ "access_method_id",
13613
14596
  "event_type"
13614
14597
  ],
13615
14598
  type: "object",
13616
- "x-route-path": "/access_codes/unmanaged"
14599
+ "x-route-path": "/unstable_access_methods"
13617
14600
  },
13618
14601
  {
13619
- description: "An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) was removed from a device.",
14602
+ description: "An access method representing a physical card requires encoding.",
13620
14603
  properties: {
13621
- access_code_id: {
13622
- description: "ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes).",
13623
- format: "uuid",
13624
- type: "string"
13625
- },
13626
- connected_account_id: {
13627
- description: "ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).",
14604
+ access_method_id: {
14605
+ description: "ID of the access method.",
13628
14606
  format: "uuid",
13629
14607
  type: "string"
13630
14608
  },
@@ -13633,18 +14611,13 @@ var openapi_default = {
13633
14611
  format: "date-time",
13634
14612
  type: "string"
13635
14613
  },
13636
- device_id: {
13637
- description: "ID of the [device](https://docs.seam.co/latest/core-concepts/devices).",
13638
- format: "uuid",
13639
- type: "string"
13640
- },
13641
14614
  event_id: {
13642
14615
  description: "ID of the event.",
13643
14616
  format: "uuid",
13644
14617
  type: "string"
13645
14618
  },
13646
14619
  event_type: {
13647
- enum: ["access_code.unmanaged.removed"],
14620
+ enum: ["access_method.card_encoding_required"],
13648
14621
  type: "string"
13649
14622
  },
13650
14623
  occurred_at: {
@@ -13663,13 +14636,11 @@ var openapi_default = {
13663
14636
  "workspace_id",
13664
14637
  "created_at",
13665
14638
  "occurred_at",
13666
- "access_code_id",
13667
- "device_id",
13668
- "connected_account_id",
14639
+ "access_method_id",
13669
14640
  "event_type"
13670
14641
  ],
13671
14642
  type: "object",
13672
- "x-route-path": "/access_codes/unmanaged"
14643
+ "x-route-path": "/unstable_access_methods"
13673
14644
  },
13674
14645
  {
13675
14646
  description: "An [ACS system](https://docs.seam.co/latest/capability-guides/access-systems) was connected.",
@@ -17233,8 +18204,13 @@ var openapi_default = {
17233
18204
  },
17234
18205
  type: "array"
17235
18206
  },
18207
+ is_override_allowed: {
18208
+ description: "Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.",
18209
+ type: "boolean"
18210
+ },
17236
18211
  max_override_period_minutes: {
17237
18212
  description: "Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).",
18213
+ exclusiveMinimum: true,
17238
18214
  minimum: 0,
17239
18215
  nullable: true,
17240
18216
  type: "integer"
@@ -17252,11 +18228,6 @@ var openapi_default = {
17252
18228
  description: "ID of the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules).",
17253
18229
  format: "uuid",
17254
18230
  type: "string"
17255
- },
17256
- unstable_is_override_allowed: {
17257
- description: "Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.",
17258
- type: "boolean",
17259
- "x-undocumented": "Unstable"
17260
18231
  }
17261
18232
  },
17262
18233
  required: [
@@ -19147,39 +20118,45 @@ var openapi_default = {
19147
20118
  type: "string"
19148
20119
  },
19149
20120
  hid_acs_system_id: { format: "uuid", type: "string" },
19150
- is_latest_desired_state_synced_with_provider: {
19151
- nullable: true,
19152
- type: "boolean",
19153
- "x-undocumented": "Only used internally."
19154
- },
19155
20121
  is_managed: { enum: [false], type: "boolean" },
19156
20122
  is_suspended: {
19157
20123
  description: "Indicates whether the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) is currently [suspended](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users).",
19158
20124
  type: "boolean"
19159
20125
  },
19160
- latest_desired_state_synced_with_provider_at: {
19161
- format: "date-time",
19162
- nullable: true,
19163
- type: "string",
19164
- "x-undocumented": "Only used internally."
19165
- },
19166
20126
  pending_mutations: {
20127
+ description: "Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system.",
19167
20128
  items: {
19168
20129
  discriminator: { propertyName: "mutation_code" },
19169
20130
  oneOf: [
19170
20131
  {
20132
+ description: "Seam is in the process of pushing a user creation to the integrated access system.",
19171
20133
  properties: {
19172
- created_at: { format: "date-time", type: "string" },
19173
- message: { type: "string" },
20134
+ created_at: {
20135
+ description: "Date and time at which the mutation was created.",
20136
+ format: "date-time",
20137
+ type: "string"
20138
+ },
20139
+ message: {
20140
+ description: "Detailed description of the mutation.",
20141
+ type: "string"
20142
+ },
19174
20143
  mutation_code: { enum: ["creating"], type: "string" }
19175
20144
  },
19176
20145
  required: ["created_at", "message", "mutation_code"],
19177
20146
  type: "object"
19178
20147
  },
19179
20148
  {
20149
+ description: "Seam is in the process of pushing a user deletion to the integrated access system.",
19180
20150
  properties: {
19181
- created_at: { format: "date-time", type: "string" },
19182
- message: { type: "string" },
20151
+ created_at: {
20152
+ description: "Date and time at which the mutation was created.",
20153
+ format: "date-time",
20154
+ type: "string"
20155
+ },
20156
+ message: {
20157
+ description: "Detailed description of the mutation.",
20158
+ type: "string"
20159
+ },
19183
20160
  mutation_code: { enum: ["deleting"], type: "string" }
19184
20161
  },
19185
20162
  required: ["created_at", "message", "mutation_code"],
@@ -19187,7 +20164,11 @@ var openapi_default = {
19187
20164
  },
19188
20165
  {
19189
20166
  properties: {
19190
- created_at: { format: "date-time", type: "string" },
20167
+ created_at: {
20168
+ description: "Date and time at which the mutation was created.",
20169
+ format: "date-time",
20170
+ type: "string"
20171
+ },
19191
20172
  from: {
19192
20173
  properties: {
19193
20174
  email_address: {
@@ -19200,7 +20181,10 @@ var openapi_default = {
19200
20181
  },
19201
20182
  type: "object"
19202
20183
  },
19203
- message: { type: "string" },
20184
+ message: {
20185
+ description: "Detailed description of the mutation.",
20186
+ type: "string"
20187
+ },
19204
20188
  mutation_code: {
19205
20189
  enum: ["updating_user_information"],
19206
20190
  type: "string"
@@ -19228,8 +20212,13 @@ var openapi_default = {
19228
20212
  type: "object"
19229
20213
  },
19230
20214
  {
20215
+ description: "Seam is in the process of pushing an access schedule update to the integrated access system.",
19231
20216
  properties: {
19232
- created_at: { format: "date-time", type: "string" },
20217
+ created_at: {
20218
+ description: "Date and time at which the mutation was created.",
20219
+ format: "date-time",
20220
+ type: "string"
20221
+ },
19233
20222
  from: {
19234
20223
  properties: {
19235
20224
  ends_at: {
@@ -19246,7 +20235,10 @@ var openapi_default = {
19246
20235
  required: ["starts_at", "ends_at"],
19247
20236
  type: "object"
19248
20237
  },
19249
- message: { type: "string" },
20238
+ message: {
20239
+ description: "Detailed description of the mutation.",
20240
+ type: "string"
20241
+ },
19250
20242
  mutation_code: {
19251
20243
  enum: ["updating_access_schedule"],
19252
20244
  type: "string"
@@ -19278,14 +20270,22 @@ var openapi_default = {
19278
20270
  type: "object"
19279
20271
  },
19280
20272
  {
20273
+ description: "Seam is in the process of pushing a suspension state update to the integrated access system.",
19281
20274
  properties: {
19282
- created_at: { format: "date-time", type: "string" },
20275
+ created_at: {
20276
+ description: "Date and time at which the mutation was created.",
20277
+ format: "date-time",
20278
+ type: "string"
20279
+ },
19283
20280
  from: {
19284
20281
  properties: { is_suspended: { type: "boolean" } },
19285
20282
  required: ["is_suspended"],
19286
20283
  type: "object"
19287
20284
  },
19288
- message: { type: "string" },
20285
+ message: {
20286
+ description: "Detailed description of the mutation.",
20287
+ type: "string"
20288
+ },
19289
20289
  mutation_code: {
19290
20290
  enum: ["updating_suspension_state"],
19291
20291
  type: "string"
@@ -19306,11 +20306,18 @@ var openapi_default = {
19306
20306
  type: "object"
19307
20307
  },
19308
20308
  {
20309
+ description: "Seam is in the process of pushing an access group membership update to the integrated access system.",
19309
20310
  properties: {
19310
- created_at: { format: "date-time", type: "string" },
20311
+ created_at: {
20312
+ description: "Date and time at which the mutation was created.",
20313
+ format: "date-time",
20314
+ type: "string"
20315
+ },
19311
20316
  from: {
20317
+ description: "Old access group membership.",
19312
20318
  properties: {
19313
20319
  acs_access_group_id: {
20320
+ description: "Old access group ID.",
19314
20321
  format: "uuid",
19315
20322
  nullable: true,
19316
20323
  type: "string"
@@ -19319,14 +20326,19 @@ var openapi_default = {
19319
20326
  required: ["acs_access_group_id"],
19320
20327
  type: "object"
19321
20328
  },
19322
- message: { type: "string" },
20329
+ message: {
20330
+ description: "Detailed description of the mutation.",
20331
+ type: "string"
20332
+ },
19323
20333
  mutation_code: {
19324
20334
  enum: ["updating_group_membership"],
19325
20335
  type: "string"
19326
20336
  },
19327
20337
  to: {
20338
+ description: "New access group membership.",
19328
20339
  properties: {
19329
20340
  acs_access_group_id: {
20341
+ description: "New access group ID.",
19330
20342
  format: "uuid",
19331
20343
  nullable: true,
19332
20344
  type: "string"
@@ -19347,8 +20359,7 @@ var openapi_default = {
19347
20359
  }
19348
20360
  ]
19349
20361
  },
19350
- type: "array",
19351
- "x-undocumented": "Experimental."
20362
+ type: "array"
19352
20363
  },
19353
20364
  phone_number: {
19354
20365
  description: "Phone number of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`).",
@@ -20241,6 +21252,20 @@ var openapi_default = {
20241
21252
  },
20242
21253
  required: ["message", "created_at", "warning_code"],
20243
21254
  type: "object"
21255
+ },
21256
+ {
21257
+ description: "We detected that this device does not have a time zone configured. Time bound codes may not work as expected.",
21258
+ properties: {
21259
+ created_at: { format: "date-time", type: "string" },
21260
+ message: { type: "string" },
21261
+ warning_code: {
21262
+ description: "Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.",
21263
+ enum: ["lockly_time_zone_not_configured"],
21264
+ type: "string"
21265
+ }
21266
+ },
21267
+ required: ["message", "created_at", "warning_code"],
21268
+ type: "object"
20244
21269
  }
20245
21270
  ]
20246
21271
  },
@@ -20339,6 +21364,16 @@ var openapi_default = {
20339
21364
  type: "string",
20340
21365
  "x-deprecated": "use company_name"
20341
21366
  },
21367
+ connect_webview_customization: {
21368
+ properties: {
21369
+ inviter_logo_url: { type: "string" },
21370
+ logo_shape: { enum: ["circle", "square"], type: "string" },
21371
+ primary_button_color: { type: "string" },
21372
+ primary_button_text_color: { type: "string" },
21373
+ success_message: { type: "string" }
21374
+ },
21375
+ type: "object"
21376
+ },
20342
21377
  is_sandbox: { type: "boolean" },
20343
21378
  is_suspended: {
20344
21379
  description: "True if a sandbox workspace has not been accessed in 14 days",
@@ -20352,6 +21387,7 @@ var openapi_default = {
20352
21387
  "name",
20353
21388
  "company_name",
20354
21389
  "is_sandbox",
21390
+ "connect_webview_customization",
20355
21391
  "is_suspended",
20356
21392
  "connect_partner_name"
20357
21393
  ],
@@ -21094,6 +22130,75 @@ var openapi_default = {
21094
22130
  "x-title": "Pull a Backup Access Code"
21095
22131
  }
21096
22132
  },
22133
+ "/access_codes/report_device_constraints": {
22134
+ post: {
22135
+ description: "Enables you to report access code-related constraints for a device. Currently, supports reporting supported code length constraints for SmartThings devices.",
22136
+ operationId: "accessCodesReportDeviceConstraintsPost",
22137
+ requestBody: {
22138
+ content: {
22139
+ "application/json": {
22140
+ schema: {
22141
+ properties: {
22142
+ device_id: {
22143
+ description: "ID of the device for which to report constraints.",
22144
+ format: "uuid",
22145
+ type: "string"
22146
+ },
22147
+ max_code_length: {
22148
+ description: "Maximum supported code length as an integer between 4 and 20, inclusive. You can specify either `min_code_length`/`max_code_length` or `supported_code_lengths`.",
22149
+ maximum: 20,
22150
+ minimum: 4,
22151
+ type: "integer"
22152
+ },
22153
+ min_code_length: {
22154
+ description: "Minimum supported code length as an integer between 4 and 20, inclusive. You can specify either `min_code_length`/`max_code_length` or `supported_code_lengths`.",
22155
+ maximum: 20,
22156
+ minimum: 4,
22157
+ type: "integer"
22158
+ },
22159
+ supported_code_lengths: {
22160
+ description: "Array of supported code lengths as integers between 4 and 20, inclusive. You can specify either `supported_code_lengths` or `min_code_length`/`max_code_length`.",
22161
+ items: { maximum: 20, minimum: 4, type: "integer" },
22162
+ minItems: 1,
22163
+ type: "array"
22164
+ }
22165
+ },
22166
+ required: ["device_id"],
22167
+ type: "object"
22168
+ }
22169
+ }
22170
+ }
22171
+ },
22172
+ responses: {
22173
+ 200: {
22174
+ content: {
22175
+ "application/json": {
22176
+ schema: {
22177
+ properties: { ok: { type: "boolean" } },
22178
+ required: ["ok"],
22179
+ type: "object"
22180
+ }
22181
+ }
22182
+ },
22183
+ description: "OK"
22184
+ },
22185
+ 400: { description: "Bad Request" },
22186
+ 401: { description: "Unauthorized" }
22187
+ },
22188
+ security: [
22189
+ { client_session: [] },
22190
+ { pat_with_workspace: [] },
22191
+ { console_session_with_workspace: [] },
22192
+ { api_key: [] }
22193
+ ],
22194
+ summary: "/access_codes/report_device_constraints",
22195
+ tags: ["/access_codes"],
22196
+ "x-fern-sdk-group-name": ["access_codes"],
22197
+ "x-fern-sdk-method-name": "report_device_constraints",
22198
+ "x-response-key": null,
22199
+ "x-title": "Report Device Access Code Constraints"
22200
+ }
22201
+ },
21097
22202
  "/access_codes/simulate/create_unmanaged_access_code": {
21098
22203
  post: {
21099
22204
  description: "Simulates the creation of an [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) in a [sandbox workspace](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces).",
@@ -23793,6 +24898,68 @@ var openapi_default = {
23793
24898
  "x-title": "Update a Credential"
23794
24899
  }
23795
24900
  },
24901
+ "/acs/encoders/encode_access_method": {
24902
+ post: {
24903
+ description: "Encodes an existing access method onto a plastic card placed on the specified [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners).",
24904
+ operationId: "acsEncodersEncodeAccessMethodPost",
24905
+ requestBody: {
24906
+ content: {
24907
+ "application/json": {
24908
+ schema: {
24909
+ properties: {
24910
+ access_method_id: {
24911
+ description: "ID of the `access_method` to encode onto a card.",
24912
+ format: "uuid",
24913
+ type: "string"
24914
+ },
24915
+ acs_encoder_id: {
24916
+ description: "ID of the `acs_encoder` to use to encode the `access_method`.",
24917
+ format: "uuid",
24918
+ type: "string"
24919
+ }
24920
+ },
24921
+ required: ["acs_encoder_id", "access_method_id"],
24922
+ type: "object"
24923
+ }
24924
+ }
24925
+ }
24926
+ },
24927
+ responses: {
24928
+ 200: {
24929
+ content: {
24930
+ "application/json": {
24931
+ schema: {
24932
+ properties: {
24933
+ action_attempt: {
24934
+ $ref: "#/components/schemas/action_attempt"
24935
+ },
24936
+ ok: { type: "boolean" }
24937
+ },
24938
+ required: ["action_attempt", "ok"],
24939
+ type: "object"
24940
+ }
24941
+ }
24942
+ },
24943
+ description: "OK"
24944
+ },
24945
+ 400: { description: "Bad Request" },
24946
+ 401: { description: "Unauthorized" }
24947
+ },
24948
+ security: [
24949
+ { pat_with_workspace: [] },
24950
+ { console_session_with_workspace: [] },
24951
+ { api_key: [] }
24952
+ ],
24953
+ summary: "/acs/encoders/encode_access_method",
24954
+ tags: ["/acs"],
24955
+ "x-action-attempt-type": "ENCODE_ACCESS_METHOD",
24956
+ "x-fern-sdk-group-name": ["acs", "encoders"],
24957
+ "x-fern-sdk-method-name": "encode_access_method",
24958
+ "x-fern-sdk-return-value": "action_attempt",
24959
+ "x-response-key": "action_attempt",
24960
+ "x-title": "Encode an Access Method"
24961
+ }
24962
+ },
23796
24963
  "/acs/encoders/encode_credential": {
23797
24964
  post: {
23798
24965
  description: "Encodes an existing [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) onto a plastic card placed on the specified [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners).",
@@ -24497,7 +25664,13 @@ var openapi_default = {
24497
25664
  schema: {
24498
25665
  properties: {
24499
25666
  acs_credential_id: { format: "uuid", type: "string" },
24500
- acs_system_id: { format: "uuid", type: "string" }
25667
+ acs_system_id: { format: "uuid", type: "string" },
25668
+ location_id: {
25669
+ format: "uuid",
25670
+ nullable: true,
25671
+ type: "string",
25672
+ "x-undocumented": "Experimental locations."
25673
+ }
24501
25674
  },
24502
25675
  type: "object"
24503
25676
  }
@@ -27276,6 +28449,11 @@ var openapi_default = {
27276
28449
  ],
27277
28450
  type: "string"
27278
28451
  },
28452
+ page_cursor: {
28453
+ description: "Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.",
28454
+ nullable: true,
28455
+ type: "string"
28456
+ },
27279
28457
  unstable_location_id: {
27280
28458
  format: "uuid",
27281
28459
  nullable: true,
@@ -27302,9 +28480,10 @@ var openapi_default = {
27302
28480
  items: { $ref: "#/components/schemas/device" },
27303
28481
  type: "array"
27304
28482
  },
27305
- ok: { type: "boolean" }
28483
+ ok: { type: "boolean" },
28484
+ pagination: { $ref: "#/components/schemas/pagination" }
27306
28485
  },
27307
- required: ["devices", "ok"],
28486
+ required: ["devices", "pagination", "ok"],
27308
28487
  type: "object"
27309
28488
  }
27310
28489
  }
@@ -27808,6 +28987,11 @@ var openapi_default = {
27808
28987
  ],
27809
28988
  type: "string"
27810
28989
  },
28990
+ page_cursor: {
28991
+ description: "Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.",
28992
+ nullable: true,
28993
+ type: "string"
28994
+ },
27811
28995
  unstable_location_id: {
27812
28996
  format: "uuid",
27813
28997
  nullable: true,
@@ -28175,6 +29359,14 @@ var openapi_default = {
28175
29359
  "access_code.unmanaged.failed_to_convert_to_managed",
28176
29360
  "access_code.unmanaged.created",
28177
29361
  "access_code.unmanaged.removed",
29362
+ "access_grant.created",
29363
+ "access_grant.deleted",
29364
+ "access_grant.access_granted_to_all_doors",
29365
+ "access_grant.access_granted_to_door",
29366
+ "access_grant.access_to_door_lost",
29367
+ "access_method.issued",
29368
+ "access_method.revoked",
29369
+ "access_method.card_encoding_required",
28178
29370
  "acs_system.connected",
28179
29371
  "acs_system.added",
28180
29372
  "acs_system.disconnected",
@@ -28261,6 +29453,14 @@ var openapi_default = {
28261
29453
  "access_code.unmanaged.failed_to_convert_to_managed",
28262
29454
  "access_code.unmanaged.created",
28263
29455
  "access_code.unmanaged.removed",
29456
+ "access_grant.created",
29457
+ "access_grant.deleted",
29458
+ "access_grant.access_granted_to_all_doors",
29459
+ "access_grant.access_granted_to_door",
29460
+ "access_grant.access_to_door_lost",
29461
+ "access_method.issued",
29462
+ "access_method.revoked",
29463
+ "access_method.card_encoding_required",
28264
29464
  "acs_system.connected",
28265
29465
  "acs_system.added",
28266
29466
  "acs_system.disconnected",
@@ -28613,6 +29813,11 @@ var openapi_default = {
28613
29813
  ],
28614
29814
  type: "string"
28615
29815
  },
29816
+ page_cursor: {
29817
+ description: "Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.",
29818
+ nullable: true,
29819
+ type: "string"
29820
+ },
28616
29821
  unstable_location_id: {
28617
29822
  format: "uuid",
28618
29823
  nullable: true,
@@ -28746,11 +29951,11 @@ var openapi_default = {
28746
29951
  schema: {
28747
29952
  properties: {
28748
29953
  action_attempt: {
28749
- $ref: "#/components/schemas/access_code"
29954
+ $ref: "#/components/schemas/action_attempt"
28750
29955
  },
28751
29956
  ok: { type: "boolean" }
28752
29957
  },
28753
- required: ["ok"],
29958
+ required: ["action_attempt", "ok"],
28754
29959
  type: "object"
28755
29960
  }
28756
29961
  }
@@ -28796,11 +30001,11 @@ var openapi_default = {
28796
30001
  schema: {
28797
30002
  properties: {
28798
30003
  action_attempt: {
28799
- $ref: "#/components/schemas/access_code"
30004
+ $ref: "#/components/schemas/action_attempt"
28800
30005
  },
28801
30006
  ok: { type: "boolean" }
28802
30007
  },
28803
- required: ["ok"],
30008
+ required: ["action_attempt", "ok"],
28804
30009
  type: "object"
28805
30010
  }
28806
30011
  }
@@ -28820,7 +30025,8 @@ var openapi_default = {
28820
30025
  "x-action-attempt-type": "SIMULATE_MANUAL_LOCK_VIA_KEYPAD",
28821
30026
  "x-fern-sdk-group-name": ["locks", "simulate"],
28822
30027
  "x-fern-sdk-method-name": "manual_lock_via_keypad",
28823
- "x-response-key": null,
30028
+ "x-fern-sdk-return-value": "action_attempt",
30029
+ "x-response-key": "action_attempt",
28824
30030
  "x-undocumented": "Unreleased."
28825
30031
  }
28826
30032
  },
@@ -29070,6 +30276,11 @@ var openapi_default = {
29070
30276
  enum: ["noiseaware", "minut"],
29071
30277
  type: "string"
29072
30278
  },
30279
+ page_cursor: {
30280
+ description: "Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.",
30281
+ nullable: true,
30282
+ type: "string"
30283
+ },
29073
30284
  unstable_location_id: {
29074
30285
  format: "uuid",
29075
30286
  nullable: true,
@@ -31009,6 +32220,216 @@ var openapi_default = {
31009
32220
  "x-title": "Activate a Climate Preset"
31010
32221
  }
31011
32222
  },
32223
+ "/thermostats/activate_weekly_program": {
32224
+ post: {
32225
+ description: "Activates a thermostat weekly program.",
32226
+ operationId: "thermostatsActivateWeeklyProgramPost",
32227
+ requestBody: {
32228
+ content: {
32229
+ "application/json": {
32230
+ schema: {
32231
+ properties: {
32232
+ device_id: {
32233
+ description: "ID of the thermostat device that the weekly program is for.",
32234
+ format: "uuid",
32235
+ type: "string"
32236
+ },
32237
+ friday_program_id: {
32238
+ description: "ID of the thermostat daily program to run on Fridays.",
32239
+ format: "uuid",
32240
+ type: "string"
32241
+ },
32242
+ monday_program_id: {
32243
+ description: "ID of the thermostat daily program to run on Mondays.",
32244
+ format: "uuid",
32245
+ type: "string"
32246
+ },
32247
+ saturday_program_id: {
32248
+ description: "ID of the thermostat daily program to run on Saturdays.",
32249
+ format: "uuid",
32250
+ type: "string"
32251
+ },
32252
+ sunday_program_id: {
32253
+ description: "ID of the thermostat daily program to run on Sundays.",
32254
+ format: "uuid",
32255
+ type: "string"
32256
+ },
32257
+ thursday_program_id: {
32258
+ description: "ID of the thermostat daily program to run on Thursdays.",
32259
+ format: "uuid",
32260
+ type: "string"
32261
+ },
32262
+ tuesday_program_id: {
32263
+ description: "ID of the thermostat daily program to run on Tuesdays.",
32264
+ format: "uuid",
32265
+ type: "string"
32266
+ },
32267
+ wednesday_program_id: {
32268
+ description: "ID of the thermostat daily program to run on Wednesdays.",
32269
+ format: "uuid",
32270
+ type: "string"
32271
+ }
32272
+ },
32273
+ required: ["device_id"],
32274
+ type: "object"
32275
+ }
32276
+ }
32277
+ }
32278
+ },
32279
+ responses: {
32280
+ 200: {
32281
+ content: {
32282
+ "application/json": {
32283
+ schema: {
32284
+ properties: {
32285
+ ok: { type: "boolean" },
32286
+ thermostat_weekly_program: {
32287
+ properties: {
32288
+ created_at: {
32289
+ description: "Date and time at which the thermostat weekly program was created.",
32290
+ format: "date-time",
32291
+ type: "string"
32292
+ },
32293
+ device_id: {
32294
+ description: "ID of the thermostat device the weekly program is for.",
32295
+ format: "uuid",
32296
+ type: "string"
32297
+ },
32298
+ friday_program_id: {
32299
+ description: "ID of the thermostat daily program to run on Fridays.",
32300
+ format: "uuid",
32301
+ nullable: true,
32302
+ type: "string"
32303
+ },
32304
+ monday_program_id: {
32305
+ description: "ID of the thermostat daily program to run on Mondays.",
32306
+ format: "uuid",
32307
+ nullable: true,
32308
+ type: "string"
32309
+ },
32310
+ saturday_program_id: {
32311
+ description: "ID of the thermostat daily program to run on Saturdays.",
32312
+ format: "uuid",
32313
+ nullable: true,
32314
+ type: "string"
32315
+ },
32316
+ sunday_program_id: {
32317
+ description: "ID of the thermostat daily program to run on Sundays.",
32318
+ format: "uuid",
32319
+ nullable: true,
32320
+ type: "string"
32321
+ },
32322
+ thursday_program_id: {
32323
+ description: "ID of the thermostat daily program to run on Thursdays.",
32324
+ format: "uuid",
32325
+ nullable: true,
32326
+ type: "string"
32327
+ },
32328
+ tuesday_program_id: {
32329
+ description: "ID of the thermostat daily program to run on Tuesdays.",
32330
+ format: "uuid",
32331
+ nullable: true,
32332
+ type: "string"
32333
+ },
32334
+ wednesday_program_id: {
32335
+ description: "ID of the thermostat daily program to run on Wednesdays.",
32336
+ format: "uuid",
32337
+ nullable: true,
32338
+ type: "string"
32339
+ }
32340
+ },
32341
+ required: [
32342
+ "device_id",
32343
+ "monday_program_id",
32344
+ "tuesday_program_id",
32345
+ "wednesday_program_id",
32346
+ "thursday_program_id",
32347
+ "friday_program_id",
32348
+ "saturday_program_id",
32349
+ "sunday_program_id",
32350
+ "created_at"
32351
+ ],
32352
+ type: "object"
32353
+ }
32354
+ },
32355
+ required: ["thermostat_weekly_program", "ok"],
32356
+ type: "object"
32357
+ }
32358
+ }
32359
+ },
32360
+ description: "OK"
32361
+ },
32362
+ 400: { description: "Bad Request" },
32363
+ 401: { description: "Unauthorized" }
32364
+ },
32365
+ security: [
32366
+ { client_session: [] },
32367
+ { pat_with_workspace: [] },
32368
+ { console_session_with_workspace: [] },
32369
+ { api_key: [] }
32370
+ ],
32371
+ summary: "/thermostats/activate_weekly_program",
32372
+ tags: ["/thermostats"],
32373
+ "x-fern-sdk-group-name": ["thermostats"],
32374
+ "x-fern-sdk-method-name": "activate_weekly_program",
32375
+ "x-fern-sdk-return-value": "thermostat_weekly_program",
32376
+ "x-response-key": "thermostat_weekly_program",
32377
+ "x-title": "Activate a Thermostat Weekly Program",
32378
+ "x-undocumented": "Unreleased."
32379
+ }
32380
+ },
32381
+ "/thermostats/clear_weekly_program": {
32382
+ post: {
32383
+ description: "Clears a thermostat weekly program.",
32384
+ operationId: "thermostatsClearWeeklyProgramPost",
32385
+ requestBody: {
32386
+ content: {
32387
+ "application/json": {
32388
+ schema: {
32389
+ properties: {
32390
+ device_id: {
32391
+ description: "ID of the thermostat device to clear the weekly program for.",
32392
+ format: "uuid",
32393
+ type: "string"
32394
+ }
32395
+ },
32396
+ required: ["device_id"],
32397
+ type: "object"
32398
+ }
32399
+ }
32400
+ }
32401
+ },
32402
+ responses: {
32403
+ 200: {
32404
+ content: {
32405
+ "application/json": {
32406
+ schema: {
32407
+ properties: { ok: { type: "boolean" } },
32408
+ required: ["ok"],
32409
+ type: "object"
32410
+ }
32411
+ }
32412
+ },
32413
+ description: "OK"
32414
+ },
32415
+ 400: { description: "Bad Request" },
32416
+ 401: { description: "Unauthorized" }
32417
+ },
32418
+ security: [
32419
+ { client_session: [] },
32420
+ { pat_with_workspace: [] },
32421
+ { console_session_with_workspace: [] },
32422
+ { api_key: [] }
32423
+ ],
32424
+ summary: "/thermostats/clear_weekly_program",
32425
+ tags: ["/thermostats"],
32426
+ "x-fern-sdk-group-name": ["thermostats"],
32427
+ "x-fern-sdk-method-name": "clear_weekly_program",
32428
+ "x-response-key": null,
32429
+ "x-title": "Clear a Thermostat Weekly Program",
32430
+ "x-undocumented": "Unreleased."
32431
+ }
32432
+ },
31012
32433
  "/thermostats/cool": {
31013
32434
  post: {
31014
32435
  description: "Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [cool mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings).",
@@ -31180,6 +32601,332 @@ var openapi_default = {
31180
32601
  "x-title": "Create a Climate Preset"
31181
32602
  }
31182
32603
  },
32604
+ "/thermostats/daily_programs/create": {
32605
+ post: {
32606
+ description: "Creates a thermostat daily program.",
32607
+ operationId: "thermostatsDailyProgramsCreatePost",
32608
+ requestBody: {
32609
+ content: {
32610
+ "application/json": {
32611
+ schema: {
32612
+ properties: {
32613
+ device_id: {
32614
+ description: "ID of the desired thermostat device.",
32615
+ format: "uuid",
32616
+ type: "string"
32617
+ },
32618
+ name: {
32619
+ description: "User-friendly name to identify the thermostat daily program.",
32620
+ type: "string"
32621
+ },
32622
+ periods: {
32623
+ description: "Array of thermostat daily program periods.",
32624
+ items: {
32625
+ properties: {
32626
+ climate_preset_key: {
32627
+ description: "Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time.",
32628
+ type: "string"
32629
+ },
32630
+ starts_at_time: {
32631
+ description: "Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.",
32632
+ pattern: "^([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)$",
32633
+ type: "string"
32634
+ }
32635
+ },
32636
+ required: ["starts_at_time", "climate_preset_key"],
32637
+ type: "object"
32638
+ },
32639
+ type: "array"
32640
+ }
32641
+ },
32642
+ required: ["device_id", "periods"],
32643
+ type: "object"
32644
+ }
32645
+ }
32646
+ }
32647
+ },
32648
+ responses: {
32649
+ 200: {
32650
+ content: {
32651
+ "application/json": {
32652
+ schema: {
32653
+ properties: {
32654
+ ok: { type: "boolean" },
32655
+ thermostat_daily_program: {
32656
+ properties: {
32657
+ created_at: {
32658
+ description: "Date and time at which the thermostat daily program was created.",
32659
+ format: "date-time",
32660
+ type: "string"
32661
+ },
32662
+ device_id: {
32663
+ description: "ID of the desired thermostat device.",
32664
+ format: "uuid",
32665
+ type: "string"
32666
+ },
32667
+ name: {
32668
+ description: "User-friendly name to identify the thermostat daily program.",
32669
+ type: "string"
32670
+ },
32671
+ periods: {
32672
+ description: "Array of thermostat daily program periods.",
32673
+ items: {
32674
+ properties: {
32675
+ climate_preset_key: {
32676
+ description: "Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time.",
32677
+ type: "string"
32678
+ },
32679
+ starts_at_time: {
32680
+ description: "Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.",
32681
+ pattern: "^([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)$",
32682
+ type: "string"
32683
+ }
32684
+ },
32685
+ required: ["starts_at_time", "climate_preset_key"],
32686
+ type: "object"
32687
+ },
32688
+ type: "array"
32689
+ },
32690
+ thermostat_daily_program_id: {
32691
+ description: "ID of the thermostat daily program.",
32692
+ format: "uuid",
32693
+ type: "string"
32694
+ }
32695
+ },
32696
+ required: [
32697
+ "thermostat_daily_program_id",
32698
+ "device_id",
32699
+ "periods",
32700
+ "created_at"
32701
+ ],
32702
+ type: "object"
32703
+ }
32704
+ },
32705
+ required: ["thermostat_daily_program", "ok"],
32706
+ type: "object"
32707
+ }
32708
+ }
32709
+ },
32710
+ description: "OK"
32711
+ },
32712
+ 400: { description: "Bad Request" },
32713
+ 401: { description: "Unauthorized" }
32714
+ },
32715
+ security: [
32716
+ { client_session: [] },
32717
+ { pat_with_workspace: [] },
32718
+ { console_session_with_workspace: [] },
32719
+ { api_key: [] }
32720
+ ],
32721
+ summary: "/thermostats/daily_programs/create",
32722
+ tags: ["/thermostats"],
32723
+ "x-fern-sdk-group-name": ["thermostats", "daily_programs"],
32724
+ "x-fern-sdk-method-name": "create",
32725
+ "x-fern-sdk-return-value": "thermostat_daily_program",
32726
+ "x-response-key": "thermostat_daily_program",
32727
+ "x-title": "Create a Thermostat Daily Program",
32728
+ "x-undocumented": "Unreleased."
32729
+ }
32730
+ },
32731
+ "/thermostats/daily_programs/delete": {
32732
+ post: {
32733
+ description: "Deletes a thermostat daily program.",
32734
+ operationId: "thermostatsDailyProgramsDeletePost",
32735
+ requestBody: {
32736
+ content: {
32737
+ "application/json": {
32738
+ schema: {
32739
+ properties: {
32740
+ thermostat_daily_program_id: {
32741
+ description: "ID of the desired thermostat schedule.",
32742
+ format: "uuid",
32743
+ type: "string"
32744
+ }
32745
+ },
32746
+ required: ["thermostat_daily_program_id"],
32747
+ type: "object"
32748
+ }
32749
+ }
32750
+ }
32751
+ },
32752
+ responses: {
32753
+ 200: {
32754
+ content: {
32755
+ "application/json": {
32756
+ schema: {
32757
+ properties: { ok: { type: "boolean" } },
32758
+ required: ["ok"],
32759
+ type: "object"
32760
+ }
32761
+ }
32762
+ },
32763
+ description: "OK"
32764
+ },
32765
+ 400: { description: "Bad Request" },
32766
+ 401: { description: "Unauthorized" }
32767
+ },
32768
+ security: [
32769
+ { client_session: [] },
32770
+ { pat_with_workspace: [] },
32771
+ { console_session_with_workspace: [] },
32772
+ { api_key: [] }
32773
+ ],
32774
+ summary: "/thermostats/daily_programs/delete",
32775
+ tags: ["/thermostats"],
32776
+ "x-fern-sdk-group-name": ["thermostats", "daily_programs"],
32777
+ "x-fern-sdk-method-name": "delete",
32778
+ "x-response-key": null,
32779
+ "x-title": "Delete a Thermostat Daily Program",
32780
+ "x-undocumented": "Unreleased."
32781
+ }
32782
+ },
32783
+ "/thermostats/daily_programs/update": {
32784
+ patch: {
32785
+ description: "Updates a specified thermostat daily program.",
32786
+ operationId: "thermostatsDailyProgramsUpdatePatch",
32787
+ requestBody: {
32788
+ content: {
32789
+ "application/json": {
32790
+ schema: {
32791
+ properties: {
32792
+ name: {
32793
+ description: "User-friendly name to identify the thermostat daily program.",
32794
+ type: "string"
32795
+ },
32796
+ periods: {
32797
+ description: "Array of thermostat daily program periods.",
32798
+ items: {
32799
+ properties: {
32800
+ climate_preset_key: {
32801
+ description: "Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time.",
32802
+ type: "string"
32803
+ },
32804
+ starts_at_time: {
32805
+ description: "Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.",
32806
+ pattern: "^([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)$",
32807
+ type: "string"
32808
+ }
32809
+ },
32810
+ required: ["starts_at_time", "climate_preset_key"],
32811
+ type: "object"
32812
+ },
32813
+ type: "array"
32814
+ },
32815
+ thermostat_daily_program_id: {
32816
+ description: "ID of the desired thermostat daily program.",
32817
+ format: "uuid",
32818
+ type: "string"
32819
+ }
32820
+ },
32821
+ required: ["thermostat_daily_program_id", "periods"],
32822
+ type: "object"
32823
+ }
32824
+ }
32825
+ }
32826
+ },
32827
+ responses: {
32828
+ 200: {
32829
+ content: {
32830
+ "application/json": {
32831
+ schema: {
32832
+ properties: { ok: { type: "boolean" } },
32833
+ required: ["ok"],
32834
+ type: "object"
32835
+ }
32836
+ }
32837
+ },
32838
+ description: "OK"
32839
+ },
32840
+ 400: { description: "Bad Request" },
32841
+ 401: { description: "Unauthorized" }
32842
+ },
32843
+ security: [
32844
+ { client_session: [] },
32845
+ { pat_with_workspace: [] },
32846
+ { console_session_with_workspace: [] },
32847
+ { api_key: [] }
32848
+ ],
32849
+ summary: "/thermostats/daily_programs/update",
32850
+ tags: ["/thermostats"],
32851
+ "x-fern-ignore": true,
32852
+ "x-response-key": null,
32853
+ "x-title": "Update a Thermostat Daily Program",
32854
+ "x-undocumented": "Unreleased."
32855
+ },
32856
+ post: {
32857
+ description: "Updates a specified thermostat daily program.",
32858
+ operationId: "thermostatsDailyProgramsUpdatePost",
32859
+ requestBody: {
32860
+ content: {
32861
+ "application/json": {
32862
+ schema: {
32863
+ properties: {
32864
+ name: {
32865
+ description: "User-friendly name to identify the thermostat daily program.",
32866
+ type: "string"
32867
+ },
32868
+ periods: {
32869
+ description: "Array of thermostat daily program periods.",
32870
+ items: {
32871
+ properties: {
32872
+ climate_preset_key: {
32873
+ description: "Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time.",
32874
+ type: "string"
32875
+ },
32876
+ starts_at_time: {
32877
+ description: "Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.",
32878
+ pattern: "^([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)$",
32879
+ type: "string"
32880
+ }
32881
+ },
32882
+ required: ["starts_at_time", "climate_preset_key"],
32883
+ type: "object"
32884
+ },
32885
+ type: "array"
32886
+ },
32887
+ thermostat_daily_program_id: {
32888
+ description: "ID of the desired thermostat daily program.",
32889
+ format: "uuid",
32890
+ type: "string"
32891
+ }
32892
+ },
32893
+ required: ["thermostat_daily_program_id", "periods"],
32894
+ type: "object"
32895
+ }
32896
+ }
32897
+ }
32898
+ },
32899
+ responses: {
32900
+ 200: {
32901
+ content: {
32902
+ "application/json": {
32903
+ schema: {
32904
+ properties: { ok: { type: "boolean" } },
32905
+ required: ["ok"],
32906
+ type: "object"
32907
+ }
32908
+ }
32909
+ },
32910
+ description: "OK"
32911
+ },
32912
+ 400: { description: "Bad Request" },
32913
+ 401: { description: "Unauthorized" }
32914
+ },
32915
+ security: [
32916
+ { client_session: [] },
32917
+ { pat_with_workspace: [] },
32918
+ { console_session_with_workspace: [] },
32919
+ { api_key: [] }
32920
+ ],
32921
+ summary: "/thermostats/daily_programs/update",
32922
+ tags: ["/thermostats"],
32923
+ "x-fern-sdk-group-name": ["thermostats", "daily_programs"],
32924
+ "x-fern-sdk-method-name": "update",
32925
+ "x-response-key": null,
32926
+ "x-title": "Update a Thermostat Daily Program",
32927
+ "x-undocumented": "Unreleased."
32928
+ }
32929
+ },
31183
32930
  "/thermostats/delete_climate_preset": {
31184
32931
  post: {
31185
32932
  description: "Deletes 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).",
@@ -31568,6 +33315,11 @@ var openapi_default = {
31568
33315
  enum: ["ecobee", "nest", "honeywell_resideo", "tado"],
31569
33316
  type: "string"
31570
33317
  },
33318
+ page_cursor: {
33319
+ description: "Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.",
33320
+ nullable: true,
33321
+ type: "string"
33322
+ },
31571
33323
  unstable_location_id: {
31572
33324
  format: "uuid",
31573
33325
  nullable: true,
@@ -31710,13 +33462,12 @@ var openapi_default = {
31710
33462
  type: "string"
31711
33463
  },
31712
33464
  is_override_allowed: {
31713
- default: false,
31714
33465
  description: "Indicates whether a person at the thermostat or using the API can change the thermostat's settings while the schedule is active. See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).",
31715
33466
  type: "boolean"
31716
33467
  },
31717
33468
  max_override_period_minutes: {
31718
- default: null,
31719
33469
  description: "Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).",
33470
+ exclusiveMinimum: true,
31720
33471
  minimum: 0,
31721
33472
  nullable: true,
31722
33473
  type: "integer"
@@ -31972,6 +33723,7 @@ var openapi_default = {
31972
33723
  },
31973
33724
  max_override_period_minutes: {
31974
33725
  description: "Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).",
33726
+ exclusiveMinimum: true,
31975
33727
  minimum: 0,
31976
33728
  nullable: true,
31977
33729
  type: "integer"
@@ -32046,6 +33798,7 @@ var openapi_default = {
32046
33798
  },
32047
33799
  max_override_period_minutes: {
32048
33800
  description: "Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).",
33801
+ exclusiveMinimum: true,
32049
33802
  minimum: 0,
32050
33803
  nullable: true,
32051
33804
  type: "integer"
@@ -33454,6 +35207,110 @@ var openapi_default = {
33454
35207
  "x-undocumented": "Unreleased."
33455
35208
  }
33456
35209
  },
35210
+ "/unstable_access_methods/get": {
35211
+ post: {
35212
+ description: "Get an access method.",
35213
+ operationId: "unstableAccessMethodsGetPost",
35214
+ requestBody: {
35215
+ content: {
35216
+ "application/json": {
35217
+ schema: {
35218
+ properties: {
35219
+ access_method_id: {
35220
+ description: "ID of access method to get.",
35221
+ format: "uuid",
35222
+ type: "string"
35223
+ }
35224
+ },
35225
+ required: ["access_method_id"],
35226
+ type: "object"
35227
+ }
35228
+ }
35229
+ }
35230
+ },
35231
+ responses: {
35232
+ 200: {
35233
+ content: {
35234
+ "application/json": {
35235
+ schema: {
35236
+ properties: {
35237
+ access_method: {
35238
+ properties: {
35239
+ access_method_id: {
35240
+ description: "ID of the access method.",
35241
+ format: "uuid",
35242
+ type: "string"
35243
+ },
35244
+ created_at: {
35245
+ description: "Date and time at which the access method was created.",
35246
+ format: "date-time",
35247
+ type: "string"
35248
+ },
35249
+ display_name: {
35250
+ description: "Display name of the access method.",
35251
+ type: "string"
35252
+ },
35253
+ instant_key_url: {
35254
+ description: "URL of instant key for mobile key access methods.",
35255
+ type: "string"
35256
+ },
35257
+ is_card_encoding_required: {
35258
+ description: "Whether card encoding is required for plastic card access methods.",
35259
+ type: "boolean"
35260
+ },
35261
+ issued_at: {
35262
+ description: "Date and time at which the access method was issued.",
35263
+ format: "date-time",
35264
+ type: "string"
35265
+ },
35266
+ mode: {
35267
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
35268
+ enum: ["code", "card", "mobile_key"],
35269
+ type: "string"
35270
+ },
35271
+ workspace_id: {
35272
+ description: "Unique identifier for the Seam workspace associated with the access grant.",
35273
+ format: "uuid",
35274
+ type: "string"
35275
+ }
35276
+ },
35277
+ required: [
35278
+ "workspace_id",
35279
+ "access_method_id",
35280
+ "display_name",
35281
+ "mode",
35282
+ "created_at"
35283
+ ],
35284
+ type: "object",
35285
+ "x-undocumented": "Unreleased."
35286
+ },
35287
+ ok: { type: "boolean" }
35288
+ },
35289
+ required: ["access_method", "ok"],
35290
+ type: "object"
35291
+ }
35292
+ }
35293
+ },
35294
+ description: "OK"
35295
+ },
35296
+ 400: { description: "Bad Request" },
35297
+ 401: { description: "Unauthorized" }
35298
+ },
35299
+ security: [
35300
+ { pat_with_workspace: [] },
35301
+ { console_session_with_workspace: [] },
35302
+ { api_key: [] }
35303
+ ],
35304
+ summary: "/unstable_access_methods/get",
35305
+ tags: [],
35306
+ "x-fern-sdk-group-name": ["unstable_access_methods"],
35307
+ "x-fern-sdk-method-name": "get",
35308
+ "x-fern-sdk-return-value": "access_method",
35309
+ "x-response-key": "access_method",
35310
+ "x-title": "Get an Access Method",
35311
+ "x-undocumented": "Unreleased."
35312
+ }
35313
+ },
33457
35314
  "/unstable_access_methods/list": {
33458
35315
  post: {
33459
35316
  description: "List all access methods, usually filtered by access grant.",
@@ -33498,10 +35355,17 @@ var openapi_default = {
33498
35355
  description: "Display name of the access method.",
33499
35356
  type: "string"
33500
35357
  },
35358
+ instant_key_url: {
35359
+ description: "URL of instant key for mobile key access methods.",
35360
+ type: "string"
35361
+ },
35362
+ is_card_encoding_required: {
35363
+ description: "Whether card encoding is required for plastic card access methods.",
35364
+ type: "boolean"
35365
+ },
33501
35366
  issued_at: {
33502
35367
  description: "Date and time at which the access method was issued.",
33503
35368
  format: "date-time",
33504
- nullable: true,
33505
35369
  type: "string"
33506
35370
  },
33507
35371
  mode: {
@@ -33520,8 +35384,7 @@ var openapi_default = {
33520
35384
  "access_method_id",
33521
35385
  "display_name",
33522
35386
  "mode",
33523
- "created_at",
33524
- "issued_at"
35387
+ "created_at"
33525
35388
  ],
33526
35389
  type: "object",
33527
35390
  "x-undocumented": "Unreleased."
@@ -33555,9 +35418,110 @@ var openapi_default = {
33555
35418
  "x-undocumented": "Unreleased."
33556
35419
  }
33557
35420
  },
35421
+ "/unstable_locations/add_acs_entrances": {
35422
+ post: {
35423
+ description: "Add entrances to a specific location.",
35424
+ operationId: "unstableLocationsAddAcsEntrancesPost",
35425
+ requestBody: {
35426
+ content: {
35427
+ "application/json": {
35428
+ schema: {
35429
+ properties: {
35430
+ acs_entrance_ids: {
35431
+ items: { format: "uuid", type: "string" },
35432
+ minItems: 1,
35433
+ type: "array"
35434
+ },
35435
+ location_id: { format: "uuid", type: "string" }
35436
+ },
35437
+ required: ["location_id", "acs_entrance_ids"],
35438
+ type: "object"
35439
+ }
35440
+ }
35441
+ }
35442
+ },
35443
+ responses: {
35444
+ 200: {
35445
+ content: {
35446
+ "application/json": {
35447
+ schema: {
35448
+ properties: { ok: { type: "boolean" } },
35449
+ required: ["ok"],
35450
+ type: "object"
35451
+ }
35452
+ }
35453
+ },
35454
+ description: "OK"
35455
+ },
35456
+ 400: { description: "Bad Request" },
35457
+ 401: { description: "Unauthorized" }
35458
+ },
35459
+ security: [
35460
+ { pat_with_workspace: [] },
35461
+ { console_session_with_workspace: [] },
35462
+ { api_key: [] }
35463
+ ],
35464
+ summary: "/unstable_locations/add_acs_entrances",
35465
+ tags: [],
35466
+ "x-fern-sdk-group-name": ["unstable_locations"],
35467
+ "x-fern-sdk-method-name": "add_acs_entrances",
35468
+ "x-response-key": null,
35469
+ "x-title": "Add ACS Entrances",
35470
+ "x-undocumented": "Experimental locations."
35471
+ },
35472
+ put: {
35473
+ description: "Add entrances to a specific location.",
35474
+ operationId: "unstableLocationsAddAcsEntrancesPut",
35475
+ requestBody: {
35476
+ content: {
35477
+ "application/json": {
35478
+ schema: {
35479
+ properties: {
35480
+ acs_entrance_ids: {
35481
+ items: { format: "uuid", type: "string" },
35482
+ minItems: 1,
35483
+ type: "array"
35484
+ },
35485
+ location_id: { format: "uuid", type: "string" }
35486
+ },
35487
+ required: ["location_id", "acs_entrance_ids"],
35488
+ type: "object"
35489
+ }
35490
+ }
35491
+ }
35492
+ },
35493
+ responses: {
35494
+ 200: {
35495
+ content: {
35496
+ "application/json": {
35497
+ schema: {
35498
+ properties: { ok: { type: "boolean" } },
35499
+ required: ["ok"],
35500
+ type: "object"
35501
+ }
35502
+ }
35503
+ },
35504
+ description: "OK"
35505
+ },
35506
+ 400: { description: "Bad Request" },
35507
+ 401: { description: "Unauthorized" }
35508
+ },
35509
+ security: [
35510
+ { pat_with_workspace: [] },
35511
+ { console_session_with_workspace: [] },
35512
+ { api_key: [] }
35513
+ ],
35514
+ summary: "/unstable_locations/add_acs_entrances",
35515
+ tags: [],
35516
+ "x-fern-ignore": true,
35517
+ "x-response-key": null,
35518
+ "x-title": "Add ACS Entrances",
35519
+ "x-undocumented": "Experimental locations."
35520
+ }
35521
+ },
33558
35522
  "/unstable_locations/add_devices": {
33559
35523
  post: {
33560
- description: "Add devices to a specific location. If a device already belongs to a location it will be moved.",
35524
+ description: "Add devices to a specific location.",
33561
35525
  operationId: "unstableLocationsAddDevicesPost",
33562
35526
  requestBody: {
33563
35527
  content: {
@@ -33607,7 +35571,7 @@ var openapi_default = {
33607
35571
  "x-undocumented": "Experimental locations."
33608
35572
  },
33609
35573
  put: {
33610
- description: "Add devices to a specific location. If a device already belongs to a location it will be moved.",
35574
+ description: "Add devices to a specific location.",
33611
35575
  operationId: "unstableLocationsAddDevicesPut",
33612
35576
  requestBody: {
33613
35577
  content: {
@@ -33665,6 +35629,14 @@ var openapi_default = {
33665
35629
  "application/json": {
33666
35630
  schema: {
33667
35631
  properties: {
35632
+ acs_entrance_ids: {
35633
+ items: { format: "uuid", type: "string" },
35634
+ type: "array"
35635
+ },
35636
+ device_ids: {
35637
+ items: { format: "uuid", type: "string" },
35638
+ type: "array"
35639
+ },
33668
35640
  geolocation: {
33669
35641
  properties: {
33670
35642
  latitude: { format: "float", type: "number" },
@@ -34076,6 +36048,57 @@ var openapi_default = {
34076
36048
  "x-undocumented": "Experimental locations."
34077
36049
  }
34078
36050
  },
36051
+ "/unstable_locations/remove_acs_entrances": {
36052
+ post: {
36053
+ description: "Remove entrances from a specific location.",
36054
+ operationId: "unstableLocationsRemoveAcsEntrancesPost",
36055
+ requestBody: {
36056
+ content: {
36057
+ "application/json": {
36058
+ schema: {
36059
+ properties: {
36060
+ acs_entrance_ids: {
36061
+ items: { format: "uuid", type: "string" },
36062
+ type: "array"
36063
+ },
36064
+ location_id: { format: "uuid", type: "string" }
36065
+ },
36066
+ required: ["location_id", "acs_entrance_ids"],
36067
+ type: "object"
36068
+ }
36069
+ }
36070
+ }
36071
+ },
36072
+ responses: {
36073
+ 200: {
36074
+ content: {
36075
+ "application/json": {
36076
+ schema: {
36077
+ properties: { ok: { type: "boolean" } },
36078
+ required: ["ok"],
36079
+ type: "object"
36080
+ }
36081
+ }
36082
+ },
36083
+ description: "OK"
36084
+ },
36085
+ 400: { description: "Bad Request" },
36086
+ 401: { description: "Unauthorized" }
36087
+ },
36088
+ security: [
36089
+ { pat_with_workspace: [] },
36090
+ { console_session_with_workspace: [] },
36091
+ { api_key: [] }
36092
+ ],
36093
+ summary: "/unstable_locations/remove_acs_entrances",
36094
+ tags: [],
36095
+ "x-fern-sdk-group-name": ["unstable_locations"],
36096
+ "x-fern-sdk-method-name": "remove_acs_entrances",
36097
+ "x-response-key": null,
36098
+ "x-title": "Remove ACS Entrances",
36099
+ "x-undocumented": "Experimental locations."
36100
+ }
36101
+ },
34079
36102
  "/unstable_locations/remove_devices": {
34080
36103
  post: {
34081
36104
  description: "Remove devices from a specific location.",
@@ -34848,6 +36871,12 @@ var openapi_default = {
34848
36871
  "application/json": {
34849
36872
  schema: {
34850
36873
  properties: {
36874
+ max_use_count: {
36875
+ default: 1,
36876
+ description: "The maximum number of times the instant key can be used. Defaults to 1.",
36877
+ format: "float",
36878
+ type: "number"
36879
+ },
34851
36880
  user_identity_id: {
34852
36881
  description: "ID of the user identity for which you want to generate an instant key.",
34853
36882
  format: "uuid",
@@ -35855,15 +37884,45 @@ var openapi_default = {
35855
37884
  type: "string",
35856
37885
  "x-deprecated": "use company_name"
35857
37886
  },
37887
+ connect_webview_customization: {
37888
+ properties: {
37889
+ logo_shape: {
37890
+ enum: ["circle", "square"],
37891
+ nullable: true,
37892
+ type: "string"
37893
+ },
37894
+ primary_button_color: { nullable: true, type: "string" },
37895
+ primary_button_text_color: {
37896
+ nullable: true,
37897
+ type: "string"
37898
+ },
37899
+ success_message: { nullable: true, type: "string" }
37900
+ },
37901
+ type: "object"
37902
+ },
35858
37903
  is_sandbox: { default: false, type: "boolean" },
35859
37904
  name: { type: "string" },
35860
37905
  webview_logo_shape: {
37906
+ deprecated: true,
35861
37907
  enum: ["circle", "square"],
35862
- type: "string"
37908
+ type: "string",
37909
+ "x-deprecated": "Use `connect_webview_customization.webview_logo_shape` instead."
37910
+ },
37911
+ webview_primary_button_color: {
37912
+ deprecated: true,
37913
+ type: "string",
37914
+ "x-deprecated": "Use `connect_webview_customization.webview_primary_button_color` instead."
35863
37915
  },
35864
- webview_primary_button_color: { type: "string" },
35865
- webview_primary_button_text_color: { type: "string" },
35866
- webview_success_message: { type: "string" }
37916
+ webview_primary_button_text_color: {
37917
+ deprecated: true,
37918
+ type: "string",
37919
+ "x-deprecated": "Use `connect_webview_customization.webview_primary_button_text_color` instead."
37920
+ },
37921
+ webview_success_message: {
37922
+ deprecated: true,
37923
+ type: "string",
37924
+ "x-deprecated": "Use `connect_webview_customization.webview_success_message` instead."
37925
+ }
35867
37926
  },
35868
37927
  required: ["name"],
35869
37928
  type: "object"
@@ -36086,6 +38145,103 @@ var openapi_default = {
36086
38145
  "x-fern-sdk-return-value": "action_attempt",
36087
38146
  "x-response-key": "action_attempt"
36088
38147
  }
38148
+ },
38149
+ "/workspaces/update": {
38150
+ patch: {
38151
+ operationId: "workspacesUpdatePatch",
38152
+ requestBody: {
38153
+ content: {
38154
+ "application/json": {
38155
+ schema: {
38156
+ properties: {
38157
+ connect_partner_name: { type: "string" },
38158
+ connect_webview_customization: {
38159
+ properties: {
38160
+ logo_shape: {
38161
+ enum: ["circle", "square"],
38162
+ nullable: true,
38163
+ type: "string"
38164
+ },
38165
+ primary_button_color: { nullable: true, type: "string" },
38166
+ primary_button_text_color: {
38167
+ nullable: true,
38168
+ type: "string"
38169
+ },
38170
+ success_message: { nullable: true, type: "string" }
38171
+ },
38172
+ type: "object"
38173
+ },
38174
+ is_suspended: { type: "boolean" },
38175
+ name: { type: "string" }
38176
+ },
38177
+ type: "object"
38178
+ }
38179
+ }
38180
+ }
38181
+ },
38182
+ responses: {
38183
+ 200: { description: "OK" },
38184
+ 400: { description: "Bad Request" },
38185
+ 401: { description: "Unauthorized" }
38186
+ },
38187
+ security: [
38188
+ { api_key: [] },
38189
+ { console_session_with_workspace: [] },
38190
+ { pat_with_workspace: [] }
38191
+ ],
38192
+ summary: "/workspaces/update",
38193
+ tags: ["/workspaces"],
38194
+ "x-fern-ignore": true,
38195
+ "x-response-key": null
38196
+ },
38197
+ post: {
38198
+ operationId: "workspacesUpdatePost",
38199
+ requestBody: {
38200
+ content: {
38201
+ "application/json": {
38202
+ schema: {
38203
+ properties: {
38204
+ connect_partner_name: { type: "string" },
38205
+ connect_webview_customization: {
38206
+ properties: {
38207
+ logo_shape: {
38208
+ enum: ["circle", "square"],
38209
+ nullable: true,
38210
+ type: "string"
38211
+ },
38212
+ primary_button_color: { nullable: true, type: "string" },
38213
+ primary_button_text_color: {
38214
+ nullable: true,
38215
+ type: "string"
38216
+ },
38217
+ success_message: { nullable: true, type: "string" }
38218
+ },
38219
+ type: "object"
38220
+ },
38221
+ is_suspended: { type: "boolean" },
38222
+ name: { type: "string" }
38223
+ },
38224
+ type: "object"
38225
+ }
38226
+ }
38227
+ }
38228
+ },
38229
+ responses: {
38230
+ 200: { description: "OK" },
38231
+ 400: { description: "Bad Request" },
38232
+ 401: { description: "Unauthorized" }
38233
+ },
38234
+ security: [
38235
+ { api_key: [] },
38236
+ { console_session_with_workspace: [] },
38237
+ { pat_with_workspace: [] }
38238
+ ],
38239
+ summary: "/workspaces/update",
38240
+ tags: ["/workspaces"],
38241
+ "x-fern-sdk-group-name": ["workspaces"],
38242
+ "x-fern-sdk-method-name": "update",
38243
+ "x-response-key": null
38244
+ }
36089
38245
  }
36090
38246
  },
36091
38247
  servers: [{ url: "https://connect.getseam.com" }],