@seamapi/http 2.4.3 → 2.5.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 (149) hide show
  1. package/lib/request-parameters.d.ts +1 -1
  2. package/lib/request-parameters.js +7 -2
  3. package/lib/request-parameters.js.map +1 -1
  4. package/lib/routes/access-codes/access-codes.d.ts +1 -1
  5. package/lib/routes/access-codes/access-codes.js +30 -11
  6. package/lib/routes/access-codes/access-codes.js.map +1 -1
  7. package/lib/routes/access-codes/simulate/simulate.js +3 -2
  8. package/lib/routes/access-codes/simulate/simulate.js.map +1 -1
  9. package/lib/routes/access-codes/unmanaged/unmanaged.d.ts +1 -1
  10. package/lib/routes/access-codes/unmanaged/unmanaged.js +15 -6
  11. package/lib/routes/access-codes/unmanaged/unmanaged.js.map +1 -1
  12. package/lib/routes/access-grants/access-grants.d.ts +1 -1
  13. package/lib/routes/access-grants/access-grants.js +21 -8
  14. package/lib/routes/access-grants/access-grants.js.map +1 -1
  15. package/lib/routes/access-grants/unmanaged/unmanaged.js +9 -4
  16. package/lib/routes/access-grants/unmanaged/unmanaged.js.map +1 -1
  17. package/lib/routes/access-methods/access-methods.d.ts +1 -1
  18. package/lib/routes/access-methods/access-methods.js +21 -8
  19. package/lib/routes/access-methods/access-methods.js.map +1 -1
  20. package/lib/routes/access-methods/unmanaged/unmanaged.js +6 -3
  21. package/lib/routes/access-methods/unmanaged/unmanaged.js.map +1 -1
  22. package/lib/routes/acs/access-groups/access-groups.js +21 -8
  23. package/lib/routes/acs/access-groups/access-groups.js.map +1 -1
  24. package/lib/routes/acs/credentials/credentials.js +24 -9
  25. package/lib/routes/acs/credentials/credentials.js.map +1 -1
  26. package/lib/routes/acs/encoders/encoders.js +15 -6
  27. package/lib/routes/acs/encoders/encoders.js.map +1 -1
  28. package/lib/routes/acs/encoders/simulate/simulate.js +12 -5
  29. package/lib/routes/acs/encoders/simulate/simulate.js.map +1 -1
  30. package/lib/routes/acs/entrances/entrances.js +15 -6
  31. package/lib/routes/acs/entrances/entrances.js.map +1 -1
  32. package/lib/routes/acs/systems/systems.js +12 -5
  33. package/lib/routes/acs/systems/systems.js.map +1 -1
  34. package/lib/routes/acs/users/users.d.ts +1 -1
  35. package/lib/routes/acs/users/users.js +33 -12
  36. package/lib/routes/acs/users/users.js.map +1 -1
  37. package/lib/routes/action-attempts/action-attempts.js +6 -3
  38. package/lib/routes/action-attempts/action-attempts.js.map +1 -1
  39. package/lib/routes/client-sessions/client-sessions.d.ts +1 -1
  40. package/lib/routes/client-sessions/client-sessions.js +21 -8
  41. package/lib/routes/client-sessions/client-sessions.js.map +1 -1
  42. package/lib/routes/connect-webviews/connect-webviews.js +12 -5
  43. package/lib/routes/connect-webviews/connect-webviews.js.map +1 -1
  44. package/lib/routes/connected-accounts/connected-accounts.d.ts +1 -1
  45. package/lib/routes/connected-accounts/connected-accounts.js +15 -6
  46. package/lib/routes/connected-accounts/connected-accounts.js.map +1 -1
  47. package/lib/routes/connected-accounts/simulate/simulate.js +3 -2
  48. package/lib/routes/connected-accounts/simulate/simulate.js.map +1 -1
  49. package/lib/routes/customers/customers.js +9 -4
  50. package/lib/routes/customers/customers.js.map +1 -1
  51. package/lib/routes/devices/devices.d.ts +1 -1
  52. package/lib/routes/devices/devices.js +15 -6
  53. package/lib/routes/devices/devices.js.map +1 -1
  54. package/lib/routes/devices/simulate/simulate.js +18 -7
  55. package/lib/routes/devices/simulate/simulate.js.map +1 -1
  56. package/lib/routes/devices/unmanaged/unmanaged.d.ts +1 -1
  57. package/lib/routes/devices/unmanaged/unmanaged.js +9 -4
  58. package/lib/routes/devices/unmanaged/unmanaged.js.map +1 -1
  59. package/lib/routes/events/events.d.ts +1 -1
  60. package/lib/routes/events/events.js +6 -3
  61. package/lib/routes/events/events.js.map +1 -1
  62. package/lib/routes/instant-keys/instant-keys.d.ts +1 -1
  63. package/lib/routes/instant-keys/instant-keys.js +9 -4
  64. package/lib/routes/instant-keys/instant-keys.js.map +1 -1
  65. package/lib/routes/locks/locks.d.ts +1 -1
  66. package/lib/routes/locks/locks.js +15 -6
  67. package/lib/routes/locks/locks.js.map +1 -1
  68. package/lib/routes/locks/simulate/simulate.js +6 -3
  69. package/lib/routes/locks/simulate/simulate.js.map +1 -1
  70. package/lib/routes/noise-sensors/noise-sensors.js +3 -2
  71. package/lib/routes/noise-sensors/noise-sensors.js.map +1 -1
  72. package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js +15 -6
  73. package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js.map +1 -1
  74. package/lib/routes/noise-sensors/simulate/simulate.js +3 -2
  75. package/lib/routes/noise-sensors/simulate/simulate.js.map +1 -1
  76. package/lib/routes/phones/phones.js +9 -4
  77. package/lib/routes/phones/phones.js.map +1 -1
  78. package/lib/routes/phones/simulate/simulate.js +3 -2
  79. package/lib/routes/phones/simulate/simulate.js.map +1 -1
  80. package/lib/routes/spaces/spaces.d.ts +1 -1
  81. package/lib/routes/spaces/spaces.js +36 -13
  82. package/lib/routes/spaces/spaces.js.map +1 -1
  83. package/lib/routes/thermostats/daily-programs/daily-programs.js +13 -4
  84. package/lib/routes/thermostats/daily-programs/daily-programs.js.map +1 -1
  85. package/lib/routes/thermostats/schedules/schedules.js +20 -6
  86. package/lib/routes/thermostats/schedules/schedules.js.map +1 -1
  87. package/lib/routes/thermostats/simulate/simulate.js +6 -3
  88. package/lib/routes/thermostats/simulate/simulate.js.map +1 -1
  89. package/lib/routes/thermostats/thermostats.js +42 -15
  90. package/lib/routes/thermostats/thermostats.js.map +1 -1
  91. package/lib/routes/user-identities/unmanaged/unmanaged.js +9 -4
  92. package/lib/routes/user-identities/unmanaged/unmanaged.js.map +1 -1
  93. package/lib/routes/user-identities/user-identities.d.ts +1 -1
  94. package/lib/routes/user-identities/user-identities.js +42 -15
  95. package/lib/routes/user-identities/user-identities.js.map +1 -1
  96. package/lib/routes/webhooks/webhooks.js +15 -6
  97. package/lib/routes/webhooks/webhooks.js.map +1 -1
  98. package/lib/routes/workspaces/workspaces.js +15 -6
  99. package/lib/routes/workspaces/workspaces.js.map +1 -1
  100. package/lib/seam-http-request.d.ts +3 -0
  101. package/lib/seam-http-request.js +2 -0
  102. package/lib/seam-http-request.js.map +1 -1
  103. package/lib/version.d.ts +1 -1
  104. package/lib/version.js +1 -1
  105. package/package.json +1 -1
  106. package/src/lib/request-parameters.ts +12 -1
  107. package/src/lib/routes/access-codes/access-codes.ts +31 -44
  108. package/src/lib/routes/access-codes/simulate/simulate.ts +3 -7
  109. package/src/lib/routes/access-codes/unmanaged/unmanaged.ts +16 -34
  110. package/src/lib/routes/access-grants/access-grants.ts +22 -22
  111. package/src/lib/routes/access-grants/unmanaged/unmanaged.ts +9 -19
  112. package/src/lib/routes/access-methods/access-methods.ts +22 -30
  113. package/src/lib/routes/access-methods/unmanaged/unmanaged.ts +6 -13
  114. package/src/lib/routes/acs/access-groups/access-groups.ts +21 -31
  115. package/src/lib/routes/acs/credentials/credentials.ts +24 -21
  116. package/src/lib/routes/acs/encoders/encoders.ts +15 -23
  117. package/src/lib/routes/acs/encoders/simulate/simulate.ts +12 -25
  118. package/src/lib/routes/acs/entrances/entrances.ts +15 -19
  119. package/src/lib/routes/acs/systems/systems.ts +12 -17
  120. package/src/lib/routes/acs/users/users.ts +34 -42
  121. package/src/lib/routes/action-attempts/action-attempts.ts +6 -5
  122. package/src/lib/routes/client-sessions/client-sessions.ts +22 -26
  123. package/src/lib/routes/connect-webviews/connect-webviews.ts +12 -9
  124. package/src/lib/routes/connected-accounts/connected-accounts.ts +16 -14
  125. package/src/lib/routes/connected-accounts/simulate/simulate.ts +3 -7
  126. package/src/lib/routes/customers/customers.ts +9 -7
  127. package/src/lib/routes/devices/devices.ts +16 -22
  128. package/src/lib/routes/devices/simulate/simulate.ts +18 -29
  129. package/src/lib/routes/devices/unmanaged/unmanaged.ts +10 -10
  130. package/src/lib/routes/events/events.ts +7 -8
  131. package/src/lib/routes/instant-keys/instant-keys.ts +10 -10
  132. package/src/lib/routes/locks/locks.ts +16 -14
  133. package/src/lib/routes/locks/simulate/simulate.ts +6 -13
  134. package/src/lib/routes/noise-sensors/noise-sensors.ts +3 -3
  135. package/src/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.ts +15 -31
  136. package/src/lib/routes/noise-sensors/simulate/simulate.ts +3 -7
  137. package/src/lib/routes/phones/phones.ts +9 -7
  138. package/src/lib/routes/phones/simulate/simulate.ts +3 -7
  139. package/src/lib/routes/spaces/spaces.ts +37 -40
  140. package/src/lib/routes/thermostats/daily-programs/daily-programs.ts +13 -19
  141. package/src/lib/routes/thermostats/schedules/schedules.ts +20 -27
  142. package/src/lib/routes/thermostats/simulate/simulate.ts +6 -13
  143. package/src/lib/routes/thermostats/thermostats.ts +42 -57
  144. package/src/lib/routes/user-identities/unmanaged/unmanaged.ts +9 -19
  145. package/src/lib/routes/user-identities/user-identities.ts +43 -68
  146. package/src/lib/routes/webhooks/webhooks.ts +15 -11
  147. package/src/lib/routes/workspaces/workspaces.ts +15 -11
  148. package/src/lib/seam-http-request.ts +11 -0
  149. package/src/lib/version.ts +1 -1
@@ -28,7 +28,6 @@ import {
28
28
  limitToSeamHttpRequestOptions,
29
29
  parseOptions,
30
30
  } from 'lib/parse-options.js'
31
- import { assertValidRequestParameters } from 'lib/request-parameters.js'
32
31
  import type { ActionAttempt } from 'lib/resources/action-attempt.js'
33
32
  import type { Device } from 'lib/resources/device.js'
34
33
  import { SeamHttpActionAttempts } from 'lib/routes/action-attempts/index.js'
@@ -187,16 +186,13 @@ export class SeamHttpThermostats {
187
186
  parameters: ThermostatsActivateClimatePresetParameters,
188
187
  options: ThermostatsActivateClimatePresetOptions = {},
189
188
  ): ThermostatsActivateClimatePresetRequest {
190
- assertValidRequestParameters(
191
- parameters,
192
- '/thermostats/activate_climate_preset',
193
- true,
194
- )
195
-
196
189
  return new SeamHttpRequest(this, {
197
190
  pathname: '/thermostats/activate_climate_preset',
198
191
  method: 'POST',
199
192
  body: parameters,
193
+ parameters,
194
+ hasRequiredParameters: true,
195
+ requiredParameterNames: ['climate_preset_key', 'device_id'],
200
196
  responseKey: 'action_attempt',
201
197
  options,
202
198
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -213,12 +209,13 @@ export class SeamHttpThermostats {
213
209
  parameters: ThermostatsCoolParameters,
214
210
  options: ThermostatsCoolOptions = {},
215
211
  ): ThermostatsCoolRequest {
216
- assertValidRequestParameters(parameters, '/thermostats/cool', true)
217
-
218
212
  return new SeamHttpRequest(this, {
219
213
  pathname: '/thermostats/cool',
220
214
  method: 'POST',
221
215
  body: parameters,
216
+ parameters,
217
+ hasRequiredParameters: true,
218
+ requiredParameterNames: ['device_id'],
222
219
  responseKey: 'action_attempt',
223
220
  options,
224
221
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -235,16 +232,13 @@ export class SeamHttpThermostats {
235
232
  parameters: ThermostatsCreateClimatePresetParameters,
236
233
  options: ThermostatsCreateClimatePresetOptions = {},
237
234
  ): ThermostatsCreateClimatePresetRequest {
238
- assertValidRequestParameters(
239
- parameters,
240
- '/thermostats/create_climate_preset',
241
- true,
242
- )
243
-
244
235
  return new SeamHttpRequest(this, {
245
236
  pathname: '/thermostats/create_climate_preset',
246
237
  method: 'POST',
247
238
  body: parameters,
239
+ parameters,
240
+ hasRequiredParameters: true,
241
+ requiredParameterNames: ['climate_preset_key', 'device_id'],
248
242
  responseKey: undefined,
249
243
  options,
250
244
  })
@@ -257,16 +251,13 @@ export class SeamHttpThermostats {
257
251
  parameters: ThermostatsDeleteClimatePresetParameters,
258
252
  options: ThermostatsDeleteClimatePresetOptions = {},
259
253
  ): ThermostatsDeleteClimatePresetRequest {
260
- assertValidRequestParameters(
261
- parameters,
262
- '/thermostats/delete_climate_preset',
263
- true,
264
- )
265
-
266
254
  return new SeamHttpRequest(this, {
267
255
  pathname: '/thermostats/delete_climate_preset',
268
256
  method: 'DELETE',
269
257
  params: parameters,
258
+ parameters,
259
+ hasRequiredParameters: true,
260
+ requiredParameterNames: ['climate_preset_key', 'device_id'],
270
261
  responseKey: undefined,
271
262
  options,
272
263
  })
@@ -279,12 +270,13 @@ export class SeamHttpThermostats {
279
270
  parameters: ThermostatsHeatParameters,
280
271
  options: ThermostatsHeatOptions = {},
281
272
  ): ThermostatsHeatRequest {
282
- assertValidRequestParameters(parameters, '/thermostats/heat', true)
283
-
284
273
  return new SeamHttpRequest(this, {
285
274
  pathname: '/thermostats/heat',
286
275
  method: 'POST',
287
276
  body: parameters,
277
+ parameters,
278
+ hasRequiredParameters: true,
279
+ requiredParameterNames: ['device_id'],
288
280
  responseKey: 'action_attempt',
289
281
  options,
290
282
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -301,12 +293,13 @@ export class SeamHttpThermostats {
301
293
  parameters: ThermostatsHeatCoolParameters,
302
294
  options: ThermostatsHeatCoolOptions = {},
303
295
  ): ThermostatsHeatCoolRequest {
304
- assertValidRequestParameters(parameters, '/thermostats/heat_cool', true)
305
-
306
296
  return new SeamHttpRequest(this, {
307
297
  pathname: '/thermostats/heat_cool',
308
298
  method: 'POST',
309
299
  body: parameters,
300
+ parameters,
301
+ hasRequiredParameters: true,
302
+ requiredParameterNames: ['device_id'],
310
303
  responseKey: 'action_attempt',
311
304
  options,
312
305
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -323,12 +316,13 @@ export class SeamHttpThermostats {
323
316
  parameters?: ThermostatsListParameters,
324
317
  options: ThermostatsListOptions = {},
325
318
  ): ThermostatsListRequest {
326
- assertValidRequestParameters(parameters, '/thermostats/list', false)
327
-
328
319
  return new SeamHttpRequest(this, {
329
320
  pathname: '/thermostats/list',
330
321
  method: 'POST',
331
322
  body: parameters,
323
+ parameters,
324
+ hasRequiredParameters: false,
325
+ requiredParameterNames: [],
332
326
  responseKey: 'devices',
333
327
  options,
334
328
  })
@@ -341,12 +335,13 @@ export class SeamHttpThermostats {
341
335
  parameters: ThermostatsOffParameters,
342
336
  options: ThermostatsOffOptions = {},
343
337
  ): ThermostatsOffRequest {
344
- assertValidRequestParameters(parameters, '/thermostats/off', true)
345
-
346
338
  return new SeamHttpRequest(this, {
347
339
  pathname: '/thermostats/off',
348
340
  method: 'POST',
349
341
  body: parameters,
342
+ parameters,
343
+ hasRequiredParameters: true,
344
+ requiredParameterNames: ['device_id'],
350
345
  responseKey: 'action_attempt',
351
346
  options,
352
347
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -363,16 +358,13 @@ export class SeamHttpThermostats {
363
358
  parameters: ThermostatsSetFallbackClimatePresetParameters,
364
359
  options: ThermostatsSetFallbackClimatePresetOptions = {},
365
360
  ): ThermostatsSetFallbackClimatePresetRequest {
366
- assertValidRequestParameters(
367
- parameters,
368
- '/thermostats/set_fallback_climate_preset',
369
- true,
370
- )
371
-
372
361
  return new SeamHttpRequest(this, {
373
362
  pathname: '/thermostats/set_fallback_climate_preset',
374
363
  method: 'POST',
375
364
  body: parameters,
365
+ parameters,
366
+ hasRequiredParameters: true,
367
+ requiredParameterNames: ['climate_preset_key', 'device_id'],
376
368
  responseKey: undefined,
377
369
  options,
378
370
  })
@@ -385,12 +377,13 @@ export class SeamHttpThermostats {
385
377
  parameters: ThermostatsSetFanModeParameters,
386
378
  options: ThermostatsSetFanModeOptions = {},
387
379
  ): ThermostatsSetFanModeRequest {
388
- assertValidRequestParameters(parameters, '/thermostats/set_fan_mode', true)
389
-
390
380
  return new SeamHttpRequest(this, {
391
381
  pathname: '/thermostats/set_fan_mode',
392
382
  method: 'POST',
393
383
  body: parameters,
384
+ parameters,
385
+ hasRequiredParameters: true,
386
+ requiredParameterNames: ['device_id'],
394
387
  responseKey: 'action_attempt',
395
388
  options,
396
389
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -407,12 +400,13 @@ export class SeamHttpThermostats {
407
400
  parameters: ThermostatsSetHvacModeParameters,
408
401
  options: ThermostatsSetHvacModeOptions = {},
409
402
  ): ThermostatsSetHvacModeRequest {
410
- assertValidRequestParameters(parameters, '/thermostats/set_hvac_mode', true)
411
-
412
403
  return new SeamHttpRequest(this, {
413
404
  pathname: '/thermostats/set_hvac_mode',
414
405
  method: 'POST',
415
406
  body: parameters,
407
+ parameters,
408
+ hasRequiredParameters: true,
409
+ requiredParameterNames: ['device_id', 'hvac_mode_setting'],
416
410
  responseKey: 'action_attempt',
417
411
  options,
418
412
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -429,16 +423,13 @@ export class SeamHttpThermostats {
429
423
  parameters: ThermostatsSetTemperatureThresholdParameters,
430
424
  options: ThermostatsSetTemperatureThresholdOptions = {},
431
425
  ): ThermostatsSetTemperatureThresholdRequest {
432
- assertValidRequestParameters(
433
- parameters,
434
- '/thermostats/set_temperature_threshold',
435
- true,
436
- )
437
-
438
426
  return new SeamHttpRequest(this, {
439
427
  pathname: '/thermostats/set_temperature_threshold',
440
428
  method: 'PATCH',
441
429
  body: parameters,
430
+ parameters,
431
+ hasRequiredParameters: true,
432
+ requiredParameterNames: ['device_id'],
442
433
  responseKey: undefined,
443
434
  options,
444
435
  })
@@ -451,16 +442,13 @@ export class SeamHttpThermostats {
451
442
  parameters: ThermostatsUpdateClimatePresetParameters,
452
443
  options: ThermostatsUpdateClimatePresetOptions = {},
453
444
  ): ThermostatsUpdateClimatePresetRequest {
454
- assertValidRequestParameters(
455
- parameters,
456
- '/thermostats/update_climate_preset',
457
- true,
458
- )
459
-
460
445
  return new SeamHttpRequest(this, {
461
446
  pathname: '/thermostats/update_climate_preset',
462
447
  method: 'PATCH',
463
448
  body: parameters,
449
+ parameters,
450
+ hasRequiredParameters: true,
451
+ requiredParameterNames: ['climate_preset_key', 'device_id'],
464
452
  responseKey: undefined,
465
453
  options,
466
454
  })
@@ -473,16 +461,13 @@ export class SeamHttpThermostats {
473
461
  parameters: ThermostatsUpdateWeeklyProgramParameters,
474
462
  options: ThermostatsUpdateWeeklyProgramOptions = {},
475
463
  ): ThermostatsUpdateWeeklyProgramRequest {
476
- assertValidRequestParameters(
477
- parameters,
478
- '/thermostats/update_weekly_program',
479
- true,
480
- )
481
-
482
464
  return new SeamHttpRequest(this, {
483
465
  pathname: '/thermostats/update_weekly_program',
484
466
  method: 'POST',
485
467
  body: parameters,
468
+ parameters,
469
+ hasRequiredParameters: true,
470
+ requiredParameterNames: ['device_id'],
486
471
  responseKey: 'action_attempt',
487
472
  options,
488
473
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -28,7 +28,6 @@ import {
28
28
  limitToSeamHttpRequestOptions,
29
29
  parseOptions,
30
30
  } from 'lib/parse-options.js'
31
- import { assertValidRequestParameters } from 'lib/request-parameters.js'
32
31
  import type { UnmanagedUserIdentity } from 'lib/resources/unmanaged-user-identity.js'
33
32
  import { SeamHttpClientSessions } from 'lib/routes/client-sessions/index.js'
34
33
  import { SeamHttpRequest } from 'lib/seam-http-request.js'
@@ -169,16 +168,13 @@ export class SeamHttpUserIdentitiesUnmanaged {
169
168
  parameters: UserIdentitiesUnmanagedGetParameters,
170
169
  options: UserIdentitiesUnmanagedGetOptions = {},
171
170
  ): UserIdentitiesUnmanagedGetRequest {
172
- assertValidRequestParameters(
173
- parameters,
174
- '/user_identities/unmanaged/get',
175
- true,
176
- )
177
-
178
171
  return new SeamHttpRequest(this, {
179
172
  pathname: '/user_identities/unmanaged/get',
180
173
  method: 'GET',
181
174
  params: parameters,
175
+ parameters,
176
+ hasRequiredParameters: true,
177
+ requiredParameterNames: ['user_identity_id'],
182
178
  responseKey: 'user_identity',
183
179
  options,
184
180
  })
@@ -191,16 +187,13 @@ export class SeamHttpUserIdentitiesUnmanaged {
191
187
  parameters?: UserIdentitiesUnmanagedListParameters,
192
188
  options: UserIdentitiesUnmanagedListOptions = {},
193
189
  ): UserIdentitiesUnmanagedListRequest {
194
- assertValidRequestParameters(
195
- parameters,
196
- '/user_identities/unmanaged/list',
197
- false,
198
- )
199
-
200
190
  return new SeamHttpRequest(this, {
201
191
  pathname: '/user_identities/unmanaged/list',
202
192
  method: 'GET',
203
193
  params: parameters,
194
+ parameters,
195
+ hasRequiredParameters: false,
196
+ requiredParameterNames: [],
204
197
  responseKey: 'user_identities',
205
198
  options,
206
199
  })
@@ -215,16 +208,13 @@ export class SeamHttpUserIdentitiesUnmanaged {
215
208
  parameters: UserIdentitiesUnmanagedUpdateParameters,
216
209
  options: UserIdentitiesUnmanagedUpdateOptions = {},
217
210
  ): UserIdentitiesUnmanagedUpdateRequest {
218
- assertValidRequestParameters(
219
- parameters,
220
- '/user_identities/unmanaged/update',
221
- true,
222
- )
223
-
224
211
  return new SeamHttpRequest(this, {
225
212
  pathname: '/user_identities/unmanaged/update',
226
213
  method: 'PATCH',
227
214
  body: parameters,
215
+ parameters,
216
+ hasRequiredParameters: true,
217
+ requiredParameterNames: ['is_managed', 'user_identity_id'],
228
218
  responseKey: undefined,
229
219
  options,
230
220
  })
@@ -28,10 +28,7 @@ import {
28
28
  limitToSeamHttpRequestOptions,
29
29
  parseOptions,
30
30
  } from 'lib/parse-options.js'
31
- import {
32
- assertValidRequestParameters,
33
- type RequireAtLeastOne,
34
- } from 'lib/request-parameters.js'
31
+ import type { RequireAtLeastOne } from 'lib/request-parameters.js'
35
32
  import type { AcsEntrance } from 'lib/resources/acs-entrance.js'
36
33
  import type { AcsSystem } from 'lib/resources/acs-system.js'
37
34
  import type { AcsUser } from 'lib/resources/acs-user.js'
@@ -187,16 +184,13 @@ export class SeamHttpUserIdentities {
187
184
  parameters: UserIdentitiesAddAcsUserParameters,
188
185
  options: UserIdentitiesAddAcsUserOptions = {},
189
186
  ): UserIdentitiesAddAcsUserRequest {
190
- assertValidRequestParameters(
191
- parameters,
192
- '/user_identities/add_acs_user',
193
- true,
194
- )
195
-
196
187
  return new SeamHttpRequest(this, {
197
188
  pathname: '/user_identities/add_acs_user',
198
189
  method: 'PUT',
199
190
  body: parameters,
191
+ parameters,
192
+ hasRequiredParameters: true,
193
+ requiredParameterNames: ['acs_user_id'],
200
194
  responseKey: undefined,
201
195
  options,
202
196
  })
@@ -209,12 +203,13 @@ export class SeamHttpUserIdentities {
209
203
  parameters?: UserIdentitiesCreateParameters,
210
204
  options: UserIdentitiesCreateOptions = {},
211
205
  ): UserIdentitiesCreateRequest {
212
- assertValidRequestParameters(parameters, '/user_identities/create', false)
213
-
214
206
  return new SeamHttpRequest(this, {
215
207
  pathname: '/user_identities/create',
216
208
  method: 'POST',
217
209
  body: parameters,
210
+ parameters,
211
+ hasRequiredParameters: false,
212
+ requiredParameterNames: [],
218
213
  responseKey: 'user_identity',
219
214
  options,
220
215
  })
@@ -227,12 +222,13 @@ export class SeamHttpUserIdentities {
227
222
  parameters: UserIdentitiesDeleteParameters,
228
223
  options: UserIdentitiesDeleteOptions = {},
229
224
  ): UserIdentitiesDeleteRequest {
230
- assertValidRequestParameters(parameters, '/user_identities/delete', true)
231
-
232
225
  return new SeamHttpRequest(this, {
233
226
  pathname: '/user_identities/delete',
234
227
  method: 'DELETE',
235
228
  params: parameters,
229
+ parameters,
230
+ hasRequiredParameters: true,
231
+ requiredParameterNames: ['user_identity_id'],
236
232
  responseKey: undefined,
237
233
  options,
238
234
  })
@@ -245,16 +241,13 @@ export class SeamHttpUserIdentities {
245
241
  parameters: UserIdentitiesGenerateInstantKeyParameters,
246
242
  options: UserIdentitiesGenerateInstantKeyOptions = {},
247
243
  ): UserIdentitiesGenerateInstantKeyRequest {
248
- assertValidRequestParameters(
249
- parameters,
250
- '/user_identities/generate_instant_key',
251
- true,
252
- )
253
-
254
244
  return new SeamHttpRequest(this, {
255
245
  pathname: '/user_identities/generate_instant_key',
256
246
  method: 'POST',
257
247
  body: parameters,
248
+ parameters,
249
+ hasRequiredParameters: true,
250
+ requiredParameterNames: ['user_identity_id'],
258
251
  responseKey: 'instant_key',
259
252
  options,
260
253
  })
@@ -267,12 +260,13 @@ export class SeamHttpUserIdentities {
267
260
  parameters: UserIdentitiesGetParameters,
268
261
  options: UserIdentitiesGetOptions = {},
269
262
  ): UserIdentitiesGetRequest {
270
- assertValidRequestParameters(parameters, '/user_identities/get', true)
271
-
272
263
  return new SeamHttpRequest(this, {
273
264
  pathname: '/user_identities/get',
274
265
  method: 'GET',
275
266
  params: parameters,
267
+ parameters,
268
+ hasRequiredParameters: true,
269
+ requiredParameterNames: [],
276
270
  responseKey: 'user_identity',
277
271
  options,
278
272
  })
@@ -285,16 +279,13 @@ export class SeamHttpUserIdentities {
285
279
  parameters: UserIdentitiesGrantAccessToDeviceParameters,
286
280
  options: UserIdentitiesGrantAccessToDeviceOptions = {},
287
281
  ): UserIdentitiesGrantAccessToDeviceRequest {
288
- assertValidRequestParameters(
289
- parameters,
290
- '/user_identities/grant_access_to_device',
291
- true,
292
- )
293
-
294
282
  return new SeamHttpRequest(this, {
295
283
  pathname: '/user_identities/grant_access_to_device',
296
284
  method: 'PUT',
297
285
  body: parameters,
286
+ parameters,
287
+ hasRequiredParameters: true,
288
+ requiredParameterNames: ['device_id', 'user_identity_id'],
298
289
  responseKey: undefined,
299
290
  options,
300
291
  })
@@ -307,12 +298,13 @@ export class SeamHttpUserIdentities {
307
298
  parameters?: UserIdentitiesListParameters,
308
299
  options: UserIdentitiesListOptions = {},
309
300
  ): UserIdentitiesListRequest {
310
- assertValidRequestParameters(parameters, '/user_identities/list', false)
311
-
312
301
  return new SeamHttpRequest(this, {
313
302
  pathname: '/user_identities/list',
314
303
  method: 'POST',
315
304
  body: parameters,
305
+ parameters,
306
+ hasRequiredParameters: false,
307
+ requiredParameterNames: [],
316
308
  responseKey: 'user_identities',
317
309
  options,
318
310
  })
@@ -325,16 +317,13 @@ export class SeamHttpUserIdentities {
325
317
  parameters: UserIdentitiesListAccessibleDevicesParameters,
326
318
  options: UserIdentitiesListAccessibleDevicesOptions = {},
327
319
  ): UserIdentitiesListAccessibleDevicesRequest {
328
- assertValidRequestParameters(
329
- parameters,
330
- '/user_identities/list_accessible_devices',
331
- true,
332
- )
333
-
334
320
  return new SeamHttpRequest(this, {
335
321
  pathname: '/user_identities/list_accessible_devices',
336
322
  method: 'GET',
337
323
  params: parameters,
324
+ parameters,
325
+ hasRequiredParameters: true,
326
+ requiredParameterNames: ['user_identity_id'],
338
327
  responseKey: 'devices',
339
328
  options,
340
329
  })
@@ -347,16 +336,13 @@ export class SeamHttpUserIdentities {
347
336
  parameters: UserIdentitiesListAccessibleEntrancesParameters,
348
337
  options: UserIdentitiesListAccessibleEntrancesOptions = {},
349
338
  ): UserIdentitiesListAccessibleEntrancesRequest {
350
- assertValidRequestParameters(
351
- parameters,
352
- '/user_identities/list_accessible_entrances',
353
- true,
354
- )
355
-
356
339
  return new SeamHttpRequest(this, {
357
340
  pathname: '/user_identities/list_accessible_entrances',
358
341
  method: 'GET',
359
342
  params: parameters,
343
+ parameters,
344
+ hasRequiredParameters: true,
345
+ requiredParameterNames: ['user_identity_id'],
360
346
  responseKey: 'acs_entrances',
361
347
  options,
362
348
  })
@@ -369,16 +355,13 @@ export class SeamHttpUserIdentities {
369
355
  parameters: UserIdentitiesListAcsSystemsParameters,
370
356
  options: UserIdentitiesListAcsSystemsOptions = {},
371
357
  ): UserIdentitiesListAcsSystemsRequest {
372
- assertValidRequestParameters(
373
- parameters,
374
- '/user_identities/list_acs_systems',
375
- true,
376
- )
377
-
378
358
  return new SeamHttpRequest(this, {
379
359
  pathname: '/user_identities/list_acs_systems',
380
360
  method: 'GET',
381
361
  params: parameters,
362
+ parameters,
363
+ hasRequiredParameters: true,
364
+ requiredParameterNames: ['user_identity_id'],
382
365
  responseKey: 'acs_systems',
383
366
  options,
384
367
  })
@@ -391,16 +374,13 @@ export class SeamHttpUserIdentities {
391
374
  parameters: UserIdentitiesListAcsUsersParameters,
392
375
  options: UserIdentitiesListAcsUsersOptions = {},
393
376
  ): UserIdentitiesListAcsUsersRequest {
394
- assertValidRequestParameters(
395
- parameters,
396
- '/user_identities/list_acs_users',
397
- true,
398
- )
399
-
400
377
  return new SeamHttpRequest(this, {
401
378
  pathname: '/user_identities/list_acs_users',
402
379
  method: 'GET',
403
380
  params: parameters,
381
+ parameters,
382
+ hasRequiredParameters: true,
383
+ requiredParameterNames: ['user_identity_id'],
404
384
  responseKey: 'acs_users',
405
385
  options,
406
386
  })
@@ -413,16 +393,13 @@ export class SeamHttpUserIdentities {
413
393
  parameters: UserIdentitiesRemoveAcsUserParameters,
414
394
  options: UserIdentitiesRemoveAcsUserOptions = {},
415
395
  ): UserIdentitiesRemoveAcsUserRequest {
416
- assertValidRequestParameters(
417
- parameters,
418
- '/user_identities/remove_acs_user',
419
- true,
420
- )
421
-
422
396
  return new SeamHttpRequest(this, {
423
397
  pathname: '/user_identities/remove_acs_user',
424
398
  method: 'DELETE',
425
399
  params: parameters,
400
+ parameters,
401
+ hasRequiredParameters: true,
402
+ requiredParameterNames: ['acs_user_id', 'user_identity_id'],
426
403
  responseKey: undefined,
427
404
  options,
428
405
  })
@@ -435,16 +412,13 @@ export class SeamHttpUserIdentities {
435
412
  parameters: UserIdentitiesRevokeAccessToDeviceParameters,
436
413
  options: UserIdentitiesRevokeAccessToDeviceOptions = {},
437
414
  ): UserIdentitiesRevokeAccessToDeviceRequest {
438
- assertValidRequestParameters(
439
- parameters,
440
- '/user_identities/revoke_access_to_device',
441
- true,
442
- )
443
-
444
415
  return new SeamHttpRequest(this, {
445
416
  pathname: '/user_identities/revoke_access_to_device',
446
417
  method: 'DELETE',
447
418
  params: parameters,
419
+ parameters,
420
+ hasRequiredParameters: true,
421
+ requiredParameterNames: ['device_id', 'user_identity_id'],
448
422
  responseKey: undefined,
449
423
  options,
450
424
  })
@@ -457,12 +431,13 @@ export class SeamHttpUserIdentities {
457
431
  parameters: UserIdentitiesUpdateParameters,
458
432
  options: UserIdentitiesUpdateOptions = {},
459
433
  ): UserIdentitiesUpdateRequest {
460
- assertValidRequestParameters(parameters, '/user_identities/update', true)
461
-
462
434
  return new SeamHttpRequest(this, {
463
435
  pathname: '/user_identities/update',
464
436
  method: 'PATCH',
465
437
  body: parameters,
438
+ parameters,
439
+ hasRequiredParameters: true,
440
+ requiredParameterNames: ['user_identity_id'],
466
441
  responseKey: undefined,
467
442
  options,
468
443
  })
@@ -28,7 +28,6 @@ import {
28
28
  limitToSeamHttpRequestOptions,
29
29
  parseOptions,
30
30
  } from 'lib/parse-options.js'
31
- import { assertValidRequestParameters } from 'lib/request-parameters.js'
32
31
  import type { Webhook } from 'lib/resources/webhook.js'
33
32
  import { SeamHttpClientSessions } from 'lib/routes/client-sessions/index.js'
34
33
  import { SeamHttpRequest } from 'lib/seam-http-request.js'
@@ -166,12 +165,13 @@ export class SeamHttpWebhooks {
166
165
  parameters: WebhooksCreateParameters,
167
166
  options: WebhooksCreateOptions = {},
168
167
  ): WebhooksCreateRequest {
169
- assertValidRequestParameters(parameters, '/webhooks/create', true)
170
-
171
168
  return new SeamHttpRequest(this, {
172
169
  pathname: '/webhooks/create',
173
170
  method: 'POST',
174
171
  body: parameters,
172
+ parameters,
173
+ hasRequiredParameters: true,
174
+ requiredParameterNames: ['url'],
175
175
  responseKey: 'webhook',
176
176
  options,
177
177
  })
@@ -184,12 +184,13 @@ export class SeamHttpWebhooks {
184
184
  parameters: WebhooksDeleteParameters,
185
185
  options: WebhooksDeleteOptions = {},
186
186
  ): WebhooksDeleteRequest {
187
- assertValidRequestParameters(parameters, '/webhooks/delete', true)
188
-
189
187
  return new SeamHttpRequest(this, {
190
188
  pathname: '/webhooks/delete',
191
189
  method: 'DELETE',
192
190
  params: parameters,
191
+ parameters,
192
+ hasRequiredParameters: true,
193
+ requiredParameterNames: ['webhook_id'],
193
194
  responseKey: undefined,
194
195
  options,
195
196
  })
@@ -202,12 +203,13 @@ export class SeamHttpWebhooks {
202
203
  parameters: WebhooksGetParameters,
203
204
  options: WebhooksGetOptions = {},
204
205
  ): WebhooksGetRequest {
205
- assertValidRequestParameters(parameters, '/webhooks/get', true)
206
-
207
206
  return new SeamHttpRequest(this, {
208
207
  pathname: '/webhooks/get',
209
208
  method: 'GET',
210
209
  params: parameters,
210
+ parameters,
211
+ hasRequiredParameters: true,
212
+ requiredParameterNames: ['webhook_id'],
211
213
  responseKey: 'webhook',
212
214
  options,
213
215
  })
@@ -220,12 +222,13 @@ export class SeamHttpWebhooks {
220
222
  parameters?: WebhooksListParameters,
221
223
  options: WebhooksListOptions = {},
222
224
  ): WebhooksListRequest {
223
- assertValidRequestParameters(parameters, '/webhooks/list', false)
224
-
225
225
  return new SeamHttpRequest(this, {
226
226
  pathname: '/webhooks/list',
227
227
  method: 'GET',
228
228
  params: parameters,
229
+ parameters,
230
+ hasRequiredParameters: false,
231
+ requiredParameterNames: [],
229
232
  responseKey: 'webhooks',
230
233
  options,
231
234
  })
@@ -238,12 +241,13 @@ export class SeamHttpWebhooks {
238
241
  parameters: WebhooksUpdateParameters,
239
242
  options: WebhooksUpdateOptions = {},
240
243
  ): WebhooksUpdateRequest {
241
- assertValidRequestParameters(parameters, '/webhooks/update', true)
242
-
243
244
  return new SeamHttpRequest(this, {
244
245
  pathname: '/webhooks/update',
245
246
  method: 'PUT',
246
247
  body: parameters,
248
+ parameters,
249
+ hasRequiredParameters: true,
250
+ requiredParameterNames: ['event_types', 'webhook_id'],
247
251
  responseKey: undefined,
248
252
  options,
249
253
  })