@seamapi/types 1.398.0 → 1.399.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/connect.cjs +886 -294
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +848 -177
  4. package/lib/seam/connect/models/access-codes/managed-access-code.js +8 -2
  5. package/lib/seam/connect/models/access-codes/managed-access-code.js.map +1 -1
  6. package/lib/seam/connect/models/access-codes/unmanaged-access-code.js +4 -0
  7. package/lib/seam/connect/models/access-codes/unmanaged-access-code.js.map +1 -1
  8. package/lib/seam/connect/models/client-sessions/client-session.js +9 -0
  9. package/lib/seam/connect/models/client-sessions/client-session.js.map +1 -1
  10. package/lib/seam/connect/models/connect-webviews/connect-webview.js +13 -0
  11. package/lib/seam/connect/models/connect-webviews/connect-webview.js.map +1 -1
  12. package/lib/seam/connect/models/connected-accounts/connected-account.js +1 -0
  13. package/lib/seam/connect/models/connected-accounts/connected-account.js.map +1 -1
  14. package/lib/seam/connect/models/devices/capability-properties/access-code.js +4 -1
  15. package/lib/seam/connect/models/devices/capability-properties/access-code.js.map +1 -1
  16. package/lib/seam/connect/models/devices/device.js +5 -1
  17. package/lib/seam/connect/models/devices/device.js.map +1 -1
  18. package/lib/seam/connect/models/devices/unmanaged-device.js +1 -0
  19. package/lib/seam/connect/models/devices/unmanaged-device.js.map +1 -1
  20. package/lib/seam/connect/models/events/seam-event.js +3 -0
  21. package/lib/seam/connect/models/events/seam-event.js.map +1 -1
  22. package/lib/seam/connect/models/user-identities/user-identity.js +1 -1
  23. package/lib/seam/connect/models/workspaces/workspace.js +1 -0
  24. package/lib/seam/connect/models/workspaces/workspace.js.map +1 -1
  25. package/lib/seam/connect/openapi.d.ts +381 -0
  26. package/lib/seam/connect/openapi.js +804 -255
  27. package/lib/seam/connect/openapi.js.map +1 -1
  28. package/lib/seam/connect/route-types.d.ts +467 -177
  29. package/package.json +1 -1
  30. package/src/lib/seam/connect/models/access-codes/managed-access-code.ts +8 -2
  31. package/src/lib/seam/connect/models/access-codes/unmanaged-access-code.ts +4 -0
  32. package/src/lib/seam/connect/models/client-sessions/client-session.ts +9 -0
  33. package/src/lib/seam/connect/models/connect-webviews/connect-webview.ts +13 -0
  34. package/src/lib/seam/connect/models/connected-accounts/connected-account.ts +1 -0
  35. package/src/lib/seam/connect/models/devices/capability-properties/access-code.ts +6 -1
  36. package/src/lib/seam/connect/models/devices/device.ts +7 -1
  37. package/src/lib/seam/connect/models/devices/unmanaged-device.ts +1 -0
  38. package/src/lib/seam/connect/models/events/seam-event.ts +3 -0
  39. package/src/lib/seam/connect/models/user-identities/user-identity.ts +1 -1
  40. package/src/lib/seam/connect/models/workspaces/workspace.ts +1 -0
  41. package/src/lib/seam/connect/openapi.ts +1007 -255
  42. package/src/lib/seam/connect/route-types.ts +469 -177
@@ -4,9 +4,15 @@ export interface Routes {
4
4
  method: 'POST';
5
5
  queryParams: {};
6
6
  jsonBody: {
7
- /** ID of the device for which to create the new access code. */
7
+ /** ID of the device for which you want to create the new access code. */
8
8
  device_id: string;
9
- /** Name of the new access code. */
9
+ /** Name of the new access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
10
+
11
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
12
+
13
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
14
+
15
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
10
16
  name?: string | undefined;
11
17
  /** Date and time at which the validity of the new access code starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
12
18
  starts_at?: string | undefined;
@@ -1147,7 +1153,7 @@ export interface Routes {
1147
1153
 
1148
1154
  An access code is a code used for a keypad or pinpad device. Unlike physical keys, which can easily be lost or duplicated, PIN codes can be customized, tracked, and altered on the fly. Using the Seam Access Code API, you can easily generate access codes on the hundreds of door lock models with which we integrate.
1149
1155
 
1150
- Seam supports programming two types of access codes: [ongoing](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#ongoing-access-codes) and [time-bound](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#time-bound-access-codes). To differentiate between the two, refer to the `type` property of the access code. Ongoing codes display as `ongoing`, whereas time-bound codes are labeled `time_bound`.
1156
+ Seam supports programming two types of access codes: [ongoing](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#ongoing-access-codes) and [time-bound](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#time-bound-access-codes). To differentiate between the two, refer to the `type` property of the access code. Ongoing codes display as `ongoing`, whereas time-bound codes are labeled `time_bound`. An ongoing access code is active, until it has been removed from the device. To specify an ongoing access code, leave both `starts_at` and `ends_at` empty. A time-bound access code will be programmed at the `starts_at` time and removed at the `ends_at` time.
1151
1157
 
1152
1158
  In addition, for certain devices, Seam also supports [offline access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#offline-access-codes). Offline access (PIN) codes are designed for door locks that might not always maintain an internet connection. For this type of access code, the device manufacturer uses encryption keys (tokens) to create server-based registries of algorithmically-generated offline PIN codes. Because the tokens remain synchronized with the managed devices, the locks do not require an active internet connection—and you do not need to be near the locks—to create an offline access code. Then, owners or managers can share these offline codes with users through a variety of mechanisms, such as messaging applications. That is, lock users do not need to install a smartphone application to receive an offline access code. */
1153
1159
  access_code: {
@@ -1163,7 +1169,13 @@ export interface Routes {
1163
1169
  access_code_id: string;
1164
1170
  /** Unique identifier for the device associated with the access code. */
1165
1171
  device_id: string;
1166
- /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. */
1172
+ /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
1173
+
1174
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
1175
+
1176
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
1177
+
1178
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
1167
1179
  name: string | null;
1168
1180
  /** Code used for access. Typically, a numeric or alphanumeric string. */
1169
1181
  code: string | null;
@@ -1606,13 +1618,19 @@ export interface Routes {
1606
1618
  method: 'POST' | 'PUT';
1607
1619
  queryParams: {};
1608
1620
  jsonBody: {
1609
- /** IDs of the devices for which to create the new access codes. */
1621
+ /** IDs of the devices for which you want to create the new access codes. */
1610
1622
  device_ids: string[];
1611
1623
  /** Desired behavior if any device cannot share a code. If `throw` (default), no access codes will be created if any device cannot share a code. If `create_random_code`, a random code will be created on devices that cannot share a code. */
1612
1624
  behavior_when_code_cannot_be_shared?: 'throw' | 'create_random_code';
1613
1625
  /** Preferred code length. Only applicable if you do not specify a `code`. If the affected device does not support the preferred code length, Seam reverts to using the shortest supported code length. */
1614
1626
  preferred_code_length?: number | undefined;
1615
- /** Name of the new access code. */
1627
+ /** Name of the new access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
1628
+
1629
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
1630
+
1631
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
1632
+
1633
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
1616
1634
  name?: string | undefined;
1617
1635
  /** Date and time at which the validity of the new access code starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
1618
1636
  starts_at?: string | undefined;
@@ -1653,7 +1671,13 @@ export interface Routes {
1653
1671
  access_code_id: string;
1654
1672
  /** Unique identifier for the device associated with the access code. */
1655
1673
  device_id: string;
1656
- /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. */
1674
+ /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
1675
+
1676
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
1677
+
1678
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
1679
+
1680
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
1657
1681
  name: string | null;
1658
1682
  /** Code used for access. Typically, a numeric or alphanumeric string. */
1659
1683
  code: string | null;
@@ -2097,9 +2121,9 @@ export interface Routes {
2097
2121
  queryParams: {};
2098
2122
  jsonBody: {};
2099
2123
  commonParams: {
2100
- /** ID of the device for which to delete the access code. */
2124
+ /** ID of the device for which you want to delete the access code. */
2101
2125
  device_id?: string | undefined;
2102
- /** ID of the access code to delete. */
2126
+ /** ID of the access code that you want to delete. */
2103
2127
  access_code_id: string;
2104
2128
  /** */
2105
2129
  sync?: boolean;
@@ -3217,6 +3241,7 @@ export interface Routes {
3217
3241
  queryParams: {};
3218
3242
  jsonBody: {};
3219
3243
  commonParams: {
3244
+ /** ID of the device for which you want to generate a code. */
3220
3245
  device_id: string;
3221
3246
  };
3222
3247
  formData: {};
@@ -3246,7 +3271,7 @@ export interface Routes {
3246
3271
 
3247
3272
  An access code is a code used for a keypad or pinpad device. Unlike physical keys, which can easily be lost or duplicated, PIN codes can be customized, tracked, and altered on the fly. Using the Seam Access Code API, you can easily generate access codes on the hundreds of door lock models with which we integrate.
3248
3273
 
3249
- Seam supports programming two types of access codes: [ongoing](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#ongoing-access-codes) and [time-bound](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#time-bound-access-codes). To differentiate between the two, refer to the `type` property of the access code. Ongoing codes display as `ongoing`, whereas time-bound codes are labeled `time_bound`.
3274
+ Seam supports programming two types of access codes: [ongoing](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#ongoing-access-codes) and [time-bound](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#time-bound-access-codes). To differentiate between the two, refer to the `type` property of the access code. Ongoing codes display as `ongoing`, whereas time-bound codes are labeled `time_bound`. An ongoing access code is active, until it has been removed from the device. To specify an ongoing access code, leave both `starts_at` and `ends_at` empty. A time-bound access code will be programmed at the `starts_at` time and removed at the `ends_at` time.
3250
3275
 
3251
3276
  In addition, for certain devices, Seam also supports [offline access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#offline-access-codes). Offline access (PIN) codes are designed for door locks that might not always maintain an internet connection. For this type of access code, the device manufacturer uses encryption keys (tokens) to create server-based registries of algorithmically-generated offline PIN codes. Because the tokens remain synchronized with the managed devices, the locks do not require an active internet connection—and you do not need to be near the locks—to create an offline access code. Then, owners or managers can share these offline codes with users through a variety of mechanisms, such as messaging applications. That is, lock users do not need to install a smartphone application to receive an offline access code. */
3252
3277
  access_code: {
@@ -3262,7 +3287,13 @@ export interface Routes {
3262
3287
  access_code_id: string;
3263
3288
  /** Unique identifier for the device associated with the access code. */
3264
3289
  device_id: string;
3265
- /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. */
3290
+ /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
3291
+
3292
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
3293
+
3294
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
3295
+
3296
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
3266
3297
  name: string | null;
3267
3298
  /** Code used for access. Typically, a numeric or alphanumeric string. */
3268
3299
  code: string | null;
@@ -3732,7 +3763,13 @@ export interface Routes {
3732
3763
  access_code_id: string;
3733
3764
  /** Unique identifier for the device associated with the access code. */
3734
3765
  device_id: string;
3735
- /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. */
3766
+ /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
3767
+
3768
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
3769
+
3770
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
3771
+
3772
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
3736
3773
  name: string | null;
3737
3774
  /** Code used for access. Typically, a numeric or alphanumeric string. */
3738
3775
  code: string | null;
@@ -4194,7 +4231,7 @@ export interface Routes {
4194
4231
 
4195
4232
  An access code is a code used for a keypad or pinpad device. Unlike physical keys, which can easily be lost or duplicated, PIN codes can be customized, tracked, and altered on the fly. Using the Seam Access Code API, you can easily generate access codes on the hundreds of door lock models with which we integrate.
4196
4233
 
4197
- Seam supports programming two types of access codes: [ongoing](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#ongoing-access-codes) and [time-bound](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#time-bound-access-codes). To differentiate between the two, refer to the `type` property of the access code. Ongoing codes display as `ongoing`, whereas time-bound codes are labeled `time_bound`.
4234
+ Seam supports programming two types of access codes: [ongoing](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#ongoing-access-codes) and [time-bound](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#time-bound-access-codes). To differentiate between the two, refer to the `type` property of the access code. Ongoing codes display as `ongoing`, whereas time-bound codes are labeled `time_bound`. An ongoing access code is active, until it has been removed from the device. To specify an ongoing access code, leave both `starts_at` and `ends_at` empty. A time-bound access code will be programmed at the `starts_at` time and removed at the `ends_at` time.
4198
4235
 
4199
4236
  In addition, for certain devices, Seam also supports [offline access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#offline-access-codes). Offline access (PIN) codes are designed for door locks that might not always maintain an internet connection. For this type of access code, the device manufacturer uses encryption keys (tokens) to create server-based registries of algorithmically-generated offline PIN codes. Because the tokens remain synchronized with the managed devices, the locks do not require an active internet connection—and you do not need to be near the locks—to create an offline access code. Then, owners or managers can share these offline codes with users through a variety of mechanisms, such as messaging applications. That is, lock users do not need to install a smartphone application to receive an offline access code. */
4200
4237
  backup_access_code: {
@@ -4210,7 +4247,13 @@ export interface Routes {
4210
4247
  access_code_id: string;
4211
4248
  /** Unique identifier for the device associated with the access code. */
4212
4249
  device_id: string;
4213
- /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. */
4250
+ /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
4251
+
4252
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
4253
+
4254
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
4255
+
4256
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
4214
4257
  name: string | null;
4215
4258
  /** Code used for access. Typically, a numeric or alphanumeric string. */
4216
4259
  code: string | null;
@@ -4650,7 +4693,7 @@ export interface Routes {
4650
4693
 
4651
4694
  An access code is a code used for a keypad or pinpad device. Unlike physical keys, which can easily be lost or duplicated, PIN codes can be customized, tracked, and altered on the fly. Using the Seam Access Code API, you can easily generate access codes on the hundreds of door lock models with which we integrate.
4652
4695
 
4653
- Seam supports programming two types of access codes: [ongoing](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#ongoing-access-codes) and [time-bound](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#time-bound-access-codes). To differentiate between the two, refer to the `type` property of the access code. Ongoing codes display as `ongoing`, whereas time-bound codes are labeled `time_bound`.
4696
+ Seam supports programming two types of access codes: [ongoing](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#ongoing-access-codes) and [time-bound](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#time-bound-access-codes). To differentiate between the two, refer to the `type` property of the access code. Ongoing codes display as `ongoing`, whereas time-bound codes are labeled `time_bound`. An ongoing access code is active, until it has been removed from the device. To specify an ongoing access code, leave both `starts_at` and `ends_at` empty. A time-bound access code will be programmed at the `starts_at` time and removed at the `ends_at` time.
4654
4697
 
4655
4698
  In addition, for certain devices, Seam also supports [offline access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#offline-access-codes). Offline access (PIN) codes are designed for door locks that might not always maintain an internet connection. For this type of access code, the device manufacturer uses encryption keys (tokens) to create server-based registries of algorithmically-generated offline PIN codes. Because the tokens remain synchronized with the managed devices, the locks do not require an active internet connection—and you do not need to be near the locks—to create an offline access code. Then, owners or managers can share these offline codes with users through a variety of mechanisms, such as messaging applications. That is, lock users do not need to install a smartphone application to receive an offline access code. */
4656
4699
  access_code: {
@@ -4666,7 +4709,13 @@ export interface Routes {
4666
4709
  access_code_id: string;
4667
4710
  /** Unique identifier for the device associated with the access code. */
4668
4711
  device_id: string;
4669
- /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. */
4712
+ /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
4713
+
4714
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
4715
+
4716
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
4717
+
4718
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
4670
4719
  name: string | null;
4671
4720
  /** Code used for access. Typically, a numeric or alphanumeric string. */
4672
4721
  code: string | null;
@@ -5109,7 +5158,7 @@ export interface Routes {
5109
5158
  method: 'POST';
5110
5159
  queryParams: {};
5111
5160
  jsonBody: {
5112
- /** ID of the device for which to report constraints. */
5161
+ /** ID of the device for which you want to report constraints. */
5113
5162
  device_id: string;
5114
5163
  /** Array of supported code lengths as integers between 4 and 20, inclusive. You can specify either `supported_code_lengths` or `min_code_length`/`max_code_length`. */
5115
5164
  supported_code_lengths?: number[] | undefined;
@@ -5143,7 +5192,11 @@ export interface Routes {
5143
5192
 
5144
5193
  When you create an access code on a device in Seam, it is created as a managed access code. Access codes that exist on a device that were not created through Seam are considered unmanaged codes. We strictly limit the operations that can be performed on unmanaged codes.
5145
5194
 
5146
- Prior to using Seam to manage your devices, you may have used another lock management system to manage the access codes on your devices. Where possible, we help you keep any existing access codes on devices and transition those codes to ones managed by your Seam workspace. */
5195
+ Prior to using Seam to manage your devices, you may have used another lock management system to manage the access codes on your devices. Where possible, we help you keep any existing access codes on devices and transition those codes to ones managed by your Seam workspace.
5196
+
5197
+ Not all providers support unmanaged access codes. The following providers do not support unmanaged access codes:
5198
+
5199
+ - [Kwikset](https://docs.seam.co/latest/device-and-system-integration-guides/kwikset-locks) */
5147
5200
  access_code: {
5148
5201
  /** Nature of the access code. Values are `ongoing` for access codes that are active continuously until deactivated manually or `time_bound` for access codes that have a specific duration. */
5149
5202
  type: 'time_bound' | 'ongoing';
@@ -5151,7 +5204,13 @@ export interface Routes {
5151
5204
  access_code_id: string;
5152
5205
  /** Unique identifier for the device associated with the access code. */
5153
5206
  device_id: string;
5154
- /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. */
5207
+ /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
5208
+
5209
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
5210
+
5211
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
5212
+
5213
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
5155
5214
  name: string | null;
5156
5215
  /** Code used for access. Typically, a numeric or alphanumeric string. */
5157
5216
  code: string | null;
@@ -5585,9 +5644,9 @@ export interface Routes {
5585
5644
  commonParams: {
5586
5645
  /** ID of the unmanaged access code that you want to convert to a managed access code. */
5587
5646
  access_code_id: string;
5588
- /** Indicates whether external modification of the access code is allowed. */
5647
+ /** Indicates whether [external modification](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#external-modification) of the access code is allowed. */
5589
5648
  is_external_modification_allowed?: boolean | undefined;
5590
- /** Indicates whether external modification of the access code is allowed. */
5649
+ /** Indicates whether [external modification](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#external-modification) of the access code is allowed. */
5591
5650
  allow_external_modification?: boolean | undefined;
5592
5651
  /** Indicates whether to force the access code conversion. To switch management of an access code from one Seam workspace to another, set `force` to `true`. */
5593
5652
  force?: boolean | undefined;
@@ -5603,7 +5662,7 @@ export interface Routes {
5603
5662
  queryParams: {};
5604
5663
  jsonBody: {};
5605
5664
  commonParams: {
5606
- /** ID of the unmanaged access code to delete. */
5665
+ /** ID of the unmanaged access code that you want to delete. */
5607
5666
  access_code_id: string;
5608
5667
  /** */
5609
5668
  sync?: boolean;
@@ -6736,7 +6795,11 @@ export interface Routes {
6736
6795
 
6737
6796
  When you create an access code on a device in Seam, it is created as a managed access code. Access codes that exist on a device that were not created through Seam are considered unmanaged codes. We strictly limit the operations that can be performed on unmanaged codes.
6738
6797
 
6739
- Prior to using Seam to manage your devices, you may have used another lock management system to manage the access codes on your devices. Where possible, we help you keep any existing access codes on devices and transition those codes to ones managed by your Seam workspace. */
6798
+ Prior to using Seam to manage your devices, you may have used another lock management system to manage the access codes on your devices. Where possible, we help you keep any existing access codes on devices and transition those codes to ones managed by your Seam workspace.
6799
+
6800
+ Not all providers support unmanaged access codes. The following providers do not support unmanaged access codes:
6801
+
6802
+ - [Kwikset](https://docs.seam.co/latest/device-and-system-integration-guides/kwikset-locks) */
6740
6803
  access_code: {
6741
6804
  /** Nature of the access code. Values are `ongoing` for access codes that are active continuously until deactivated manually or `time_bound` for access codes that have a specific duration. */
6742
6805
  type: 'time_bound' | 'ongoing';
@@ -6744,7 +6807,13 @@ export interface Routes {
6744
6807
  access_code_id: string;
6745
6808
  /** Unique identifier for the device associated with the access code. */
6746
6809
  device_id: string;
6747
- /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. */
6810
+ /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
6811
+
6812
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
6813
+
6814
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
6815
+
6816
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
6748
6817
  name: string | null;
6749
6818
  /** Code used for access. Typically, a numeric or alphanumeric string. */
6750
6819
  code: string | null;
@@ -7190,7 +7259,13 @@ export interface Routes {
7190
7259
  access_code_id: string;
7191
7260
  /** Unique identifier for the device associated with the access code. */
7192
7261
  device_id: string;
7193
- /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. */
7262
+ /** Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
7263
+
7264
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
7265
+
7266
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
7267
+
7268
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
7194
7269
  name: string | null;
7195
7270
  /** Code used for access. Typically, a numeric or alphanumeric string. */
7196
7271
  code: string | null;
@@ -7640,7 +7715,13 @@ export interface Routes {
7640
7715
  method: 'POST' | 'PATCH' | 'PUT';
7641
7716
  queryParams: {};
7642
7717
  jsonBody: {
7643
- /** Name of the new access code. */
7718
+ /** Name of the new access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
7719
+
7720
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
7721
+
7722
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
7723
+
7724
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
7644
7725
  name?: string | undefined;
7645
7726
  /** Date and time at which the validity of the new access code starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
7646
7727
  starts_at?: string | undefined;
@@ -8794,7 +8875,13 @@ export interface Routes {
8794
8875
  ends_at?: string | undefined;
8795
8876
  /** Date and time at which the validity of the new access code starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
8796
8877
  starts_at?: string | undefined;
8797
- /** Name of the new access code. */
8878
+ /** Name of the new access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.
8879
+
8880
+ Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`.
8881
+
8882
+ To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints.
8883
+
8884
+ To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components). */
8798
8885
  name?: string | undefined;
8799
8886
  /** Key that links the group of access codes, assigned on creation by `/access_codes/create_multiple`. */
8800
8887
  common_code_key: string;
@@ -8809,9 +8896,9 @@ export interface Routes {
8809
8896
  queryParams: {};
8810
8897
  jsonBody: {};
8811
8898
  commonParams: {
8812
- /** ID of the desired access group. */
8899
+ /** ID of the access group to which you want to add an access system user. */
8813
8900
  acs_access_group_id: string;
8814
- /** ID of the desired user. */
8901
+ /** ID of the access system user that you want to add to an access group. */
8815
8902
  acs_user_id: string;
8816
8903
  };
8817
8904
  formData: {};
@@ -8823,7 +8910,7 @@ export interface Routes {
8823
8910
  queryParams: {};
8824
8911
  jsonBody: {};
8825
8912
  commonParams: {
8826
- /** ID of the desired access group. */
8913
+ /** ID of the access group that you want to get. */
8827
8914
  acs_access_group_id: string;
8828
8915
  };
8829
8916
  formData: {};
@@ -8874,9 +8961,9 @@ export interface Routes {
8874
8961
  queryParams: {};
8875
8962
  jsonBody: {};
8876
8963
  commonParams: {
8877
- /** ID of the access control system for which you want to retrieve all access groups. */
8964
+ /** ID of the access system for which you want to retrieve all access groups. */
8878
8965
  acs_system_id?: string | undefined;
8879
- /** ID of the user for which you want to retrieve all access groups. */
8966
+ /** ID of the access system user for which you want to retrieve all access groups. */
8880
8967
  acs_user_id?: string | undefined;
8881
8968
  /** ID of the user identity for which you want to retrieve all access groups. */
8882
8969
  user_identity_id?: string | undefined;
@@ -8999,7 +9086,7 @@ export interface Routes {
8999
9086
  queryParams: {};
9000
9087
  jsonBody: {};
9001
9088
  commonParams: {
9002
- /** ID of the access group for which you want to retrieve all users. */
9089
+ /** ID of the access group for which you want to retrieve all access system users. */
9003
9090
  acs_access_group_id: string;
9004
9091
  };
9005
9092
  formData: {};
@@ -9194,11 +9281,11 @@ export interface Routes {
9194
9281
  queryParams: {};
9195
9282
  jsonBody: {};
9196
9283
  commonParams: {
9197
- /** ID of the desired access group. */
9284
+ /** ID of the access group from which you want to remove an access system user. */
9198
9285
  acs_access_group_id: string;
9199
- /** ID of the desired user. */
9286
+ /** ID of the access system user that you want to remove from an access group. */
9200
9287
  acs_user_id?: string | undefined;
9201
- /** ID of the desired user identity. */
9288
+ /** ID of the user identity associated with the user that you want to remove from an access group. */
9202
9289
  user_identity_id?: string | undefined;
9203
9290
  };
9204
9291
  formData: {};
@@ -9210,7 +9297,7 @@ export interface Routes {
9210
9297
  queryParams: {};
9211
9298
  jsonBody: {};
9212
9299
  commonParams: {
9213
- /** ID of the desired unmanaged access group. */
9300
+ /** ID of the unmanaged access group that you want to get. */
9214
9301
  acs_access_group_id: string;
9215
9302
  };
9216
9303
  formData: {};
@@ -9257,9 +9344,9 @@ export interface Routes {
9257
9344
  queryParams: {};
9258
9345
  jsonBody: {};
9259
9346
  commonParams: {
9260
- /** ID of the access control system for which you want to retrieve all unmanaged access groups. */
9347
+ /** ID of the access system for which you want to retrieve all unmanaged access groups. */
9261
9348
  acs_system_id?: string | undefined;
9262
- /** ID of the user for which you want to retrieve all unmanaged access groups. */
9349
+ /** ID of the access system user for which you want to retrieve all unmanaged access groups. */
9263
9350
  acs_user_id?: string | undefined;
9264
9351
  };
9265
9352
  formData: {};
@@ -9305,6 +9392,7 @@ export interface Routes {
9305
9392
  queryParams: {};
9306
9393
  jsonBody: {};
9307
9394
  commonParams: {
9395
+ /** ID of the access system for which you want to list credential pools. */
9308
9396
  acs_system_id: string;
9309
9397
  };
9310
9398
  formData: {};
@@ -9326,10 +9414,15 @@ export interface Routes {
9326
9414
  queryParams: {};
9327
9415
  jsonBody: {};
9328
9416
  commonParams: {
9417
+ /** ID of the user identity for which you want to launch a credential provisioning automation. */
9329
9418
  user_identity_id: string;
9419
+ /** Access system ID of the credential manager for which you want to launch a credential provisioning automation. */
9330
9420
  credential_manager_acs_system_id: string;
9421
+ /** ID of the credential pool for which you want to launch a credential provisioning automation. */
9331
9422
  acs_credential_pool_id?: string | undefined;
9423
+ /** Indicates whether to create an associated credential manager user. If you set `create_credential_manager_user` to `true`, you cannot specify a `credential_manager_acs_user_id`. */
9332
9424
  create_credential_manager_user?: boolean | undefined;
9425
+ /** ID of the associated access system user within the credential manager. If you specify a `credential_manager_acs_user_id`, you cannot set `create_credential_manager_user` to `true`. */
9333
9426
  credential_manager_acs_user_id?: string | undefined;
9334
9427
  };
9335
9428
  formData: {};
@@ -9349,9 +9442,9 @@ export interface Routes {
9349
9442
  method: 'PATCH' | 'POST';
9350
9443
  queryParams: {};
9351
9444
  jsonBody: {
9352
- /** ID of the desired user. */
9445
+ /** ID of the access system user to whom you want to assign a credential. */
9353
9446
  acs_user_id: string;
9354
- /** ID of the desired credential. */
9447
+ /** ID of the credential that you want to assign to an access system user. */
9355
9448
  acs_credential_id: string;
9356
9449
  };
9357
9450
  commonParams: {};
@@ -9485,8 +9578,12 @@ export interface Routes {
9485
9578
  commonParams: {
9486
9579
  /** ACS system ID of the credential manager for the new credential. */
9487
9580
  credential_manager_acs_system_id?: string | undefined;
9488
- /** ID of the ACS user to whom the new credential belongs. */
9489
- acs_user_id: string;
9581
+ /** ID of the access system user to whom the new credential belongs. You must provide either `acs_user_id` or the combination of `user_identity_id` and `acs_system_id`. */
9582
+ acs_user_id?: string | undefined;
9583
+ /** ID of the user identity to whom the new credential belongs. You must provide either `acs_user_id` or the combination of `user_identity_id` and `acs_system_id`. If the access system contains a user with the same `email_address` or `phone_number` as the user identity that you specify, they are linked, and the credential belongs to the access system user. If the access system does not have a corresponding user, one is created. */
9584
+ user_identity_id?: string | undefined;
9585
+ /** ID of the access system to which the new credential belongs. You must provide either `acs_user_id` or the combination of `user_identity_id` and `acs_system_id`. */
9586
+ acs_system_id?: string | undefined;
9490
9587
  /** Access method for the new credential. Supported values: `code`, `card`, `mobile_key`. */
9491
9588
  access_method: 'code' | 'card' | 'mobile_key';
9492
9589
  /** Access (PIN) code for the new credential. There may be manufacturer-specific code restrictions. For details, see the applicable [device or system integration guide](https://docs.seam.co/latest/device-and-system-integration-guides/overview). */
@@ -9518,7 +9615,9 @@ export interface Routes {
9518
9615
  } | undefined;
9519
9616
  /** Salto Space-specific metadata for the new credential. */
9520
9617
  salto_space_metadata?: {
9618
+ /** Indicates whether to assign a first, new card to a user. See also [Programming Salto Space Card-based Credentials](https://docs.seam.co/latest/device-and-system-integration-guides/salto-proaccess-space-access-system/programming-salto-space-card-based-credentials). */
9521
9619
  assign_new_key?: boolean | undefined;
9620
+ /** Indicates whether to update the user's existing card. See also [Programming Salto Space Card-based Credentials](https://docs.seam.co/latest/device-and-system-integration-guides/salto-proaccess-space-access-system/programming-salto-space-card-based-credentials). */
9522
9621
  update_current_key?: boolean | undefined;
9523
9622
  } | undefined;
9524
9623
  /** Date and time at which the validity of the new credential starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
@@ -9654,7 +9753,7 @@ export interface Routes {
9654
9753
  queryParams: {};
9655
9754
  jsonBody: {};
9656
9755
  commonParams: {
9657
- /** ID of the ACS user to whom the new credential belongs. */
9756
+ /** ID of the access system user to whom the new credential belongs. */
9658
9757
  acs_user_id: string;
9659
9758
  /** IDs of the [`acs_entrance`s](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details) for which the new credential grants access. */
9660
9759
  allowed_acs_entrance_id: string;
@@ -9793,7 +9892,7 @@ export interface Routes {
9793
9892
  queryParams: {};
9794
9893
  jsonBody: {};
9795
9894
  commonParams: {
9796
- /** ID of the desired credential. */
9895
+ /** ID of the credential that you want to delete. */
9797
9896
  acs_credential_id: string;
9798
9897
  };
9799
9898
  formData: {};
@@ -9805,7 +9904,7 @@ export interface Routes {
9805
9904
  queryParams: {};
9806
9905
  jsonBody: {};
9807
9906
  commonParams: {
9808
- /** ID of the desired credential. */
9907
+ /** ID of the credential that you want to get. */
9809
9908
  acs_credential_id: string;
9810
9909
  };
9811
9910
  formData: {};
@@ -9936,15 +10035,15 @@ export interface Routes {
9936
10035
  queryParams: {};
9937
10036
  jsonBody: {};
9938
10037
  commonParams: ({
9939
- /** ID of the ACS user for which you want to retrieve all credentials. */
10038
+ /** ID of the access system user for which you want to retrieve all credentials. */
9940
10039
  acs_user_id: string;
9941
10040
  } | {
9942
- /** ID of the access control system for which you want to retrieve all credentials. */
10041
+ /** ID of the access system for which you want to retrieve all credentials. */
9943
10042
  acs_system_id: string;
9944
10043
  } | {
9945
- /** ID of the ACS user for which you want to retrieve all credentials. */
10044
+ /** ID of the access system user for which you want to retrieve all credentials. */
9946
10045
  acs_user_id: string;
9947
- /** ID of the access control system for which you want to retrieve all credentials. */
10046
+ /** ID of the access system for which you want to retrieve all credentials. */
9948
10047
  acs_system_id: string;
9949
10048
  } | {
9950
10049
  /** ID of the user identity for which you want to retrieve all credentials. */
@@ -10080,7 +10179,7 @@ export interface Routes {
10080
10179
  queryParams: {};
10081
10180
  jsonBody: {};
10082
10181
  commonParams: {
10083
- /** ID of the credential for which you want to retrieve all entrances to which this credential grants access. */
10182
+ /** ID of the credential for which you want to retrieve all entrances to which the credential grants access. */
10084
10183
  acs_credential_id: string;
10085
10184
  };
10086
10185
  formData: {};
@@ -10154,9 +10253,9 @@ export interface Routes {
10154
10253
  method: 'PATCH' | 'POST';
10155
10254
  queryParams: {};
10156
10255
  jsonBody: {
10157
- /** ID of the desired user. */
10256
+ /** ID of the access system user from which you want to unassign a credential. */
10158
10257
  acs_user_id: string;
10159
- /** ID of the desired credential. */
10258
+ /** ID of the credential that you want to unassign from an access system user. */
10160
10259
  acs_credential_id: string;
10161
10260
  };
10162
10261
  commonParams: {};
@@ -10288,7 +10387,7 @@ export interface Routes {
10288
10387
  queryParams: {};
10289
10388
  jsonBody: {};
10290
10389
  commonParams: {
10291
- /** ID of the desired unmanaged credential. */
10390
+ /** ID of the unmanaged credential that you want to get. */
10292
10391
  acs_credential_id: string;
10293
10392
  };
10294
10393
  formData: {};
@@ -10415,15 +10514,15 @@ export interface Routes {
10415
10514
  queryParams: {};
10416
10515
  jsonBody: {};
10417
10516
  commonParams: {
10418
- /** ID of the ACS user for which you want to retrieve all credentials. */
10517
+ /** ID of the access system user for which you want to retrieve all credentials. */
10419
10518
  acs_user_id: string;
10420
10519
  } | {
10421
- /** ID of the access control system for which you want to retrieve all credentials. */
10520
+ /** ID of the access system for which you want to retrieve all credentials. */
10422
10521
  acs_system_id: string;
10423
10522
  } | {
10424
- /** ID of the ACS user for which you want to retrieve all credentials. */
10523
+ /** ID of the access system user for which you want to retrieve all credentials. */
10425
10524
  acs_user_id: string;
10426
- /** ID of the access control system for which you want to retrieve all credentials. */
10525
+ /** ID of the access system for which you want to retrieve all credentials. */
10427
10526
  acs_system_id: string;
10428
10527
  } | {
10429
10528
  /** ID of the user identity for which you want to retrieve all credentials. */
@@ -10551,9 +10650,9 @@ export interface Routes {
10551
10650
  method: 'PATCH' | 'POST';
10552
10651
  queryParams: {};
10553
10652
  jsonBody: {
10554
- /** ID of the desired credential. */
10653
+ /** ID of the credential that you want to update. */
10555
10654
  acs_credential_id: string;
10556
- /** Replacement access (PIN) code for the credential. */
10655
+ /** Replacement access (PIN) code for the credential that you want to update. */
10557
10656
  code?: string | undefined;
10558
10657
  /** Replacement date and time at which the validity of the credential ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after the `starts_at` value that you set when creating the credential. */
10559
10658
  ends_at?: string | undefined;
@@ -12923,7 +13022,7 @@ export interface Routes {
12923
13022
  queryParams: {};
12924
13023
  jsonBody: {};
12925
13024
  commonParams: {
12926
- /** ID of the desired encoder. */
13025
+ /** ID of the encoder that you want to get. */
12927
13026
  acs_encoder_id: string;
12928
13027
  };
12929
13028
  formData: {};
@@ -12971,19 +13070,19 @@ export interface Routes {
12971
13070
  queryParams: {};
12972
13071
  jsonBody: {};
12973
13072
  commonParams: {
12974
- /** ID of the `acs_system` for which you want to retrieve all `acs_encoder`s. */
13073
+ /** ID of the access system for which you want to retrieve all encoders. */
12975
13074
  acs_system_id: string;
12976
- /** Number of `acs_encoders` to return. */
13075
+ /** Number of encoders to return. */
12977
13076
  limit?: number;
12978
13077
  } | {
12979
- /** IDs of the `acs_system`s for which you want to retrieve all `acs_encoder`s. */
13078
+ /** IDs of the access systems for which you want to retrieve all encoders. */
12980
13079
  acs_system_ids: string[];
12981
- /** Number of `acs_encoders` to return. */
13080
+ /** Number of encoders to return. */
12982
13081
  limit?: number;
12983
13082
  } | {
12984
- /** IDs of the `acs_encoder`s that you want to retrieve. */
13083
+ /** IDs of the encoders that you want to retrieve. */
12985
13084
  acs_encoder_ids: string[];
12986
- /** Number of `acs_encoders` to return. */
13085
+ /** Number of encoders to return. */
12987
13086
  limit?: number;
12988
13087
  };
12989
13088
  formData: {};
@@ -13017,7 +13116,7 @@ export interface Routes {
13017
13116
  queryParams: {};
13018
13117
  jsonBody: {};
13019
13118
  commonParams: {
13020
- /** ID of the `acs_encoder` to use for the scan. */
13119
+ /** ID of the encoder to use for the scan. */
13021
13120
  acs_encoder_id: string;
13022
13121
  };
13023
13122
  formData: {};
@@ -14212,6 +14311,7 @@ export interface Routes {
14212
14311
  queryParams: {};
14213
14312
  jsonBody: {};
14214
14313
  commonParams: {
14314
+ /** ID of the entrance that you want to get. */
14215
14315
  acs_entrance_id: string;
14216
14316
  };
14217
14317
  formData: {};
@@ -14288,7 +14388,9 @@ export interface Routes {
14288
14388
  method: 'POST';
14289
14389
  queryParams: {};
14290
14390
  jsonBody: {
14391
+ /** ID of the entrance to which you want to grant an access system user access. */
14291
14392
  acs_entrance_id: string;
14393
+ /** ID of the access system user to whom you want to grant access to an entrance. */
14292
14394
  acs_user_id: string;
14293
14395
  };
14294
14396
  commonParams: {};
@@ -14301,9 +14403,11 @@ export interface Routes {
14301
14403
  queryParams: {};
14302
14404
  jsonBody: {};
14303
14405
  commonParams: {
14406
+ /** ID of the access system for which you want to retrieve all entrances. */
14304
14407
  acs_system_id?: string | undefined;
14408
+ /** ID of the credential for which you want to retrieve all entrances. */
14305
14409
  acs_credential_id?: string | undefined;
14306
- /** */
14410
+ /** ID of the location for which you want to retrieve all entrances. */
14307
14411
  location_id?: (string | null) | undefined;
14308
14412
  };
14309
14413
  formData: {};
@@ -14378,7 +14482,9 @@ export interface Routes {
14378
14482
  queryParams: {};
14379
14483
  jsonBody: {};
14380
14484
  commonParams: {
14485
+ /** ID of the entrance for which you want to list all credentials that grant access. */
14381
14486
  acs_entrance_id: string;
14487
+ /** Conditions that credentials must meet to be included in the returned list. */
14382
14488
  include_if?: Array<'visionline_metadata.is_valid'> | undefined;
14383
14489
  };
14384
14490
  formData: {};
@@ -14504,7 +14610,7 @@ export interface Routes {
14504
14610
  queryParams: {};
14505
14611
  jsonBody: {};
14506
14612
  commonParams: {
14507
- /** ID of the desired access control system. */
14613
+ /** ID of the access system that you want to get. */
14508
14614
  acs_system_id: string;
14509
14615
  };
14510
14616
  formData: {};
@@ -14654,7 +14760,7 @@ export interface Routes {
14654
14760
  queryParams: {};
14655
14761
  jsonBody: {};
14656
14762
  commonParams: {
14657
- /** ID of the connected account by which to filter the list of returned access control systems. */
14763
+ /** ID of the connected account by which you want to filter the list of access systems. */
14658
14764
  connected_account_id?: string | undefined;
14659
14765
  };
14660
14766
  formData: {};
@@ -14799,7 +14905,7 @@ export interface Routes {
14799
14905
  queryParams: {};
14800
14906
  jsonBody: {};
14801
14907
  commonParams: {
14802
- /** ID of the ACS system for which you want to retrieve all compatible credential manager ACS systems. */
14908
+ /** ID of the access system for which you want to retrieve all compatible credential manager systems. */
14803
14909
  acs_system_id: string;
14804
14910
  };
14805
14911
  formData: {};
@@ -14944,9 +15050,9 @@ export interface Routes {
14944
15050
  queryParams: {};
14945
15051
  jsonBody: {};
14946
15052
  commonParams: {
14947
- /** ID of the desired `acs_user`. */
15053
+ /** ID of the access system user that you want to add to an access group. */
14948
15054
  acs_user_id: string;
14949
- /** ID of the desired access group. */
15055
+ /** ID of the access group to which you want to add an access system user. */
14950
15056
  acs_access_group_id: string;
14951
15057
  };
14952
15058
  formData: {};
@@ -14957,17 +15063,19 @@ export interface Routes {
14957
15063
  method: 'POST';
14958
15064
  queryParams: {};
14959
15065
  jsonBody: {
14960
- /** Full name of the new `acs_user`. */
15066
+ /** Full name of the new access system user. */
14961
15067
  full_name: string;
14962
- /** ID of the `acs_system` to which to add the new `acs_user`. */
15068
+ /** ID of the access system to which you want to add the new access system user. */
14963
15069
  acs_system_id: string;
14964
- /** Array of `access_group_id`s to indicate the access groups to which to add the new `acs_user`. */
15070
+ /** Array of access group IDs to indicate the access groups to which you want to add the new access system user. */
14965
15071
  acs_access_group_ids?: string[];
14966
- /** ID of the user identity with which to associate the new `acs_user`. */
15072
+ /** ID of the user identity with which you want to associate the new access system user. */
14967
15073
  user_identity_id?: string | undefined;
14968
- /** `starts_at` and `ends_at` timestamps for the new `acs_user`'s access. If you specify an `access_schedule`, you may include both `starts_at` and `ends_at`. `starts_at` defaults to the current time if not provided. `ends_at` is optional and must be a time in the future and after `starts_at`. */
15074
+ /** `starts_at` and `ends_at` timestamps for the new access system user's access. If you specify an `access_schedule`, you may include both `starts_at` and `ends_at`. If you omit `starts_at`, it defaults to the current time. `ends_at` is optional and must be a time in the future and after `starts_at`. */
14969
15075
  access_schedule?: {
15076
+ /** Starting timestamp for the new access system user's access. */
14970
15077
  starts_at?: string | undefined;
15078
+ /** Ending timestamp for the new access system user's access. */
14971
15079
  ends_at?: (string | undefined) | null;
14972
15080
  } | undefined;
14973
15081
  /**
@@ -15176,7 +15284,7 @@ export interface Routes {
15176
15284
  queryParams: {};
15177
15285
  jsonBody: {};
15178
15286
  commonParams: {
15179
- /** ID of the desired `acs_user`. */
15287
+ /** ID of the access system user that you want to delete. */
15180
15288
  acs_user_id: string;
15181
15289
  };
15182
15290
  formData: {};
@@ -15188,7 +15296,7 @@ export interface Routes {
15188
15296
  queryParams: {};
15189
15297
  jsonBody: {};
15190
15298
  commonParams: {
15191
- /** ID of the desired `acs_user`. */
15299
+ /** ID of the access system user that you want to get. */
15192
15300
  acs_user_id: string;
15193
15301
  };
15194
15302
  formData: {};
@@ -15388,18 +15496,19 @@ export interface Routes {
15388
15496
  queryParams: {};
15389
15497
  jsonBody: {};
15390
15498
  commonParams: {
15391
- /** ID of the user identity for which you want to retrieve all `acs_user`s. */
15499
+ /** ID of the user identity for which you want to retrieve all access system users. */
15392
15500
  user_identity_id?: string | undefined;
15393
- /** Phone number of the user identity for which you want to retrieve all `acs_user`s, in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, `+15555550100`). */
15501
+ /** Phone number of the user identity for which you want to retrieve all access system users, in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, `+15555550100`). */
15394
15502
  user_identity_phone_number?: string | undefined;
15395
- /** Email address of the user identity for which you want to retrieve all `acs_user`s. */
15503
+ /** Email address of the user identity for which you want to retrieve all access system users. */
15396
15504
  user_identity_email_address?: string | undefined;
15397
- /** ID of the `acs_system` for which you want to retrieve all `acs_user`s. */
15505
+ /** ID of the `acs_system` for which you want to retrieve all access system users. */
15398
15506
  acs_system_id?: string | undefined;
15399
- /** String for which to search. Filters returned `acs_user`s to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address`, `acs_user_id`, `user_identity_id`, `user_identity_full_name` or `user_identity_phone_number`. */
15507
+ /** String for which to search. Filters returned access system users to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address`, `acs_user_id`, `user_identity_id`, `user_identity_full_name` or `user_identity_phone_number`. */
15400
15508
  search?: string | undefined;
15401
15509
  /** Maximum number of records to return per page. */
15402
15510
  limit?: number;
15511
+ /** Timestamp by which to limit returned access system users. Returns users created before this timestamp. */
15403
15512
  created_before?: Date | undefined;
15404
15513
  /** Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`. */
15405
15514
  page_cursor?: (string | undefined) | null;
@@ -15605,7 +15714,7 @@ export interface Routes {
15605
15714
  queryParams: {};
15606
15715
  jsonBody: {};
15607
15716
  commonParams: {
15608
- /** ID of the desired `acs_user`. */
15717
+ /** ID of the access system user for whom you want to list accessible entrances. */
15609
15718
  acs_user_id: string;
15610
15719
  };
15611
15720
  formData: {};
@@ -15680,9 +15789,9 @@ export interface Routes {
15680
15789
  queryParams: {};
15681
15790
  jsonBody: {};
15682
15791
  commonParams: {
15683
- /** ID of the desired `acs_user`. */
15792
+ /** ID of the access system user that you want to remove from an access group. */
15684
15793
  acs_user_id: string;
15685
- /** ID of the desired access group. */
15794
+ /** ID of the access group from which you want to remove an access system user. */
15686
15795
  acs_access_group_id: string;
15687
15796
  };
15688
15797
  formData: {};
@@ -15693,7 +15802,7 @@ export interface Routes {
15693
15802
  method: 'POST';
15694
15803
  queryParams: {};
15695
15804
  jsonBody: {
15696
- /** ID of the desired `acs_user`. */
15805
+ /** ID of the access system user for whom you want to revoke access. */
15697
15806
  acs_user_id: string;
15698
15807
  };
15699
15808
  commonParams: {};
@@ -15706,7 +15815,7 @@ export interface Routes {
15706
15815
  queryParams: {};
15707
15816
  jsonBody: {};
15708
15817
  commonParams: {
15709
- /** ID of the desired `acs_user`. */
15818
+ /** ID of the access system user that you want to suspend. */
15710
15819
  acs_user_id: string;
15711
15820
  };
15712
15821
  formData: {};
@@ -15718,6 +15827,7 @@ export interface Routes {
15718
15827
  queryParams: {};
15719
15828
  jsonBody: {};
15720
15829
  commonParams: {
15830
+ /** ID of the unmanaged access system user that you want to get. */
15721
15831
  acs_user_id: string;
15722
15832
  };
15723
15833
  formData: {};
@@ -15913,10 +16023,15 @@ export interface Routes {
15913
16023
  queryParams: {};
15914
16024
  jsonBody: {};
15915
16025
  commonParams: {
16026
+ /** ID of the user identity for which you want to retrieve all unmanaged access system users. */
15916
16027
  user_identity_id?: string | undefined;
16028
+ /** Phone number of the user identity for which you want to retrieve all unmanaged access system users. */
15917
16029
  user_identity_phone_number?: string | undefined;
16030
+ /** Email address of the user identity for which you want to retrieve all unmanaged access system users. */
15918
16031
  user_identity_email_address?: string | undefined;
16032
+ /** ID of the access system for which you want to retrieve all unmanaged access system users. */
15919
16033
  acs_system_id?: string | undefined;
16034
+ /** Number of unmanaged access system users to return. */
15920
16035
  limit?: number;
15921
16036
  };
15922
16037
  formData: {};
@@ -16111,7 +16226,7 @@ export interface Routes {
16111
16226
  queryParams: {};
16112
16227
  jsonBody: {};
16113
16228
  commonParams: {
16114
- /** ID of the desired `acs_user`. */
16229
+ /** ID of the access system user that you want to unsuspend. */
16115
16230
  acs_user_id: string;
16116
16231
  };
16117
16232
  formData: {};
@@ -16122,9 +16237,11 @@ export interface Routes {
16122
16237
  method: 'PATCH' | 'POST';
16123
16238
  queryParams: {};
16124
16239
  jsonBody: {
16125
- /** `starts_at` and `ends_at` timestamps for the `acs_user`'s access. If you specify an `access_schedule`, you must include both `starts_at` and `ends_at`. `ends_at` must be a time in the future and after `starts_at`. */
16240
+ /** `starts_at` and `ends_at` timestamps for the access system user's access. If you specify an `access_schedule`, you may include both `starts_at` and `ends_at`. If you omit `starts_at`, it defaults to the current time. `ends_at` is optional and must be a time in the future and after `starts_at`. */
16126
16241
  access_schedule?: ({
16242
+ /** Starting timestamp for the access system user's access. */
16127
16243
  starts_at: string;
16244
+ /** Ending timestamp for the access system user's access. */
16128
16245
  ends_at: string;
16129
16246
  } | null) | undefined;
16130
16247
  /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). */
@@ -16150,6 +16267,7 @@ export interface Routes {
16150
16267
  queryParams: {};
16151
16268
  jsonBody: {};
16152
16269
  commonParams: {
16270
+ /** ID of the action attempt that you want to get. */
16153
16271
  action_attempt_id: string;
16154
16272
  };
16155
16273
  formData: {};
@@ -17265,6 +17383,7 @@ export interface Routes {
17265
17383
  queryParams: {};
17266
17384
  jsonBody: {};
17267
17385
  commonParams: {
17386
+ /** IDs of the action attempts that you want to retrieve. */
17268
17387
  action_attempt_ids: string[];
17269
17388
  };
17270
17389
  formData: {};
@@ -18379,6 +18498,7 @@ export interface Routes {
18379
18498
  queryParams: {};
18380
18499
  jsonBody: {};
18381
18500
  commonParams: {
18501
+ /** ID of the Seam Bridge that you want to get. */
18382
18502
  bridge_id: string;
18383
18503
  };
18384
18504
  formData: {};
@@ -18411,16 +18531,29 @@ export interface Routes {
18411
18531
  method: 'POST' | 'PUT';
18412
18532
  queryParams: {};
18413
18533
  jsonBody: {
18534
+ /** Your user ID for the user for whom you want to create a client session. */
18414
18535
  user_identifier_key?: string | undefined;
18536
+ /** IDs of the [Connect Webviews](https://docs.seam.co/latest/core-concepts/connect-webviews) for which you want to create a client session. */
18415
18537
  connect_webview_ids?: string[] | undefined;
18538
+ /** IDs of the [connected accounts](https://docs.seam.co/latest/core-concepts/connected-accounts) for which you want to create a client session. */
18416
18539
  connected_account_ids?: string[] | undefined;
18540
+ /** IDs of the [user identities](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) for which you want to create a client session. */
18417
18541
  user_identity_ids?: string[] | undefined;
18542
+ /** Date and time at which the client session should expire, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
18418
18543
  expires_at?: Date | undefined;
18419
18544
  };
18420
18545
  commonParams: {};
18421
18546
  formData: {};
18422
18547
  jsonResponse: {
18423
- /** */
18548
+ /** Represents a [client session](https://docs.seam.co/latest/core-concepts/authentication/client-session-tokens). If you want to restrict your users' access to their own devices, use client sessions.
18549
+
18550
+ You create each client session with a custom `user_identifier_key`. Normally, the `user_identifier_key` is a user ID that your application provides.
18551
+
18552
+ When calling the Seam API from your backend using an API key, you can pass the `user_identifier_key` as a parameter to limit results to the associated client session. For example, `/devices/list?user_identifier_key=123` only returns devices associated with the client session created with the `user_identifier_key` `123`.
18553
+
18554
+ A client session has a token that you can use with the Seam JavaScript SDK to make requests from the client (browser) directly to the Seam API. The token restricts the user's access to only the devices that they own.
18555
+
18556
+ See also [Get Started with React](https://docs.seam.co/latest/ui-components/overview/getting-started-with-seam-components/get-started-with-react-components-and-client-session-tokens). */
18424
18557
  client_session: {
18425
18558
  client_session_id: string;
18426
18559
  workspace_id: string;
@@ -18441,6 +18574,7 @@ export interface Routes {
18441
18574
  queryParams: {};
18442
18575
  jsonBody: {};
18443
18576
  commonParams: {
18577
+ /** ID of the client session that you want to delete. */
18444
18578
  client_session_id: string;
18445
18579
  };
18446
18580
  formData: {};
@@ -18452,12 +18586,22 @@ export interface Routes {
18452
18586
  queryParams: {};
18453
18587
  jsonBody: {};
18454
18588
  commonParams: {
18589
+ /** ID of the client session that you want to get. */
18455
18590
  client_session_id?: string | undefined;
18591
+ /** User identifier key associated with the client session that you want to get. */
18456
18592
  user_identifier_key?: string | undefined;
18457
18593
  };
18458
18594
  formData: {};
18459
18595
  jsonResponse: {
18460
- /** */
18596
+ /** Represents a [client session](https://docs.seam.co/latest/core-concepts/authentication/client-session-tokens). If you want to restrict your users' access to their own devices, use client sessions.
18597
+
18598
+ You create each client session with a custom `user_identifier_key`. Normally, the `user_identifier_key` is a user ID that your application provides.
18599
+
18600
+ When calling the Seam API from your backend using an API key, you can pass the `user_identifier_key` as a parameter to limit results to the associated client session. For example, `/devices/list?user_identifier_key=123` only returns devices associated with the client session created with the `user_identifier_key` `123`.
18601
+
18602
+ A client session has a token that you can use with the Seam JavaScript SDK to make requests from the client (browser) directly to the Seam API. The token restricts the user's access to only the devices that they own.
18603
+
18604
+ See also [Get Started with React](https://docs.seam.co/latest/ui-components/overview/getting-started-with-seam-components/get-started-with-react-components-and-client-session-tokens). */
18461
18605
  client_session: {
18462
18606
  client_session_id: string;
18463
18607
  workspace_id: string;
@@ -18477,16 +18621,29 @@ export interface Routes {
18477
18621
  method: 'POST';
18478
18622
  queryParams: {};
18479
18623
  jsonBody: {
18624
+ /** Your user ID for the user that you want to associate with the client session (or that is already associated with the existing client session). */
18480
18625
  user_identifier_key?: string | undefined;
18626
+ /** IDs of the [Connect Webviews](https://docs.seam.co/latest/core-concepts/connect-webviews) that you want to associate with the client session (or that are already associated with the existing client session). */
18481
18627
  connect_webview_ids?: string[] | undefined;
18628
+ /** IDs of the [connected accounts](https://docs.seam.co/latest/api/connected_accounts) that you want to associate with the client session (or that are already associated with the existing client session). */
18482
18629
  connected_account_ids?: string[] | undefined;
18630
+ /** IDs of the [user identities](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) that you want to associate with the client session (or that are already associated with the existing client session). */
18483
18631
  user_identity_ids?: string[] | undefined;
18632
+ /** Date and time at which the client session should expire (or at which the existing client session expires), in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
18484
18633
  expires_at?: Date | undefined;
18485
18634
  };
18486
18635
  commonParams: {};
18487
18636
  formData: {};
18488
18637
  jsonResponse: {
18489
- /** */
18638
+ /** Represents a [client session](https://docs.seam.co/latest/core-concepts/authentication/client-session-tokens). If you want to restrict your users' access to their own devices, use client sessions.
18639
+
18640
+ You create each client session with a custom `user_identifier_key`. Normally, the `user_identifier_key` is a user ID that your application provides.
18641
+
18642
+ When calling the Seam API from your backend using an API key, you can pass the `user_identifier_key` as a parameter to limit results to the associated client session. For example, `/devices/list?user_identifier_key=123` only returns devices associated with the client session created with the `user_identifier_key` `123`.
18643
+
18644
+ A client session has a token that you can use with the Seam JavaScript SDK to make requests from the client (browser) directly to the Seam API. The token restricts the user's access to only the devices that they own.
18645
+
18646
+ See also [Get Started with React](https://docs.seam.co/latest/ui-components/overview/getting-started-with-seam-components/get-started-with-react-components-and-client-session-tokens). */
18490
18647
  client_session: {
18491
18648
  client_session_id: string;
18492
18649
  workspace_id: string;
@@ -18507,15 +18664,28 @@ export interface Routes {
18507
18664
  queryParams: {};
18508
18665
  jsonBody: {};
18509
18666
  commonParams: {
18667
+ /** ID of the client session to which you want to grant access to resources. */
18510
18668
  client_session_id?: string | undefined;
18669
+ /** Your user ID for the user that you want to associate with the client session. */
18511
18670
  user_identifier_key?: string | undefined;
18671
+ /** IDs of the [connected accounts](https://docs.seam.co/latest/core-concepts/connected-accounts) that you want to associate with the client session. */
18512
18672
  connected_account_ids?: string[] | undefined;
18673
+ /** IDs of the [Connect Webviews](https://docs.seam.co/latest/core-concepts/connect-webviews) that you want to associate with the client session. */
18513
18674
  connect_webview_ids?: string[] | undefined;
18675
+ /** IDs of the [user identities](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) that you want to associate with the client session. */
18514
18676
  user_identity_ids?: string[] | undefined;
18515
18677
  };
18516
18678
  formData: {};
18517
18679
  jsonResponse: {
18518
- /** */
18680
+ /** Represents a [client session](https://docs.seam.co/latest/core-concepts/authentication/client-session-tokens). If you want to restrict your users' access to their own devices, use client sessions.
18681
+
18682
+ You create each client session with a custom `user_identifier_key`. Normally, the `user_identifier_key` is a user ID that your application provides.
18683
+
18684
+ When calling the Seam API from your backend using an API key, you can pass the `user_identifier_key` as a parameter to limit results to the associated client session. For example, `/devices/list?user_identifier_key=123` only returns devices associated with the client session created with the `user_identifier_key` `123`.
18685
+
18686
+ A client session has a token that you can use with the Seam JavaScript SDK to make requests from the client (browser) directly to the Seam API. The token restricts the user's access to only the devices that they own.
18687
+
18688
+ See also [Get Started with React](https://docs.seam.co/latest/ui-components/overview/getting-started-with-seam-components/get-started-with-react-components-and-client-session-tokens). */
18519
18689
  client_session: {
18520
18690
  client_session_id: string;
18521
18691
  workspace_id: string;
@@ -18536,10 +18706,15 @@ export interface Routes {
18536
18706
  queryParams: {};
18537
18707
  jsonBody: {};
18538
18708
  commonParams: {
18709
+ /** ID of the client session that you want to retrieve. */
18539
18710
  client_session_id?: string | undefined;
18711
+ /** Your user ID for the user by which you want to filter client sessions. */
18540
18712
  user_identifier_key?: string | undefined;
18713
+ /** ID of the [Connect Webview](https://docs.seam.co/latest/core-concepts/connect-webviews) for which you want to retrieve client sessions. */
18541
18714
  connect_webview_id?: string | undefined;
18715
+ /** Indicates whether to retrieve only client sessions without associated user identifier keys. */
18542
18716
  without_user_identifier_key?: boolean | undefined;
18717
+ /** ID of the [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) for which you want to retrieve client sessions. */
18543
18718
  user_identity_id?: string | undefined;
18544
18719
  };
18545
18720
  formData: {};
@@ -18564,6 +18739,7 @@ export interface Routes {
18564
18739
  queryParams: {};
18565
18740
  jsonBody: {};
18566
18741
  commonParams: {
18742
+ /** ID of the client session that you want to revoke. */
18567
18743
  client_session_id: string;
18568
18744
  };
18569
18745
  formData: {};
@@ -18574,19 +18750,37 @@ export interface Routes {
18574
18750
  method: 'POST';
18575
18751
  queryParams: {};
18576
18752
  jsonBody: {
18753
+ /** */
18577
18754
  device_selection_mode?: ('none' | 'single' | 'multiple') | undefined;
18755
+ /** URL that you want to redirect the user to after the provider login is complete. */
18578
18756
  custom_redirect_url?: string | undefined;
18757
+ /** Alternative URL that you want to redirect the user to on an error. If you do not set this parameter, the Connect Webview falls back to the `custom_redirect_url`. */
18579
18758
  custom_redirect_failure_url?: string | undefined;
18759
+ /** Accepted device provider keys as an alternative to `provider_category`. Use this parameter to specify accepted providers explicitly. See [Customize the Brands to Display in Your Connect Webviews](https://docs.seam.co/latest/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-brands-to-display-in-your-connect-webviews). To list all provider keys, use [`/devices/list_device_providers`](https://docs.seam.co/latest/api/devices/list_device_providers) with no filters. */
18580
18760
  accepted_providers?: Array<'dormakaba_community' | 'legic_connect' | 'akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'schlage' | 'smartthings' | 'yale' | 'genie' | 'doorking' | 'salto' | 'salto_ks' | 'lockly' | 'ttlock' | 'linear' | 'noiseaware' | 'nuki' | 'seam_relay_admin' | 'igloo' | 'kwikset' | 'minut' | 'my_2n' | 'controlbyweb' | 'nest' | 'igloohome' | 'ecobee' | 'hubitat' | 'four_suites' | 'dormakaba_oracode' | 'pti' | 'wyze' | 'seam_passport' | 'visionline' | 'assa_abloy_credential_service' | 'seam_bridge' | 'tedee' | 'honeywell_resideo' | 'latch' | 'akiles' | 'assa_abloy_vostio' | 'assa_abloy_vostio_credential_service' | 'tado' | 'salto_space' | 'sensi' | 'kwikset2' | 'yale_access' | 'hid_cm' | 'google_nest'> | undefined;
18761
+ /** Specifies the category of providers that you want to include. To list all providers within a category, use [`/devices/list_device_providers`](https://docs.seam.co/latest/api/devices/list_device_providers) with the desired `provider_category` filter. */
18581
18762
  provider_category?: ('stable' | 'consumer_smartlocks' | 'thermostats' | 'noise_sensors' | 'access_control_systems' | 'internal_beta') | undefined;
18763
+ /** Custom metadata that you want to associate with the Connect Webview. Supports up to 50 JSON key:value pairs. [Adding custom metadata to a Connect Webview](https://docs.seam.co/latest/core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview) enables you to store custom information, like customer details or internal IDs from your application. The custom metadata is then transferred to any [connected accounts](https://docs.seam.co/latest/core-concepts/connected-accounts) that were connected using the Connect Webview, making it easy to find and filter these resources in your [workspace](https://docs.seam.co/latest/core-concepts/workspaces). You can also [filter Connect Webviews by custom metadata](https://docs.seam.co/latest/core-concepts/connect-webviews/filtering-connect-webviews-by-custom-metadata). */
18582
18764
  custom_metadata?: Record<string, string | boolean | null> | undefined;
18765
+ /** Indicates whether newly-added devices should appear as [managed devices](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices). See also: [Customize the Behavior Settings of Your Connect Webviews](https://docs.seam.co/latest/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-behavior-settings-of-your-connect-webviews). */
18583
18766
  automatically_manage_new_devices?: boolean;
18767
+ /** Indicates whether Seam should finish syncing all devices in a newly-connected account before completing the associated Connect Webview. See also: [Customize the Behavior Settings of Your Connect Webviews](https://docs.seam.co/latest/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-behavior-settings-of-your-connect-webviews). */
18584
18768
  wait_for_device_creation?: boolean;
18585
18769
  };
18586
18770
  commonParams: {};
18587
18771
  formData: {};
18588
18772
  jsonResponse: {
18589
- /** */
18773
+ /** Represents a [Connect Webview](https://docs.seam.co/latest/core-concepts/connect-webviews).
18774
+
18775
+ Connect Webviews are fully-embedded client-side components that you add to your app. Your users interact with your embedded Connect Webviews to link their IoT device or system accounts to Seam. That is, Connect Webviews walk your users through the process of logging in to their device or system accounts. Seam handles all the authentication steps, and—once your user has completed the authorization through your app—you can access and control their devices or systems using the Seam API.
18776
+
18777
+ Connect Webviews perform credential validation, multifactor authentication (when applicable), and error handling for each brand that Seam supports. Further, Connect Webviews work across all modern browsers and platforms, including Chrome, Safari, and Firefox.
18778
+
18779
+ To enable a user to connect their device or system account to Seam through your app, first create a `connect_webview`. Once created, this `connect_webview` includes a URL that you can use to open an [iframe](https://www.w3schools.com/html/html_iframe.asp) or new window containing the Connect Webview for your user.
18780
+
18781
+ When you create a Connect Webview, specify the desired provider category key in the `provider_category` parameter. Alternately, to specify a list of providers explicitly, use the `accepted_providers` parameter with a list of device provider keys.
18782
+
18783
+ To list all providers within a category, use `/devices/list_device_providers` with the desired `provider_category` filter. To list all provider keys, use `/devices/list_device_providers` with no filters. */
18590
18784
  connect_webview: {
18591
18785
  connect_webview_id: string;
18592
18786
  workspace_id: string;
@@ -18619,6 +18813,7 @@ export interface Routes {
18619
18813
  method: 'DELETE' | 'POST';
18620
18814
  queryParams: {};
18621
18815
  jsonBody: {
18816
+ /** ID of the Connect Webview that you want to delete. */
18622
18817
  connect_webview_id: string;
18623
18818
  };
18624
18819
  commonParams: {};
@@ -18631,11 +18826,22 @@ export interface Routes {
18631
18826
  queryParams: {};
18632
18827
  jsonBody: {};
18633
18828
  commonParams: {
18829
+ /** ID of the Connect Webview that you want to get. */
18634
18830
  connect_webview_id: string;
18635
18831
  };
18636
18832
  formData: {};
18637
18833
  jsonResponse: {
18638
- /** */
18834
+ /** Represents a [Connect Webview](https://docs.seam.co/latest/core-concepts/connect-webviews).
18835
+
18836
+ Connect Webviews are fully-embedded client-side components that you add to your app. Your users interact with your embedded Connect Webviews to link their IoT device or system accounts to Seam. That is, Connect Webviews walk your users through the process of logging in to their device or system accounts. Seam handles all the authentication steps, and—once your user has completed the authorization through your app—you can access and control their devices or systems using the Seam API.
18837
+
18838
+ Connect Webviews perform credential validation, multifactor authentication (when applicable), and error handling for each brand that Seam supports. Further, Connect Webviews work across all modern browsers and platforms, including Chrome, Safari, and Firefox.
18839
+
18840
+ To enable a user to connect their device or system account to Seam through your app, first create a `connect_webview`. Once created, this `connect_webview` includes a URL that you can use to open an [iframe](https://www.w3schools.com/html/html_iframe.asp) or new window containing the Connect Webview for your user.
18841
+
18842
+ When you create a Connect Webview, specify the desired provider category key in the `provider_category` parameter. Alternately, to specify a list of providers explicitly, use the `accepted_providers` parameter with a list of device provider keys.
18843
+
18844
+ To list all providers within a category, use `/devices/list_device_providers` with the desired `provider_category` filter. To list all provider keys, use `/devices/list_device_providers` with no filters. */
18639
18845
  connect_webview: {
18640
18846
  connect_webview_id: string;
18641
18847
  workspace_id: string;
@@ -18669,10 +18875,11 @@ export interface Routes {
18669
18875
  queryParams: {};
18670
18876
  jsonBody: {};
18671
18877
  commonParams: {
18672
- /** Returns webviews that can be accessed by the provided user_identifier_key. */
18878
+ /** Your user ID for the user by which you want to filter Connect Webviews. */
18673
18879
  user_identifier_key?: string | undefined;
18674
- /** Returns webviews whose custom_metadata contains all of the provided key/value pairs. */
18880
+ /** Custom metadata pairs by which you want to [filter Connect Webviews](https://docs.seam.co/latest/core-concepts/connect-webviews/filtering-connect-webviews-by-custom-metadata). Returns Connect Webviews with `custom_metadata` that contains all of the provided key:value pairs. */
18675
18881
  custom_metadata_has?: Record<string, string | boolean> | undefined;
18882
+ /** Maximum number of records to return per page. */
18676
18883
  limit?: number;
18677
18884
  };
18678
18885
  formData: {};
@@ -18709,7 +18916,9 @@ export interface Routes {
18709
18916
  method: 'DELETE' | 'POST';
18710
18917
  queryParams: {};
18711
18918
  jsonBody: {
18919
+ /** ID of the connected account that you want to delete. */
18712
18920
  connected_account_id: string;
18921
+ /** */
18713
18922
  sync?: boolean;
18714
18923
  };
18715
18924
  commonParams: {};
@@ -18722,13 +18931,15 @@ export interface Routes {
18722
18931
  queryParams: {};
18723
18932
  jsonBody: {};
18724
18933
  commonParams: {
18934
+ /** ID of the connected account that you want to get. */
18725
18935
  connected_account_id: string;
18726
18936
  } | {
18937
+ /** Email address associated with the connected account that you want to get. */
18727
18938
  email: string;
18728
18939
  };
18729
18940
  formData: {};
18730
18941
  jsonResponse: {
18731
- /** */
18942
+ /** Represents a [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts). A connected account is an external third-party account to which your user has authorized Seam to get access, for example, an August account with a list of door locks. */
18732
18943
  connected_account: {
18733
18944
  connected_account_id?: string | undefined;
18734
18945
  created_at?: string | undefined;
@@ -18820,9 +19031,9 @@ export interface Routes {
18820
19031
  queryParams: {};
18821
19032
  jsonBody: {};
18822
19033
  commonParams: {
18823
- /** Returns accounts that can be accessed by the provided user_identifier_key. */
19034
+ /** Your user ID for the user by which you want to filter connected accounts. */
18824
19035
  user_identifier_key?: string | undefined;
18825
- /** Returns accounts whose custom_metadata contains all of the provided key/value pairs. */
19036
+ /** Custom metadata pairs by which you want to filter connected accounts. Returns connected accounts with `custom_metadata` that contains all of the provided key:value pairs. */
18826
19037
  custom_metadata_has?: Record<string, string | boolean> | undefined;
18827
19038
  customer_ids?: string[] | undefined;
18828
19039
  /** Maximum number of records to return per page. */
@@ -18931,14 +19142,17 @@ export interface Routes {
18931
19142
  method: 'POST';
18932
19143
  queryParams: {};
18933
19144
  jsonBody: {
19145
+ /** ID of the connected account that you want to update. */
18934
19146
  connected_account_id: string;
19147
+ /** Indicates whether newly-added devices should appear as [managed devices](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices). */
18935
19148
  automatically_manage_new_devices?: boolean | undefined;
19149
+ /** Custom metadata that you want to associate with the connected account. Supports up to 50 JSON key:value pairs. [Adding custom metadata to a connected account](https://docs.seam.co/latest/core-concepts/connected-accounts/adding-custom-metadata-to-a-connected-account) enables you to store custom information, like customer details or internal IDs from your application. Then, you can [filter connected accounts by the desired metadata](https://docs.seam.co/latest/core-concepts/connected-accounts/filtering-connected-accounts-by-custom-metadata). */
18936
19150
  custom_metadata?: Record<string, string | boolean | null> | undefined;
18937
19151
  };
18938
19152
  commonParams: {};
18939
19153
  formData: {};
18940
19154
  jsonResponse: {
18941
- /** */
19155
+ /** Represents a [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts). A connected account is an external third-party account to which your user has authorized Seam to get access, for example, an August account with a list of door locks. */
18942
19156
  connected_account: {
18943
19157
  connected_account_id?: string | undefined;
18944
19158
  created_at?: string | undefined;
@@ -19030,6 +19244,7 @@ export interface Routes {
19030
19244
  queryParams: {};
19031
19245
  jsonBody: {};
19032
19246
  commonParams: {
19247
+ /** ID of the device that you want to delete. */
19033
19248
  device_id: string;
19034
19249
  };
19035
19250
  formData: {};
@@ -19041,12 +19256,14 @@ export interface Routes {
19041
19256
  queryParams: {};
19042
19257
  jsonBody: {};
19043
19258
  commonParams: {
19259
+ /** ID of the device that you want to get. */
19044
19260
  device_id?: string | undefined;
19261
+ /** Name of the device that you want to get. */
19045
19262
  name?: string | undefined;
19046
19263
  };
19047
19264
  formData: {};
19048
19265
  jsonResponse: {
19049
- /** */
19266
+ /** Represents a [device](https://docs.seam.co/latest/core-concepts/devices) that has been connected to Seam. */
19050
19267
  device: {
19051
19268
  /** Unique identifier for the device. */
19052
19269
  device_id: string;
@@ -19104,7 +19321,7 @@ export interface Routes {
19104
19321
  level: number;
19105
19322
  status: 'critical' | 'low' | 'good' | 'full';
19106
19323
  } | undefined;
19107
- /** Manufacturer of the device. */
19324
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
19108
19325
  manufacturer?: string | undefined;
19109
19326
  /** Image URL for the device. */
19110
19327
  image_url?: string | undefined;
@@ -19383,6 +19600,7 @@ export interface Routes {
19383
19600
  } | undefined;
19384
19601
  }) & ({
19385
19602
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
19603
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
19386
19604
  code_constraints?: (Array<{
19387
19605
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
19388
19606
  } | {
@@ -19808,27 +20026,27 @@ export interface Routes {
19808
20026
  jsonBody: {};
19809
20027
  commonParams: {
19810
20028
  customer_ids?: string[] | undefined;
19811
- /** ID of the connected account by which to filter. */
20029
+ /** ID of the connected account for which you want to list devices. */
19812
20030
  connected_account_id?: string | undefined;
19813
- /** Array of IDs of the connected accounts by which to filter devices. */
20031
+ /** Array of IDs of the connected accounts for which you want to list devices. */
19814
20032
  connected_account_ids?: string[] | undefined;
19815
- /** ID of the Connect Webview by which to filter devices. */
20033
+ /** ID of the Connect Webview for which you want to list devices. */
19816
20034
  connect_webview_id?: string | undefined;
19817
- /** Device type by which to filter devices. */
20035
+ /** Device type for which you want to list devices. */
19818
20036
  device_type?: (('akuvox_lock' | 'august_lock' | 'brivo_access_point' | 'butterflymx_panel' | 'avigilon_alta_entry' | 'doorking_lock' | 'genie_door' | 'igloo_lock' | 'linear_lock' | 'lockly_lock' | 'kwikset_lock' | 'nuki_lock' | 'salto_lock' | 'schlage_lock' | 'seam_relay' | 'smartthings_lock' | 'wyze_lock' | 'yale_lock' | 'two_n_intercom' | 'controlbyweb_device' | 'ttlock_lock' | 'igloohome_lock' | 'hubitat_lock' | 'four_suites_door' | 'dormakaba_oracode_door' | 'tedee_lock' | 'akiles_lock') | ('noiseaware_activity_zone' | 'minut_sensor') | ('ecobee_thermostat' | 'nest_thermostat' | 'honeywell_resideo_thermostat' | 'tado_thermostat' | 'sensi_thermostat' | 'smartthings_thermostat') | ('ios_phone' | 'android_phone')) | undefined;
19819
- /** Array of device types by which to filter devices. */
20037
+ /** Array of device types for which you want to list devices. */
19820
20038
  device_types?: Array<('akuvox_lock' | 'august_lock' | 'brivo_access_point' | 'butterflymx_panel' | 'avigilon_alta_entry' | 'doorking_lock' | 'genie_door' | 'igloo_lock' | 'linear_lock' | 'lockly_lock' | 'kwikset_lock' | 'nuki_lock' | 'salto_lock' | 'schlage_lock' | 'seam_relay' | 'smartthings_lock' | 'wyze_lock' | 'yale_lock' | 'two_n_intercom' | 'controlbyweb_device' | 'ttlock_lock' | 'igloohome_lock' | 'hubitat_lock' | 'four_suites_door' | 'dormakaba_oracode_door' | 'tedee_lock' | 'akiles_lock') | ('noiseaware_activity_zone' | 'minut_sensor') | ('ecobee_thermostat' | 'nest_thermostat' | 'honeywell_resideo_thermostat' | 'tado_thermostat' | 'sensi_thermostat' | 'smartthings_thermostat') | ('ios_phone' | 'android_phone')> | undefined;
19821
- /** Manufacturer by which to filter devices. */
20039
+ /** Manufacturer for which you want to list devices. */
19822
20040
  manufacturer?: ('akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'doorking' | 'four_suites' | 'genie' | 'igloo' | 'keywe' | 'kwikset' | 'linear' | 'lockly' | 'nuki' | 'philia' | 'salto' | 'samsung' | 'schlage' | 'seam' | 'unknown' | 'wyze' | 'yale' | 'two_n' | 'ttlock' | 'igloohome' | 'hubitat' | 'controlbyweb' | 'smartthings' | 'dormakaba_oracode' | 'tedee' | 'akiles' | 'ecobee' | 'honeywell_resideo' | 'minut' | 'nest' | 'noiseaware' | 'tado' | 'sensi') | undefined;
19823
- /** Array of device IDs by which to filter devices. */
20041
+ /** Array of device IDs for which you want to list devices. */
19824
20042
  device_ids?: string[] | undefined;
19825
20043
  /** Numerical limit on the number of devices to return. */
19826
20044
  limit?: number;
19827
- /** Date threshold for devices to return. If specified, returns only devices created before the specified date. */
20045
+ /** Timestamp by which to limit returned devices. Returns devices created before this timestamp. */
19828
20046
  created_before?: Date | undefined;
19829
- /** Your own internal user ID for the user by which to filter devices. */
20047
+ /** Your own internal user ID for the user for which you want to list devices. */
19830
20048
  user_identifier_key?: string | undefined;
19831
- /** Set of key:value [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) pairs by which you want to filter devices. */
20049
+ /** Set of key:value [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) pairs for which you want to list devices. */
19832
20050
  custom_metadata_has?: Record<string, string | boolean> | undefined;
19833
20051
  /** Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`. */
19834
20052
  page_cursor?: (string | undefined) | null;
@@ -19836,7 +20054,7 @@ export interface Routes {
19836
20054
  include_if?: Array<'can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection'> | undefined;
19837
20055
  /** */
19838
20056
  exclude_if?: Array<'can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection'> | undefined;
19839
- /** */
20057
+ /** ID of the location for which you want to list devices. */
19840
20058
  unstable_location_id?: (string | null) | undefined;
19841
20059
  };
19842
20060
  formData: {};
@@ -19898,7 +20116,7 @@ export interface Routes {
19898
20116
  level: number;
19899
20117
  status: 'critical' | 'low' | 'good' | 'full';
19900
20118
  } | undefined;
19901
- /** Manufacturer of the device. */
20119
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
19902
20120
  manufacturer?: string | undefined;
19903
20121
  /** Image URL for the device. */
19904
20122
  image_url?: string | undefined;
@@ -20177,6 +20395,7 @@ export interface Routes {
20177
20395
  } | undefined;
20178
20396
  }) & ({
20179
20397
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
20398
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
20180
20399
  code_constraints?: (Array<{
20181
20400
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
20182
20401
  } | {
@@ -20610,6 +20829,7 @@ export interface Routes {
20610
20829
  queryParams: {};
20611
20830
  jsonBody: {};
20612
20831
  commonParams: {
20832
+ /** Category for which you want to list providers. */
20613
20833
  provider_category?: ('stable' | 'consumer_smartlocks' | 'thermostats' | 'noise_sensors' | 'access_control_systems') | undefined;
20614
20834
  };
20615
20835
  formData: {};
@@ -20638,6 +20858,7 @@ export interface Routes {
20638
20858
  method: 'POST';
20639
20859
  queryParams: {};
20640
20860
  jsonBody: {
20861
+ /** ID of the device that you want to simulate connecting to Seam. */
20641
20862
  device_id: string;
20642
20863
  };
20643
20864
  commonParams: {};
@@ -20649,6 +20870,7 @@ export interface Routes {
20649
20870
  method: 'POST';
20650
20871
  queryParams: {};
20651
20872
  jsonBody: {
20873
+ /** ID of the device that you want to simulate disconnecting from Seam. */
20652
20874
  device_id: string;
20653
20875
  };
20654
20876
  commonParams: {};
@@ -20660,6 +20882,7 @@ export interface Routes {
20660
20882
  method: 'DELETE' | 'POST';
20661
20883
  queryParams: {};
20662
20884
  jsonBody: {
20885
+ /** ID of the device that you want to simulate removing from Seam. */
20663
20886
  device_id: string;
20664
20887
  };
20665
20888
  commonParams: {};
@@ -20672,12 +20895,14 @@ export interface Routes {
20672
20895
  queryParams: {};
20673
20896
  jsonBody: {};
20674
20897
  commonParams: {
20898
+ /** ID of the unmanaged device that you want to get. */
20675
20899
  device_id?: string | undefined;
20900
+ /** Name of the unmanaged device that you want to get. */
20676
20901
  name?: string | undefined;
20677
20902
  };
20678
20903
  formData: {};
20679
20904
  jsonResponse: {
20680
- /** */
20905
+ /** Represents an [unmanaged device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices). An unmanaged device has a limited set of visible properties and a subset of supported events. You cannot control an unmanaged device. Any [access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) on an unmanaged device are unmanaged. To control an unmanaged device with Seam, [convert it to a managed device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices#convert-an-unmanaged-device-to-managed). */
20681
20906
  device: {
20682
20907
  /** Unique identifier for the device. */
20683
20908
  device_id: string;
@@ -20899,7 +21124,7 @@ export interface Routes {
20899
21124
  name: string;
20900
21125
  /** Indicates whether the device is online. */
20901
21126
  online: boolean;
20902
- /** Manufacturer of the device. */
21127
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
20903
21128
  manufacturer?: string | undefined;
20904
21129
  /** Image URL for the device. */
20905
21130
  image_url?: string | undefined;
@@ -20955,27 +21180,27 @@ export interface Routes {
20955
21180
  jsonBody: {};
20956
21181
  commonParams: {
20957
21182
  customer_ids?: string[] | undefined;
20958
- /** ID of the connected account by which to filter. */
21183
+ /** ID of the connected account for which you want to list devices. */
20959
21184
  connected_account_id?: string | undefined;
20960
- /** Array of IDs of the connected accounts by which to filter devices. */
21185
+ /** Array of IDs of the connected accounts for which you want to list devices. */
20961
21186
  connected_account_ids?: string[] | undefined;
20962
- /** ID of the Connect Webview by which to filter devices. */
21187
+ /** ID of the Connect Webview for which you want to list devices. */
20963
21188
  connect_webview_id?: string | undefined;
20964
- /** Device type by which to filter devices. */
21189
+ /** Device type for which you want to list devices. */
20965
21190
  device_type?: (('akuvox_lock' | 'august_lock' | 'brivo_access_point' | 'butterflymx_panel' | 'avigilon_alta_entry' | 'doorking_lock' | 'genie_door' | 'igloo_lock' | 'linear_lock' | 'lockly_lock' | 'kwikset_lock' | 'nuki_lock' | 'salto_lock' | 'schlage_lock' | 'seam_relay' | 'smartthings_lock' | 'wyze_lock' | 'yale_lock' | 'two_n_intercom' | 'controlbyweb_device' | 'ttlock_lock' | 'igloohome_lock' | 'hubitat_lock' | 'four_suites_door' | 'dormakaba_oracode_door' | 'tedee_lock' | 'akiles_lock') | ('noiseaware_activity_zone' | 'minut_sensor') | ('ecobee_thermostat' | 'nest_thermostat' | 'honeywell_resideo_thermostat' | 'tado_thermostat' | 'sensi_thermostat' | 'smartthings_thermostat') | ('ios_phone' | 'android_phone')) | undefined;
20966
- /** Array of device types by which to filter devices. */
21191
+ /** Array of device types for which you want to list devices. */
20967
21192
  device_types?: Array<('akuvox_lock' | 'august_lock' | 'brivo_access_point' | 'butterflymx_panel' | 'avigilon_alta_entry' | 'doorking_lock' | 'genie_door' | 'igloo_lock' | 'linear_lock' | 'lockly_lock' | 'kwikset_lock' | 'nuki_lock' | 'salto_lock' | 'schlage_lock' | 'seam_relay' | 'smartthings_lock' | 'wyze_lock' | 'yale_lock' | 'two_n_intercom' | 'controlbyweb_device' | 'ttlock_lock' | 'igloohome_lock' | 'hubitat_lock' | 'four_suites_door' | 'dormakaba_oracode_door' | 'tedee_lock' | 'akiles_lock') | ('noiseaware_activity_zone' | 'minut_sensor') | ('ecobee_thermostat' | 'nest_thermostat' | 'honeywell_resideo_thermostat' | 'tado_thermostat' | 'sensi_thermostat' | 'smartthings_thermostat') | ('ios_phone' | 'android_phone')> | undefined;
20968
- /** Manufacturer by which to filter devices. */
21193
+ /** Manufacturer for which you want to list devices. */
20969
21194
  manufacturer?: ('akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'doorking' | 'four_suites' | 'genie' | 'igloo' | 'keywe' | 'kwikset' | 'linear' | 'lockly' | 'nuki' | 'philia' | 'salto' | 'samsung' | 'schlage' | 'seam' | 'unknown' | 'wyze' | 'yale' | 'two_n' | 'ttlock' | 'igloohome' | 'hubitat' | 'controlbyweb' | 'smartthings' | 'dormakaba_oracode' | 'tedee' | 'akiles' | 'ecobee' | 'honeywell_resideo' | 'minut' | 'nest' | 'noiseaware' | 'tado' | 'sensi') | undefined;
20970
- /** Array of device IDs by which to filter devices. */
21195
+ /** Array of device IDs for which you want to list devices. */
20971
21196
  device_ids?: string[] | undefined;
20972
21197
  /** Numerical limit on the number of devices to return. */
20973
21198
  limit?: number;
20974
- /** Date threshold for devices to return. If specified, returns only devices created before the specified date. */
21199
+ /** Timestamp by which to limit returned devices. Returns devices created before this timestamp. */
20975
21200
  created_before?: Date | undefined;
20976
- /** Your own internal user ID for the user by which to filter devices. */
21201
+ /** Your own internal user ID for the user for which you want to list devices. */
20977
21202
  user_identifier_key?: string | undefined;
20978
- /** Set of key:value [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) pairs by which you want to filter devices. */
21203
+ /** Set of key:value [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) pairs for which you want to list devices. */
20979
21204
  custom_metadata_has?: Record<string, string | boolean> | undefined;
20980
21205
  /** Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`. */
20981
21206
  page_cursor?: (string | undefined) | null;
@@ -20983,7 +21208,7 @@ export interface Routes {
20983
21208
  include_if?: Array<'can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection'> | undefined;
20984
21209
  /** */
20985
21210
  exclude_if?: Array<'can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection'> | undefined;
20986
- /** */
21211
+ /** ID of the location for which you want to list devices. */
20987
21212
  unstable_location_id?: (string | null) | undefined;
20988
21213
  };
20989
21214
  formData: {};
@@ -21209,7 +21434,7 @@ export interface Routes {
21209
21434
  name: string;
21210
21435
  /** Indicates whether the device is online. */
21211
21436
  online: boolean;
21212
- /** Manufacturer of the device. */
21437
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
21213
21438
  manufacturer?: string | undefined;
21214
21439
  /** Image URL for the device. */
21215
21440
  image_url?: string | undefined;
@@ -21264,7 +21489,9 @@ export interface Routes {
21264
21489
  queryParams: {};
21265
21490
  jsonBody: {};
21266
21491
  commonParams: {
21492
+ /** ID of the unmanaged device that you want to update. */
21267
21493
  device_id: string;
21494
+ /** Indicates whether the device is managed. Set this parameter to `true` to convert an unmanaged device to managed. */
21268
21495
  is_managed: true;
21269
21496
  };
21270
21497
  formData: {};
@@ -21276,12 +21503,17 @@ export interface Routes {
21276
21503
  queryParams: {};
21277
21504
  jsonBody: {};
21278
21505
  commonParams: {
21506
+ /** ID of the device that you want to update. */
21279
21507
  device_id: string;
21280
21508
  properties?: {
21509
+ /** Name for the device. */
21281
21510
  name?: (string | null) | undefined;
21282
21511
  } | undefined;
21512
+ /** Name for the device. */
21283
21513
  name?: (string | null) | undefined;
21514
+ /** Indicates whether the device is managed. To unmanage a device, set `is_managed` to `false`. */
21284
21515
  is_managed?: boolean;
21516
+ /** Custom metadata that you want to associate with the device. Supports up to 50 JSON key:value pairs. [Adding custom metadata to a device](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) enables you to store custom information, like customer details or internal IDs from your application. Then, you can [filter devices by the desired metadata](https://docs.seam.co/latest/core-concepts/devices/filtering-devices-by-custom-metadata). */
21285
21517
  custom_metadata?: Record<string, string | boolean | null> | undefined;
21286
21518
  };
21287
21519
  formData: {};
@@ -21299,7 +21531,9 @@ export interface Routes {
21299
21531
  };
21300
21532
  formData: {};
21301
21533
  jsonResponse: {
21302
- /** */
21534
+ /** Represents an event. Events let you know when something interesting happens in your workspace. For example, when a lock is unlocked, Seam creates a `lock.unlocked` event. When a device's battery level is low, Seam creates a `device.battery_low` event.
21535
+
21536
+ As with other API resources, you can retrieve an individual event or a list of events. Seam also provides a separate [webhook](https://docs.seam.co/latest/developer-tools/webhooks) system for sending the event objects directly to an endpoint on your sever. Manage webhooks through [Seam Console](https://console.seam.co). You can also use the webhooks sandbox in Seam Console to see the different payloads for each event and test them against your own endpoints. */
21303
21537
  event?: ({
21304
21538
  /** ID of the event. */
21305
21539
  event_id: string;
@@ -24063,7 +24297,7 @@ export interface Routes {
24063
24297
  };
24064
24298
  formData: {};
24065
24299
  jsonResponse: {
24066
- /** */
24300
+ /** Represents a [device](https://docs.seam.co/latest/core-concepts/devices) that has been connected to Seam. */
24067
24301
  lock: {
24068
24302
  /** Unique identifier for the device. */
24069
24303
  device_id: string;
@@ -24121,7 +24355,7 @@ export interface Routes {
24121
24355
  level: number;
24122
24356
  status: 'critical' | 'low' | 'good' | 'full';
24123
24357
  } | undefined;
24124
- /** Manufacturer of the device. */
24358
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
24125
24359
  manufacturer?: string | undefined;
24126
24360
  /** Image URL for the device. */
24127
24361
  image_url?: string | undefined;
@@ -24400,6 +24634,7 @@ export interface Routes {
24400
24634
  } | undefined;
24401
24635
  }) & ({
24402
24636
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
24637
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
24403
24638
  code_constraints?: (Array<{
24404
24639
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
24405
24640
  } | {
@@ -24816,7 +25051,7 @@ export interface Routes {
24816
25051
  can_simulate_connection?: boolean | undefined;
24817
25052
  can_simulate_disconnection?: boolean | undefined;
24818
25053
  };
24819
- /** */
25054
+ /** Represents a [device](https://docs.seam.co/latest/core-concepts/devices) that has been connected to Seam. */
24820
25055
  device: {
24821
25056
  /** Unique identifier for the device. */
24822
25057
  device_id: string;
@@ -24874,7 +25109,7 @@ export interface Routes {
24874
25109
  level: number;
24875
25110
  status: 'critical' | 'low' | 'good' | 'full';
24876
25111
  } | undefined;
24877
- /** Manufacturer of the device. */
25112
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
24878
25113
  manufacturer?: string | undefined;
24879
25114
  /** Image URL for the device. */
24880
25115
  image_url?: string | undefined;
@@ -25153,6 +25388,7 @@ export interface Routes {
25153
25388
  } | undefined;
25154
25389
  }) & ({
25155
25390
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
25391
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
25156
25392
  code_constraints?: (Array<{
25157
25393
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
25158
25394
  } | {
@@ -25578,11 +25814,11 @@ export interface Routes {
25578
25814
  jsonBody: {};
25579
25815
  commonParams: {
25580
25816
  customer_ids?: string[] | undefined;
25581
- /** ID of the connected account by which to filter. */
25817
+ /** ID of the connected account for which you want to list devices. */
25582
25818
  connected_account_id?: string | undefined;
25583
- /** Array of IDs of the connected accounts by which to filter devices. */
25819
+ /** Array of IDs of the connected accounts for which you want to list devices. */
25584
25820
  connected_account_ids?: string[] | undefined;
25585
- /** ID of the Connect Webview by which to filter devices. */
25821
+ /** ID of the Connect Webview for which you want to list devices. */
25586
25822
  connect_webview_id?: string | undefined;
25587
25823
  /** Device type by which to filter devices. */
25588
25824
  device_type?: ('akuvox_lock' | 'august_lock' | 'brivo_access_point' | 'butterflymx_panel' | 'avigilon_alta_entry' | 'doorking_lock' | 'genie_door' | 'igloo_lock' | 'linear_lock' | 'lockly_lock' | 'kwikset_lock' | 'nuki_lock' | 'salto_lock' | 'schlage_lock' | 'seam_relay' | 'smartthings_lock' | 'wyze_lock' | 'yale_lock' | 'two_n_intercom' | 'controlbyweb_device' | 'ttlock_lock' | 'igloohome_lock' | 'hubitat_lock' | 'four_suites_door' | 'dormakaba_oracode_door' | 'tedee_lock' | 'akiles_lock') | undefined;
@@ -25590,15 +25826,15 @@ export interface Routes {
25590
25826
  device_types?: Array<'akuvox_lock' | 'august_lock' | 'brivo_access_point' | 'butterflymx_panel' | 'avigilon_alta_entry' | 'doorking_lock' | 'genie_door' | 'igloo_lock' | 'linear_lock' | 'lockly_lock' | 'kwikset_lock' | 'nuki_lock' | 'salto_lock' | 'schlage_lock' | 'seam_relay' | 'smartthings_lock' | 'wyze_lock' | 'yale_lock' | 'two_n_intercom' | 'controlbyweb_device' | 'ttlock_lock' | 'igloohome_lock' | 'hubitat_lock' | 'four_suites_door' | 'dormakaba_oracode_door' | 'tedee_lock' | 'akiles_lock'> | undefined;
25591
25827
  /** Manufacturer by which to filter devices. */
25592
25828
  manufacturer?: ('akuvox' | 'august' | 'brivo' | 'butterflymx' | 'avigilon_alta' | 'doorking' | 'genie' | 'igloo' | 'linear' | 'lockly' | 'kwikset' | 'nuki' | 'salto' | 'schlage' | 'seam' | 'smartthings' | 'wyze' | 'yale' | 'two_n' | 'controlbyweb' | 'ttlock' | 'igloohome' | 'hubitat' | 'four_suites' | 'dormakaba_oracode' | 'tedee' | 'akiles') | undefined;
25593
- /** Array of device IDs by which to filter devices. */
25829
+ /** Array of device IDs for which you want to list devices. */
25594
25830
  device_ids?: string[] | undefined;
25595
25831
  /** Numerical limit on the number of devices to return. */
25596
25832
  limit?: number;
25597
- /** Date threshold for devices to return. If specified, returns only devices created before the specified date. */
25833
+ /** Timestamp by which to limit returned devices. Returns devices created before this timestamp. */
25598
25834
  created_before?: Date | undefined;
25599
- /** Your own internal user ID for the user by which to filter devices. */
25835
+ /** Your own internal user ID for the user for which you want to list devices. */
25600
25836
  user_identifier_key?: string | undefined;
25601
- /** Set of key:value [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) pairs by which you want to filter devices. */
25837
+ /** Set of key:value [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) pairs for which you want to list devices. */
25602
25838
  custom_metadata_has?: Record<string, string | boolean> | undefined;
25603
25839
  /** Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`. */
25604
25840
  page_cursor?: (string | undefined) | null;
@@ -25606,7 +25842,7 @@ export interface Routes {
25606
25842
  include_if?: Array<'can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection'> | undefined;
25607
25843
  /** */
25608
25844
  exclude_if?: Array<'can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection'> | undefined;
25609
- /** */
25845
+ /** ID of the location for which you want to list devices. */
25610
25846
  unstable_location_id?: (string | null) | undefined;
25611
25847
  };
25612
25848
  formData: {};
@@ -25668,7 +25904,7 @@ export interface Routes {
25668
25904
  level: number;
25669
25905
  status: 'critical' | 'low' | 'good' | 'full';
25670
25906
  } | undefined;
25671
- /** Manufacturer of the device. */
25907
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
25672
25908
  manufacturer?: string | undefined;
25673
25909
  /** Image URL for the device. */
25674
25910
  image_url?: string | undefined;
@@ -25947,6 +26183,7 @@ export interface Routes {
25947
26183
  } | undefined;
25948
26184
  }) & ({
25949
26185
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
26186
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
25950
26187
  code_constraints?: (Array<{
25951
26188
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
25952
26189
  } | {
@@ -26420,7 +26657,7 @@ export interface Routes {
26420
26657
  level: number;
26421
26658
  status: 'critical' | 'low' | 'good' | 'full';
26422
26659
  } | undefined;
26423
- /** Manufacturer of the device. */
26660
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
26424
26661
  manufacturer?: string | undefined;
26425
26662
  /** Image URL for the device. */
26426
26663
  image_url?: string | undefined;
@@ -26699,6 +26936,7 @@ export interface Routes {
26699
26936
  } | undefined;
26700
26937
  }) & ({
26701
26938
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
26939
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
26702
26940
  code_constraints?: (Array<{
26703
26941
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
26704
26942
  } | {
@@ -31622,11 +31860,11 @@ export interface Routes {
31622
31860
  jsonBody: {};
31623
31861
  commonParams: {
31624
31862
  customer_ids?: string[] | undefined;
31625
- /** ID of the connected account by which to filter. */
31863
+ /** ID of the connected account for which you want to list devices. */
31626
31864
  connected_account_id?: string | undefined;
31627
- /** Array of IDs of the connected accounts by which to filter devices. */
31865
+ /** Array of IDs of the connected accounts for which you want to list devices. */
31628
31866
  connected_account_ids?: string[] | undefined;
31629
- /** ID of the Connect Webview by which to filter devices. */
31867
+ /** ID of the Connect Webview for which you want to list devices. */
31630
31868
  connect_webview_id?: string | undefined;
31631
31869
  /** Device type by which to filter devices. */
31632
31870
  device_type?: ('noiseaware_activity_zone' | 'minut_sensor') | undefined;
@@ -31634,15 +31872,15 @@ export interface Routes {
31634
31872
  device_types?: Array<'noiseaware_activity_zone' | 'minut_sensor'> | undefined;
31635
31873
  /** Manufacturer by which to filter devices. */
31636
31874
  manufacturer?: ('minut' | 'noiseaware') | undefined;
31637
- /** Array of device IDs by which to filter devices. */
31875
+ /** Array of device IDs for which you want to list devices. */
31638
31876
  device_ids?: string[] | undefined;
31639
31877
  /** Numerical limit on the number of devices to return. */
31640
31878
  limit?: number;
31641
- /** Date threshold for devices to return. If specified, returns only devices created before the specified date. */
31879
+ /** Timestamp by which to limit returned devices. Returns devices created before this timestamp. */
31642
31880
  created_before?: Date | undefined;
31643
- /** Your own internal user ID for the user by which to filter devices. */
31881
+ /** Your own internal user ID for the user for which you want to list devices. */
31644
31882
  user_identifier_key?: string | undefined;
31645
- /** Set of key:value [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) pairs by which you want to filter devices. */
31883
+ /** Set of key:value [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) pairs for which you want to list devices. */
31646
31884
  custom_metadata_has?: Record<string, string | boolean> | undefined;
31647
31885
  /** Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`. */
31648
31886
  page_cursor?: (string | undefined) | null;
@@ -31650,7 +31888,7 @@ export interface Routes {
31650
31888
  include_if?: Array<'can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection'> | undefined;
31651
31889
  /** */
31652
31890
  exclude_if?: Array<'can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection'> | undefined;
31653
- /** */
31891
+ /** ID of the location for which you want to list devices. */
31654
31892
  unstable_location_id?: (string | null) | undefined;
31655
31893
  };
31656
31894
  formData: {};
@@ -31712,7 +31950,7 @@ export interface Routes {
31712
31950
  level: number;
31713
31951
  status: 'critical' | 'low' | 'good' | 'full';
31714
31952
  } | undefined;
31715
- /** Manufacturer of the device. */
31953
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
31716
31954
  manufacturer?: string | undefined;
31717
31955
  /** Image URL for the device. */
31718
31956
  image_url?: string | undefined;
@@ -31991,6 +32229,7 @@ export interface Routes {
31991
32229
  } | undefined;
31992
32230
  }) & ({
31993
32231
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
32232
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
31994
32233
  code_constraints?: (Array<{
31995
32234
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
31996
32235
  } | {
@@ -32464,7 +32703,7 @@ export interface Routes {
32464
32703
  level: number;
32465
32704
  status: 'critical' | 'low' | 'good' | 'full';
32466
32705
  } | undefined;
32467
- /** Manufacturer of the device. */
32706
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
32468
32707
  manufacturer?: string | undefined;
32469
32708
  /** Image URL for the device. */
32470
32709
  image_url?: string | undefined;
@@ -32743,6 +32982,7 @@ export interface Routes {
32743
32982
  } | undefined;
32744
32983
  }) & ({
32745
32984
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
32985
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
32746
32986
  code_constraints?: (Array<{
32747
32987
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
32748
32988
  } | {
@@ -37042,7 +37282,15 @@ export interface Routes {
37042
37282
  commonParams: {};
37043
37283
  formData: {};
37044
37284
  jsonResponse: {
37045
- /** */
37285
+ /** Represents a [client session](https://docs.seam.co/latest/core-concepts/authentication/client-session-tokens). If you want to restrict your users' access to their own devices, use client sessions.
37286
+
37287
+ You create each client session with a custom `user_identifier_key`. Normally, the `user_identifier_key` is a user ID that your application provides.
37288
+
37289
+ When calling the Seam API from your backend using an API key, you can pass the `user_identifier_key` as a parameter to limit results to the associated client session. For example, `/devices/list?user_identifier_key=123` only returns devices associated with the client session created with the `user_identifier_key` `123`.
37290
+
37291
+ A client session has a token that you can use with the Seam JavaScript SDK to make requests from the client (browser) directly to the Seam API. The token restricts the user's access to only the devices that they own.
37292
+
37293
+ See also [Get Started with React](https://docs.seam.co/latest/ui-components/overview/getting-started-with-seam-components/get-started-with-react-components-and-client-session-tokens). */
37046
37294
  client_session: {
37047
37295
  client_session_id: string;
37048
37296
  workspace_id: string;
@@ -40657,7 +40905,7 @@ export interface Routes {
40657
40905
  };
40658
40906
  formData: {};
40659
40907
  jsonResponse: {
40660
- /** */
40908
+ /** Represents a [device](https://docs.seam.co/latest/core-concepts/devices) that has been connected to Seam. */
40661
40909
  thermostat: {
40662
40910
  /** Unique identifier for the device. */
40663
40911
  device_id: string;
@@ -40715,7 +40963,7 @@ export interface Routes {
40715
40963
  level: number;
40716
40964
  status: 'critical' | 'low' | 'good' | 'full';
40717
40965
  } | undefined;
40718
- /** Manufacturer of the device. */
40966
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
40719
40967
  manufacturer?: string | undefined;
40720
40968
  /** Image URL for the device. */
40721
40969
  image_url?: string | undefined;
@@ -40994,6 +41242,7 @@ export interface Routes {
40994
41242
  } | undefined;
40995
41243
  }) & ({
40996
41244
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
41245
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
40997
41246
  code_constraints?: (Array<{
40998
41247
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
40999
41248
  } | {
@@ -43667,11 +43916,11 @@ export interface Routes {
43667
43916
  jsonBody: {};
43668
43917
  commonParams: {
43669
43918
  customer_ids?: string[] | undefined;
43670
- /** ID of the connected account by which to filter. */
43919
+ /** ID of the connected account for which you want to list devices. */
43671
43920
  connected_account_id?: string | undefined;
43672
- /** Array of IDs of the connected accounts by which to filter devices. */
43921
+ /** Array of IDs of the connected accounts for which you want to list devices. */
43673
43922
  connected_account_ids?: string[] | undefined;
43674
- /** ID of the Connect Webview by which to filter devices. */
43923
+ /** ID of the Connect Webview for which you want to list devices. */
43675
43924
  connect_webview_id?: string | undefined;
43676
43925
  /** Device type by which to filter thermostat devices. */
43677
43926
  device_type?: ('ecobee_thermostat' | 'nest_thermostat' | 'honeywell_resideo_thermostat' | 'tado_thermostat' | 'sensi_thermostat' | 'smartthings_thermostat') | undefined;
@@ -43679,15 +43928,15 @@ export interface Routes {
43679
43928
  device_types?: Array<'ecobee_thermostat' | 'nest_thermostat' | 'honeywell_resideo_thermostat' | 'tado_thermostat' | 'sensi_thermostat' | 'smartthings_thermostat'> | undefined;
43680
43929
  /** Manufacturer by which to filter thermostat devices. */
43681
43930
  manufacturer?: ('ecobee' | 'honeywell_resideo' | 'nest' | 'tado' | 'sensi') | undefined;
43682
- /** Array of device IDs by which to filter devices. */
43931
+ /** Array of device IDs for which you want to list devices. */
43683
43932
  device_ids?: string[] | undefined;
43684
43933
  /** Numerical limit on the number of devices to return. */
43685
43934
  limit?: number;
43686
- /** Date threshold for devices to return. If specified, returns only devices created before the specified date. */
43935
+ /** Timestamp by which to limit returned devices. Returns devices created before this timestamp. */
43687
43936
  created_before?: Date | undefined;
43688
- /** Your own internal user ID for the user by which to filter devices. */
43937
+ /** Your own internal user ID for the user for which you want to list devices. */
43689
43938
  user_identifier_key?: string | undefined;
43690
- /** Set of key:value [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) pairs by which you want to filter devices. */
43939
+ /** Set of key:value [custom metadata](https://docs.seam.co/latest/core-concepts/devices/adding-custom-metadata-to-a-device) pairs for which you want to list devices. */
43691
43940
  custom_metadata_has?: Record<string, string | boolean> | undefined;
43692
43941
  /** Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`. */
43693
43942
  page_cursor?: (string | undefined) | null;
@@ -43695,7 +43944,7 @@ export interface Routes {
43695
43944
  include_if?: Array<'can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection'> | undefined;
43696
43945
  /** */
43697
43946
  exclude_if?: Array<'can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection'> | undefined;
43698
- /** */
43947
+ /** ID of the location for which you want to list devices. */
43699
43948
  unstable_location_id?: (string | null) | undefined;
43700
43949
  };
43701
43950
  formData: {};
@@ -43757,7 +44006,7 @@ export interface Routes {
43757
44006
  level: number;
43758
44007
  status: 'critical' | 'low' | 'good' | 'full';
43759
44008
  } | undefined;
43760
- /** Manufacturer of the device. */
44009
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
43761
44010
  manufacturer?: string | undefined;
43762
44011
  /** Image URL for the device. */
43763
44012
  image_url?: string | undefined;
@@ -44036,6 +44285,7 @@ export interface Routes {
44036
44285
  } | undefined;
44037
44286
  }) & ({
44038
44287
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
44288
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
44039
44289
  code_constraints?: (Array<{
44040
44290
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
44041
44291
  } | {
@@ -44509,7 +44759,7 @@ export interface Routes {
44509
44759
  level: number;
44510
44760
  status: 'critical' | 'low' | 'good' | 'full';
44511
44761
  } | undefined;
44512
- /** Manufacturer of the device. */
44762
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
44513
44763
  manufacturer?: string | undefined;
44514
44764
  /** Image URL for the device. */
44515
44765
  image_url?: string | undefined;
@@ -44788,6 +45038,7 @@ export interface Routes {
44788
45038
  } | undefined;
44789
45039
  }) & ({
44790
45040
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
45041
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
44791
45042
  code_constraints?: (Array<{
44792
45043
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
44793
45044
  } | {
@@ -50440,6 +50691,43 @@ export interface Routes {
50440
50691
  };
50441
50692
  };
50442
50693
  };
50694
+ '/unstable_partner/resources/push': {
50695
+ route: '/unstable_partner/resources/push';
50696
+ method: 'POST';
50697
+ queryParams: {};
50698
+ jsonBody: Array<{
50699
+ partner_resource_type?: string | undefined;
50700
+ partner_resource_key?: string | undefined;
50701
+ customer_key?: string | undefined;
50702
+ email_address?: string | undefined;
50703
+ phone_number?: string | undefined;
50704
+ starts_at?: string | undefined;
50705
+ ends_at?: string | undefined;
50706
+ user_identity_key?: string | undefined;
50707
+ location_keys?: string[] | undefined;
50708
+ name?: string | undefined;
50709
+ description?: string | undefined;
50710
+ icon_url?: string | undefined;
50711
+ custom_metadata?: Record<string, string> | undefined;
50712
+ }> | {
50713
+ partner_resource_type?: string | undefined;
50714
+ partner_resource_key?: string | undefined;
50715
+ customer_key?: string | undefined;
50716
+ email_address?: string | undefined;
50717
+ phone_number?: string | undefined;
50718
+ starts_at?: string | undefined;
50719
+ ends_at?: string | undefined;
50720
+ user_identity_key?: string | undefined;
50721
+ location_keys?: string[] | undefined;
50722
+ name?: string | undefined;
50723
+ description?: string | undefined;
50724
+ icon_url?: string | undefined;
50725
+ custom_metadata?: Record<string, string> | undefined;
50726
+ };
50727
+ commonParams: {};
50728
+ formData: {};
50729
+ jsonResponse: {};
50730
+ };
50443
50731
  '/user_identities/add_acs_user': {
50444
50732
  route: '/user_identities/add_acs_user';
50445
50733
  method: 'POST' | 'PUT';
@@ -50473,7 +50761,7 @@ export interface Routes {
50473
50761
  };
50474
50762
  formData: {};
50475
50763
  jsonResponse: {
50476
- /** Represents a [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) associated with an application user account. */
50764
+ /** Represents a [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) associated with an application user account. */
50477
50765
  user_identity: {
50478
50766
  /** ID of the user identity. */
50479
50767
  user_identity_id: string;
@@ -50634,7 +50922,7 @@ export interface Routes {
50634
50922
  };
50635
50923
  formData: {};
50636
50924
  jsonResponse: {
50637
- /** Represents a [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) associated with an application user account. */
50925
+ /** Represents a [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) associated with an application user account. */
50638
50926
  user_identity: {
50639
50927
  /** ID of the user identity. */
50640
50928
  user_identity_id: string;
@@ -50763,7 +51051,7 @@ export interface Routes {
50763
51051
  level: number;
50764
51052
  status: 'critical' | 'low' | 'good' | 'full';
50765
51053
  } | undefined;
50766
- /** Manufacturer of the device. */
51054
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
50767
51055
  manufacturer?: string | undefined;
50768
51056
  /** Image URL for the device. */
50769
51057
  image_url?: string | undefined;
@@ -51042,6 +51330,7 @@ export interface Routes {
51042
51330
  } | undefined;
51043
51331
  }) & ({
51044
51332
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
51333
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
51045
51334
  code_constraints?: (Array<{
51046
51335
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
51047
51336
  } | {
@@ -51517,7 +51806,7 @@ export interface Routes {
51517
51806
  level: number;
51518
51807
  status: 'critical' | 'low' | 'good' | 'full';
51519
51808
  } | undefined;
51520
- /** Manufacturer of the device. */
51809
+ /** Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub. */
51521
51810
  manufacturer?: string | undefined;
51522
51811
  /** Image URL for the device. */
51523
51812
  image_url?: string | undefined;
@@ -51796,6 +52085,7 @@ export interface Routes {
51796
52085
  } | undefined;
51797
52086
  }) & ({
51798
52087
  _experimental_supported_code_from_access_codes_lengths?: (number[] | undefined) | undefined;
52088
+ /** Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific. */
51799
52089
  code_constraints?: (Array<{
51800
52090
  constraint_type: 'no_zeros' | 'cannot_start_with_12' | 'no_triple_consecutive_ints' | 'cannot_specify_pin_code' | 'pin_code_matches_existing_set' | 'start_date_in_future' | 'no_ascending_or_descending_sequence' | 'at_least_three_unique_digits' | 'cannot_contain_089' | 'cannot_contain_0789';
51801
52091
  } | {
@@ -52712,7 +53002,7 @@ export interface Routes {
52712
53002
  commonParams: {};
52713
53003
  formData: {};
52714
53004
  jsonResponse: {
52715
- /** */
53005
+ /** Represents a Seam [workspace](https://docs.seam.co/latest/core-concepts/workspaces). A workspace is a top-level entity that encompasses all other resources below it, such as devices, connected accounts, and Connect Webviews. Seam provides two types of workspaces. A [sandbox workspace](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces) is a special type of workspace designed for testing code. Sandbox workspaces offer test device accounts and virtual devices that you can connect and control. This ability to work with virtual devices is quite handy because it removes the need to own physical devices from multiple brands. To connect real devices and systems to Seam, use a [production workspace](https://docs.seam.co/latest/core-concepts/workspaces#production-workspaces). */
52716
53006
  workspace: {
52717
53007
  workspace_id: string;
52718
53008
  name: string;
@@ -52741,7 +53031,7 @@ export interface Routes {
52741
53031
  commonParams: {};
52742
53032
  formData: {};
52743
53033
  jsonResponse: {
52744
- /** */
53034
+ /** Represents a Seam [workspace](https://docs.seam.co/latest/core-concepts/workspaces). A workspace is a top-level entity that encompasses all other resources below it, such as devices, connected accounts, and Connect Webviews. Seam provides two types of workspaces. A [sandbox workspace](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces) is a special type of workspace designed for testing code. Sandbox workspaces offer test device accounts and virtual devices that you can connect and control. This ability to work with virtual devices is quite handy because it removes the need to own physical devices from multiple brands. To connect real devices and systems to Seam, use a [production workspace](https://docs.seam.co/latest/core-concepts/workspaces#production-workspaces). */
52745
53035
  workspace: {
52746
53036
  workspace_id: string;
52747
53037
  name: string;