@seamapi/http 2.4.2 → 2.5.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 (131) hide show
  1. package/lib/request-parameters.d.ts +4 -2
  2. package/lib/request-parameters.js +9 -3
  3. package/lib/request-parameters.js.map +1 -1
  4. package/lib/routes/access-codes/access-codes.js +16 -10
  5. package/lib/routes/access-codes/access-codes.js.map +1 -1
  6. package/lib/routes/access-codes/simulate/simulate.js +1 -1
  7. package/lib/routes/access-codes/simulate/simulate.js.map +1 -1
  8. package/lib/routes/access-codes/unmanaged/unmanaged.js +5 -5
  9. package/lib/routes/access-codes/unmanaged/unmanaged.js.map +1 -1
  10. package/lib/routes/access-grants/access-grants.js +11 -7
  11. package/lib/routes/access-grants/access-grants.js.map +1 -1
  12. package/lib/routes/access-grants/unmanaged/unmanaged.js +3 -3
  13. package/lib/routes/access-grants/unmanaged/unmanaged.js.map +1 -1
  14. package/lib/routes/access-methods/access-methods.js +12 -7
  15. package/lib/routes/access-methods/access-methods.js.map +1 -1
  16. package/lib/routes/access-methods/unmanaged/unmanaged.js +2 -2
  17. package/lib/routes/access-methods/unmanaged/unmanaged.js.map +1 -1
  18. package/lib/routes/acs/access-groups/access-groups.js +9 -7
  19. package/lib/routes/acs/access-groups/access-groups.js.map +1 -1
  20. package/lib/routes/acs/credentials/credentials.js +18 -8
  21. package/lib/routes/acs/credentials/credentials.js.map +1 -1
  22. package/lib/routes/acs/encoders/encoders.js +7 -5
  23. package/lib/routes/acs/encoders/encoders.js.map +1 -1
  24. package/lib/routes/acs/encoders/simulate/simulate.js +4 -4
  25. package/lib/routes/acs/encoders/simulate/simulate.js.map +1 -1
  26. package/lib/routes/acs/entrances/entrances.js +10 -5
  27. package/lib/routes/acs/entrances/entrances.js.map +1 -1
  28. package/lib/routes/acs/systems/systems.js +6 -4
  29. package/lib/routes/acs/systems/systems.js.map +1 -1
  30. package/lib/routes/acs/users/users.js +14 -11
  31. package/lib/routes/acs/users/users.js.map +1 -1
  32. package/lib/routes/action-attempts/action-attempts.js +4 -2
  33. package/lib/routes/action-attempts/action-attempts.js.map +1 -1
  34. package/lib/routes/client-sessions/client-sessions.js +11 -7
  35. package/lib/routes/client-sessions/client-sessions.js.map +1 -1
  36. package/lib/routes/connect-webviews/connect-webviews.js +8 -4
  37. package/lib/routes/connect-webviews/connect-webviews.js.map +1 -1
  38. package/lib/routes/connected-accounts/connected-accounts.js +7 -5
  39. package/lib/routes/connected-accounts/connected-accounts.js.map +1 -1
  40. package/lib/routes/connected-accounts/simulate/simulate.js +1 -1
  41. package/lib/routes/connected-accounts/simulate/simulate.js.map +1 -1
  42. package/lib/routes/customers/customers.js +5 -3
  43. package/lib/routes/customers/customers.js.map +1 -1
  44. package/lib/routes/devices/devices.js +7 -5
  45. package/lib/routes/devices/devices.js.map +1 -1
  46. package/lib/routes/devices/simulate/simulate.js +8 -6
  47. package/lib/routes/devices/simulate/simulate.js.map +1 -1
  48. package/lib/routes/devices/unmanaged/unmanaged.js +3 -3
  49. package/lib/routes/devices/unmanaged/unmanaged.js.map +1 -1
  50. package/lib/routes/events/events.js +2 -2
  51. package/lib/routes/events/events.js.map +1 -1
  52. package/lib/routes/instant-keys/instant-keys.js +5 -3
  53. package/lib/routes/instant-keys/instant-keys.js.map +1 -1
  54. package/lib/routes/locks/locks.js +9 -5
  55. package/lib/routes/locks/locks.js.map +1 -1
  56. package/lib/routes/locks/simulate/simulate.js +2 -2
  57. package/lib/routes/locks/simulate/simulate.js.map +1 -1
  58. package/lib/routes/noise-sensors/noise-sensors.js +1 -1
  59. package/lib/routes/noise-sensors/noise-sensors.js.map +1 -1
  60. package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js +5 -5
  61. package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js.map +1 -1
  62. package/lib/routes/noise-sensors/simulate/simulate.js +1 -1
  63. package/lib/routes/noise-sensors/simulate/simulate.js.map +1 -1
  64. package/lib/routes/phones/phones.js +5 -3
  65. package/lib/routes/phones/phones.js.map +1 -1
  66. package/lib/routes/phones/simulate/simulate.js +1 -1
  67. package/lib/routes/phones/simulate/simulate.js.map +1 -1
  68. package/lib/routes/spaces/spaces.js +20 -12
  69. package/lib/routes/spaces/spaces.js.map +1 -1
  70. package/lib/routes/thermostats/daily-programs/daily-programs.js +3 -3
  71. package/lib/routes/thermostats/daily-programs/daily-programs.js.map +1 -1
  72. package/lib/routes/thermostats/schedules/schedules.js +5 -5
  73. package/lib/routes/thermostats/schedules/schedules.js.map +1 -1
  74. package/lib/routes/thermostats/simulate/simulate.js +2 -2
  75. package/lib/routes/thermostats/simulate/simulate.js.map +1 -1
  76. package/lib/routes/thermostats/thermostats.js +22 -14
  77. package/lib/routes/thermostats/thermostats.js.map +1 -1
  78. package/lib/routes/user-identities/unmanaged/unmanaged.js +3 -3
  79. package/lib/routes/user-identities/unmanaged/unmanaged.js.map +1 -1
  80. package/lib/routes/user-identities/user-identities.js +18 -14
  81. package/lib/routes/user-identities/user-identities.js.map +1 -1
  82. package/lib/routes/webhooks/webhooks.js +12 -5
  83. package/lib/routes/webhooks/webhooks.js.map +1 -1
  84. package/lib/routes/workspaces/workspaces.js +7 -5
  85. package/lib/routes/workspaces/workspaces.js.map +1 -1
  86. package/lib/version.d.ts +1 -1
  87. package/lib/version.js +1 -1
  88. package/package.json +1 -1
  89. package/src/lib/request-parameters.ts +15 -3
  90. package/src/lib/routes/access-codes/access-codes.ts +16 -5
  91. package/src/lib/routes/access-codes/simulate/simulate.ts +1 -0
  92. package/src/lib/routes/access-codes/unmanaged/unmanaged.ts +5 -0
  93. package/src/lib/routes/access-grants/access-grants.ts +16 -6
  94. package/src/lib/routes/access-grants/unmanaged/unmanaged.ts +3 -0
  95. package/src/lib/routes/access-methods/access-methods.ts +12 -4
  96. package/src/lib/routes/access-methods/unmanaged/unmanaged.ts +2 -0
  97. package/src/lib/routes/acs/access-groups/access-groups.ts +19 -3
  98. package/src/lib/routes/acs/credentials/credentials.ts +23 -7
  99. package/src/lib/routes/acs/encoders/encoders.ts +7 -2
  100. package/src/lib/routes/acs/encoders/simulate/simulate.ts +4 -0
  101. package/src/lib/routes/acs/entrances/entrances.ts +10 -3
  102. package/src/lib/routes/acs/systems/systems.ts +6 -2
  103. package/src/lib/routes/acs/users/users.ts +14 -7
  104. package/src/lib/routes/action-attempts/action-attempts.ts +4 -2
  105. package/src/lib/routes/client-sessions/client-sessions.ts +16 -5
  106. package/src/lib/routes/connect-webviews/connect-webviews.ts +18 -4
  107. package/src/lib/routes/connected-accounts/connected-accounts.ts +27 -5
  108. package/src/lib/routes/connected-accounts/simulate/simulate.ts +1 -0
  109. package/src/lib/routes/customers/customers.ts +15 -3
  110. package/src/lib/routes/devices/devices.ts +7 -3
  111. package/src/lib/routes/devices/simulate/simulate.ts +13 -2
  112. package/src/lib/routes/devices/unmanaged/unmanaged.ts +13 -3
  113. package/src/lib/routes/events/events.ts +2 -2
  114. package/src/lib/routes/instant-keys/instant-keys.ts +5 -3
  115. package/src/lib/routes/locks/locks.ts +14 -5
  116. package/src/lib/routes/locks/simulate/simulate.ts +2 -0
  117. package/src/lib/routes/noise-sensors/noise-sensors.ts +1 -1
  118. package/src/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.ts +5 -0
  119. package/src/lib/routes/noise-sensors/simulate/simulate.ts +1 -0
  120. package/src/lib/routes/phones/phones.ts +5 -3
  121. package/src/lib/routes/phones/simulate/simulate.ts +1 -0
  122. package/src/lib/routes/spaces/spaces.ts +25 -9
  123. package/src/lib/routes/thermostats/daily-programs/daily-programs.ts +3 -0
  124. package/src/lib/routes/thermostats/schedules/schedules.ts +10 -1
  125. package/src/lib/routes/thermostats/simulate/simulate.ts +2 -0
  126. package/src/lib/routes/thermostats/thermostats.ts +32 -7
  127. package/src/lib/routes/user-identities/unmanaged/unmanaged.ts +3 -0
  128. package/src/lib/routes/user-identities/user-identities.ts +23 -5
  129. package/src/lib/routes/webhooks/webhooks.ts +12 -5
  130. package/src/lib/routes/workspaces/workspaces.ts +12 -5
  131. package/src/lib/version.ts +1 -1
@@ -165,7 +165,12 @@ export class SeamHttpDevicesSimulate {
165
165
  parameters: DevicesSimulateConnectParameters,
166
166
  options: DevicesSimulateConnectOptions = {},
167
167
  ): DevicesSimulateConnectRequest {
168
- assertValidRequestParameters(parameters, '/devices/simulate/connect', true)
168
+ assertValidRequestParameters(
169
+ parameters,
170
+ '/devices/simulate/connect',
171
+ true,
172
+ ['device_id'],
173
+ )
169
174
 
170
175
  return new SeamHttpRequest(this, {
171
176
  pathname: '/devices/simulate/connect',
@@ -190,6 +195,7 @@ export class SeamHttpDevicesSimulate {
190
195
  parameters,
191
196
  '/devices/simulate/connect_to_hub',
192
197
  true,
198
+ ['device_id'],
193
199
  )
194
200
 
195
201
  return new SeamHttpRequest(this, {
@@ -212,6 +218,7 @@ export class SeamHttpDevicesSimulate {
212
218
  parameters,
213
219
  '/devices/simulate/disconnect',
214
220
  true,
221
+ ['device_id'],
215
222
  )
216
223
 
217
224
  return new SeamHttpRequest(this, {
@@ -238,6 +245,7 @@ export class SeamHttpDevicesSimulate {
238
245
  parameters,
239
246
  '/devices/simulate/disconnect_from_hub',
240
247
  true,
248
+ ['device_id'],
241
249
  )
242
250
 
243
251
  return new SeamHttpRequest(this, {
@@ -262,6 +270,7 @@ export class SeamHttpDevicesSimulate {
262
270
  parameters,
263
271
  '/devices/simulate/paid_subscription',
264
272
  true,
273
+ ['device_id', 'is_expired'],
265
274
  )
266
275
 
267
276
  return new SeamHttpRequest(this, {
@@ -280,7 +289,9 @@ export class SeamHttpDevicesSimulate {
280
289
  parameters: DevicesSimulateRemoveParameters,
281
290
  options: DevicesSimulateRemoveOptions = {},
282
291
  ): DevicesSimulateRemoveRequest {
283
- assertValidRequestParameters(parameters, '/devices/simulate/remove', true)
292
+ assertValidRequestParameters(parameters, '/devices/simulate/remove', true, [
293
+ 'device_id',
294
+ ])
284
295
 
285
296
  return new SeamHttpRequest(this, {
286
297
  pathname: '/devices/simulate/remove',
@@ -173,7 +173,7 @@ export class SeamHttpDevicesUnmanaged {
173
173
  parameters: DevicesUnmanagedGetParameters,
174
174
  options: DevicesUnmanagedGetOptions = {},
175
175
  ): DevicesUnmanagedGetRequest {
176
- assertValidRequestParameters(parameters, '/devices/unmanaged/get', true)
176
+ assertValidRequestParameters(parameters, '/devices/unmanaged/get', true, [])
177
177
 
178
178
  return new SeamHttpRequest(this, {
179
179
  pathname: '/devices/unmanaged/get',
@@ -193,7 +193,12 @@ export class SeamHttpDevicesUnmanaged {
193
193
  parameters?: DevicesUnmanagedListParameters,
194
194
  options: DevicesUnmanagedListOptions = {},
195
195
  ): DevicesUnmanagedListRequest {
196
- assertValidRequestParameters(parameters, '/devices/unmanaged/list', false)
196
+ assertValidRequestParameters(
197
+ parameters,
198
+ '/devices/unmanaged/list',
199
+ false,
200
+ [],
201
+ )
197
202
 
198
203
  return new SeamHttpRequest(this, {
199
204
  pathname: '/devices/unmanaged/list',
@@ -213,7 +218,12 @@ export class SeamHttpDevicesUnmanaged {
213
218
  parameters: DevicesUnmanagedUpdateParameters,
214
219
  options: DevicesUnmanagedUpdateOptions = {},
215
220
  ): DevicesUnmanagedUpdateRequest {
216
- assertValidRequestParameters(parameters, '/devices/unmanaged/update', true)
221
+ assertValidRequestParameters(
222
+ parameters,
223
+ '/devices/unmanaged/update',
224
+ true,
225
+ ['device_id'],
226
+ )
217
227
 
218
228
  return new SeamHttpRequest(this, {
219
229
  pathname: '/devices/unmanaged/update',
@@ -169,7 +169,7 @@ export class SeamHttpEvents {
169
169
  parameters: EventsGetParameters,
170
170
  options: EventsGetOptions = {},
171
171
  ): EventsGetRequest {
172
- assertValidRequestParameters(parameters, '/events/get', true)
172
+ assertValidRequestParameters(parameters, '/events/get', true, [])
173
173
 
174
174
  return new SeamHttpRequest(this, {
175
175
  pathname: '/events/get',
@@ -187,7 +187,7 @@ export class SeamHttpEvents {
187
187
  parameters: EventsListParameters,
188
188
  options: EventsListOptions = {},
189
189
  ): EventsListRequest {
190
- assertValidRequestParameters(parameters, '/events/list', true)
190
+ assertValidRequestParameters(parameters, '/events/list', true, [])
191
191
 
192
192
  return new SeamHttpRequest(this, {
193
193
  pathname: '/events/list',
@@ -169,7 +169,9 @@ export class SeamHttpInstantKeys {
169
169
  parameters: InstantKeysDeleteParameters,
170
170
  options: InstantKeysDeleteOptions = {},
171
171
  ): InstantKeysDeleteRequest {
172
- assertValidRequestParameters(parameters, '/instant_keys/delete', true)
172
+ assertValidRequestParameters(parameters, '/instant_keys/delete', true, [
173
+ 'instant_key_id',
174
+ ])
173
175
 
174
176
  return new SeamHttpRequest(this, {
175
177
  pathname: '/instant_keys/delete',
@@ -187,7 +189,7 @@ export class SeamHttpInstantKeys {
187
189
  parameters: InstantKeysGetParameters,
188
190
  options: InstantKeysGetOptions = {},
189
191
  ): InstantKeysGetRequest {
190
- assertValidRequestParameters(parameters, '/instant_keys/get', true)
192
+ assertValidRequestParameters(parameters, '/instant_keys/get', true, [])
191
193
 
192
194
  return new SeamHttpRequest(this, {
193
195
  pathname: '/instant_keys/get',
@@ -205,7 +207,7 @@ export class SeamHttpInstantKeys {
205
207
  parameters?: InstantKeysListParameters,
206
208
  options: InstantKeysListOptions = {},
207
209
  ): InstantKeysListRequest {
208
- assertValidRequestParameters(parameters, '/instant_keys/list', false)
210
+ assertValidRequestParameters(parameters, '/instant_keys/list', false, [])
209
211
 
210
212
  return new SeamHttpRequest(this, {
211
213
  pathname: '/instant_keys/list',
@@ -177,7 +177,12 @@ export class SeamHttpLocks {
177
177
  parameters: LocksConfigureAutoLockParameters,
178
178
  options: LocksConfigureAutoLockOptions = {},
179
179
  ): LocksConfigureAutoLockRequest {
180
- assertValidRequestParameters(parameters, '/locks/configure_auto_lock', true)
180
+ assertValidRequestParameters(
181
+ parameters,
182
+ '/locks/configure_auto_lock',
183
+ true,
184
+ ['auto_lock_enabled', 'device_id'],
185
+ )
181
186
 
182
187
  return new SeamHttpRequest(this, {
183
188
  pathname: '/locks/configure_auto_lock',
@@ -200,7 +205,7 @@ export class SeamHttpLocks {
200
205
  parameters: LocksGetParameters,
201
206
  options: LocksGetOptions = {},
202
207
  ): LocksGetRequest {
203
- assertValidRequestParameters(parameters, '/locks/get', true)
208
+ assertValidRequestParameters(parameters, '/locks/get', true, [])
204
209
 
205
210
  return new SeamHttpRequest(this, {
206
211
  pathname: '/locks/get',
@@ -218,7 +223,7 @@ export class SeamHttpLocks {
218
223
  parameters?: LocksListParameters,
219
224
  options: LocksListOptions = {},
220
225
  ): LocksListRequest {
221
- assertValidRequestParameters(parameters, '/locks/list', false)
226
+ assertValidRequestParameters(parameters, '/locks/list', false, [])
222
227
 
223
228
  return new SeamHttpRequest(this, {
224
229
  pathname: '/locks/list',
@@ -236,7 +241,9 @@ export class SeamHttpLocks {
236
241
  parameters: LocksLockDoorParameters,
237
242
  options: LocksLockDoorOptions = {},
238
243
  ): LocksLockDoorRequest {
239
- assertValidRequestParameters(parameters, '/locks/lock_door', true)
244
+ assertValidRequestParameters(parameters, '/locks/lock_door', true, [
245
+ 'device_id',
246
+ ])
240
247
 
241
248
  return new SeamHttpRequest(this, {
242
249
  pathname: '/locks/lock_door',
@@ -258,7 +265,9 @@ export class SeamHttpLocks {
258
265
  parameters: LocksUnlockDoorParameters,
259
266
  options: LocksUnlockDoorOptions = {},
260
267
  ): LocksUnlockDoorRequest {
261
- assertValidRequestParameters(parameters, '/locks/unlock_door', true)
268
+ assertValidRequestParameters(parameters, '/locks/unlock_door', true, [
269
+ 'device_id',
270
+ ])
262
271
 
263
272
  return new SeamHttpRequest(this, {
264
273
  pathname: '/locks/unlock_door',
@@ -171,6 +171,7 @@ export class SeamHttpLocksSimulate {
171
171
  parameters,
172
172
  '/locks/simulate/keypad_code_entry',
173
173
  true,
174
+ ['code', 'device_id'],
174
175
  )
175
176
 
176
177
  return new SeamHttpRequest(this, {
@@ -197,6 +198,7 @@ export class SeamHttpLocksSimulate {
197
198
  parameters,
198
199
  '/locks/simulate/manual_lock_via_keypad',
199
200
  true,
201
+ ['device_id'],
200
202
  )
201
203
 
202
204
  return new SeamHttpRequest(this, {
@@ -180,7 +180,7 @@ export class SeamHttpNoiseSensors {
180
180
  parameters?: NoiseSensorsListParameters,
181
181
  options: NoiseSensorsListOptions = {},
182
182
  ): NoiseSensorsListRequest {
183
- assertValidRequestParameters(parameters, '/noise_sensors/list', false)
183
+ assertValidRequestParameters(parameters, '/noise_sensors/list', false, [])
184
184
 
185
185
  return new SeamHttpRequest(this, {
186
186
  pathname: '/noise_sensors/list',
@@ -173,6 +173,7 @@ export class SeamHttpNoiseSensorsNoiseThresholds {
173
173
  parameters,
174
174
  '/noise_sensors/noise_thresholds/create',
175
175
  true,
176
+ ['device_id', 'ends_daily_at', 'starts_daily_at'],
176
177
  )
177
178
 
178
179
  return new SeamHttpRequest(this, {
@@ -195,6 +196,7 @@ export class SeamHttpNoiseSensorsNoiseThresholds {
195
196
  parameters,
196
197
  '/noise_sensors/noise_thresholds/delete',
197
198
  true,
199
+ ['device_id', 'noise_threshold_id'],
198
200
  )
199
201
 
200
202
  return new SeamHttpRequest(this, {
@@ -217,6 +219,7 @@ export class SeamHttpNoiseSensorsNoiseThresholds {
217
219
  parameters,
218
220
  '/noise_sensors/noise_thresholds/get',
219
221
  true,
222
+ ['noise_threshold_id'],
220
223
  )
221
224
 
222
225
  return new SeamHttpRequest(this, {
@@ -239,6 +242,7 @@ export class SeamHttpNoiseSensorsNoiseThresholds {
239
242
  parameters,
240
243
  '/noise_sensors/noise_thresholds/list',
241
244
  true,
245
+ ['device_id'],
242
246
  )
243
247
 
244
248
  return new SeamHttpRequest(this, {
@@ -261,6 +265,7 @@ export class SeamHttpNoiseSensorsNoiseThresholds {
261
265
  parameters,
262
266
  '/noise_sensors/noise_thresholds/update',
263
267
  true,
268
+ ['device_id', 'noise_threshold_id'],
264
269
  )
265
270
 
266
271
  return new SeamHttpRequest(this, {
@@ -169,6 +169,7 @@ export class SeamHttpNoiseSensorsSimulate {
169
169
  parameters,
170
170
  '/noise_sensors/simulate/trigger_noise_threshold',
171
171
  true,
172
+ ['device_id'],
172
173
  )
173
174
 
174
175
  return new SeamHttpRequest(this, {
@@ -172,7 +172,9 @@ export class SeamHttpPhones {
172
172
  parameters: PhonesDeactivateParameters,
173
173
  options: PhonesDeactivateOptions = {},
174
174
  ): PhonesDeactivateRequest {
175
- assertValidRequestParameters(parameters, '/phones/deactivate', true)
175
+ assertValidRequestParameters(parameters, '/phones/deactivate', true, [
176
+ 'device_id',
177
+ ])
176
178
 
177
179
  return new SeamHttpRequest(this, {
178
180
  pathname: '/phones/deactivate',
@@ -190,7 +192,7 @@ export class SeamHttpPhones {
190
192
  parameters: PhonesGetParameters,
191
193
  options: PhonesGetOptions = {},
192
194
  ): PhonesGetRequest {
193
- assertValidRequestParameters(parameters, '/phones/get', true)
195
+ assertValidRequestParameters(parameters, '/phones/get', true, ['device_id'])
194
196
 
195
197
  return new SeamHttpRequest(this, {
196
198
  pathname: '/phones/get',
@@ -208,7 +210,7 @@ export class SeamHttpPhones {
208
210
  parameters?: PhonesListParameters,
209
211
  options: PhonesListOptions = {},
210
212
  ): PhonesListRequest {
211
- assertValidRequestParameters(parameters, '/phones/list', false)
213
+ assertValidRequestParameters(parameters, '/phones/list', false, [])
212
214
 
213
215
  return new SeamHttpRequest(this, {
214
216
  pathname: '/phones/list',
@@ -170,6 +170,7 @@ export class SeamHttpPhonesSimulate {
170
170
  parameters,
171
171
  '/phones/simulate/create_sandbox_phone',
172
172
  true,
173
+ ['user_identity_id'],
173
174
  )
174
175
 
175
176
  return new SeamHttpRequest(this, {
@@ -170,7 +170,12 @@ export class SeamHttpSpaces {
170
170
  parameters: SpacesAddAcsEntrancesParameters,
171
171
  options: SpacesAddAcsEntrancesOptions = {},
172
172
  ): SpacesAddAcsEntrancesRequest {
173
- assertValidRequestParameters(parameters, '/spaces/add_acs_entrances', true)
173
+ assertValidRequestParameters(
174
+ parameters,
175
+ '/spaces/add_acs_entrances',
176
+ true,
177
+ ['acs_entrance_ids', 'space_id'],
178
+ )
174
179
 
175
180
  return new SeamHttpRequest(this, {
176
181
  pathname: '/spaces/add_acs_entrances',
@@ -192,6 +197,7 @@ export class SeamHttpSpaces {
192
197
  parameters,
193
198
  '/spaces/add_connected_account',
194
199
  true,
200
+ ['connected_account_id', 'space_id'],
195
201
  )
196
202
 
197
203
  return new SeamHttpRequest(this, {
@@ -210,7 +216,10 @@ export class SeamHttpSpaces {
210
216
  parameters: SpacesAddDevicesParameters,
211
217
  options: SpacesAddDevicesOptions = {},
212
218
  ): SpacesAddDevicesRequest {
213
- assertValidRequestParameters(parameters, '/spaces/add_devices', true)
219
+ assertValidRequestParameters(parameters, '/spaces/add_devices', true, [
220
+ 'device_ids',
221
+ 'space_id',
222
+ ])
214
223
 
215
224
  return new SeamHttpRequest(this, {
216
225
  pathname: '/spaces/add_devices',
@@ -228,7 +237,7 @@ export class SeamHttpSpaces {
228
237
  parameters: SpacesCreateParameters,
229
238
  options: SpacesCreateOptions = {},
230
239
  ): SpacesCreateRequest {
231
- assertValidRequestParameters(parameters, '/spaces/create', true)
240
+ assertValidRequestParameters(parameters, '/spaces/create', true, ['name'])
232
241
 
233
242
  return new SeamHttpRequest(this, {
234
243
  pathname: '/spaces/create',
@@ -246,7 +255,9 @@ export class SeamHttpSpaces {
246
255
  parameters: SpacesDeleteParameters,
247
256
  options: SpacesDeleteOptions = {},
248
257
  ): SpacesDeleteRequest {
249
- assertValidRequestParameters(parameters, '/spaces/delete', true)
258
+ assertValidRequestParameters(parameters, '/spaces/delete', true, [
259
+ 'space_id',
260
+ ])
250
261
 
251
262
  return new SeamHttpRequest(this, {
252
263
  pathname: '/spaces/delete',
@@ -264,7 +275,7 @@ export class SeamHttpSpaces {
264
275
  parameters: SpacesGetParameters,
265
276
  options: SpacesGetOptions = {},
266
277
  ): SpacesGetRequest {
267
- assertValidRequestParameters(parameters, '/spaces/get', true)
278
+ assertValidRequestParameters(parameters, '/spaces/get', true, [])
268
279
 
269
280
  return new SeamHttpRequest(this, {
270
281
  pathname: '/spaces/get',
@@ -282,7 +293,7 @@ export class SeamHttpSpaces {
282
293
  parameters: SpacesGetRelatedParameters,
283
294
  options: SpacesGetRelatedOptions = {},
284
295
  ): SpacesGetRelatedRequest {
285
- assertValidRequestParameters(parameters, '/spaces/get_related', true)
296
+ assertValidRequestParameters(parameters, '/spaces/get_related', true, [])
286
297
 
287
298
  return new SeamHttpRequest(this, {
288
299
  pathname: '/spaces/get_related',
@@ -300,7 +311,7 @@ export class SeamHttpSpaces {
300
311
  parameters?: SpacesListParameters,
301
312
  options: SpacesListOptions = {},
302
313
  ): SpacesListRequest {
303
- assertValidRequestParameters(parameters, '/spaces/list', false)
314
+ assertValidRequestParameters(parameters, '/spaces/list', false, [])
304
315
 
305
316
  return new SeamHttpRequest(this, {
306
317
  pathname: '/spaces/list',
@@ -322,6 +333,7 @@ export class SeamHttpSpaces {
322
333
  parameters,
323
334
  '/spaces/remove_acs_entrances',
324
335
  true,
336
+ ['acs_entrance_ids', 'space_id'],
325
337
  )
326
338
 
327
339
  return new SeamHttpRequest(this, {
@@ -344,6 +356,7 @@ export class SeamHttpSpaces {
344
356
  parameters,
345
357
  '/spaces/remove_connected_account',
346
358
  true,
359
+ ['connected_account_id', 'space_id'],
347
360
  )
348
361
 
349
362
  return new SeamHttpRequest(this, {
@@ -362,7 +375,10 @@ export class SeamHttpSpaces {
362
375
  parameters: SpacesRemoveDevicesParameters,
363
376
  options: SpacesRemoveDevicesOptions = {},
364
377
  ): SpacesRemoveDevicesRequest {
365
- assertValidRequestParameters(parameters, '/spaces/remove_devices', true)
378
+ assertValidRequestParameters(parameters, '/spaces/remove_devices', true, [
379
+ 'device_ids',
380
+ 'space_id',
381
+ ])
366
382
 
367
383
  return new SeamHttpRequest(this, {
368
384
  pathname: '/spaces/remove_devices',
@@ -380,7 +396,7 @@ export class SeamHttpSpaces {
380
396
  parameters?: SpacesUpdateParameters,
381
397
  options: SpacesUpdateOptions = {},
382
398
  ): SpacesUpdateRequest {
383
- assertValidRequestParameters(parameters, '/spaces/update', false)
399
+ assertValidRequestParameters(parameters, '/spaces/update', false, [])
384
400
 
385
401
  return new SeamHttpRequest(this, {
386
402
  pathname: '/spaces/update',
@@ -175,6 +175,7 @@ export class SeamHttpThermostatsDailyPrograms {
175
175
  parameters,
176
176
  '/thermostats/daily_programs/create',
177
177
  true,
178
+ ['device_id', 'name', 'periods'],
178
179
  )
179
180
 
180
181
  return new SeamHttpRequest(this, {
@@ -197,6 +198,7 @@ export class SeamHttpThermostatsDailyPrograms {
197
198
  parameters,
198
199
  '/thermostats/daily_programs/delete',
199
200
  true,
201
+ ['thermostat_daily_program_id'],
200
202
  )
201
203
 
202
204
  return new SeamHttpRequest(this, {
@@ -219,6 +221,7 @@ export class SeamHttpThermostatsDailyPrograms {
219
221
  parameters,
220
222
  '/thermostats/daily_programs/update',
221
223
  true,
224
+ ['name', 'periods', 'thermostat_daily_program_id'],
222
225
  )
223
226
 
224
227
  return new SeamHttpRequest(this, {
@@ -170,6 +170,7 @@ export class SeamHttpThermostatsSchedules {
170
170
  parameters,
171
171
  '/thermostats/schedules/create',
172
172
  true,
173
+ ['climate_preset_key', 'device_id', 'ends_at', 'starts_at'],
173
174
  )
174
175
 
175
176
  return new SeamHttpRequest(this, {
@@ -192,6 +193,7 @@ export class SeamHttpThermostatsSchedules {
192
193
  parameters,
193
194
  '/thermostats/schedules/delete',
194
195
  true,
196
+ ['thermostat_schedule_id'],
195
197
  )
196
198
 
197
199
  return new SeamHttpRequest(this, {
@@ -210,7 +212,12 @@ export class SeamHttpThermostatsSchedules {
210
212
  parameters: ThermostatsSchedulesGetParameters,
211
213
  options: ThermostatsSchedulesGetOptions = {},
212
214
  ): ThermostatsSchedulesGetRequest {
213
- assertValidRequestParameters(parameters, '/thermostats/schedules/get', true)
215
+ assertValidRequestParameters(
216
+ parameters,
217
+ '/thermostats/schedules/get',
218
+ true,
219
+ ['thermostat_schedule_id'],
220
+ )
214
221
 
215
222
  return new SeamHttpRequest(this, {
216
223
  pathname: '/thermostats/schedules/get',
@@ -232,6 +239,7 @@ export class SeamHttpThermostatsSchedules {
232
239
  parameters,
233
240
  '/thermostats/schedules/list',
234
241
  true,
242
+ ['device_id'],
235
243
  )
236
244
 
237
245
  return new SeamHttpRequest(this, {
@@ -254,6 +262,7 @@ export class SeamHttpThermostatsSchedules {
254
262
  parameters,
255
263
  '/thermostats/schedules/update',
256
264
  true,
265
+ ['thermostat_schedule_id'],
257
266
  )
258
267
 
259
268
  return new SeamHttpRequest(this, {
@@ -169,6 +169,7 @@ export class SeamHttpThermostatsSimulate {
169
169
  parameters,
170
170
  '/thermostats/simulate/hvac_mode_adjusted',
171
171
  true,
172
+ ['device_id', 'hvac_mode'],
172
173
  )
173
174
 
174
175
  return new SeamHttpRequest(this, {
@@ -191,6 +192,7 @@ export class SeamHttpThermostatsSimulate {
191
192
  parameters,
192
193
  '/thermostats/simulate/temperature_reached',
193
194
  true,
195
+ ['device_id'],
194
196
  )
195
197
 
196
198
  return new SeamHttpRequest(this, {
@@ -191,6 +191,7 @@ export class SeamHttpThermostats {
191
191
  parameters,
192
192
  '/thermostats/activate_climate_preset',
193
193
  true,
194
+ ['climate_preset_key', 'device_id'],
194
195
  )
195
196
 
196
197
  return new SeamHttpRequest(this, {
@@ -213,7 +214,9 @@ export class SeamHttpThermostats {
213
214
  parameters: ThermostatsCoolParameters,
214
215
  options: ThermostatsCoolOptions = {},
215
216
  ): ThermostatsCoolRequest {
216
- assertValidRequestParameters(parameters, '/thermostats/cool', true)
217
+ assertValidRequestParameters(parameters, '/thermostats/cool', true, [
218
+ 'device_id',
219
+ ])
217
220
 
218
221
  return new SeamHttpRequest(this, {
219
222
  pathname: '/thermostats/cool',
@@ -239,6 +242,7 @@ export class SeamHttpThermostats {
239
242
  parameters,
240
243
  '/thermostats/create_climate_preset',
241
244
  true,
245
+ ['climate_preset_key', 'device_id'],
242
246
  )
243
247
 
244
248
  return new SeamHttpRequest(this, {
@@ -261,6 +265,7 @@ export class SeamHttpThermostats {
261
265
  parameters,
262
266
  '/thermostats/delete_climate_preset',
263
267
  true,
268
+ ['climate_preset_key', 'device_id'],
264
269
  )
265
270
 
266
271
  return new SeamHttpRequest(this, {
@@ -279,7 +284,9 @@ export class SeamHttpThermostats {
279
284
  parameters: ThermostatsHeatParameters,
280
285
  options: ThermostatsHeatOptions = {},
281
286
  ): ThermostatsHeatRequest {
282
- assertValidRequestParameters(parameters, '/thermostats/heat', true)
287
+ assertValidRequestParameters(parameters, '/thermostats/heat', true, [
288
+ 'device_id',
289
+ ])
283
290
 
284
291
  return new SeamHttpRequest(this, {
285
292
  pathname: '/thermostats/heat',
@@ -301,7 +308,9 @@ export class SeamHttpThermostats {
301
308
  parameters: ThermostatsHeatCoolParameters,
302
309
  options: ThermostatsHeatCoolOptions = {},
303
310
  ): ThermostatsHeatCoolRequest {
304
- assertValidRequestParameters(parameters, '/thermostats/heat_cool', true)
311
+ assertValidRequestParameters(parameters, '/thermostats/heat_cool', true, [
312
+ 'device_id',
313
+ ])
305
314
 
306
315
  return new SeamHttpRequest(this, {
307
316
  pathname: '/thermostats/heat_cool',
@@ -323,7 +332,7 @@ export class SeamHttpThermostats {
323
332
  parameters?: ThermostatsListParameters,
324
333
  options: ThermostatsListOptions = {},
325
334
  ): ThermostatsListRequest {
326
- assertValidRequestParameters(parameters, '/thermostats/list', false)
335
+ assertValidRequestParameters(parameters, '/thermostats/list', false, [])
327
336
 
328
337
  return new SeamHttpRequest(this, {
329
338
  pathname: '/thermostats/list',
@@ -341,7 +350,9 @@ export class SeamHttpThermostats {
341
350
  parameters: ThermostatsOffParameters,
342
351
  options: ThermostatsOffOptions = {},
343
352
  ): ThermostatsOffRequest {
344
- assertValidRequestParameters(parameters, '/thermostats/off', true)
353
+ assertValidRequestParameters(parameters, '/thermostats/off', true, [
354
+ 'device_id',
355
+ ])
345
356
 
346
357
  return new SeamHttpRequest(this, {
347
358
  pathname: '/thermostats/off',
@@ -367,6 +378,7 @@ export class SeamHttpThermostats {
367
378
  parameters,
368
379
  '/thermostats/set_fallback_climate_preset',
369
380
  true,
381
+ ['climate_preset_key', 'device_id'],
370
382
  )
371
383
 
372
384
  return new SeamHttpRequest(this, {
@@ -385,7 +397,12 @@ export class SeamHttpThermostats {
385
397
  parameters: ThermostatsSetFanModeParameters,
386
398
  options: ThermostatsSetFanModeOptions = {},
387
399
  ): ThermostatsSetFanModeRequest {
388
- assertValidRequestParameters(parameters, '/thermostats/set_fan_mode', true)
400
+ assertValidRequestParameters(
401
+ parameters,
402
+ '/thermostats/set_fan_mode',
403
+ true,
404
+ ['device_id'],
405
+ )
389
406
 
390
407
  return new SeamHttpRequest(this, {
391
408
  pathname: '/thermostats/set_fan_mode',
@@ -407,7 +424,12 @@ export class SeamHttpThermostats {
407
424
  parameters: ThermostatsSetHvacModeParameters,
408
425
  options: ThermostatsSetHvacModeOptions = {},
409
426
  ): ThermostatsSetHvacModeRequest {
410
- assertValidRequestParameters(parameters, '/thermostats/set_hvac_mode', true)
427
+ assertValidRequestParameters(
428
+ parameters,
429
+ '/thermostats/set_hvac_mode',
430
+ true,
431
+ ['device_id', 'hvac_mode_setting'],
432
+ )
411
433
 
412
434
  return new SeamHttpRequest(this, {
413
435
  pathname: '/thermostats/set_hvac_mode',
@@ -433,6 +455,7 @@ export class SeamHttpThermostats {
433
455
  parameters,
434
456
  '/thermostats/set_temperature_threshold',
435
457
  true,
458
+ ['device_id'],
436
459
  )
437
460
 
438
461
  return new SeamHttpRequest(this, {
@@ -455,6 +478,7 @@ export class SeamHttpThermostats {
455
478
  parameters,
456
479
  '/thermostats/update_climate_preset',
457
480
  true,
481
+ ['climate_preset_key', 'device_id'],
458
482
  )
459
483
 
460
484
  return new SeamHttpRequest(this, {
@@ -477,6 +501,7 @@ export class SeamHttpThermostats {
477
501
  parameters,
478
502
  '/thermostats/update_weekly_program',
479
503
  true,
504
+ ['device_id'],
480
505
  )
481
506
 
482
507
  return new SeamHttpRequest(this, {
@@ -173,6 +173,7 @@ export class SeamHttpUserIdentitiesUnmanaged {
173
173
  parameters,
174
174
  '/user_identities/unmanaged/get',
175
175
  true,
176
+ ['user_identity_id'],
176
177
  )
177
178
 
178
179
  return new SeamHttpRequest(this, {
@@ -195,6 +196,7 @@ export class SeamHttpUserIdentitiesUnmanaged {
195
196
  parameters,
196
197
  '/user_identities/unmanaged/list',
197
198
  false,
199
+ [],
198
200
  )
199
201
 
200
202
  return new SeamHttpRequest(this, {
@@ -219,6 +221,7 @@ export class SeamHttpUserIdentitiesUnmanaged {
219
221
  parameters,
220
222
  '/user_identities/unmanaged/update',
221
223
  true,
224
+ ['is_managed', 'user_identity_id'],
222
225
  )
223
226
 
224
227
  return new SeamHttpRequest(this, {