@seamapi/types 1.186.0 → 1.187.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/connect.cjs +338 -16
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +685 -52
  4. package/lib/seam/connect/model-types.d.ts +1 -1
  5. package/lib/seam/connect/models/acs/acs-credential.d.ts +0 -17
  6. package/lib/seam/connect/models/acs/acs-credential.js +1 -6
  7. package/lib/seam/connect/models/acs/acs-credential.js.map +1 -1
  8. package/lib/seam/connect/models/acs/acs-entrance.d.ts +36 -53
  9. package/lib/seam/connect/models/acs/acs-entrance.js +5 -31
  10. package/lib/seam/connect/models/acs/acs-entrance.js.map +1 -1
  11. package/lib/seam/connect/models/acs/acs-system.d.ts +1 -2
  12. package/lib/seam/connect/models/acs/acs-system.js +9 -10
  13. package/lib/seam/connect/models/acs/acs-system.js.map +1 -1
  14. package/lib/seam/connect/models/acs/index.d.ts +1 -0
  15. package/lib/seam/connect/models/acs/index.js +1 -0
  16. package/lib/seam/connect/models/acs/index.js.map +1 -1
  17. package/lib/seam/connect/models/acs/metadata/index.d.ts +2 -0
  18. package/lib/seam/connect/models/acs/metadata/index.js +3 -0
  19. package/lib/seam/connect/models/acs/metadata/index.js.map +1 -0
  20. package/lib/seam/connect/models/acs/metadata/latch.d.ts +18 -0
  21. package/lib/seam/connect/models/acs/metadata/latch.js +8 -0
  22. package/lib/seam/connect/models/acs/metadata/latch.js.map +1 -0
  23. package/lib/seam/connect/models/acs/metadata/visionline.d.ts +47 -0
  24. package/lib/seam/connect/models/acs/metadata/visionline.js +24 -0
  25. package/lib/seam/connect/models/acs/metadata/visionline.js.map +1 -0
  26. package/lib/seam/connect/models/devices/managed-device.d.ts +12 -0
  27. package/lib/seam/connect/models/devices/managed-device.js +2 -0
  28. package/lib/seam/connect/models/devices/managed-device.js.map +1 -1
  29. package/lib/seam/connect/models/devices/phone.d.ts +6 -0
  30. package/lib/seam/connect/models/devices/unmanaged-device.d.ts +6 -0
  31. package/lib/seam/connect/openapi.d.ts +143 -2
  32. package/lib/seam/connect/openapi.js +110 -7
  33. package/lib/seam/connect/openapi.js.map +1 -1
  34. package/lib/seam/connect/route-types.d.ts +98 -48
  35. package/lib/seam/connect/schemas.d.ts +1 -1
  36. package/lib/seam/connect/schemas.js +1 -1
  37. package/lib/seam/connect/schemas.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/lib/seam/connect/model-types.ts +5 -0
  40. package/src/lib/seam/connect/models/acs/acs-credential.ts +2 -11
  41. package/src/lib/seam/connect/models/acs/acs-entrance.ts +8 -37
  42. package/src/lib/seam/connect/models/acs/acs-system.ts +11 -11
  43. package/src/lib/seam/connect/models/acs/index.ts +1 -0
  44. package/src/lib/seam/connect/models/acs/metadata/index.ts +2 -0
  45. package/src/lib/seam/connect/models/acs/metadata/latch.ts +12 -0
  46. package/src/lib/seam/connect/models/acs/metadata/visionline.ts +35 -0
  47. package/src/lib/seam/connect/models/devices/managed-device.ts +2 -0
  48. package/src/lib/seam/connect/openapi.ts +110 -7
  49. package/src/lib/seam/connect/route-types.ts +174 -92
  50. package/src/lib/seam/connect/schemas.ts +5 -0
package/dist/connect.cjs CHANGED
@@ -11,6 +11,11 @@ var __export = (target, all) => {
11
11
  // src/lib/seam/connect/schemas.ts
12
12
  var schemas_exports = {};
13
13
  __export(schemas_exports, {
14
+ acs_access_group: () => acs_access_group,
15
+ acs_credential: () => acs_credential,
16
+ acs_entrance: () => acs_entrance,
17
+ acs_system: () => acs_system,
18
+ acs_user: () => acs_user,
14
19
  action_attempt: () => action_attempt,
15
20
  client_session: () => client_session,
16
21
  connect_webview: () => connect_webview,
@@ -21,6 +26,180 @@ __export(schemas_exports, {
21
26
  webhook: () => webhook,
22
27
  workspace: () => workspace
23
28
  });
29
+ var acs_access_group_external_type = zod.z.enum([
30
+ "pti_unit",
31
+ "pti_access_level",
32
+ "salto_access_group",
33
+ "brivo_group"
34
+ ]);
35
+ var acs_access_group = zod.z.object({
36
+ acs_access_group_id: zod.z.string().uuid(),
37
+ acs_system_id: zod.z.string().uuid(),
38
+ workspace_id: zod.z.string().uuid(),
39
+ name: zod.z.string(),
40
+ access_group_type: acs_access_group_external_type.describe(`
41
+ ---
42
+ deprecated: use external_type
43
+ ---
44
+ `),
45
+ access_group_type_display_name: zod.z.string().describe(`
46
+ ---
47
+ deprecated: use external_type_display_name
48
+ ---
49
+ `),
50
+ display_name: zod.z.string(),
51
+ external_type: acs_access_group_external_type,
52
+ external_type_display_name: zod.z.string(),
53
+ created_at: zod.z.string().datetime()
54
+ });
55
+ var acs_entrance_latch_metadata = zod.z.object({
56
+ accessibility_type: zod.z.string(),
57
+ door_name: zod.z.string(),
58
+ door_type: zod.z.string(),
59
+ is_connected: zod.z.boolean()
60
+ });
61
+ var acs_entrance_visionline_metadata = zod.z.object({
62
+ door_name: zod.z.string(),
63
+ door_category: zod.z.enum([
64
+ "entrance",
65
+ "guest",
66
+ "elevator reader",
67
+ "common",
68
+ "common (PMS)"
69
+ ]),
70
+ profiles: zod.z.array(
71
+ zod.z.object({
72
+ visionline_door_profile_id: zod.z.string(),
73
+ visionline_door_profile_type: zod.z.enum(["BLE", "commonDoor", "touch"])
74
+ })
75
+ ).optional()
76
+ });
77
+ var acs_credential_visionline_metadata = zod.z.object({
78
+ card_function_type: zod.z.enum(["guest", "staff"]),
79
+ joiner_acs_credential_ids: zod.z.array(zod.z.string().uuid()).optional(),
80
+ guest_acs_entrance_ids: zod.z.array(zod.z.string().uuid()).optional(),
81
+ common_acs_entrance_ids: zod.z.array(zod.z.string().uuid()).optional()
82
+ });
83
+
84
+ // src/lib/seam/connect/models/acs/acs-credential.ts
85
+ var acs_credential_external_type = zod.z.enum([
86
+ "pti_card",
87
+ "brivo_credential",
88
+ "hid_credential",
89
+ "visionline_card"
90
+ ]);
91
+ var acs_credential_access_method_type = zod.z.enum([
92
+ "code",
93
+ "card",
94
+ "mobile_key"
95
+ ]);
96
+ var acs_credential = zod.z.object({
97
+ acs_credential_id: zod.z.string().uuid(),
98
+ acs_user_id: zod.z.string().uuid().optional(),
99
+ acs_credential_pool_id: zod.z.string().uuid().optional(),
100
+ acs_system_id: zod.z.string().uuid(),
101
+ parent_acs_credential_id: zod.z.string().uuid().optional(),
102
+ display_name: zod.z.string().min(1),
103
+ code: zod.z.string().optional().nullable(),
104
+ access_method: acs_credential_access_method_type,
105
+ external_type: acs_credential_external_type.optional(),
106
+ external_type_display_name: zod.z.string().optional(),
107
+ created_at: zod.z.string().datetime(),
108
+ workspace_id: zod.z.string().uuid(),
109
+ starts_at: zod.z.string().optional(),
110
+ ends_at: zod.z.string().optional(),
111
+ errors: zod.z.array(
112
+ zod.z.object({
113
+ error_code: zod.z.string(),
114
+ message: zod.z.string()
115
+ })
116
+ ),
117
+ warnings: zod.z.array(
118
+ zod.z.object({
119
+ warning_code: zod.z.string(),
120
+ message: zod.z.string()
121
+ })
122
+ ),
123
+ is_multi_phone_sync_credential: zod.z.boolean().optional(),
124
+ is_latest_desired_state_synced_with_provider: zod.z.boolean().optional(),
125
+ latest_desired_state_synced_with_provider_at: zod.z.string().datetime().optional(),
126
+ visionline_metadata: acs_credential_visionline_metadata.optional()
127
+ });
128
+ var acs_entrance = zod.z.object({
129
+ acs_system_id: zod.z.string().uuid(),
130
+ acs_entrance_id: zod.z.string().uuid(),
131
+ created_at: zod.z.string().datetime(),
132
+ display_name: zod.z.string(),
133
+ errors: zod.z.array(
134
+ zod.z.object({
135
+ error_code: zod.z.string(),
136
+ message: zod.z.string()
137
+ })
138
+ ),
139
+ latch_metadata: acs_entrance_latch_metadata.optional(),
140
+ visionline_metadata: acs_entrance_visionline_metadata.optional()
141
+ });
142
+ var acs_system_capability_flags = zod.z.object({
143
+ can_automate_enrollment: zod.z.boolean().optional(),
144
+ can_create_acs_access_groups: zod.z.boolean().optional(),
145
+ can_remove_acs_users_from_acs_access_groups: zod.z.boolean().optional(),
146
+ can_add_acs_users_to_acs_access_groups: zod.z.boolean().optional()
147
+ });
148
+ var acs_system_external_type = zod.z.enum([
149
+ "pti_site",
150
+ "alta_org",
151
+ "salto_site",
152
+ "brivo_account",
153
+ "hid_credential_manager_organization",
154
+ "visionline_system",
155
+ "assa_abloy_credential_service",
156
+ "latch_building"
157
+ ]);
158
+ var common_acs_system_error = zod.z.object({
159
+ created_at: zod.z.string().datetime(),
160
+ message: zod.z.string()
161
+ });
162
+ var seam_bridge_disconnected = common_acs_system_error.extend({
163
+ error_code: zod.z.literal("seam_bridge_disconnected")
164
+ });
165
+ var visionline_instance_unreachable = common_acs_system_error.extend({
166
+ error_code: zod.z.literal("visionline_instance_unreachable")
167
+ });
168
+ var acs_system_error = zod.z.union([
169
+ seam_bridge_disconnected,
170
+ visionline_instance_unreachable
171
+ ]);
172
+ zod.z.object({
173
+ seam_bridge_disconnected: seam_bridge_disconnected.optional().nullable(),
174
+ visionline_instance_unreachable: visionline_instance_unreachable.optional().nullable()
175
+ });
176
+ var acs_system_warning = zod.z.object({});
177
+ zod.z.object({});
178
+ var acs_system = zod.z.object({
179
+ acs_system_id: zod.z.string().uuid(),
180
+ external_type: acs_system_external_type.optional(),
181
+ external_type_display_name: zod.z.string().optional(),
182
+ system_type: acs_system_external_type.describe(
183
+ `
184
+ ---
185
+ deprecated: use external_type
186
+ ---
187
+ `
188
+ ).optional(),
189
+ system_type_display_name: zod.z.string().optional().describe(`
190
+ ---
191
+ deprecated: use external_type_display_name
192
+ ---
193
+ `),
194
+ name: zod.z.string(),
195
+ created_at: zod.z.string().datetime(),
196
+ workspace_id: zod.z.string().uuid(),
197
+ connected_account_ids: zod.z.array(zod.z.string().uuid()),
198
+ image_url: zod.z.string(),
199
+ image_alt_text: zod.z.string(),
200
+ errors: zod.z.array(acs_system_error),
201
+ warnings: zod.z.array(acs_system_warning)
202
+ }).merge(acs_system_capability_flags);
24
203
  var phone_number = zod.z.coerce.string().trim().refine(
25
204
  (val) => {
26
205
  return /^\+[1-9]\d{1,14}$/.test(val);
@@ -29,6 +208,46 @@ var phone_number = zod.z.coerce.string().trim().refine(
29
208
  message: "Phone number must be in E.164 format: +14155552671"
30
209
  }
31
210
  );
211
+ var start_end_schedule = zod.z.object({
212
+ starts_at: zod.z.string().datetime(),
213
+ ends_at: zod.z.string().datetime()
214
+ });
215
+ var schedule = start_end_schedule;
216
+
217
+ // src/lib/seam/connect/models/acs/acs-user.ts
218
+ var acs_user_external_type = zod.z.enum([
219
+ "pti_user",
220
+ "brivo_user",
221
+ "hid_credential_manager_user",
222
+ "salto_site_user",
223
+ "latch_user"
224
+ ]);
225
+ var user_fields = zod.z.object({
226
+ full_name: zod.z.string().optional(),
227
+ email: zod.z.string().email().optional().describe(`
228
+ ---
229
+ deprecated: use email_address.
230
+ ---
231
+ `),
232
+ email_address: zod.z.string().email().optional(),
233
+ phone_number: phone_number.optional()
234
+ });
235
+ var acs_user = zod.z.object({
236
+ acs_user_id: zod.z.string().uuid(),
237
+ acs_system_id: zod.z.string().uuid(),
238
+ hid_acs_system_id: zod.z.string().uuid().optional(),
239
+ workspace_id: zod.z.string().uuid(),
240
+ created_at: zod.z.string().datetime(),
241
+ display_name: zod.z.string(),
242
+ external_type: acs_user_external_type.optional(),
243
+ external_type_display_name: zod.z.string().optional(),
244
+ is_suspended: zod.z.boolean(),
245
+ access_schedule: schedule.optional(),
246
+ user_identity_id: zod.z.string().optional(),
247
+ user_identity_full_name: zod.z.string().nullable().optional(),
248
+ user_identity_email_address: zod.z.string().nullable().optional(),
249
+ user_identity_phone_number: zod.z.string().nullable().optional()
250
+ }).merge(user_fields);
32
251
  var common_action_attempt = zod.z.object({
33
252
  action_attempt_id: zod.z.string().uuid().describe(`
34
253
  ---
@@ -1197,7 +1416,6 @@ var openapi_default = {
1197
1416
  type: "array"
1198
1417
  },
1199
1418
  latch_metadata: {
1200
- nullable: true,
1201
1419
  properties: {
1202
1420
  accessibility_type: { type: "string" },
1203
1421
  door_name: { type: "string" },
@@ -1213,7 +1431,6 @@ var openapi_default = {
1213
1431
  type: "object"
1214
1432
  },
1215
1433
  visionline_metadata: {
1216
- nullable: true,
1217
1434
  properties: {
1218
1435
  door_category: {
1219
1436
  enum: [
@@ -1249,13 +1466,11 @@ var openapi_default = {
1249
1466
  }
1250
1467
  },
1251
1468
  required: [
1252
- "acs_entrance_id",
1253
- "display_name",
1254
1469
  "acs_system_id",
1470
+ "acs_entrance_id",
1255
1471
  "created_at",
1256
- "latch_metadata",
1257
- "errors",
1258
- "visionline_metadata"
1472
+ "display_name",
1473
+ "errors"
1259
1474
  ],
1260
1475
  type: "object"
1261
1476
  },
@@ -1266,7 +1481,10 @@ var openapi_default = {
1266
1481
  can_automate_enrollment: { type: "boolean" },
1267
1482
  can_create_acs_access_groups: { type: "boolean" },
1268
1483
  can_remove_acs_users_from_acs_access_groups: { type: "boolean" },
1269
- connected_account_ids: { items: { type: "string" }, type: "array" },
1484
+ connected_account_ids: {
1485
+ items: { format: "uuid", type: "string" },
1486
+ type: "array"
1487
+ },
1270
1488
  created_at: { format: "date-time", type: "string" },
1271
1489
  errors: {
1272
1490
  items: {
@@ -2633,6 +2851,8 @@ var openapi_default = {
2633
2851
  can_program_online_access_codes: { type: "boolean" },
2634
2852
  can_remotely_lock: { type: "boolean" },
2635
2853
  can_remotely_unlock: { type: "boolean" },
2854
+ can_simulate_connection: { type: "boolean" },
2855
+ can_simulate_disconnection: { type: "boolean" },
2636
2856
  can_simulate_removal: { type: "boolean" },
2637
2857
  capabilities_supported: {
2638
2858
  description: 'Collection of capabilities that the device supports when connected to Seam. Values are "access_code," which indicates that the device can manage and utilize digital PIN codes for secure access; "lock," which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; "noise_detection," which indicates that the device supports monitoring and responding to ambient noise levels; "thermostat," which indicates that the device can regulate and adjust indoor temperatures; and "battery," which indicates that the device can manage battery life and health.',
@@ -4025,6 +4245,8 @@ var openapi_default = {
4025
4245
  can_program_online_access_codes: { type: "boolean" },
4026
4246
  can_remotely_lock: { type: "boolean" },
4027
4247
  can_remotely_unlock: { type: "boolean" },
4248
+ can_simulate_connection: { type: "boolean" },
4249
+ can_simulate_disconnection: { type: "boolean" },
4028
4250
  can_simulate_removal: { type: "boolean" },
4029
4251
  capabilities_supported: {
4030
4252
  description: 'Collection of capabilities that the device supports when connected to Seam. Values are "access_code," which indicates that the device can manage and utilize digital PIN codes for secure access; "lock," which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; "noise_detection," which indicates that the device supports monitoring and responding to ambient noise levels; "thermostat," which indicates that the device can regulate and adjust indoor temperatures; and "battery," which indicates that the device can manage battery life and health.',
@@ -4237,6 +4459,8 @@ var openapi_default = {
4237
4459
  can_program_online_access_codes: { type: "boolean" },
4238
4460
  can_remotely_lock: { type: "boolean" },
4239
4461
  can_remotely_unlock: { type: "boolean" },
4462
+ can_simulate_connection: { type: "boolean" },
4463
+ can_simulate_disconnection: { type: "boolean" },
4240
4464
  can_simulate_removal: { type: "boolean" },
4241
4465
  capabilities_supported: {
4242
4466
  description: 'Collection of capabilities that the device supports when connected to Seam. Values are "access_code," which indicates that the device can manage and utilize digital PIN codes for secure access; "lock," which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; "noise_detection," which indicates that the device supports monitoring and responding to ambient noise levels; "thermostat," which indicates that the device can regulate and adjust indoor temperatures; and "battery," which indicates that the device can manage battery life and health.',
@@ -9051,7 +9275,9 @@ var openapi_default = {
9051
9275
  "can_remotely_lock",
9052
9276
  "can_program_offline_access_codes",
9053
9277
  "can_program_online_access_codes",
9054
- "can_simulate_removal"
9278
+ "can_simulate_removal",
9279
+ "can_simulate_connection",
9280
+ "can_simulate_disconnection"
9055
9281
  ],
9056
9282
  type: "string"
9057
9283
  },
@@ -9064,7 +9290,9 @@ var openapi_default = {
9064
9290
  "can_remotely_lock",
9065
9291
  "can_program_offline_access_codes",
9066
9292
  "can_program_online_access_codes",
9067
- "can_simulate_removal"
9293
+ "can_simulate_removal",
9294
+ "can_simulate_connection",
9295
+ "can_simulate_disconnection"
9068
9296
  ],
9069
9297
  type: "string"
9070
9298
  },
@@ -9211,6 +9439,88 @@ var openapi_default = {
9211
9439
  "x-fern-sdk-return-value": "device_providers"
9212
9440
  }
9213
9441
  },
9442
+ "/devices/simulate/connect": {
9443
+ post: {
9444
+ operationId: "devicesSimulateConnectPost",
9445
+ requestBody: {
9446
+ content: {
9447
+ "application/json": {
9448
+ schema: {
9449
+ properties: { device_id: { format: "uuid", type: "string" } },
9450
+ required: ["device_id"],
9451
+ type: "object"
9452
+ }
9453
+ }
9454
+ }
9455
+ },
9456
+ responses: {
9457
+ 200: {
9458
+ content: {
9459
+ "application/json": {
9460
+ schema: {
9461
+ properties: { ok: { type: "boolean" } },
9462
+ required: ["ok"],
9463
+ type: "object"
9464
+ }
9465
+ }
9466
+ },
9467
+ description: "OK"
9468
+ },
9469
+ 400: { description: "Bad Request" },
9470
+ 401: { description: "Unauthorized" }
9471
+ },
9472
+ security: [
9473
+ { api_key: [] },
9474
+ { pat_with_workspace: [] },
9475
+ { console_session: [] }
9476
+ ],
9477
+ summary: "/devices/simulate/connect",
9478
+ tags: ["/devices"],
9479
+ "x-fern-sdk-group-name": ["devices", "simulate"],
9480
+ "x-fern-sdk-method-name": "connect"
9481
+ }
9482
+ },
9483
+ "/devices/simulate/disconnect": {
9484
+ post: {
9485
+ operationId: "devicesSimulateDisconnectPost",
9486
+ requestBody: {
9487
+ content: {
9488
+ "application/json": {
9489
+ schema: {
9490
+ properties: { device_id: { format: "uuid", type: "string" } },
9491
+ required: ["device_id"],
9492
+ type: "object"
9493
+ }
9494
+ }
9495
+ }
9496
+ },
9497
+ responses: {
9498
+ 200: {
9499
+ content: {
9500
+ "application/json": {
9501
+ schema: {
9502
+ properties: { ok: { type: "boolean" } },
9503
+ required: ["ok"],
9504
+ type: "object"
9505
+ }
9506
+ }
9507
+ },
9508
+ description: "OK"
9509
+ },
9510
+ 400: { description: "Bad Request" },
9511
+ 401: { description: "Unauthorized" }
9512
+ },
9513
+ security: [
9514
+ { api_key: [] },
9515
+ { pat_with_workspace: [] },
9516
+ { console_session: [] }
9517
+ ],
9518
+ summary: "/devices/simulate/disconnect",
9519
+ tags: ["/devices"],
9520
+ "x-fern-sdk-group-name": ["devices", "simulate"],
9521
+ "x-fern-sdk-method-name": "disconnect"
9522
+ }
9523
+ },
9214
9524
  "/devices/simulate/remove": {
9215
9525
  post: {
9216
9526
  operationId: "devicesSimulateRemovePost",
@@ -9442,7 +9752,9 @@ var openapi_default = {
9442
9752
  "can_remotely_lock",
9443
9753
  "can_program_offline_access_codes",
9444
9754
  "can_program_online_access_codes",
9445
- "can_simulate_removal"
9755
+ "can_simulate_removal",
9756
+ "can_simulate_connection",
9757
+ "can_simulate_disconnection"
9446
9758
  ],
9447
9759
  type: "string"
9448
9760
  },
@@ -9455,7 +9767,9 @@ var openapi_default = {
9455
9767
  "can_remotely_lock",
9456
9768
  "can_program_offline_access_codes",
9457
9769
  "can_program_online_access_codes",
9458
- "can_simulate_removal"
9770
+ "can_simulate_removal",
9771
+ "can_simulate_connection",
9772
+ "can_simulate_disconnection"
9459
9773
  ],
9460
9774
  type: "string"
9461
9775
  },
@@ -10187,7 +10501,9 @@ var openapi_default = {
10187
10501
  "can_remotely_lock",
10188
10502
  "can_program_offline_access_codes",
10189
10503
  "can_program_online_access_codes",
10190
- "can_simulate_removal"
10504
+ "can_simulate_removal",
10505
+ "can_simulate_connection",
10506
+ "can_simulate_disconnection"
10191
10507
  ],
10192
10508
  type: "string"
10193
10509
  },
@@ -10200,7 +10516,9 @@ var openapi_default = {
10200
10516
  "can_remotely_lock",
10201
10517
  "can_program_offline_access_codes",
10202
10518
  "can_program_online_access_codes",
10203
- "can_simulate_removal"
10519
+ "can_simulate_removal",
10520
+ "can_simulate_connection",
10521
+ "can_simulate_disconnection"
10204
10522
  ],
10205
10523
  type: "string"
10206
10524
  },
@@ -11890,7 +12208,9 @@ var openapi_default = {
11890
12208
  "can_remotely_lock",
11891
12209
  "can_program_offline_access_codes",
11892
12210
  "can_program_online_access_codes",
11893
- "can_simulate_removal"
12211
+ "can_simulate_removal",
12212
+ "can_simulate_connection",
12213
+ "can_simulate_disconnection"
11894
12214
  ],
11895
12215
  type: "string"
11896
12216
  },
@@ -11903,7 +12223,9 @@ var openapi_default = {
11903
12223
  "can_remotely_lock",
11904
12224
  "can_program_offline_access_codes",
11905
12225
  "can_program_online_access_codes",
11906
- "can_simulate_removal"
12226
+ "can_simulate_removal",
12227
+ "can_simulate_connection",
12228
+ "can_simulate_disconnection"
11907
12229
  ],
11908
12230
  type: "string"
11909
12231
  },