@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,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 { AccessCode } from 'lib/resources/access-code.js'
36
33
  import { SeamHttpClientSessions } from 'lib/routes/client-sessions/index.js'
37
34
  import { SeamHttpRequest } from 'lib/seam-http-request.js'
@@ -180,12 +177,13 @@ export class SeamHttpAccessCodes {
180
177
  parameters: AccessCodesCreateParameters,
181
178
  options: AccessCodesCreateOptions = {},
182
179
  ): AccessCodesCreateRequest {
183
- assertValidRequestParameters(parameters, '/access_codes/create', true)
184
-
185
180
  return new SeamHttpRequest(this, {
186
181
  pathname: '/access_codes/create',
187
182
  method: 'POST',
188
183
  body: parameters,
184
+ parameters,
185
+ hasRequiredParameters: true,
186
+ requiredParameterNames: ['device_id'],
189
187
  responseKey: 'access_code',
190
188
  options,
191
189
  })
@@ -208,16 +206,13 @@ export class SeamHttpAccessCodes {
208
206
  parameters: AccessCodesCreateMultipleParameters,
209
207
  options: AccessCodesCreateMultipleOptions = {},
210
208
  ): AccessCodesCreateMultipleRequest {
211
- assertValidRequestParameters(
212
- parameters,
213
- '/access_codes/create_multiple',
214
- true,
215
- )
216
-
217
209
  return new SeamHttpRequest(this, {
218
210
  pathname: '/access_codes/create_multiple',
219
211
  method: 'PUT',
220
212
  body: parameters,
213
+ parameters,
214
+ hasRequiredParameters: true,
215
+ requiredParameterNames: ['device_ids'],
221
216
  responseKey: 'access_codes',
222
217
  options,
223
218
  })
@@ -230,12 +225,13 @@ export class SeamHttpAccessCodes {
230
225
  parameters: AccessCodesDeleteParameters,
231
226
  options: AccessCodesDeleteOptions = {},
232
227
  ): AccessCodesDeleteRequest {
233
- assertValidRequestParameters(parameters, '/access_codes/delete', true)
234
-
235
228
  return new SeamHttpRequest(this, {
236
229
  pathname: '/access_codes/delete',
237
230
  method: 'DELETE',
238
231
  params: parameters,
232
+ parameters,
233
+ hasRequiredParameters: true,
234
+ requiredParameterNames: ['access_code_id'],
239
235
  responseKey: undefined,
240
236
  options,
241
237
  })
@@ -248,16 +244,13 @@ export class SeamHttpAccessCodes {
248
244
  parameters: AccessCodesGenerateCodeParameters,
249
245
  options: AccessCodesGenerateCodeOptions = {},
250
246
  ): AccessCodesGenerateCodeRequest {
251
- assertValidRequestParameters(
252
- parameters,
253
- '/access_codes/generate_code',
254
- true,
255
- )
256
-
257
247
  return new SeamHttpRequest(this, {
258
248
  pathname: '/access_codes/generate_code',
259
249
  method: 'GET',
260
250
  params: parameters,
251
+ parameters,
252
+ hasRequiredParameters: true,
253
+ requiredParameterNames: ['device_id'],
261
254
  responseKey: 'generated_code',
262
255
  options,
263
256
  })
@@ -272,12 +265,13 @@ export class SeamHttpAccessCodes {
272
265
  parameters: AccessCodesGetParameters,
273
266
  options: AccessCodesGetOptions = {},
274
267
  ): AccessCodesGetRequest {
275
- assertValidRequestParameters(parameters, '/access_codes/get', true)
276
-
277
268
  return new SeamHttpRequest(this, {
278
269
  pathname: '/access_codes/get',
279
270
  method: 'GET',
280
271
  params: parameters,
272
+ parameters,
273
+ hasRequiredParameters: true,
274
+ requiredParameterNames: [],
281
275
  responseKey: 'access_code',
282
276
  options,
283
277
  })
@@ -292,12 +286,13 @@ export class SeamHttpAccessCodes {
292
286
  parameters: AccessCodesListParameters,
293
287
  options: AccessCodesListOptions = {},
294
288
  ): AccessCodesListRequest {
295
- assertValidRequestParameters(parameters, '/access_codes/list', true)
296
-
297
289
  return new SeamHttpRequest(this, {
298
290
  pathname: '/access_codes/list',
299
291
  method: 'POST',
300
292
  body: parameters,
293
+ parameters,
294
+ hasRequiredParameters: true,
295
+ requiredParameterNames: [],
301
296
  responseKey: 'access_codes',
302
297
  options,
303
298
  })
@@ -318,16 +313,13 @@ export class SeamHttpAccessCodes {
318
313
  parameters: AccessCodesPullBackupAccessCodeParameters,
319
314
  options: AccessCodesPullBackupAccessCodeOptions = {},
320
315
  ): AccessCodesPullBackupAccessCodeRequest {
321
- assertValidRequestParameters(
322
- parameters,
323
- '/access_codes/pull_backup_access_code',
324
- true,
325
- )
326
-
327
316
  return new SeamHttpRequest(this, {
328
317
  pathname: '/access_codes/pull_backup_access_code',
329
318
  method: 'POST',
330
319
  body: parameters,
320
+ parameters,
321
+ hasRequiredParameters: true,
322
+ requiredParameterNames: ['access_code_id'],
331
323
  responseKey: 'access_code',
332
324
  options,
333
325
  })
@@ -342,16 +334,13 @@ export class SeamHttpAccessCodes {
342
334
  parameters: AccessCodesReportDeviceConstraintsParameters,
343
335
  options: AccessCodesReportDeviceConstraintsOptions = {},
344
336
  ): AccessCodesReportDeviceConstraintsRequest {
345
- assertValidRequestParameters(
346
- parameters,
347
- '/access_codes/report_device_constraints',
348
- true,
349
- )
350
-
351
337
  return new SeamHttpRequest(this, {
352
338
  pathname: '/access_codes/report_device_constraints',
353
339
  method: 'POST',
354
340
  body: parameters,
341
+ parameters,
342
+ hasRequiredParameters: true,
343
+ requiredParameterNames: ['device_id'],
355
344
  responseKey: undefined,
356
345
  options,
357
346
  })
@@ -366,12 +355,13 @@ export class SeamHttpAccessCodes {
366
355
  parameters: AccessCodesUpdateParameters,
367
356
  options: AccessCodesUpdateOptions = {},
368
357
  ): AccessCodesUpdateRequest {
369
- assertValidRequestParameters(parameters, '/access_codes/update', true)
370
-
371
358
  return new SeamHttpRequest(this, {
372
359
  pathname: '/access_codes/update',
373
360
  method: 'PUT',
374
361
  body: parameters,
362
+ parameters,
363
+ hasRequiredParameters: true,
364
+ requiredParameterNames: ['access_code_id'],
375
365
  responseKey: undefined,
376
366
  options,
377
367
  })
@@ -388,16 +378,13 @@ export class SeamHttpAccessCodes {
388
378
  parameters: AccessCodesUpdateMultipleParameters,
389
379
  options: AccessCodesUpdateMultipleOptions = {},
390
380
  ): AccessCodesUpdateMultipleRequest {
391
- assertValidRequestParameters(
392
- parameters,
393
- '/access_codes/update_multiple',
394
- true,
395
- )
396
-
397
381
  return new SeamHttpRequest(this, {
398
382
  pathname: '/access_codes/update_multiple',
399
383
  method: 'PATCH',
400
384
  body: parameters,
385
+ parameters,
386
+ hasRequiredParameters: true,
387
+ requiredParameterNames: ['common_code_key'],
401
388
  responseKey: undefined,
402
389
  options,
403
390
  })
@@ -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 { UnmanagedAccessCode } from 'lib/resources/unmanaged-access-code.js'
33
32
  import { SeamHttpClientSessions } from 'lib/routes/client-sessions/index.js'
34
33
  import { SeamHttpRequest } from 'lib/seam-http-request.js'
@@ -166,16 +165,13 @@ export class SeamHttpAccessCodesSimulate {
166
165
  parameters: AccessCodesSimulateCreateUnmanagedAccessCodeParameters,
167
166
  options: AccessCodesSimulateCreateUnmanagedAccessCodeOptions = {},
168
167
  ): AccessCodesSimulateCreateUnmanagedAccessCodeRequest {
169
- assertValidRequestParameters(
170
- parameters,
171
- '/access_codes/simulate/create_unmanaged_access_code',
172
- true,
173
- )
174
-
175
168
  return new SeamHttpRequest(this, {
176
169
  pathname: '/access_codes/simulate/create_unmanaged_access_code',
177
170
  method: 'POST',
178
171
  body: parameters,
172
+ parameters,
173
+ hasRequiredParameters: true,
174
+ requiredParameterNames: ['code', 'device_id', 'name'],
179
175
  responseKey: 'access_code',
180
176
  options,
181
177
  })
@@ -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 { UnmanagedAccessCode } from 'lib/resources/unmanaged-access-code.js'
36
33
  import { SeamHttpClientSessions } from 'lib/routes/client-sessions/index.js'
37
34
  import { SeamHttpRequest } from 'lib/seam-http-request.js'
@@ -173,16 +170,13 @@ export class SeamHttpAccessCodesUnmanaged {
173
170
  parameters: AccessCodesUnmanagedConvertToManagedParameters,
174
171
  options: AccessCodesUnmanagedConvertToManagedOptions = {},
175
172
  ): AccessCodesUnmanagedConvertToManagedRequest {
176
- assertValidRequestParameters(
177
- parameters,
178
- '/access_codes/unmanaged/convert_to_managed',
179
- true,
180
- )
181
-
182
173
  return new SeamHttpRequest(this, {
183
174
  pathname: '/access_codes/unmanaged/convert_to_managed',
184
175
  method: 'PATCH',
185
176
  body: parameters,
177
+ parameters,
178
+ hasRequiredParameters: true,
179
+ requiredParameterNames: ['access_code_id'],
186
180
  responseKey: undefined,
187
181
  options,
188
182
  })
@@ -195,16 +189,13 @@ export class SeamHttpAccessCodesUnmanaged {
195
189
  parameters: AccessCodesUnmanagedDeleteParameters,
196
190
  options: AccessCodesUnmanagedDeleteOptions = {},
197
191
  ): AccessCodesUnmanagedDeleteRequest {
198
- assertValidRequestParameters(
199
- parameters,
200
- '/access_codes/unmanaged/delete',
201
- true,
202
- )
203
-
204
192
  return new SeamHttpRequest(this, {
205
193
  pathname: '/access_codes/unmanaged/delete',
206
194
  method: 'DELETE',
207
195
  params: parameters,
196
+ parameters,
197
+ hasRequiredParameters: true,
198
+ requiredParameterNames: ['access_code_id'],
208
199
  responseKey: undefined,
209
200
  options,
210
201
  })
@@ -219,16 +210,13 @@ export class SeamHttpAccessCodesUnmanaged {
219
210
  parameters: AccessCodesUnmanagedGetParameters,
220
211
  options: AccessCodesUnmanagedGetOptions = {},
221
212
  ): AccessCodesUnmanagedGetRequest {
222
- assertValidRequestParameters(
223
- parameters,
224
- '/access_codes/unmanaged/get',
225
- true,
226
- )
227
-
228
213
  return new SeamHttpRequest(this, {
229
214
  pathname: '/access_codes/unmanaged/get',
230
215
  method: 'GET',
231
216
  params: parameters,
217
+ parameters,
218
+ hasRequiredParameters: true,
219
+ requiredParameterNames: [],
232
220
  responseKey: 'access_code',
233
221
  options,
234
222
  })
@@ -241,16 +229,13 @@ export class SeamHttpAccessCodesUnmanaged {
241
229
  parameters: AccessCodesUnmanagedListParameters,
242
230
  options: AccessCodesUnmanagedListOptions = {},
243
231
  ): AccessCodesUnmanagedListRequest {
244
- assertValidRequestParameters(
245
- parameters,
246
- '/access_codes/unmanaged/list',
247
- true,
248
- )
249
-
250
232
  return new SeamHttpRequest(this, {
251
233
  pathname: '/access_codes/unmanaged/list',
252
234
  method: 'GET',
253
235
  params: parameters,
236
+ parameters,
237
+ hasRequiredParameters: true,
238
+ requiredParameterNames: ['device_id'],
254
239
  responseKey: 'access_codes',
255
240
  options,
256
241
  })
@@ -263,16 +248,13 @@ export class SeamHttpAccessCodesUnmanaged {
263
248
  parameters: AccessCodesUnmanagedUpdateParameters,
264
249
  options: AccessCodesUnmanagedUpdateOptions = {},
265
250
  ): AccessCodesUnmanagedUpdateRequest {
266
- assertValidRequestParameters(
267
- parameters,
268
- '/access_codes/unmanaged/update',
269
- true,
270
- )
271
-
272
251
  return new SeamHttpRequest(this, {
273
252
  pathname: '/access_codes/unmanaged/update',
274
253
  method: 'PATCH',
275
254
  body: parameters,
255
+ parameters,
256
+ hasRequiredParameters: true,
257
+ requiredParameterNames: ['access_code_id', 'is_managed'],
276
258
  responseKey: undefined,
277
259
  options,
278
260
  })
@@ -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 { AccessGrant } from 'lib/resources/access-grant.js'
36
33
  import type { Batch } from 'lib/resources/batch.js'
37
34
  import { SeamHttpClientSessions } from 'lib/routes/client-sessions/index.js'
@@ -176,12 +173,13 @@ export class SeamHttpAccessGrants {
176
173
  parameters: AccessGrantsCreateParameters,
177
174
  options: AccessGrantsCreateOptions = {},
178
175
  ): AccessGrantsCreateRequest {
179
- assertValidRequestParameters(parameters, '/access_grants/create', true)
180
-
181
176
  return new SeamHttpRequest(this, {
182
177
  pathname: '/access_grants/create',
183
178
  method: 'POST',
184
179
  body: parameters,
180
+ parameters,
181
+ hasRequiredParameters: true,
182
+ requiredParameterNames: ['requested_access_methods'],
185
183
  responseKey: 'access_grant',
186
184
  options,
187
185
  })
@@ -194,12 +192,13 @@ export class SeamHttpAccessGrants {
194
192
  parameters: AccessGrantsDeleteParameters,
195
193
  options: AccessGrantsDeleteOptions = {},
196
194
  ): AccessGrantsDeleteRequest {
197
- assertValidRequestParameters(parameters, '/access_grants/delete', true)
198
-
199
195
  return new SeamHttpRequest(this, {
200
196
  pathname: '/access_grants/delete',
201
197
  method: 'DELETE',
202
198
  params: parameters,
199
+ parameters,
200
+ hasRequiredParameters: true,
201
+ requiredParameterNames: ['access_grant_id'],
203
202
  responseKey: undefined,
204
203
  options,
205
204
  })
@@ -212,12 +211,13 @@ export class SeamHttpAccessGrants {
212
211
  parameters: AccessGrantsGetParameters,
213
212
  options: AccessGrantsGetOptions = {},
214
213
  ): AccessGrantsGetRequest {
215
- assertValidRequestParameters(parameters, '/access_grants/get', true)
216
-
217
214
  return new SeamHttpRequest(this, {
218
215
  pathname: '/access_grants/get',
219
216
  method: 'GET',
220
217
  params: parameters,
218
+ parameters,
219
+ hasRequiredParameters: true,
220
+ requiredParameterNames: [],
221
221
  responseKey: 'access_grant',
222
222
  options,
223
223
  })
@@ -230,12 +230,13 @@ export class SeamHttpAccessGrants {
230
230
  parameters: AccessGrantsGetRelatedParameters,
231
231
  options: AccessGrantsGetRelatedOptions = {},
232
232
  ): AccessGrantsGetRelatedRequest {
233
- assertValidRequestParameters(parameters, '/access_grants/get_related', true)
234
-
235
233
  return new SeamHttpRequest(this, {
236
234
  pathname: '/access_grants/get_related',
237
235
  method: 'POST',
238
236
  body: parameters,
237
+ parameters,
238
+ hasRequiredParameters: true,
239
+ requiredParameterNames: [],
239
240
  responseKey: 'batch',
240
241
  options,
241
242
  })
@@ -248,12 +249,13 @@ export class SeamHttpAccessGrants {
248
249
  parameters?: AccessGrantsListParameters,
249
250
  options: AccessGrantsListOptions = {},
250
251
  ): AccessGrantsListRequest {
251
- assertValidRequestParameters(parameters, '/access_grants/list', false)
252
-
253
252
  return new SeamHttpRequest(this, {
254
253
  pathname: '/access_grants/list',
255
254
  method: 'POST',
256
255
  body: parameters,
256
+ parameters,
257
+ hasRequiredParameters: false,
258
+ requiredParameterNames: [],
257
259
  responseKey: 'access_grants',
258
260
  options,
259
261
  })
@@ -266,16 +268,13 @@ export class SeamHttpAccessGrants {
266
268
  parameters: AccessGrantsRequestAccessMethodsParameters,
267
269
  options: AccessGrantsRequestAccessMethodsOptions = {},
268
270
  ): AccessGrantsRequestAccessMethodsRequest {
269
- assertValidRequestParameters(
270
- parameters,
271
- '/access_grants/request_access_methods',
272
- true,
273
- )
274
-
275
271
  return new SeamHttpRequest(this, {
276
272
  pathname: '/access_grants/request_access_methods',
277
273
  method: 'POST',
278
274
  body: parameters,
275
+ parameters,
276
+ hasRequiredParameters: true,
277
+ requiredParameterNames: ['access_grant_id', 'requested_access_methods'],
279
278
  responseKey: 'access_grant',
280
279
  options,
281
280
  })
@@ -288,12 +287,13 @@ export class SeamHttpAccessGrants {
288
287
  parameters: AccessGrantsUpdateParameters,
289
288
  options: AccessGrantsUpdateOptions = {},
290
289
  ): AccessGrantsUpdateRequest {
291
- assertValidRequestParameters(parameters, '/access_grants/update', true)
292
-
293
290
  return new SeamHttpRequest(this, {
294
291
  pathname: '/access_grants/update',
295
292
  method: 'PATCH',
296
293
  body: parameters,
294
+ parameters,
295
+ hasRequiredParameters: true,
296
+ requiredParameterNames: [],
297
297
  responseKey: undefined,
298
298
  options,
299
299
  })
@@ -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 { UnmanagedAccessGrant } from 'lib/resources/unmanaged-access-grant.js'
33
32
  import { SeamHttpClientSessions } from 'lib/routes/client-sessions/index.js'
34
33
  import { SeamHttpRequest } from 'lib/seam-http-request.js'
@@ -166,16 +165,13 @@ export class SeamHttpAccessGrantsUnmanaged {
166
165
  parameters: AccessGrantsUnmanagedGetParameters,
167
166
  options: AccessGrantsUnmanagedGetOptions = {},
168
167
  ): AccessGrantsUnmanagedGetRequest {
169
- assertValidRequestParameters(
170
- parameters,
171
- '/access_grants/unmanaged/get',
172
- true,
173
- )
174
-
175
168
  return new SeamHttpRequest(this, {
176
169
  pathname: '/access_grants/unmanaged/get',
177
170
  method: 'GET',
178
171
  params: parameters,
172
+ parameters,
173
+ hasRequiredParameters: true,
174
+ requiredParameterNames: ['access_grant_id'],
179
175
  responseKey: 'access_grant',
180
176
  options,
181
177
  })
@@ -188,16 +184,13 @@ export class SeamHttpAccessGrantsUnmanaged {
188
184
  parameters?: AccessGrantsUnmanagedListParameters,
189
185
  options: AccessGrantsUnmanagedListOptions = {},
190
186
  ): AccessGrantsUnmanagedListRequest {
191
- assertValidRequestParameters(
192
- parameters,
193
- '/access_grants/unmanaged/list',
194
- false,
195
- )
196
-
197
187
  return new SeamHttpRequest(this, {
198
188
  pathname: '/access_grants/unmanaged/list',
199
189
  method: 'GET',
200
190
  params: parameters,
191
+ parameters,
192
+ hasRequiredParameters: false,
193
+ requiredParameterNames: [],
201
194
  responseKey: 'access_grants',
202
195
  options,
203
196
  })
@@ -214,16 +207,13 @@ export class SeamHttpAccessGrantsUnmanaged {
214
207
  parameters: AccessGrantsUnmanagedUpdateParameters,
215
208
  options: AccessGrantsUnmanagedUpdateOptions = {},
216
209
  ): AccessGrantsUnmanagedUpdateRequest {
217
- assertValidRequestParameters(
218
- parameters,
219
- '/access_grants/unmanaged/update',
220
- true,
221
- )
222
-
223
210
  return new SeamHttpRequest(this, {
224
211
  pathname: '/access_grants/unmanaged/update',
225
212
  method: 'PATCH',
226
213
  body: parameters,
214
+ parameters,
215
+ hasRequiredParameters: true,
216
+ requiredParameterNames: ['access_grant_id', 'is_managed'],
227
217
  responseKey: undefined,
228
218
  options,
229
219
  })
@@ -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 { AccessMethod } from 'lib/resources/access-method.js'
36
33
  import type { ActionAttempt } from 'lib/resources/action-attempt.js'
37
34
  import type { Batch } from 'lib/resources/batch.js'
@@ -178,16 +175,13 @@ export class SeamHttpAccessMethods {
178
175
  parameters: AccessMethodsAssignCardParameters,
179
176
  options: AccessMethodsAssignCardOptions = {},
180
177
  ): AccessMethodsAssignCardRequest {
181
- assertValidRequestParameters(
182
- parameters,
183
- '/access_methods/assign_card',
184
- true,
185
- )
186
-
187
178
  return new SeamHttpRequest(this, {
188
179
  pathname: '/access_methods/assign_card',
189
180
  method: 'POST',
190
181
  body: parameters,
182
+ parameters,
183
+ hasRequiredParameters: true,
184
+ requiredParameterNames: ['access_method_id', 'card_number'],
191
185
  responseKey: 'action_attempt',
192
186
  options,
193
187
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -204,12 +198,13 @@ export class SeamHttpAccessMethods {
204
198
  parameters: AccessMethodsDeleteParameters,
205
199
  options: AccessMethodsDeleteOptions = {},
206
200
  ): AccessMethodsDeleteRequest {
207
- assertValidRequestParameters(parameters, '/access_methods/delete', true)
208
-
209
201
  return new SeamHttpRequest(this, {
210
202
  pathname: '/access_methods/delete',
211
203
  method: 'DELETE',
212
204
  params: parameters,
205
+ parameters,
206
+ hasRequiredParameters: true,
207
+ requiredParameterNames: [],
213
208
  responseKey: undefined,
214
209
  options,
215
210
  })
@@ -222,12 +217,13 @@ export class SeamHttpAccessMethods {
222
217
  parameters: AccessMethodsEncodeParameters,
223
218
  options: AccessMethodsEncodeOptions = {},
224
219
  ): AccessMethodsEncodeRequest {
225
- assertValidRequestParameters(parameters, '/access_methods/encode', true)
226
-
227
220
  return new SeamHttpRequest(this, {
228
221
  pathname: '/access_methods/encode',
229
222
  method: 'POST',
230
223
  body: parameters,
224
+ parameters,
225
+ hasRequiredParameters: true,
226
+ requiredParameterNames: ['access_method_id', 'acs_encoder_id'],
231
227
  responseKey: 'action_attempt',
232
228
  options,
233
229
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -244,12 +240,13 @@ export class SeamHttpAccessMethods {
244
240
  parameters: AccessMethodsGetParameters,
245
241
  options: AccessMethodsGetOptions = {},
246
242
  ): AccessMethodsGetRequest {
247
- assertValidRequestParameters(parameters, '/access_methods/get', true)
248
-
249
243
  return new SeamHttpRequest(this, {
250
244
  pathname: '/access_methods/get',
251
245
  method: 'GET',
252
246
  params: parameters,
247
+ parameters,
248
+ hasRequiredParameters: true,
249
+ requiredParameterNames: ['access_method_id'],
253
250
  responseKey: 'access_method',
254
251
  options,
255
252
  })
@@ -262,16 +259,13 @@ export class SeamHttpAccessMethods {
262
259
  parameters: AccessMethodsGetRelatedParameters,
263
260
  options: AccessMethodsGetRelatedOptions = {},
264
261
  ): AccessMethodsGetRelatedRequest {
265
- assertValidRequestParameters(
266
- parameters,
267
- '/access_methods/get_related',
268
- true,
269
- )
270
-
271
262
  return new SeamHttpRequest(this, {
272
263
  pathname: '/access_methods/get_related',
273
264
  method: 'POST',
274
265
  body: parameters,
266
+ parameters,
267
+ hasRequiredParameters: true,
268
+ requiredParameterNames: ['access_method_ids'],
275
269
  responseKey: 'batch',
276
270
  options,
277
271
  })
@@ -284,12 +278,13 @@ export class SeamHttpAccessMethods {
284
278
  parameters: AccessMethodsListParameters,
285
279
  options: AccessMethodsListOptions = {},
286
280
  ): AccessMethodsListRequest {
287
- assertValidRequestParameters(parameters, '/access_methods/list', true)
288
-
289
281
  return new SeamHttpRequest(this, {
290
282
  pathname: '/access_methods/list',
291
283
  method: 'GET',
292
284
  params: parameters,
285
+ parameters,
286
+ hasRequiredParameters: true,
287
+ requiredParameterNames: [],
293
288
  responseKey: 'access_methods',
294
289
  options,
295
290
  })
@@ -302,16 +297,13 @@ export class SeamHttpAccessMethods {
302
297
  parameters: AccessMethodsUnlockDoorParameters,
303
298
  options: AccessMethodsUnlockDoorOptions = {},
304
299
  ): AccessMethodsUnlockDoorRequest {
305
- assertValidRequestParameters(
306
- parameters,
307
- '/access_methods/unlock_door',
308
- true,
309
- )
310
-
311
300
  return new SeamHttpRequest(this, {
312
301
  pathname: '/access_methods/unlock_door',
313
302
  method: 'POST',
314
303
  body: parameters,
304
+ parameters,
305
+ hasRequiredParameters: true,
306
+ requiredParameterNames: ['access_method_id', 'acs_entrance_id'],
315
307
  responseKey: 'action_attempt',
316
308
  options,
317
309
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {