@seamapi/http 2.4.0 → 2.4.2

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 (181) hide show
  1. package/lib/error-interceptor.js +1 -1
  2. package/lib/request-parameters.d.ts +2 -0
  3. package/lib/request-parameters.js +17 -0
  4. package/lib/request-parameters.js.map +1 -0
  5. package/lib/resources/access-code.d.ts +13 -9
  6. package/lib/resources/acs-credential.d.ts +33 -1
  7. package/lib/resources/acs-entrance.d.ts +1 -1
  8. package/lib/resources/acs-system.d.ts +30 -0
  9. package/lib/resources/action-attempt.d.ts +82 -11
  10. package/lib/resources/device-provider.d.ts +1 -1
  11. package/lib/resources/device.d.ts +63 -18
  12. package/lib/resources/event.d.ts +0 -76
  13. package/lib/resources/unmanaged-access-code.d.ts +13 -9
  14. package/lib/resources/unmanaged-device.d.ts +28 -16
  15. package/lib/routes/access-codes/access-codes.d.ts +8 -35
  16. package/lib/routes/access-codes/access-codes.js +17 -6
  17. package/lib/routes/access-codes/access-codes.js.map +1 -1
  18. package/lib/routes/access-codes/simulate/simulate.js +2 -0
  19. package/lib/routes/access-codes/simulate/simulate.js.map +1 -1
  20. package/lib/routes/access-codes/unmanaged/unmanaged.d.ts +5 -4
  21. package/lib/routes/access-codes/unmanaged/unmanaged.js +12 -6
  22. package/lib/routes/access-codes/unmanaged/unmanaged.js.map +1 -1
  23. package/lib/routes/access-grants/access-grants.d.ts +20 -19
  24. package/lib/routes/access-grants/access-grants.js +10 -2
  25. package/lib/routes/access-grants/access-grants.js.map +1 -1
  26. package/lib/routes/access-grants/unmanaged/unmanaged.d.ts +1 -1
  27. package/lib/routes/access-grants/unmanaged/unmanaged.js +8 -4
  28. package/lib/routes/access-grants/unmanaged/unmanaged.js.map +1 -1
  29. package/lib/routes/access-methods/access-methods.d.ts +8 -7
  30. package/lib/routes/access-methods/access-methods.js +12 -4
  31. package/lib/routes/access-methods/access-methods.js.map +1 -1
  32. package/lib/routes/access-methods/unmanaged/unmanaged.js +7 -4
  33. package/lib/routes/access-methods/unmanaged/unmanaged.js.map +1 -1
  34. package/lib/routes/acs/access-groups/access-groups.js +20 -12
  35. package/lib/routes/acs/access-groups/access-groups.js.map +1 -1
  36. package/lib/routes/acs/credentials/credentials.d.ts +1 -1
  37. package/lib/routes/acs/credentials/credentials.js +15 -6
  38. package/lib/routes/acs/credentials/credentials.js.map +1 -1
  39. package/lib/routes/acs/encoders/encoders.d.ts +1 -1
  40. package/lib/routes/acs/encoders/encoders.js +10 -4
  41. package/lib/routes/acs/encoders/encoders.js.map +1 -1
  42. package/lib/routes/acs/encoders/simulate/simulate.js +5 -0
  43. package/lib/routes/acs/encoders/simulate/simulate.js.map +1 -1
  44. package/lib/routes/acs/entrances/entrances.d.ts +2 -2
  45. package/lib/routes/acs/entrances/entrances.js +8 -2
  46. package/lib/routes/acs/entrances/entrances.js.map +1 -1
  47. package/lib/routes/acs/systems/systems.js +11 -6
  48. package/lib/routes/acs/systems/systems.js.map +1 -1
  49. package/lib/routes/acs/users/users.d.ts +25 -24
  50. package/lib/routes/acs/users/users.js +22 -10
  51. package/lib/routes/acs/users/users.js.map +1 -1
  52. package/lib/routes/action-attempts/action-attempts.d.ts +1 -1
  53. package/lib/routes/action-attempts/action-attempts.js +5 -2
  54. package/lib/routes/action-attempts/action-attempts.js.map +1 -1
  55. package/lib/routes/client-sessions/client-sessions.d.ts +4 -3
  56. package/lib/routes/client-sessions/client-sessions.js +14 -6
  57. package/lib/routes/client-sessions/client-sessions.js.map +1 -1
  58. package/lib/routes/connect-webviews/connect-webviews.d.ts +2 -2
  59. package/lib/routes/connect-webviews/connect-webviews.js +9 -4
  60. package/lib/routes/connect-webviews/connect-webviews.js.map +1 -1
  61. package/lib/routes/connected-accounts/connected-accounts.d.ts +5 -4
  62. package/lib/routes/connected-accounts/connected-accounts.js +8 -2
  63. package/lib/routes/connected-accounts/connected-accounts.js.map +1 -1
  64. package/lib/routes/connected-accounts/simulate/simulate.js +2 -0
  65. package/lib/routes/connected-accounts/simulate/simulate.js.map +1 -1
  66. package/lib/routes/customers/customers.d.ts +9 -9
  67. package/lib/routes/customers/customers.js +4 -0
  68. package/lib/routes/customers/customers.js.map +1 -1
  69. package/lib/routes/devices/devices.d.ts +11 -10
  70. package/lib/routes/devices/devices.js +10 -4
  71. package/lib/routes/devices/devices.js.map +1 -1
  72. package/lib/routes/devices/simulate/simulate.js +7 -0
  73. package/lib/routes/devices/simulate/simulate.js.map +1 -1
  74. package/lib/routes/devices/unmanaged/unmanaged.d.ts +8 -23
  75. package/lib/routes/devices/unmanaged/unmanaged.js +6 -2
  76. package/lib/routes/devices/unmanaged/unmanaged.js.map +1 -1
  77. package/lib/routes/events/events.d.ts +8 -7
  78. package/lib/routes/events/events.js +5 -2
  79. package/lib/routes/events/events.js.map +1 -1
  80. package/lib/routes/instant-keys/instant-keys.d.ts +4 -3
  81. package/lib/routes/instant-keys/instant-keys.js +10 -6
  82. package/lib/routes/instant-keys/instant-keys.js.map +1 -1
  83. package/lib/routes/locks/locks.d.ts +7 -46
  84. package/lib/routes/locks/locks.js +8 -2
  85. package/lib/routes/locks/locks.js.map +1 -1
  86. package/lib/routes/locks/simulate/simulate.js +3 -0
  87. package/lib/routes/locks/simulate/simulate.js.map +1 -1
  88. package/lib/routes/noise-sensors/noise-sensors.d.ts +0 -40
  89. package/lib/routes/noise-sensors/noise-sensors.js +2 -0
  90. package/lib/routes/noise-sensors/noise-sensors.js.map +1 -1
  91. package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js +12 -6
  92. package/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.js.map +1 -1
  93. package/lib/routes/noise-sensors/simulate/simulate.js +2 -0
  94. package/lib/routes/noise-sensors/simulate/simulate.js.map +1 -1
  95. package/lib/routes/phones/phones.js +10 -6
  96. package/lib/routes/phones/phones.js.map +1 -1
  97. package/lib/routes/phones/simulate/simulate.js +2 -0
  98. package/lib/routes/phones/simulate/simulate.js.map +1 -1
  99. package/lib/routes/seam-http-endpoints.d.ts +26 -26
  100. package/lib/routes/spaces/spaces.d.ts +16 -15
  101. package/lib/routes/spaces/spaces.js +19 -6
  102. package/lib/routes/spaces/spaces.js.map +1 -1
  103. package/lib/routes/thermostats/daily-programs/daily-programs.js +6 -2
  104. package/lib/routes/thermostats/daily-programs/daily-programs.js.map +1 -1
  105. package/lib/routes/thermostats/schedules/schedules.d.ts +2 -2
  106. package/lib/routes/thermostats/schedules/schedules.js +12 -6
  107. package/lib/routes/thermostats/schedules/schedules.js.map +1 -1
  108. package/lib/routes/thermostats/simulate/simulate.js +3 -0
  109. package/lib/routes/thermostats/simulate/simulate.js.map +1 -1
  110. package/lib/routes/thermostats/thermostats.d.ts +13 -53
  111. package/lib/routes/thermostats/thermostats.js +17 -2
  112. package/lib/routes/thermostats/thermostats.js.map +1 -1
  113. package/lib/routes/user-identities/unmanaged/unmanaged.d.ts +1 -1
  114. package/lib/routes/user-identities/unmanaged/unmanaged.js +8 -4
  115. package/lib/routes/user-identities/unmanaged/unmanaged.js.map +1 -1
  116. package/lib/routes/user-identities/user-identities.d.ts +13 -12
  117. package/lib/routes/user-identities/user-identities.js +29 -14
  118. package/lib/routes/user-identities/user-identities.js.map +1 -1
  119. package/lib/routes/webhooks/webhooks.js +10 -4
  120. package/lib/routes/webhooks/webhooks.js.map +1 -1
  121. package/lib/routes/workspaces/workspaces.d.ts +9 -9
  122. package/lib/routes/workspaces/workspaces.js +6 -0
  123. package/lib/routes/workspaces/workspaces.js.map +1 -1
  124. package/lib/version.d.ts +1 -1
  125. package/lib/version.js +1 -1
  126. package/package.json +3 -3
  127. package/src/lib/error-interceptor.ts +1 -1
  128. package/src/lib/request-parameters.ts +33 -0
  129. package/src/lib/resources/access-code.ts +15 -9
  130. package/src/lib/resources/acs-credential.ts +40 -0
  131. package/src/lib/resources/acs-entrance.ts +1 -1
  132. package/src/lib/resources/acs-system.ts +36 -0
  133. package/src/lib/resources/action-attempt.ts +91 -6
  134. package/src/lib/resources/device-provider.ts +1 -0
  135. package/src/lib/resources/device.ts +70 -20
  136. package/src/lib/resources/event.ts +0 -76
  137. package/src/lib/resources/unmanaged-access-code.ts +15 -9
  138. package/src/lib/resources/unmanaged-device.ts +33 -18
  139. package/src/lib/routes/access-codes/access-codes.ts +57 -41
  140. package/src/lib/routes/access-codes/simulate/simulate.ts +7 -0
  141. package/src/lib/routes/access-codes/unmanaged/unmanaged.ts +44 -10
  142. package/src/lib/routes/access-grants/access-grants.ts +43 -21
  143. package/src/lib/routes/access-grants/unmanaged/unmanaged.ts +24 -5
  144. package/src/lib/routes/access-methods/access-methods.ts +41 -11
  145. package/src/lib/routes/access-methods/unmanaged/unmanaged.ts +17 -4
  146. package/src/lib/routes/acs/access-groups/access-groups.ts +43 -12
  147. package/src/lib/routes/acs/credentials/credentials.ts +28 -7
  148. package/src/lib/routes/acs/encoders/encoders.ts +28 -5
  149. package/src/lib/routes/acs/encoders/simulate/simulate.ts +25 -0
  150. package/src/lib/routes/acs/entrances/entrances.ts +23 -4
  151. package/src/lib/routes/acs/systems/systems.ts +23 -6
  152. package/src/lib/routes/acs/users/users.ts +76 -33
  153. package/src/lib/routes/action-attempts/action-attempts.ts +8 -3
  154. package/src/lib/routes/client-sessions/client-sessions.ts +35 -9
  155. package/src/lib/routes/connect-webviews/connect-webviews.ts +15 -5
  156. package/src/lib/routes/connected-accounts/connected-accounts.ts +20 -6
  157. package/src/lib/routes/connected-accounts/simulate/simulate.ts +7 -0
  158. package/src/lib/routes/customers/customers.ts +16 -9
  159. package/src/lib/routes/devices/devices.ts +36 -11
  160. package/src/lib/routes/devices/simulate/simulate.ts +29 -0
  161. package/src/lib/routes/devices/unmanaged/unmanaged.ts +19 -22
  162. package/src/lib/routes/events/events.ts +17 -9
  163. package/src/lib/routes/instant-keys/instant-keys.ts +19 -9
  164. package/src/lib/routes/locks/locks.ts +22 -45
  165. package/src/lib/routes/locks/simulate/simulate.ts +13 -0
  166. package/src/lib/routes/noise-sensors/noise-sensors.ts +3 -40
  167. package/src/lib/routes/noise-sensors/noise-thresholds/noise-thresholds.ts +37 -6
  168. package/src/lib/routes/noise-sensors/simulate/simulate.ts +7 -0
  169. package/src/lib/routes/phones/phones.ts +13 -6
  170. package/src/lib/routes/phones/simulate/simulate.ts +7 -0
  171. package/src/lib/routes/seam-http-endpoints.ts +26 -26
  172. package/src/lib/routes/spaces/spaces.ts +61 -21
  173. package/src/lib/routes/thermostats/daily-programs/daily-programs.ts +21 -2
  174. package/src/lib/routes/thermostats/schedules/schedules.ts +35 -8
  175. package/src/lib/routes/thermostats/simulate/simulate.ts +13 -0
  176. package/src/lib/routes/thermostats/thermostats.ts +72 -55
  177. package/src/lib/routes/user-identities/unmanaged/unmanaged.ts +24 -5
  178. package/src/lib/routes/user-identities/user-identities.ts +94 -26
  179. package/src/lib/routes/webhooks/webhooks.ts +15 -4
  180. package/src/lib/routes/workspaces/workspaces.ts +20 -9
  181. package/src/lib/version.ts +1 -1
@@ -963,7 +963,7 @@ export class SeamHttpEndpoints {
963
963
  * You must specify either `access_code_id` or both `device_id` and `code`.
964
964
  */
965
965
  get '/access_codes/get'(): (
966
- parameters?: AccessCodesGetParameters,
966
+ parameters: AccessCodesGetParameters,
967
967
  options?: AccessCodesGetOptions,
968
968
  ) => AccessCodesGetRequest {
969
969
  const { client, defaults } = this
@@ -981,7 +981,7 @@ export class SeamHttpEndpoints {
981
981
  * Specify `device_id`, `access_code_ids`, `access_method_id`, `access_grant_id`, or `access_grant_key`.
982
982
  */
983
983
  get '/access_codes/list'(): (
984
- parameters?: AccessCodesListParameters,
984
+ parameters: AccessCodesListParameters,
985
985
  options?: AccessCodesListOptions,
986
986
  ) => AccessCodesListRequest {
987
987
  const { client, defaults } = this
@@ -1133,7 +1133,7 @@ export class SeamHttpEndpoints {
1133
1133
  * You must specify either `access_code_id` or both `device_id` and `code`.
1134
1134
  */
1135
1135
  get '/access_codes/unmanaged/get'(): (
1136
- parameters?: AccessCodesUnmanagedGetParameters,
1136
+ parameters: AccessCodesUnmanagedGetParameters,
1137
1137
  options?: AccessCodesUnmanagedGetOptions,
1138
1138
  ) => AccessCodesUnmanagedGetRequest {
1139
1139
  const { client, defaults } = this
@@ -1213,7 +1213,7 @@ export class SeamHttpEndpoints {
1213
1213
  * Get an Access Grant.
1214
1214
  */
1215
1215
  get '/access_grants/get'(): (
1216
- parameters?: AccessGrantsGetParameters,
1216
+ parameters: AccessGrantsGetParameters,
1217
1217
  options?: AccessGrantsGetOptions,
1218
1218
  ) => AccessGrantsGetRequest {
1219
1219
  const { client, defaults } = this
@@ -1229,7 +1229,7 @@ export class SeamHttpEndpoints {
1229
1229
  * Gets all related resources for one or more Access Grants.
1230
1230
  */
1231
1231
  get '/access_grants/get_related'(): (
1232
- parameters?: AccessGrantsGetRelatedParameters,
1232
+ parameters: AccessGrantsGetRelatedParameters,
1233
1233
  options?: AccessGrantsGetRelatedOptions,
1234
1234
  ) => AccessGrantsGetRelatedRequest {
1235
1235
  const { client, defaults } = this
@@ -1277,7 +1277,7 @@ export class SeamHttpEndpoints {
1277
1277
  * Updates an existing Access Grant's time window.
1278
1278
  */
1279
1279
  get '/access_grants/update'(): (
1280
- parameters?: AccessGrantsUpdateParameters,
1280
+ parameters: AccessGrantsUpdateParameters,
1281
1281
  options?: AccessGrantsUpdateOptions,
1282
1282
  ) => AccessGrantsUpdateRequest {
1283
1283
  const { client, defaults } = this
@@ -1361,7 +1361,7 @@ export class SeamHttpEndpoints {
1361
1361
  * Deletes an access method.
1362
1362
  */
1363
1363
  get '/access_methods/delete'(): (
1364
- parameters?: AccessMethodsDeleteParameters,
1364
+ parameters: AccessMethodsDeleteParameters,
1365
1365
  options?: AccessMethodsDeleteOptions,
1366
1366
  ) => AccessMethodsDeleteRequest {
1367
1367
  const { client, defaults } = this
@@ -1425,7 +1425,7 @@ export class SeamHttpEndpoints {
1425
1425
  * Lists all access methods, usually filtered by Access Grant.
1426
1426
  */
1427
1427
  get '/access_methods/list'(): (
1428
- parameters?: AccessMethodsListParameters,
1428
+ parameters: AccessMethodsListParameters,
1429
1429
  options?: AccessMethodsListOptions,
1430
1430
  ) => AccessMethodsListRequest {
1431
1431
  const { client, defaults } = this
@@ -2069,7 +2069,7 @@ export class SeamHttpEndpoints {
2069
2069
  * Deletes a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) and invalidates the access system user's [credentials](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
2070
2070
  */
2071
2071
  get '/acs/users/delete'(): (
2072
- parameters?: AcsUsersDeleteParameters,
2072
+ parameters: AcsUsersDeleteParameters,
2073
2073
  options?: AcsUsersDeleteOptions,
2074
2074
  ) => AcsUsersDeleteRequest {
2075
2075
  const { client, defaults } = this
@@ -2085,7 +2085,7 @@ export class SeamHttpEndpoints {
2085
2085
  * Returns a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
2086
2086
  */
2087
2087
  get '/acs/users/get'(): (
2088
- parameters?: AcsUsersGetParameters,
2088
+ parameters: AcsUsersGetParameters,
2089
2089
  options?: AcsUsersGetOptions,
2090
2090
  ) => AcsUsersGetRequest {
2091
2091
  const { client, defaults } = this
@@ -2117,7 +2117,7 @@ export class SeamHttpEndpoints {
2117
2117
  * Lists the [entrances](https://docs.seam.co/api/acs/entrances) to which a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) has access.
2118
2118
  */
2119
2119
  get '/acs/users/list_accessible_entrances'(): (
2120
- parameters?: AcsUsersListAccessibleEntrancesParameters,
2120
+ parameters: AcsUsersListAccessibleEntrancesParameters,
2121
2121
  options?: AcsUsersListAccessibleEntrancesOptions,
2122
2122
  ) => AcsUsersListAccessibleEntrancesRequest {
2123
2123
  const { client, defaults } = this
@@ -2149,7 +2149,7 @@ export class SeamHttpEndpoints {
2149
2149
  * Revokes access to all [entrances](https://docs.seam.co/api/acs/entrances) for a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
2150
2150
  */
2151
2151
  get '/acs/users/revoke_access_to_all_entrances'(): (
2152
- parameters?: AcsUsersRevokeAccessToAllEntrancesParameters,
2152
+ parameters: AcsUsersRevokeAccessToAllEntrancesParameters,
2153
2153
  options?: AcsUsersRevokeAccessToAllEntrancesOptions,
2154
2154
  ) => AcsUsersRevokeAccessToAllEntrancesRequest {
2155
2155
  const { client, defaults } = this
@@ -2165,7 +2165,7 @@ export class SeamHttpEndpoints {
2165
2165
  * [Suspends](https://docs.seam.co/low-level-apis/access-systems/user-management/suspending-and-unsuspending-users#suspend-an-acs-user) a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management). Suspending an access system user revokes their access temporarily. To restore an access system user's access, you can [unsuspend](https://docs.seam.co/api/acs/users/unsuspend) them.
2166
2166
  */
2167
2167
  get '/acs/users/suspend'(): (
2168
- parameters?: AcsUsersSuspendParameters,
2168
+ parameters: AcsUsersSuspendParameters,
2169
2169
  options?: AcsUsersSuspendOptions,
2170
2170
  ) => AcsUsersSuspendRequest {
2171
2171
  const { client, defaults } = this
@@ -2181,7 +2181,7 @@ export class SeamHttpEndpoints {
2181
2181
  * [Unsuspends](https://docs.seam.co/low-level-apis/access-systems/user-management/suspending-and-unsuspending-users#unsuspend-an-acs-user) a specified suspended [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management). While [suspending an access system user](https://docs.seam.co/api/acs/users/suspend) revokes their access temporarily, unsuspending the access system user restores their access.
2182
2182
  */
2183
2183
  get '/acs/users/unsuspend'(): (
2184
- parameters?: AcsUsersUnsuspendParameters,
2184
+ parameters: AcsUsersUnsuspendParameters,
2185
2185
  options?: AcsUsersUnsuspendOptions,
2186
2186
  ) => AcsUsersUnsuspendRequest {
2187
2187
  const { client, defaults } = this
@@ -2197,7 +2197,7 @@ export class SeamHttpEndpoints {
2197
2197
  * Updates the properties of a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
2198
2198
  */
2199
2199
  get '/acs/users/update'(): (
2200
- parameters?: AcsUsersUpdateParameters,
2200
+ parameters: AcsUsersUpdateParameters,
2201
2201
  options?: AcsUsersUpdateOptions,
2202
2202
  ) => AcsUsersUpdateRequest {
2203
2203
  const { client, defaults } = this
@@ -2309,7 +2309,7 @@ export class SeamHttpEndpoints {
2309
2309
  * Grants a [client session](https://docs.seam.co/core-concepts/authentication/client-session-tokens) access to one or more resources, such as [Connect Webviews](https://docs.seam.co/core-concepts/connect-webviews), [user identities](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity), and so on.
2310
2310
  */
2311
2311
  get '/client_sessions/grant_access'(): (
2312
- parameters?: ClientSessionsGrantAccessParameters,
2312
+ parameters: ClientSessionsGrantAccessParameters,
2313
2313
  options?: ClientSessionsGrantAccessOptions,
2314
2314
  ) => ClientSessionsGrantAccessRequest {
2315
2315
  const { client, defaults } = this
@@ -2453,7 +2453,7 @@ export class SeamHttpEndpoints {
2453
2453
  * Returns a specified [connected account](https://docs.seam.co/core-concepts/connected-accounts).
2454
2454
  */
2455
2455
  get '/connected_accounts/get'(): (
2456
- parameters?: ConnectedAccountsGetParameters,
2456
+ parameters: ConnectedAccountsGetParameters,
2457
2457
  options?: ConnectedAccountsGetOptions,
2458
2458
  ) => ConnectedAccountsGetRequest {
2459
2459
  const { client, defaults } = this
@@ -2587,7 +2587,7 @@ export class SeamHttpEndpoints {
2587
2587
  * You must specify either `device_id` or `name`.
2588
2588
  */
2589
2589
  get '/devices/get'(): (
2590
- parameters?: DevicesGetParameters,
2590
+ parameters: DevicesGetParameters,
2591
2591
  options?: DevicesGetOptions,
2592
2592
  ) => DevicesGetRequest {
2593
2593
  const { client, defaults } = this
@@ -2782,7 +2782,7 @@ export class SeamHttpEndpoints {
2782
2782
  * You must specify either `device_id` or `name`.
2783
2783
  */
2784
2784
  get '/devices/unmanaged/get'(): (
2785
- parameters?: DevicesUnmanagedGetParameters,
2785
+ parameters: DevicesUnmanagedGetParameters,
2786
2786
  options?: DevicesUnmanagedGetOptions,
2787
2787
  ) => DevicesUnmanagedGetRequest {
2788
2788
  const { client, defaults } = this
@@ -2834,7 +2834,7 @@ export class SeamHttpEndpoints {
2834
2834
  * Returns a specified event. This endpoint returns the same event that would be sent to a [webhook](https://docs.seam.co/developer-tools/webhooks), but it enables you to retrieve an event that already took place.
2835
2835
  */
2836
2836
  get '/events/get'(): (
2837
- parameters?: EventsGetParameters,
2837
+ parameters: EventsGetParameters,
2838
2838
  options?: EventsGetOptions,
2839
2839
  ) => EventsGetRequest {
2840
2840
  const { client, defaults } = this
@@ -2850,7 +2850,7 @@ export class SeamHttpEndpoints {
2850
2850
  * Returns a list of all events. This endpoint returns the same events that would be sent to a [webhook](https://docs.seam.co/developer-tools/webhooks), but it enables you to filter or see events that already took place.
2851
2851
  */
2852
2852
  get '/events/list'(): (
2853
- parameters?: EventsListParameters,
2853
+ parameters: EventsListParameters,
2854
2854
  options?: EventsListOptions,
2855
2855
  ) => EventsListRequest {
2856
2856
  const { client, defaults } = this
@@ -2882,7 +2882,7 @@ export class SeamHttpEndpoints {
2882
2882
  * Gets an [instant key](https://docs.seam.co/capability-guides/instant-keys).
2883
2883
  */
2884
2884
  get '/instant_keys/get'(): (
2885
- parameters?: InstantKeysGetParameters,
2885
+ parameters: InstantKeysGetParameters,
2886
2886
  options?: InstantKeysGetOptions,
2887
2887
  ) => InstantKeysGetRequest {
2888
2888
  const { client, defaults } = this
@@ -2931,7 +2931,7 @@ export class SeamHttpEndpoints {
2931
2931
  * @deprecated Use `/devices/get` instead.
2932
2932
  */
2933
2933
  get '/locks/get'(): (
2934
- parameters?: LocksGetParameters,
2934
+ parameters: LocksGetParameters,
2935
2935
  options?: LocksGetOptions,
2936
2936
  ) => LocksGetRequest {
2937
2937
  const { client, defaults } = this
@@ -3298,7 +3298,7 @@ export class SeamHttpEndpoints {
3298
3298
  * Gets a space.
3299
3299
  */
3300
3300
  get '/spaces/get'(): (
3301
- parameters?: SpacesGetParameters,
3301
+ parameters: SpacesGetParameters,
3302
3302
  options?: SpacesGetOptions,
3303
3303
  ) => SpacesGetRequest {
3304
3304
  const { client, defaults } = this
@@ -3314,7 +3314,7 @@ export class SeamHttpEndpoints {
3314
3314
  * Gets all related resources for one or more Spaces.
3315
3315
  */
3316
3316
  get '/spaces/get_related'(): (
3317
- parameters?: SpacesGetRelatedParameters,
3317
+ parameters: SpacesGetRelatedParameters,
3318
3318
  options?: SpacesGetRelatedOptions,
3319
3319
  ) => SpacesGetRelatedRequest {
3320
3320
  const { client, defaults } = this
@@ -3862,7 +3862,7 @@ export class SeamHttpEndpoints {
3862
3862
  * Returns a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).
3863
3863
  */
3864
3864
  get '/user_identities/get'(): (
3865
- parameters?: UserIdentitiesGetParameters,
3865
+ parameters: UserIdentitiesGetParameters,
3866
3866
  options?: UserIdentitiesGetOptions,
3867
3867
  ) => UserIdentitiesGetRequest {
3868
3868
  const { client, defaults } = this
@@ -28,6 +28,10 @@ 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
35
  import type { Batch } from 'lib/resources/batch.js'
32
36
  import type { Space } from 'lib/resources/space.js'
33
37
  import { SeamHttpClientSessions } from 'lib/routes/client-sessions/index.js'
@@ -166,6 +170,8 @@ export class SeamHttpSpaces {
166
170
  parameters: SpacesAddAcsEntrancesParameters,
167
171
  options: SpacesAddAcsEntrancesOptions = {},
168
172
  ): SpacesAddAcsEntrancesRequest {
173
+ assertValidRequestParameters(parameters, '/spaces/add_acs_entrances', true)
174
+
169
175
  return new SeamHttpRequest(this, {
170
176
  pathname: '/spaces/add_acs_entrances',
171
177
  method: 'PUT',
@@ -182,6 +188,12 @@ export class SeamHttpSpaces {
182
188
  parameters: SpacesAddConnectedAccountParameters,
183
189
  options: SpacesAddConnectedAccountOptions = {},
184
190
  ): SpacesAddConnectedAccountRequest {
191
+ assertValidRequestParameters(
192
+ parameters,
193
+ '/spaces/add_connected_account',
194
+ true,
195
+ )
196
+
185
197
  return new SeamHttpRequest(this, {
186
198
  pathname: '/spaces/add_connected_account',
187
199
  method: 'PUT',
@@ -198,6 +210,8 @@ export class SeamHttpSpaces {
198
210
  parameters: SpacesAddDevicesParameters,
199
211
  options: SpacesAddDevicesOptions = {},
200
212
  ): SpacesAddDevicesRequest {
213
+ assertValidRequestParameters(parameters, '/spaces/add_devices', true)
214
+
201
215
  return new SeamHttpRequest(this, {
202
216
  pathname: '/spaces/add_devices',
203
217
  method: 'PUT',
@@ -214,6 +228,8 @@ export class SeamHttpSpaces {
214
228
  parameters: SpacesCreateParameters,
215
229
  options: SpacesCreateOptions = {},
216
230
  ): SpacesCreateRequest {
231
+ assertValidRequestParameters(parameters, '/spaces/create', true)
232
+
217
233
  return new SeamHttpRequest(this, {
218
234
  pathname: '/spaces/create',
219
235
  method: 'POST',
@@ -230,10 +246,12 @@ export class SeamHttpSpaces {
230
246
  parameters: SpacesDeleteParameters,
231
247
  options: SpacesDeleteOptions = {},
232
248
  ): SpacesDeleteRequest {
249
+ assertValidRequestParameters(parameters, '/spaces/delete', true)
250
+
233
251
  return new SeamHttpRequest(this, {
234
252
  pathname: '/spaces/delete',
235
- method: 'POST',
236
- body: parameters,
253
+ method: 'DELETE',
254
+ params: parameters,
237
255
  responseKey: undefined,
238
256
  options,
239
257
  })
@@ -243,9 +261,11 @@ export class SeamHttpSpaces {
243
261
  * Gets a space.
244
262
  */
245
263
  get(
246
- parameters?: SpacesGetParameters,
264
+ parameters: SpacesGetParameters,
247
265
  options: SpacesGetOptions = {},
248
266
  ): SpacesGetRequest {
267
+ assertValidRequestParameters(parameters, '/spaces/get', true)
268
+
249
269
  return new SeamHttpRequest(this, {
250
270
  pathname: '/spaces/get',
251
271
  method: 'GET',
@@ -259,9 +279,11 @@ export class SeamHttpSpaces {
259
279
  * Gets all related resources for one or more Spaces.
260
280
  */
261
281
  getRelated(
262
- parameters?: SpacesGetRelatedParameters,
282
+ parameters: SpacesGetRelatedParameters,
263
283
  options: SpacesGetRelatedOptions = {},
264
284
  ): SpacesGetRelatedRequest {
285
+ assertValidRequestParameters(parameters, '/spaces/get_related', true)
286
+
265
287
  return new SeamHttpRequest(this, {
266
288
  pathname: '/spaces/get_related',
267
289
  method: 'POST',
@@ -278,10 +300,12 @@ export class SeamHttpSpaces {
278
300
  parameters?: SpacesListParameters,
279
301
  options: SpacesListOptions = {},
280
302
  ): SpacesListRequest {
303
+ assertValidRequestParameters(parameters, '/spaces/list', false)
304
+
281
305
  return new SeamHttpRequest(this, {
282
306
  pathname: '/spaces/list',
283
- method: 'POST',
284
- body: parameters,
307
+ method: 'GET',
308
+ params: parameters,
285
309
  responseKey: 'spaces',
286
310
  options,
287
311
  })
@@ -294,6 +318,12 @@ export class SeamHttpSpaces {
294
318
  parameters: SpacesRemoveAcsEntrancesParameters,
295
319
  options: SpacesRemoveAcsEntrancesOptions = {},
296
320
  ): SpacesRemoveAcsEntrancesRequest {
321
+ assertValidRequestParameters(
322
+ parameters,
323
+ '/spaces/remove_acs_entrances',
324
+ true,
325
+ )
326
+
297
327
  return new SeamHttpRequest(this, {
298
328
  pathname: '/spaces/remove_acs_entrances',
299
329
  method: 'POST',
@@ -310,10 +340,16 @@ export class SeamHttpSpaces {
310
340
  parameters: SpacesRemoveConnectedAccountParameters,
311
341
  options: SpacesRemoveConnectedAccountOptions = {},
312
342
  ): SpacesRemoveConnectedAccountRequest {
343
+ assertValidRequestParameters(
344
+ parameters,
345
+ '/spaces/remove_connected_account',
346
+ true,
347
+ )
348
+
313
349
  return new SeamHttpRequest(this, {
314
350
  pathname: '/spaces/remove_connected_account',
315
- method: 'POST',
316
- body: parameters,
351
+ method: 'DELETE',
352
+ params: parameters,
317
353
  responseKey: undefined,
318
354
  options,
319
355
  })
@@ -326,6 +362,8 @@ export class SeamHttpSpaces {
326
362
  parameters: SpacesRemoveDevicesParameters,
327
363
  options: SpacesRemoveDevicesOptions = {},
328
364
  ): SpacesRemoveDevicesRequest {
365
+ assertValidRequestParameters(parameters, '/spaces/remove_devices', true)
366
+
329
367
  return new SeamHttpRequest(this, {
330
368
  pathname: '/spaces/remove_devices',
331
369
  method: 'POST',
@@ -342,6 +380,8 @@ export class SeamHttpSpaces {
342
380
  parameters?: SpacesUpdateParameters,
343
381
  options: SpacesUpdateOptions = {},
344
382
  ): SpacesUpdateRequest {
383
+ assertValidRequestParameters(parameters, '/spaces/update', false)
384
+
345
385
  return new SeamHttpRequest(this, {
346
386
  pathname: '/spaces/update',
347
387
  method: 'PATCH',
@@ -432,19 +472,19 @@ export type SpacesCreateParameters = {
432
472
  /**
433
473
  * Postal address for the space.
434
474
  */
435
- address?: string | undefined
475
+ address?: string | null | undefined
436
476
  /**
437
477
  * Default check-in time for reservations at the space, as HH:mm or HH:mm:ss.
438
478
  */
439
- default_checkin_time?: string | undefined
479
+ default_checkin_time?: string | null | undefined
440
480
  /**
441
481
  * Default check-out time for reservations at the space, as HH:mm or HH:mm:ss.
442
482
  */
443
- default_checkout_time?: string | undefined
483
+ default_checkout_time?: string | null | undefined
444
484
  /**
445
485
  * IANA time zone for the space, e.g. America/Los_Angeles.
446
486
  */
447
- time_zone?: string | undefined
487
+ time_zone?: string | null | undefined
448
488
  }
449
489
  | undefined
450
490
  /**
@@ -491,7 +531,7 @@ export type SpacesDeleteRequest = SeamHttpRequest<void, undefined>
491
531
 
492
532
  export interface SpacesDeleteOptions {}
493
533
 
494
- export type SpacesGetParameters = {
534
+ export type SpacesGetParameters = RequireAtLeastOne<{
495
535
  /**
496
536
  * ID of the space that you want to get.
497
537
  */
@@ -500,7 +540,7 @@ export type SpacesGetParameters = {
500
540
  * Unique key of the space that you want to get.
501
541
  */
502
542
  space_key?: string | undefined
503
- }
543
+ }>
504
544
 
505
545
  /**
506
546
  * @deprecated Use SpacesGetRequest instead.
@@ -511,7 +551,7 @@ export type SpacesGetRequest = SeamHttpRequest<SpacesGetResponse, 'space'>
511
551
 
512
552
  export interface SpacesGetOptions {}
513
553
 
514
- export type SpacesGetRelatedParameters = {
554
+ export type SpacesGetRelatedParameters = RequireAtLeastOne<{
515
555
  exclude?:
516
556
  | Array<
517
557
  | 'spaces'
@@ -541,7 +581,7 @@ export type SpacesGetRelatedParameters = {
541
581
  * Keys of the spaces that you want to get along with their related resources.
542
582
  */
543
583
  space_keys?: Array<string> | undefined
544
- }
584
+ }>
545
585
 
546
586
  /**
547
587
  * @deprecated Use SpacesGetRelatedRequest instead.
@@ -576,7 +616,7 @@ export type SpacesListParameters = {
576
616
  /**
577
617
  * Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.
578
618
  */
579
- page_cursor?: string | undefined
619
+ page_cursor?: string | null | undefined
580
620
  /**
581
621
  * String for which to search. Filters returned spaces to include all records that satisfy a partial match using `name`, `space_key`, or `customer_key`.
582
622
  */
@@ -675,19 +715,19 @@ export type SpacesUpdateParameters = {
675
715
  /**
676
716
  * Postal address for the space.
677
717
  */
678
- address?: string | undefined
718
+ address?: string | null | undefined
679
719
  /**
680
720
  * Default check-in time for reservations at the space, as HH:mm or HH:mm:ss.
681
721
  */
682
- default_checkin_time?: string | undefined
722
+ default_checkin_time?: string | null | undefined
683
723
  /**
684
724
  * Default check-out time for reservations at the space, as HH:mm or HH:mm:ss.
685
725
  */
686
- default_checkout_time?: string | undefined
726
+ default_checkout_time?: string | null | undefined
687
727
  /**
688
728
  * IANA time zone for the space, e.g. America/Los_Angeles.
689
729
  */
690
- time_zone?: string | undefined
730
+ time_zone?: string | null | undefined
691
731
  }
692
732
  | undefined
693
733
  /**
@@ -28,6 +28,7 @@ import {
28
28
  limitToSeamHttpRequestOptions,
29
29
  parseOptions,
30
30
  } from 'lib/parse-options.js'
31
+ import { assertValidRequestParameters } from 'lib/request-parameters.js'
31
32
  import type { ActionAttempt } from 'lib/resources/action-attempt.js'
32
33
  import type { ThermostatDailyProgram } from 'lib/resources/thermostat-daily-program.js'
33
34
  import { SeamHttpActionAttempts } from 'lib/routes/action-attempts/index.js'
@@ -170,6 +171,12 @@ export class SeamHttpThermostatsDailyPrograms {
170
171
  parameters: ThermostatsDailyProgramsCreateParameters,
171
172
  options: ThermostatsDailyProgramsCreateOptions = {},
172
173
  ): ThermostatsDailyProgramsCreateRequest {
174
+ assertValidRequestParameters(
175
+ parameters,
176
+ '/thermostats/daily_programs/create',
177
+ true,
178
+ )
179
+
173
180
  return new SeamHttpRequest(this, {
174
181
  pathname: '/thermostats/daily_programs/create',
175
182
  method: 'POST',
@@ -186,10 +193,16 @@ export class SeamHttpThermostatsDailyPrograms {
186
193
  parameters: ThermostatsDailyProgramsDeleteParameters,
187
194
  options: ThermostatsDailyProgramsDeleteOptions = {},
188
195
  ): ThermostatsDailyProgramsDeleteRequest {
196
+ assertValidRequestParameters(
197
+ parameters,
198
+ '/thermostats/daily_programs/delete',
199
+ true,
200
+ )
201
+
189
202
  return new SeamHttpRequest(this, {
190
203
  pathname: '/thermostats/daily_programs/delete',
191
- method: 'POST',
192
- body: parameters,
204
+ method: 'DELETE',
205
+ params: parameters,
193
206
  responseKey: undefined,
194
207
  options,
195
208
  })
@@ -202,6 +215,12 @@ export class SeamHttpThermostatsDailyPrograms {
202
215
  parameters: ThermostatsDailyProgramsUpdateParameters,
203
216
  options: ThermostatsDailyProgramsUpdateOptions = {},
204
217
  ): ThermostatsDailyProgramsUpdateRequest {
218
+ assertValidRequestParameters(
219
+ parameters,
220
+ '/thermostats/daily_programs/update',
221
+ true,
222
+ )
223
+
205
224
  return new SeamHttpRequest(this, {
206
225
  pathname: '/thermostats/daily_programs/update',
207
226
  method: 'PATCH',
@@ -28,6 +28,7 @@ import {
28
28
  limitToSeamHttpRequestOptions,
29
29
  parseOptions,
30
30
  } from 'lib/parse-options.js'
31
+ import { assertValidRequestParameters } from 'lib/request-parameters.js'
31
32
  import type { ThermostatSchedule } from 'lib/resources/thermostat-schedule.js'
32
33
  import { SeamHttpClientSessions } from 'lib/routes/client-sessions/index.js'
33
34
  import { SeamHttpRequest } from 'lib/seam-http-request.js'
@@ -165,6 +166,12 @@ export class SeamHttpThermostatsSchedules {
165
166
  parameters: ThermostatsSchedulesCreateParameters,
166
167
  options: ThermostatsSchedulesCreateOptions = {},
167
168
  ): ThermostatsSchedulesCreateRequest {
169
+ assertValidRequestParameters(
170
+ parameters,
171
+ '/thermostats/schedules/create',
172
+ true,
173
+ )
174
+
168
175
  return new SeamHttpRequest(this, {
169
176
  pathname: '/thermostats/schedules/create',
170
177
  method: 'POST',
@@ -181,10 +188,16 @@ export class SeamHttpThermostatsSchedules {
181
188
  parameters: ThermostatsSchedulesDeleteParameters,
182
189
  options: ThermostatsSchedulesDeleteOptions = {},
183
190
  ): ThermostatsSchedulesDeleteRequest {
191
+ assertValidRequestParameters(
192
+ parameters,
193
+ '/thermostats/schedules/delete',
194
+ true,
195
+ )
196
+
184
197
  return new SeamHttpRequest(this, {
185
198
  pathname: '/thermostats/schedules/delete',
186
- method: 'POST',
187
- body: parameters,
199
+ method: 'DELETE',
200
+ params: parameters,
188
201
  responseKey: undefined,
189
202
  options,
190
203
  })
@@ -197,10 +210,12 @@ export class SeamHttpThermostatsSchedules {
197
210
  parameters: ThermostatsSchedulesGetParameters,
198
211
  options: ThermostatsSchedulesGetOptions = {},
199
212
  ): ThermostatsSchedulesGetRequest {
213
+ assertValidRequestParameters(parameters, '/thermostats/schedules/get', true)
214
+
200
215
  return new SeamHttpRequest(this, {
201
216
  pathname: '/thermostats/schedules/get',
202
- method: 'POST',
203
- body: parameters,
217
+ method: 'GET',
218
+ params: parameters,
204
219
  responseKey: 'thermostat_schedule',
205
220
  options,
206
221
  })
@@ -213,10 +228,16 @@ export class SeamHttpThermostatsSchedules {
213
228
  parameters: ThermostatsSchedulesListParameters,
214
229
  options: ThermostatsSchedulesListOptions = {},
215
230
  ): ThermostatsSchedulesListRequest {
231
+ assertValidRequestParameters(
232
+ parameters,
233
+ '/thermostats/schedules/list',
234
+ true,
235
+ )
236
+
216
237
  return new SeamHttpRequest(this, {
217
238
  pathname: '/thermostats/schedules/list',
218
- method: 'POST',
219
- body: parameters,
239
+ method: 'GET',
240
+ params: parameters,
220
241
  responseKey: 'thermostat_schedules',
221
242
  options,
222
243
  })
@@ -229,6 +250,12 @@ export class SeamHttpThermostatsSchedules {
229
250
  parameters: ThermostatsSchedulesUpdateParameters,
230
251
  options: ThermostatsSchedulesUpdateOptions = {},
231
252
  ): ThermostatsSchedulesUpdateRequest {
253
+ assertValidRequestParameters(
254
+ parameters,
255
+ '/thermostats/schedules/update',
256
+ true,
257
+ )
258
+
232
259
  return new SeamHttpRequest(this, {
233
260
  pathname: '/thermostats/schedules/update',
234
261
  method: 'PATCH',
@@ -262,7 +289,7 @@ export type ThermostatsSchedulesCreateParameters = {
262
289
  /**
263
290
  * Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
264
291
  */
265
- max_override_period_minutes?: number | undefined
292
+ max_override_period_minutes?: number | null | undefined
266
293
  /**
267
294
  * Name of the thermostat schedule.
268
295
  */
@@ -366,7 +393,7 @@ export type ThermostatsSchedulesUpdateParameters = {
366
393
  /**
367
394
  * Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
368
395
  */
369
- max_override_period_minutes?: number | undefined
396
+ max_override_period_minutes?: number | null | undefined
370
397
  /**
371
398
  * Name of the thermostat schedule.
372
399
  */
@@ -28,6 +28,7 @@ import {
28
28
  limitToSeamHttpRequestOptions,
29
29
  parseOptions,
30
30
  } from 'lib/parse-options.js'
31
+ import { assertValidRequestParameters } from 'lib/request-parameters.js'
31
32
  import { SeamHttpClientSessions } from 'lib/routes/client-sessions/index.js'
32
33
  import { SeamHttpRequest } from 'lib/seam-http-request.js'
33
34
  import { SeamPaginator } from 'lib/seam-paginator.js'
@@ -164,6 +165,12 @@ export class SeamHttpThermostatsSimulate {
164
165
  parameters: ThermostatsSimulateHvacModeAdjustedParameters,
165
166
  options: ThermostatsSimulateHvacModeAdjustedOptions = {},
166
167
  ): ThermostatsSimulateHvacModeAdjustedRequest {
168
+ assertValidRequestParameters(
169
+ parameters,
170
+ '/thermostats/simulate/hvac_mode_adjusted',
171
+ true,
172
+ )
173
+
167
174
  return new SeamHttpRequest(this, {
168
175
  pathname: '/thermostats/simulate/hvac_mode_adjusted',
169
176
  method: 'POST',
@@ -180,6 +187,12 @@ export class SeamHttpThermostatsSimulate {
180
187
  parameters: ThermostatsSimulateTemperatureReachedParameters,
181
188
  options: ThermostatsSimulateTemperatureReachedOptions = {},
182
189
  ): ThermostatsSimulateTemperatureReachedRequest {
190
+ assertValidRequestParameters(
191
+ parameters,
192
+ '/thermostats/simulate/temperature_reached',
193
+ true,
194
+ )
195
+
183
196
  return new SeamHttpRequest(this, {
184
197
  pathname: '/thermostats/simulate/temperature_reached',
185
198
  method: 'POST',