@seamapi/http 2.5.0 → 2.6.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 (164) hide show
  1. package/README.md +47 -0
  2. package/index.d.ts +0 -1
  3. package/index.js +0 -1
  4. package/index.js.map +1 -1
  5. package/lib/client.js +1 -1
  6. package/lib/client.js.map +1 -1
  7. package/lib/index.d.ts +1 -0
  8. package/lib/index.js +1 -0
  9. package/lib/index.js.map +1 -1
  10. package/lib/request-parameters.d.ts +1 -1
  11. package/lib/request-parameters.js.map +1 -1
  12. package/lib/routes/access-codes/access-codes.d.ts +1 -1
  13. package/lib/routes/access-codes/access-codes.js +30 -17
  14. package/lib/routes/access-codes/access-codes.js.map +1 -1
  15. package/lib/routes/access-codes/simulate/simulate.js +3 -2
  16. package/lib/routes/access-codes/simulate/simulate.js.map +1 -1
  17. package/lib/routes/access-codes/unmanaged/unmanaged.d.ts +1 -1
  18. package/lib/routes/access-codes/unmanaged/unmanaged.js +15 -6
  19. package/lib/routes/access-codes/unmanaged/unmanaged.js.map +1 -1
  20. package/lib/routes/access-grants/access-grants.d.ts +1 -1
  21. package/lib/routes/access-grants/access-grants.js +21 -12
  22. package/lib/routes/access-grants/access-grants.js.map +1 -1
  23. package/lib/routes/access-grants/unmanaged/unmanaged.js +9 -4
  24. package/lib/routes/access-grants/unmanaged/unmanaged.js.map +1 -1
  25. package/lib/routes/access-methods/access-methods.d.ts +1 -1
  26. package/lib/routes/access-methods/access-methods.js +21 -13
  27. package/lib/routes/access-methods/access-methods.js.map +1 -1
  28. package/lib/routes/access-methods/unmanaged/unmanaged.js +6 -3
  29. package/lib/routes/access-methods/unmanaged/unmanaged.js.map +1 -1
  30. package/lib/routes/acs/access-groups/access-groups.js +21 -10
  31. package/lib/routes/acs/access-groups/access-groups.js.map +1 -1
  32. package/lib/routes/acs/credentials/credentials.js +24 -19
  33. package/lib/routes/acs/credentials/credentials.js.map +1 -1
  34. package/lib/routes/acs/encoders/encoders.js +15 -8
  35. package/lib/routes/acs/encoders/encoders.js.map +1 -1
  36. package/lib/routes/acs/encoders/simulate/simulate.js +12 -5
  37. package/lib/routes/acs/encoders/simulate/simulate.js.map +1 -1
  38. package/lib/routes/acs/entrances/entrances.js +15 -11
  39. package/lib/routes/acs/entrances/entrances.js.map +1 -1
  40. package/lib/routes/acs/systems/systems.js +12 -7
  41. package/lib/routes/acs/systems/systems.js.map +1 -1
  42. package/lib/routes/acs/users/users.d.ts +1 -1
  43. package/lib/routes/acs/users/users.js +33 -15
  44. package/lib/routes/acs/users/users.js.map +1 -1
  45. package/lib/routes/action-attempts/action-attempts.js +6 -5
  46. package/lib/routes/action-attempts/action-attempts.js.map +1 -1
  47. package/lib/routes/client-sessions/client-sessions.d.ts +1 -1
  48. package/lib/routes/client-sessions/client-sessions.js +21 -12
  49. package/lib/routes/client-sessions/client-sessions.js.map +1 -1
  50. package/lib/routes/connect-webviews/connect-webviews.js +12 -9
  51. package/lib/routes/connect-webviews/connect-webviews.js.map +1 -1
  52. package/lib/routes/connected-accounts/connected-accounts.d.ts +1 -1
  53. package/lib/routes/connected-accounts/connected-accounts.js +15 -8
  54. package/lib/routes/connected-accounts/connected-accounts.js.map +1 -1
  55. package/lib/routes/connected-accounts/simulate/simulate.js +3 -2
  56. package/lib/routes/connected-accounts/simulate/simulate.js.map +1 -1
  57. package/lib/routes/customers/customers.js +9 -6
  58. package/lib/routes/customers/customers.js.map +1 -1
  59. package/lib/routes/devices/devices.d.ts +1 -1
  60. package/lib/routes/devices/devices.js +15 -8
  61. package/lib/routes/devices/devices.js.map +1 -1
  62. package/lib/routes/devices/simulate/simulate.js +18 -9
  63. package/lib/routes/devices/simulate/simulate.js.map +1 -1
  64. package/lib/routes/devices/unmanaged/unmanaged.d.ts +1 -1
  65. package/lib/routes/devices/unmanaged/unmanaged.js +9 -4
  66. package/lib/routes/devices/unmanaged/unmanaged.js.map +1 -1
  67. package/lib/routes/events/events.d.ts +1 -1
  68. package/lib/routes/events/events.js +6 -3
  69. package/lib/routes/events/events.js.map +1 -1
  70. package/lib/routes/instant-keys/instant-keys.d.ts +1 -1
  71. package/lib/routes/instant-keys/instant-keys.js +9 -6
  72. package/lib/routes/instant-keys/instant-keys.js.map +1 -1
  73. package/lib/routes/locks/locks.d.ts +1 -1
  74. package/lib/routes/locks/locks.js +15 -10
  75. package/lib/routes/locks/locks.js.map +1 -1
  76. package/lib/routes/locks/simulate/simulate.js +6 -3
  77. package/lib/routes/locks/simulate/simulate.js.map +1 -1
  78. package/lib/routes/noise-sensors/noise-sensors.js +3 -2
  79. package/lib/routes/noise-sensors/noise-sensors.js.map +1 -1
  80. package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js +15 -6
  81. package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js.map +1 -1
  82. package/lib/routes/noise-sensors/simulate/simulate.js +3 -2
  83. package/lib/routes/noise-sensors/simulate/simulate.js.map +1 -1
  84. package/lib/routes/phones/phones.js +9 -6
  85. package/lib/routes/phones/phones.js.map +1 -1
  86. package/lib/routes/phones/simulate/simulate.js +3 -2
  87. package/lib/routes/phones/simulate/simulate.js.map +1 -1
  88. package/lib/routes/spaces/spaces.d.ts +1 -1
  89. package/lib/routes/spaces/spaces.js +36 -21
  90. package/lib/routes/spaces/spaces.js.map +1 -1
  91. package/lib/routes/thermostats/daily-programs/daily-programs.js +13 -4
  92. package/lib/routes/thermostats/daily-programs/daily-programs.js.map +1 -1
  93. package/lib/routes/thermostats/schedules/schedules.js +20 -6
  94. package/lib/routes/thermostats/schedules/schedules.js.map +1 -1
  95. package/lib/routes/thermostats/simulate/simulate.js +6 -3
  96. package/lib/routes/thermostats/simulate/simulate.js.map +1 -1
  97. package/lib/routes/thermostats/thermostats.js +42 -23
  98. package/lib/routes/thermostats/thermostats.js.map +1 -1
  99. package/lib/routes/user-identities/unmanaged/unmanaged.js +9 -4
  100. package/lib/routes/user-identities/unmanaged/unmanaged.js.map +1 -1
  101. package/lib/routes/user-identities/user-identities.d.ts +1 -1
  102. package/lib/routes/user-identities/user-identities.js +42 -19
  103. package/lib/routes/user-identities/user-identities.js.map +1 -1
  104. package/lib/routes/webhooks/webhooks.js +15 -13
  105. package/lib/routes/webhooks/webhooks.js.map +1 -1
  106. package/lib/routes/workspaces/workspaces.js +15 -8
  107. package/lib/routes/workspaces/workspaces.js.map +1 -1
  108. package/lib/seam-http-request.d.ts +3 -0
  109. package/lib/seam-http-request.js +3 -1
  110. package/lib/seam-http-request.js.map +1 -1
  111. package/lib/url-search-params-serializer.d.ts +4 -0
  112. package/lib/url-search-params-serializer.js +17 -0
  113. package/lib/url-search-params-serializer.js.map +1 -0
  114. package/lib/version.d.ts +1 -1
  115. package/lib/version.js +1 -1
  116. package/package.json +2 -2
  117. package/src/index.ts +0 -1
  118. package/src/lib/client.ts +1 -1
  119. package/src/lib/index.ts +1 -0
  120. package/src/lib/request-parameters.ts +1 -1
  121. package/src/lib/routes/access-codes/access-codes.ts +31 -55
  122. package/src/lib/routes/access-codes/simulate/simulate.ts +3 -8
  123. package/src/lib/routes/access-codes/unmanaged/unmanaged.ts +16 -39
  124. package/src/lib/routes/access-grants/access-grants.ts +22 -32
  125. package/src/lib/routes/access-grants/unmanaged/unmanaged.ts +9 -22
  126. package/src/lib/routes/access-methods/access-methods.ts +22 -38
  127. package/src/lib/routes/access-methods/unmanaged/unmanaged.ts +6 -15
  128. package/src/lib/routes/acs/access-groups/access-groups.ts +21 -47
  129. package/src/lib/routes/acs/credentials/credentials.ts +24 -37
  130. package/src/lib/routes/acs/encoders/encoders.ts +15 -28
  131. package/src/lib/routes/acs/encoders/simulate/simulate.ts +12 -29
  132. package/src/lib/routes/acs/entrances/entrances.ts +15 -26
  133. package/src/lib/routes/acs/systems/systems.ts +12 -21
  134. package/src/lib/routes/acs/users/users.ts +34 -49
  135. package/src/lib/routes/action-attempts/action-attempts.ts +6 -7
  136. package/src/lib/routes/client-sessions/client-sessions.ts +22 -37
  137. package/src/lib/routes/connect-webviews/connect-webviews.ts +12 -23
  138. package/src/lib/routes/connected-accounts/connected-accounts.ts +16 -36
  139. package/src/lib/routes/connected-accounts/simulate/simulate.ts +3 -8
  140. package/src/lib/routes/customers/customers.ts +9 -19
  141. package/src/lib/routes/devices/devices.ts +16 -26
  142. package/src/lib/routes/devices/simulate/simulate.ts +18 -40
  143. package/src/lib/routes/devices/unmanaged/unmanaged.ts +10 -20
  144. package/src/lib/routes/events/events.ts +7 -8
  145. package/src/lib/routes/instant-keys/instant-keys.ts +10 -12
  146. package/src/lib/routes/locks/locks.ts +16 -23
  147. package/src/lib/routes/locks/simulate/simulate.ts +6 -15
  148. package/src/lib/routes/noise-sensors/noise-sensors.ts +3 -3
  149. package/src/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.ts +15 -36
  150. package/src/lib/routes/noise-sensors/simulate/simulate.ts +3 -8
  151. package/src/lib/routes/phones/phones.ts +9 -9
  152. package/src/lib/routes/phones/simulate/simulate.ts +3 -8
  153. package/src/lib/routes/spaces/spaces.ts +37 -56
  154. package/src/lib/routes/thermostats/daily-programs/daily-programs.ts +13 -22
  155. package/src/lib/routes/thermostats/schedules/schedules.ts +20 -36
  156. package/src/lib/routes/thermostats/simulate/simulate.ts +6 -15
  157. package/src/lib/routes/thermostats/thermostats.ts +42 -82
  158. package/src/lib/routes/user-identities/unmanaged/unmanaged.ts +9 -22
  159. package/src/lib/routes/user-identities/user-identities.ts +43 -86
  160. package/src/lib/routes/webhooks/webhooks.ts +15 -18
  161. package/src/lib/routes/workspaces/workspaces.ts +15 -18
  162. package/src/lib/seam-http-request.ts +12 -1
  163. package/src/lib/url-search-params-serializer.ts +28 -0
  164. 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,14 +177,13 @@ export class SeamHttpAccessCodes {
180
177
  parameters: AccessCodesCreateParameters,
181
178
  options: AccessCodesCreateOptions = {},
182
179
  ): AccessCodesCreateRequest {
183
- assertValidRequestParameters(parameters, '/access_codes/create', true, [
184
- 'device_id',
185
- ])
186
-
187
180
  return new SeamHttpRequest(this, {
188
181
  pathname: '/access_codes/create',
189
182
  method: 'POST',
190
183
  body: parameters,
184
+ parameters,
185
+ hasRequiredParameters: true,
186
+ requiredParameterNames: ['device_id'],
191
187
  responseKey: 'access_code',
192
188
  options,
193
189
  })
@@ -210,17 +206,13 @@ export class SeamHttpAccessCodes {
210
206
  parameters: AccessCodesCreateMultipleParameters,
211
207
  options: AccessCodesCreateMultipleOptions = {},
212
208
  ): AccessCodesCreateMultipleRequest {
213
- assertValidRequestParameters(
214
- parameters,
215
- '/access_codes/create_multiple',
216
- true,
217
- ['device_ids'],
218
- )
219
-
220
209
  return new SeamHttpRequest(this, {
221
210
  pathname: '/access_codes/create_multiple',
222
211
  method: 'PUT',
223
212
  body: parameters,
213
+ parameters,
214
+ hasRequiredParameters: true,
215
+ requiredParameterNames: ['device_ids'],
224
216
  responseKey: 'access_codes',
225
217
  options,
226
218
  })
@@ -233,14 +225,13 @@ export class SeamHttpAccessCodes {
233
225
  parameters: AccessCodesDeleteParameters,
234
226
  options: AccessCodesDeleteOptions = {},
235
227
  ): AccessCodesDeleteRequest {
236
- assertValidRequestParameters(parameters, '/access_codes/delete', true, [
237
- 'access_code_id',
238
- ])
239
-
240
228
  return new SeamHttpRequest(this, {
241
229
  pathname: '/access_codes/delete',
242
230
  method: 'DELETE',
243
231
  params: parameters,
232
+ parameters,
233
+ hasRequiredParameters: true,
234
+ requiredParameterNames: ['access_code_id'],
244
235
  responseKey: undefined,
245
236
  options,
246
237
  })
@@ -253,17 +244,13 @@ export class SeamHttpAccessCodes {
253
244
  parameters: AccessCodesGenerateCodeParameters,
254
245
  options: AccessCodesGenerateCodeOptions = {},
255
246
  ): AccessCodesGenerateCodeRequest {
256
- assertValidRequestParameters(
257
- parameters,
258
- '/access_codes/generate_code',
259
- true,
260
- ['device_id'],
261
- )
262
-
263
247
  return new SeamHttpRequest(this, {
264
248
  pathname: '/access_codes/generate_code',
265
249
  method: 'GET',
266
250
  params: parameters,
251
+ parameters,
252
+ hasRequiredParameters: true,
253
+ requiredParameterNames: ['device_id'],
267
254
  responseKey: 'generated_code',
268
255
  options,
269
256
  })
@@ -278,12 +265,13 @@ export class SeamHttpAccessCodes {
278
265
  parameters: AccessCodesGetParameters,
279
266
  options: AccessCodesGetOptions = {},
280
267
  ): AccessCodesGetRequest {
281
- assertValidRequestParameters(parameters, '/access_codes/get', true, [])
282
-
283
268
  return new SeamHttpRequest(this, {
284
269
  pathname: '/access_codes/get',
285
270
  method: 'GET',
286
271
  params: parameters,
272
+ parameters,
273
+ hasRequiredParameters: true,
274
+ requiredParameterNames: [],
287
275
  responseKey: 'access_code',
288
276
  options,
289
277
  })
@@ -298,12 +286,13 @@ export class SeamHttpAccessCodes {
298
286
  parameters: AccessCodesListParameters,
299
287
  options: AccessCodesListOptions = {},
300
288
  ): AccessCodesListRequest {
301
- assertValidRequestParameters(parameters, '/access_codes/list', true, [])
302
-
303
289
  return new SeamHttpRequest(this, {
304
290
  pathname: '/access_codes/list',
305
291
  method: 'POST',
306
292
  body: parameters,
293
+ parameters,
294
+ hasRequiredParameters: true,
295
+ requiredParameterNames: [],
307
296
  responseKey: 'access_codes',
308
297
  options,
309
298
  })
@@ -324,17 +313,13 @@ export class SeamHttpAccessCodes {
324
313
  parameters: AccessCodesPullBackupAccessCodeParameters,
325
314
  options: AccessCodesPullBackupAccessCodeOptions = {},
326
315
  ): AccessCodesPullBackupAccessCodeRequest {
327
- assertValidRequestParameters(
328
- parameters,
329
- '/access_codes/pull_backup_access_code',
330
- true,
331
- ['access_code_id'],
332
- )
333
-
334
316
  return new SeamHttpRequest(this, {
335
317
  pathname: '/access_codes/pull_backup_access_code',
336
318
  method: 'POST',
337
319
  body: parameters,
320
+ parameters,
321
+ hasRequiredParameters: true,
322
+ requiredParameterNames: ['access_code_id'],
338
323
  responseKey: 'access_code',
339
324
  options,
340
325
  })
@@ -349,17 +334,13 @@ export class SeamHttpAccessCodes {
349
334
  parameters: AccessCodesReportDeviceConstraintsParameters,
350
335
  options: AccessCodesReportDeviceConstraintsOptions = {},
351
336
  ): AccessCodesReportDeviceConstraintsRequest {
352
- assertValidRequestParameters(
353
- parameters,
354
- '/access_codes/report_device_constraints',
355
- true,
356
- ['device_id'],
357
- )
358
-
359
337
  return new SeamHttpRequest(this, {
360
338
  pathname: '/access_codes/report_device_constraints',
361
339
  method: 'POST',
362
340
  body: parameters,
341
+ parameters,
342
+ hasRequiredParameters: true,
343
+ requiredParameterNames: ['device_id'],
363
344
  responseKey: undefined,
364
345
  options,
365
346
  })
@@ -374,14 +355,13 @@ export class SeamHttpAccessCodes {
374
355
  parameters: AccessCodesUpdateParameters,
375
356
  options: AccessCodesUpdateOptions = {},
376
357
  ): AccessCodesUpdateRequest {
377
- assertValidRequestParameters(parameters, '/access_codes/update', true, [
378
- 'access_code_id',
379
- ])
380
-
381
358
  return new SeamHttpRequest(this, {
382
359
  pathname: '/access_codes/update',
383
360
  method: 'PUT',
384
361
  body: parameters,
362
+ parameters,
363
+ hasRequiredParameters: true,
364
+ requiredParameterNames: ['access_code_id'],
385
365
  responseKey: undefined,
386
366
  options,
387
367
  })
@@ -398,17 +378,13 @@ export class SeamHttpAccessCodes {
398
378
  parameters: AccessCodesUpdateMultipleParameters,
399
379
  options: AccessCodesUpdateMultipleOptions = {},
400
380
  ): AccessCodesUpdateMultipleRequest {
401
- assertValidRequestParameters(
402
- parameters,
403
- '/access_codes/update_multiple',
404
- true,
405
- ['common_code_key'],
406
- )
407
-
408
381
  return new SeamHttpRequest(this, {
409
382
  pathname: '/access_codes/update_multiple',
410
383
  method: 'PATCH',
411
384
  body: parameters,
385
+ parameters,
386
+ hasRequiredParameters: true,
387
+ requiredParameterNames: ['common_code_key'],
412
388
  responseKey: undefined,
413
389
  options,
414
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,17 +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
- ['code', 'device_id', 'name'],
174
- )
175
-
176
168
  return new SeamHttpRequest(this, {
177
169
  pathname: '/access_codes/simulate/create_unmanaged_access_code',
178
170
  method: 'POST',
179
171
  body: parameters,
172
+ parameters,
173
+ hasRequiredParameters: true,
174
+ requiredParameterNames: ['code', 'device_id', 'name'],
180
175
  responseKey: 'access_code',
181
176
  options,
182
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,17 +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
- ['access_code_id'],
181
- )
182
-
183
173
  return new SeamHttpRequest(this, {
184
174
  pathname: '/access_codes/unmanaged/convert_to_managed',
185
175
  method: 'PATCH',
186
176
  body: parameters,
177
+ parameters,
178
+ hasRequiredParameters: true,
179
+ requiredParameterNames: ['access_code_id'],
187
180
  responseKey: undefined,
188
181
  options,
189
182
  })
@@ -196,17 +189,13 @@ export class SeamHttpAccessCodesUnmanaged {
196
189
  parameters: AccessCodesUnmanagedDeleteParameters,
197
190
  options: AccessCodesUnmanagedDeleteOptions = {},
198
191
  ): AccessCodesUnmanagedDeleteRequest {
199
- assertValidRequestParameters(
200
- parameters,
201
- '/access_codes/unmanaged/delete',
202
- true,
203
- ['access_code_id'],
204
- )
205
-
206
192
  return new SeamHttpRequest(this, {
207
193
  pathname: '/access_codes/unmanaged/delete',
208
194
  method: 'DELETE',
209
195
  params: parameters,
196
+ parameters,
197
+ hasRequiredParameters: true,
198
+ requiredParameterNames: ['access_code_id'],
210
199
  responseKey: undefined,
211
200
  options,
212
201
  })
@@ -221,17 +210,13 @@ export class SeamHttpAccessCodesUnmanaged {
221
210
  parameters: AccessCodesUnmanagedGetParameters,
222
211
  options: AccessCodesUnmanagedGetOptions = {},
223
212
  ): AccessCodesUnmanagedGetRequest {
224
- assertValidRequestParameters(
225
- parameters,
226
- '/access_codes/unmanaged/get',
227
- true,
228
- [],
229
- )
230
-
231
213
  return new SeamHttpRequest(this, {
232
214
  pathname: '/access_codes/unmanaged/get',
233
215
  method: 'GET',
234
216
  params: parameters,
217
+ parameters,
218
+ hasRequiredParameters: true,
219
+ requiredParameterNames: [],
235
220
  responseKey: 'access_code',
236
221
  options,
237
222
  })
@@ -244,17 +229,13 @@ export class SeamHttpAccessCodesUnmanaged {
244
229
  parameters: AccessCodesUnmanagedListParameters,
245
230
  options: AccessCodesUnmanagedListOptions = {},
246
231
  ): AccessCodesUnmanagedListRequest {
247
- assertValidRequestParameters(
248
- parameters,
249
- '/access_codes/unmanaged/list',
250
- true,
251
- ['device_id'],
252
- )
253
-
254
232
  return new SeamHttpRequest(this, {
255
233
  pathname: '/access_codes/unmanaged/list',
256
234
  method: 'GET',
257
235
  params: parameters,
236
+ parameters,
237
+ hasRequiredParameters: true,
238
+ requiredParameterNames: ['device_id'],
258
239
  responseKey: 'access_codes',
259
240
  options,
260
241
  })
@@ -267,17 +248,13 @@ export class SeamHttpAccessCodesUnmanaged {
267
248
  parameters: AccessCodesUnmanagedUpdateParameters,
268
249
  options: AccessCodesUnmanagedUpdateOptions = {},
269
250
  ): AccessCodesUnmanagedUpdateRequest {
270
- assertValidRequestParameters(
271
- parameters,
272
- '/access_codes/unmanaged/update',
273
- true,
274
- ['access_code_id', 'is_managed'],
275
- )
276
-
277
251
  return new SeamHttpRequest(this, {
278
252
  pathname: '/access_codes/unmanaged/update',
279
253
  method: 'PATCH',
280
254
  body: parameters,
255
+ parameters,
256
+ hasRequiredParameters: true,
257
+ requiredParameterNames: ['access_code_id', 'is_managed'],
281
258
  responseKey: undefined,
282
259
  options,
283
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,14 +173,13 @@ export class SeamHttpAccessGrants {
176
173
  parameters: AccessGrantsCreateParameters,
177
174
  options: AccessGrantsCreateOptions = {},
178
175
  ): AccessGrantsCreateRequest {
179
- assertValidRequestParameters(parameters, '/access_grants/create', true, [
180
- 'requested_access_methods',
181
- ])
182
-
183
176
  return new SeamHttpRequest(this, {
184
177
  pathname: '/access_grants/create',
185
178
  method: 'POST',
186
179
  body: parameters,
180
+ parameters,
181
+ hasRequiredParameters: true,
182
+ requiredParameterNames: ['requested_access_methods'],
187
183
  responseKey: 'access_grant',
188
184
  options,
189
185
  })
@@ -196,14 +192,13 @@ export class SeamHttpAccessGrants {
196
192
  parameters: AccessGrantsDeleteParameters,
197
193
  options: AccessGrantsDeleteOptions = {},
198
194
  ): AccessGrantsDeleteRequest {
199
- assertValidRequestParameters(parameters, '/access_grants/delete', true, [
200
- 'access_grant_id',
201
- ])
202
-
203
195
  return new SeamHttpRequest(this, {
204
196
  pathname: '/access_grants/delete',
205
197
  method: 'DELETE',
206
198
  params: parameters,
199
+ parameters,
200
+ hasRequiredParameters: true,
201
+ requiredParameterNames: ['access_grant_id'],
207
202
  responseKey: undefined,
208
203
  options,
209
204
  })
@@ -216,12 +211,13 @@ export class SeamHttpAccessGrants {
216
211
  parameters: AccessGrantsGetParameters,
217
212
  options: AccessGrantsGetOptions = {},
218
213
  ): AccessGrantsGetRequest {
219
- assertValidRequestParameters(parameters, '/access_grants/get', true, [])
220
-
221
214
  return new SeamHttpRequest(this, {
222
215
  pathname: '/access_grants/get',
223
216
  method: 'GET',
224
217
  params: parameters,
218
+ parameters,
219
+ hasRequiredParameters: true,
220
+ requiredParameterNames: [],
225
221
  responseKey: 'access_grant',
226
222
  options,
227
223
  })
@@ -234,17 +230,13 @@ export class SeamHttpAccessGrants {
234
230
  parameters: AccessGrantsGetRelatedParameters,
235
231
  options: AccessGrantsGetRelatedOptions = {},
236
232
  ): AccessGrantsGetRelatedRequest {
237
- assertValidRequestParameters(
238
- parameters,
239
- '/access_grants/get_related',
240
- true,
241
- [],
242
- )
243
-
244
233
  return new SeamHttpRequest(this, {
245
234
  pathname: '/access_grants/get_related',
246
235
  method: 'POST',
247
236
  body: parameters,
237
+ parameters,
238
+ hasRequiredParameters: true,
239
+ requiredParameterNames: [],
248
240
  responseKey: 'batch',
249
241
  options,
250
242
  })
@@ -257,12 +249,13 @@ export class SeamHttpAccessGrants {
257
249
  parameters?: AccessGrantsListParameters,
258
250
  options: AccessGrantsListOptions = {},
259
251
  ): AccessGrantsListRequest {
260
- assertValidRequestParameters(parameters, '/access_grants/list', false, [])
261
-
262
252
  return new SeamHttpRequest(this, {
263
253
  pathname: '/access_grants/list',
264
254
  method: 'POST',
265
255
  body: parameters,
256
+ parameters,
257
+ hasRequiredParameters: false,
258
+ requiredParameterNames: [],
266
259
  responseKey: 'access_grants',
267
260
  options,
268
261
  })
@@ -275,17 +268,13 @@ export class SeamHttpAccessGrants {
275
268
  parameters: AccessGrantsRequestAccessMethodsParameters,
276
269
  options: AccessGrantsRequestAccessMethodsOptions = {},
277
270
  ): AccessGrantsRequestAccessMethodsRequest {
278
- assertValidRequestParameters(
279
- parameters,
280
- '/access_grants/request_access_methods',
281
- true,
282
- ['access_grant_id', 'requested_access_methods'],
283
- )
284
-
285
271
  return new SeamHttpRequest(this, {
286
272
  pathname: '/access_grants/request_access_methods',
287
273
  method: 'POST',
288
274
  body: parameters,
275
+ parameters,
276
+ hasRequiredParameters: true,
277
+ requiredParameterNames: ['access_grant_id', 'requested_access_methods'],
289
278
  responseKey: 'access_grant',
290
279
  options,
291
280
  })
@@ -298,12 +287,13 @@ export class SeamHttpAccessGrants {
298
287
  parameters: AccessGrantsUpdateParameters,
299
288
  options: AccessGrantsUpdateOptions = {},
300
289
  ): AccessGrantsUpdateRequest {
301
- assertValidRequestParameters(parameters, '/access_grants/update', true, [])
302
-
303
290
  return new SeamHttpRequest(this, {
304
291
  pathname: '/access_grants/update',
305
292
  method: 'PATCH',
306
293
  body: parameters,
294
+ parameters,
295
+ hasRequiredParameters: true,
296
+ requiredParameterNames: [],
307
297
  responseKey: undefined,
308
298
  options,
309
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,17 +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
- ['access_grant_id'],
174
- )
175
-
176
168
  return new SeamHttpRequest(this, {
177
169
  pathname: '/access_grants/unmanaged/get',
178
170
  method: 'GET',
179
171
  params: parameters,
172
+ parameters,
173
+ hasRequiredParameters: true,
174
+ requiredParameterNames: ['access_grant_id'],
180
175
  responseKey: 'access_grant',
181
176
  options,
182
177
  })
@@ -189,17 +184,13 @@ export class SeamHttpAccessGrantsUnmanaged {
189
184
  parameters?: AccessGrantsUnmanagedListParameters,
190
185
  options: AccessGrantsUnmanagedListOptions = {},
191
186
  ): AccessGrantsUnmanagedListRequest {
192
- assertValidRequestParameters(
193
- parameters,
194
- '/access_grants/unmanaged/list',
195
- false,
196
- [],
197
- )
198
-
199
187
  return new SeamHttpRequest(this, {
200
188
  pathname: '/access_grants/unmanaged/list',
201
189
  method: 'GET',
202
190
  params: parameters,
191
+ parameters,
192
+ hasRequiredParameters: false,
193
+ requiredParameterNames: [],
203
194
  responseKey: 'access_grants',
204
195
  options,
205
196
  })
@@ -216,17 +207,13 @@ export class SeamHttpAccessGrantsUnmanaged {
216
207
  parameters: AccessGrantsUnmanagedUpdateParameters,
217
208
  options: AccessGrantsUnmanagedUpdateOptions = {},
218
209
  ): AccessGrantsUnmanagedUpdateRequest {
219
- assertValidRequestParameters(
220
- parameters,
221
- '/access_grants/unmanaged/update',
222
- true,
223
- ['access_grant_id', 'is_managed'],
224
- )
225
-
226
210
  return new SeamHttpRequest(this, {
227
211
  pathname: '/access_grants/unmanaged/update',
228
212
  method: 'PATCH',
229
213
  body: parameters,
214
+ parameters,
215
+ hasRequiredParameters: true,
216
+ requiredParameterNames: ['access_grant_id', 'is_managed'],
230
217
  responseKey: undefined,
231
218
  options,
232
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,17 +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
- ['access_method_id', 'card_number'],
186
- )
187
-
188
178
  return new SeamHttpRequest(this, {
189
179
  pathname: '/access_methods/assign_card',
190
180
  method: 'POST',
191
181
  body: parameters,
182
+ parameters,
183
+ hasRequiredParameters: true,
184
+ requiredParameterNames: ['access_method_id', 'card_number'],
192
185
  responseKey: 'action_attempt',
193
186
  options,
194
187
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -205,12 +198,13 @@ export class SeamHttpAccessMethods {
205
198
  parameters: AccessMethodsDeleteParameters,
206
199
  options: AccessMethodsDeleteOptions = {},
207
200
  ): AccessMethodsDeleteRequest {
208
- assertValidRequestParameters(parameters, '/access_methods/delete', true, [])
209
-
210
201
  return new SeamHttpRequest(this, {
211
202
  pathname: '/access_methods/delete',
212
203
  method: 'DELETE',
213
204
  params: parameters,
205
+ parameters,
206
+ hasRequiredParameters: true,
207
+ requiredParameterNames: [],
214
208
  responseKey: undefined,
215
209
  options,
216
210
  })
@@ -223,15 +217,13 @@ export class SeamHttpAccessMethods {
223
217
  parameters: AccessMethodsEncodeParameters,
224
218
  options: AccessMethodsEncodeOptions = {},
225
219
  ): AccessMethodsEncodeRequest {
226
- assertValidRequestParameters(parameters, '/access_methods/encode', true, [
227
- 'access_method_id',
228
- 'acs_encoder_id',
229
- ])
230
-
231
220
  return new SeamHttpRequest(this, {
232
221
  pathname: '/access_methods/encode',
233
222
  method: 'POST',
234
223
  body: parameters,
224
+ parameters,
225
+ hasRequiredParameters: true,
226
+ requiredParameterNames: ['access_method_id', 'acs_encoder_id'],
235
227
  responseKey: 'action_attempt',
236
228
  options,
237
229
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {
@@ -248,14 +240,13 @@ export class SeamHttpAccessMethods {
248
240
  parameters: AccessMethodsGetParameters,
249
241
  options: AccessMethodsGetOptions = {},
250
242
  ): AccessMethodsGetRequest {
251
- assertValidRequestParameters(parameters, '/access_methods/get', true, [
252
- 'access_method_id',
253
- ])
254
-
255
243
  return new SeamHttpRequest(this, {
256
244
  pathname: '/access_methods/get',
257
245
  method: 'GET',
258
246
  params: parameters,
247
+ parameters,
248
+ hasRequiredParameters: true,
249
+ requiredParameterNames: ['access_method_id'],
259
250
  responseKey: 'access_method',
260
251
  options,
261
252
  })
@@ -268,17 +259,13 @@ export class SeamHttpAccessMethods {
268
259
  parameters: AccessMethodsGetRelatedParameters,
269
260
  options: AccessMethodsGetRelatedOptions = {},
270
261
  ): AccessMethodsGetRelatedRequest {
271
- assertValidRequestParameters(
272
- parameters,
273
- '/access_methods/get_related',
274
- true,
275
- ['access_method_ids'],
276
- )
277
-
278
262
  return new SeamHttpRequest(this, {
279
263
  pathname: '/access_methods/get_related',
280
264
  method: 'POST',
281
265
  body: parameters,
266
+ parameters,
267
+ hasRequiredParameters: true,
268
+ requiredParameterNames: ['access_method_ids'],
282
269
  responseKey: 'batch',
283
270
  options,
284
271
  })
@@ -291,12 +278,13 @@ export class SeamHttpAccessMethods {
291
278
  parameters: AccessMethodsListParameters,
292
279
  options: AccessMethodsListOptions = {},
293
280
  ): AccessMethodsListRequest {
294
- assertValidRequestParameters(parameters, '/access_methods/list', true, [])
295
-
296
281
  return new SeamHttpRequest(this, {
297
282
  pathname: '/access_methods/list',
298
283
  method: 'GET',
299
284
  params: parameters,
285
+ parameters,
286
+ hasRequiredParameters: true,
287
+ requiredParameterNames: [],
300
288
  responseKey: 'access_methods',
301
289
  options,
302
290
  })
@@ -309,17 +297,13 @@ export class SeamHttpAccessMethods {
309
297
  parameters: AccessMethodsUnlockDoorParameters,
310
298
  options: AccessMethodsUnlockDoorOptions = {},
311
299
  ): AccessMethodsUnlockDoorRequest {
312
- assertValidRequestParameters(
313
- parameters,
314
- '/access_methods/unlock_door',
315
- true,
316
- ['access_method_id', 'acs_entrance_id'],
317
- )
318
-
319
300
  return new SeamHttpRequest(this, {
320
301
  pathname: '/access_methods/unlock_door',
321
302
  method: 'POST',
322
303
  body: parameters,
304
+ parameters,
305
+ hasRequiredParameters: true,
306
+ requiredParameterNames: ['access_method_id', 'acs_entrance_id'],
323
307
  responseKey: 'action_attempt',
324
308
  options,
325
309
  actionAttempts: SeamHttpActionAttempts.fromClient(this.client, {