@seamapi/types 1.416.1 → 1.416.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/connect.cjs +4125 -1987
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +11471 -6206
- package/lib/seam/connect/models/access-codes/managed-access-code.js +1 -1
- package/lib/seam/connect/models/access-codes/managed-access-code.js.map +1 -1
- package/lib/seam/connect/models/access-grants/access-grant.js +6 -5
- package/lib/seam/connect/models/access-grants/access-grant.js.map +1 -1
- package/lib/seam/connect/models/access-grants/access-method.js +4 -3
- package/lib/seam/connect/models/access-grants/access-method.js.map +1 -1
- package/lib/seam/connect/models/access-grants/requested-access-method.js +2 -2
- package/lib/seam/connect/models/access-grants/requested-access-method.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-credential-pool.js +2 -1
- package/lib/seam/connect/models/acs/acs-credential-pool.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-credential-provisioning-automation.js +2 -1
- package/lib/seam/connect/models/acs/acs-credential-provisioning-automation.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-users/acs-user.js +37 -37
- package/lib/seam/connect/models/acs/acs-users/acs-user.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-users/pending-mutations.js +57 -19
- package/lib/seam/connect/models/acs/acs-users/pending-mutations.js.map +1 -1
- package/lib/seam/connect/models/acs/metadata/assa-abloy-vostio.js +52 -15
- package/lib/seam/connect/models/acs/metadata/assa-abloy-vostio.js.map +1 -1
- package/lib/seam/connect/models/acs/metadata/dormakaba-community.js +7 -3
- package/lib/seam/connect/models/acs/metadata/dormakaba-community.js.map +1 -1
- package/lib/seam/connect/models/acs/metadata/latch.js +16 -6
- package/lib/seam/connect/models/acs/metadata/latch.js.map +1 -1
- package/lib/seam/connect/models/acs/metadata/salto-space.js +14 -5
- package/lib/seam/connect/models/acs/metadata/salto-space.js.map +1 -1
- package/lib/seam/connect/models/acs/metadata/salto.js +32 -10
- package/lib/seam/connect/models/acs/metadata/salto.js.map +1 -1
- package/lib/seam/connect/models/acs/metadata/visionline.js +53 -23
- package/lib/seam/connect/models/acs/metadata/visionline.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/action-attempt.js +5 -0
- package/lib/seam/connect/models/action-attempts/action-attempt.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/activate-climate-preset.js +15 -9
- package/lib/seam/connect/models/action-attempts/activate-climate-preset.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/deprecated.js +120 -52
- package/lib/seam/connect/models/action-attempts/deprecated.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/encode-access-method.js +35 -17
- package/lib/seam/connect/models/action-attempts/encode-access-method.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/encode-credential.js +35 -17
- package/lib/seam/connect/models/action-attempts/encode-credential.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/lock-door.js +15 -9
- package/lib/seam/connect/models/action-attempts/lock-door.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/push-thermostat-programs.js +13 -7
- package/lib/seam/connect/models/action-attempts/push-thermostat-programs.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/reset-sandbox-workspace.js +15 -9
- package/lib/seam/connect/models/action-attempts/reset-sandbox-workspace.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/scan-credential.js +34 -16
- package/lib/seam/connect/models/action-attempts/scan-credential.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/set-fan-mode.js +15 -9
- package/lib/seam/connect/models/action-attempts/set-fan-mode.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/set-hvac-mode.js +15 -9
- package/lib/seam/connect/models/action-attempts/set-hvac-mode.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/simulate-keypad-code-entry.js +15 -9
- package/lib/seam/connect/models/action-attempts/simulate-keypad-code-entry.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/simulate-manual-lock-via-keypad.js +15 -9
- package/lib/seam/connect/models/action-attempts/simulate-manual-lock-via-keypad.js.map +1 -1
- package/lib/seam/connect/models/action-attempts/unlock-door.js +15 -9
- package/lib/seam/connect/models/action-attempts/unlock-door.js.map +1 -1
- package/lib/seam/connect/models/bridges/bridge-client-session.js +66 -25
- package/lib/seam/connect/models/bridges/bridge-client-session.js.map +1 -1
- package/lib/seam/connect/models/bridges/bridge-connected-system.js +32 -9
- package/lib/seam/connect/models/bridges/bridge-connected-system.js.map +1 -1
- package/lib/seam/connect/models/bridges/bridge.js +10 -3
- package/lib/seam/connect/models/bridges/bridge.js.map +1 -1
- package/lib/seam/connect/models/client-sessions/client-session.js +47 -13
- package/lib/seam/connect/models/client-sessions/client-session.js.map +1 -1
- package/lib/seam/connect/models/connect-webviews/connect-webview.js +7 -9
- package/lib/seam/connect/models/connect-webviews/connect-webview.js.map +1 -1
- package/lib/seam/connect/models/connected-accounts/connected-account.js +8 -8
- package/lib/seam/connect/models/connected-accounts/connected-account.js.map +1 -1
- package/lib/seam/connect/models/custom-metadata.js +1 -1
- package/lib/seam/connect/models/custom-metadata.js.map +1 -1
- package/lib/seam/connect/models/devices/capability-properties/lock.js +2 -1
- package/lib/seam/connect/models/devices/capability-properties/lock.js.map +1 -1
- package/lib/seam/connect/models/devices/device-metadata.js +493 -480
- package/lib/seam/connect/models/devices/device-metadata.js.map +1 -1
- package/lib/seam/connect/models/devices/device.js +67 -47
- package/lib/seam/connect/models/devices/device.js.map +1 -1
- package/lib/seam/connect/models/devices/phone.js +1 -1
- package/lib/seam/connect/models/events/access-codes.js +1 -1
- package/lib/seam/connect/models/events/access-codes.js.map +1 -1
- package/lib/seam/connect/models/events/acs/credentials.js +4 -4
- package/lib/seam/connect/models/events/acs/encoders.js +2 -2
- package/lib/seam/connect/models/events/acs/entrances.js +2 -2
- package/lib/seam/connect/models/events/common.js +1 -1
- package/lib/seam/connect/models/events/common.js.map +1 -1
- package/lib/seam/connect/models/events/connect-webviews.js +2 -2
- package/lib/seam/connect/models/events/connect-webviews.js.map +1 -1
- package/lib/seam/connect/models/events/connected-accounts.js +2 -2
- package/lib/seam/connect/models/events/connected-accounts.js.map +1 -1
- package/lib/seam/connect/models/events/devices.js +1 -1
- package/lib/seam/connect/models/events/devices.js.map +1 -1
- package/lib/seam/connect/models/instant-keys/instant-key.js +28 -7
- package/lib/seam/connect/models/instant-keys/instant-key.js.map +1 -1
- package/lib/seam/connect/models/partner/magic-link.js +22 -11
- package/lib/seam/connect/models/partner/magic-link.js.map +1 -1
- package/lib/seam/connect/models/partner/resources.js +61 -20
- package/lib/seam/connect/models/partner/resources.js.map +1 -1
- package/lib/seam/connect/models/phones/phone-registration.js +7 -4
- package/lib/seam/connect/models/phones/phone-registration.js.map +1 -1
- package/lib/seam/connect/models/phones/phone-session.js +10 -4
- package/lib/seam/connect/models/phones/phone-session.js.map +1 -1
- package/lib/seam/connect/models/schedule.js +4 -2
- package/lib/seam/connect/models/schedule.js.map +1 -1
- package/lib/seam/connect/models/spaces/space.js +5 -4
- package/lib/seam/connect/models/spaces/space.js.map +1 -1
- package/lib/seam/connect/models/webhooks/webhook.js +16 -5
- package/lib/seam/connect/models/webhooks/webhook.js.map +1 -1
- package/lib/seam/connect/models/workspaces/workspace.js +33 -11
- package/lib/seam/connect/models/workspaces/workspace.js.map +1 -1
- package/lib/seam/connect/openapi.d.ts +410 -172
- package/lib/seam/connect/openapi.js +3231 -1186
- package/lib/seam/connect/openapi.js.map +1 -1
- package/lib/seam/connect/route-types.d.ts +11061 -6034
- package/package.json +2 -2
- package/src/lib/seam/connect/models/access-codes/managed-access-code.ts +1 -1
- package/src/lib/seam/connect/models/access-grants/access-grant.ts +6 -9
- package/src/lib/seam/connect/models/access-grants/access-method.ts +4 -5
- package/src/lib/seam/connect/models/access-grants/requested-access-method.ts +2 -2
- package/src/lib/seam/connect/models/acs/acs-credential-pool.ts +2 -1
- package/src/lib/seam/connect/models/acs/acs-credential-provisioning-automation.ts +2 -1
- package/src/lib/seam/connect/models/acs/acs-users/acs-user.ts +37 -37
- package/src/lib/seam/connect/models/acs/acs-users/pending-mutations.ts +69 -19
- package/src/lib/seam/connect/models/acs/metadata/assa-abloy-vostio.ts +63 -16
- package/src/lib/seam/connect/models/acs/metadata/dormakaba-community.ts +11 -3
- package/src/lib/seam/connect/models/acs/metadata/latch.ts +16 -6
- package/src/lib/seam/connect/models/acs/metadata/salto-space.ts +14 -5
- package/src/lib/seam/connect/models/acs/metadata/salto.ts +32 -10
- package/src/lib/seam/connect/models/acs/metadata/visionline.ts +60 -28
- package/src/lib/seam/connect/models/action-attempts/action-attempt.ts +5 -0
- package/src/lib/seam/connect/models/action-attempts/activate-climate-preset.ts +19 -9
- package/src/lib/seam/connect/models/action-attempts/deprecated.ts +174 -104
- package/src/lib/seam/connect/models/action-attempts/encode-access-method.ts +49 -17
- package/src/lib/seam/connect/models/action-attempts/encode-credential.ts +49 -18
- package/src/lib/seam/connect/models/action-attempts/lock-door.ts +17 -9
- package/src/lib/seam/connect/models/action-attempts/push-thermostat-programs.ts +17 -7
- package/src/lib/seam/connect/models/action-attempts/reset-sandbox-workspace.ts +19 -9
- package/src/lib/seam/connect/models/action-attempts/scan-credential.ts +52 -22
- package/src/lib/seam/connect/models/action-attempts/set-fan-mode.ts +19 -9
- package/src/lib/seam/connect/models/action-attempts/set-hvac-mode.ts +19 -9
- package/src/lib/seam/connect/models/action-attempts/simulate-keypad-code-entry.ts +19 -9
- package/src/lib/seam/connect/models/action-attempts/simulate-manual-lock-via-keypad.ts +19 -9
- package/src/lib/seam/connect/models/action-attempts/unlock-door.ts +17 -9
- package/src/lib/seam/connect/models/bridges/bridge-client-session.ts +84 -25
- package/src/lib/seam/connect/models/bridges/bridge-connected-system.ts +42 -9
- package/src/lib/seam/connect/models/bridges/bridge.ts +12 -3
- package/src/lib/seam/connect/models/client-sessions/client-session.ts +69 -13
- package/src/lib/seam/connect/models/connect-webviews/connect-webview.ts +10 -10
- package/src/lib/seam/connect/models/connected-accounts/connected-account.ts +12 -8
- package/src/lib/seam/connect/models/custom-metadata.ts +1 -1
- package/src/lib/seam/connect/models/devices/capability-properties/lock.ts +2 -1
- package/src/lib/seam/connect/models/devices/device-metadata.ts +588 -521
- package/src/lib/seam/connect/models/devices/device.ts +89 -47
- package/src/lib/seam/connect/models/devices/phone.ts +1 -1
- package/src/lib/seam/connect/models/events/access-codes.ts +1 -1
- package/src/lib/seam/connect/models/events/acs/credentials.ts +4 -4
- package/src/lib/seam/connect/models/events/acs/encoders.ts +2 -2
- package/src/lib/seam/connect/models/events/acs/entrances.ts +2 -2
- package/src/lib/seam/connect/models/events/common.ts +3 -1
- package/src/lib/seam/connect/models/events/connect-webviews.ts +6 -2
- package/src/lib/seam/connect/models/events/connected-accounts.ts +6 -2
- package/src/lib/seam/connect/models/events/devices.ts +3 -1
- package/src/lib/seam/connect/models/instant-keys/instant-key.ts +34 -7
- package/src/lib/seam/connect/models/partner/magic-link.ts +24 -11
- package/src/lib/seam/connect/models/partner/resources.ts +73 -20
- package/src/lib/seam/connect/models/phones/phone-registration.ts +7 -4
- package/src/lib/seam/connect/models/phones/phone-session.ts +21 -13
- package/src/lib/seam/connect/models/schedule.ts +19 -15
- package/src/lib/seam/connect/models/spaces/space.ts +5 -4
- package/src/lib/seam/connect/models/webhooks/webhook.ts +24 -5
- package/src/lib/seam/connect/models/workspaces/workspace.ts +53 -11
- package/src/lib/seam/connect/openapi.ts +4123 -1457
- package/src/lib/seam/connect/route-types.ts +11061 -6034
|
@@ -24,9 +24,18 @@ export const battery_status = z.enum(['critical', 'low', 'good', 'full'])
|
|
|
24
24
|
export type BatteryStatus = z.infer<typeof battery_status>
|
|
25
25
|
|
|
26
26
|
const common_device_error = z.object({
|
|
27
|
-
message: z
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
message: z
|
|
28
|
+
.string()
|
|
29
|
+
.describe(
|
|
30
|
+
'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
|
|
31
|
+
),
|
|
32
|
+
is_device_error: z
|
|
33
|
+
.literal(true)
|
|
34
|
+
.describe('Indicates that the error is a device error.'),
|
|
35
|
+
created_at: z
|
|
36
|
+
.string()
|
|
37
|
+
.datetime()
|
|
38
|
+
.describe('Date and time at which Seam created the error.'),
|
|
30
39
|
})
|
|
31
40
|
|
|
32
41
|
const error_code_description =
|
|
@@ -36,19 +45,19 @@ const device_offline = common_device_error
|
|
|
36
45
|
.extend({
|
|
37
46
|
error_code: z.literal('device_offline').describe(error_code_description),
|
|
38
47
|
})
|
|
39
|
-
.describe('
|
|
48
|
+
.describe('Indicates that the device is offline.')
|
|
40
49
|
|
|
41
50
|
const device_removed = common_device_error
|
|
42
51
|
.extend({
|
|
43
52
|
error_code: z.literal('device_removed').describe(error_code_description),
|
|
44
53
|
})
|
|
45
|
-
.describe('
|
|
54
|
+
.describe('Indicates that the device has been removed.')
|
|
46
55
|
|
|
47
56
|
const hub_disconnected = common_device_error
|
|
48
57
|
.extend({
|
|
49
58
|
error_code: z.literal('hub_disconnected').describe(error_code_description),
|
|
50
59
|
})
|
|
51
|
-
.describe('
|
|
60
|
+
.describe('Indicates that the hub is disconnected.')
|
|
52
61
|
|
|
53
62
|
const device_disconnected = common_device_error
|
|
54
63
|
.extend({
|
|
@@ -56,17 +65,23 @@ const device_disconnected = common_device_error
|
|
|
56
65
|
.literal('device_disconnected')
|
|
57
66
|
.describe(error_code_description),
|
|
58
67
|
})
|
|
59
|
-
.describe('
|
|
68
|
+
.describe('Indicates that the device is disconnected.')
|
|
60
69
|
|
|
61
70
|
const account_disconnected = common_device_error
|
|
62
71
|
.extend({
|
|
63
72
|
error_code: z
|
|
64
73
|
.literal('account_disconnected')
|
|
65
74
|
.describe(error_code_description),
|
|
66
|
-
is_connected_account_error: z
|
|
67
|
-
|
|
75
|
+
is_connected_account_error: z
|
|
76
|
+
.literal(true)
|
|
77
|
+
.describe(
|
|
78
|
+
'Indicates that the error is a [connected account](https://docs.seam.co/latest/api/connected_accounts) error.',
|
|
79
|
+
),
|
|
80
|
+
is_device_error: z
|
|
81
|
+
.literal(false)
|
|
82
|
+
.describe('Indicates that the error is not a device error.'),
|
|
68
83
|
})
|
|
69
|
-
.describe('
|
|
84
|
+
.describe('Indicates that the account is disconnected.')
|
|
70
85
|
|
|
71
86
|
const empty_backup_access_code_pool = common_device_error
|
|
72
87
|
.extend({
|
|
@@ -74,7 +89,9 @@ const empty_backup_access_code_pool = common_device_error
|
|
|
74
89
|
.literal('empty_backup_access_code_pool')
|
|
75
90
|
.describe(error_code_description),
|
|
76
91
|
})
|
|
77
|
-
.describe(
|
|
92
|
+
.describe(
|
|
93
|
+
'Indicates that the [backup access code pool](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes) is empty.',
|
|
94
|
+
)
|
|
78
95
|
|
|
79
96
|
const august_lock_not_authorized = common_device_error
|
|
80
97
|
.extend({
|
|
@@ -82,7 +99,7 @@ const august_lock_not_authorized = common_device_error
|
|
|
82
99
|
.literal('august_lock_not_authorized')
|
|
83
100
|
.describe(error_code_description),
|
|
84
101
|
})
|
|
85
|
-
.describe('
|
|
102
|
+
.describe('Indicates that the user is not authorized to use the August lock.')
|
|
86
103
|
|
|
87
104
|
const august_lock_missing_bridge = common_device_error
|
|
88
105
|
.extend({
|
|
@@ -90,17 +107,23 @@ const august_lock_missing_bridge = common_device_error
|
|
|
90
107
|
.literal('august_lock_missing_bridge')
|
|
91
108
|
.describe(error_code_description),
|
|
92
109
|
})
|
|
93
|
-
.describe('
|
|
110
|
+
.describe('Indicates that the lock is not connected to a bridge.')
|
|
94
111
|
|
|
95
112
|
const salto_ks_subscription_limit_exceeded = common_device_error
|
|
96
113
|
.extend({
|
|
97
114
|
error_code: z
|
|
98
115
|
.literal('salto_ks_subscription_limit_exceeded')
|
|
99
116
|
.describe(error_code_description),
|
|
100
|
-
is_connected_account_error: z
|
|
101
|
-
|
|
117
|
+
is_connected_account_error: z
|
|
118
|
+
.literal(true)
|
|
119
|
+
.describe(
|
|
120
|
+
'Indicates that the error is a [connected account](https://docs.seam.co/latest/api/connected_accounts) error.',
|
|
121
|
+
),
|
|
122
|
+
is_device_error: z
|
|
123
|
+
.literal(false)
|
|
124
|
+
.describe('Indicates that the error is not a device error.'),
|
|
102
125
|
})
|
|
103
|
-
.describe('Salto site user limit reached.')
|
|
126
|
+
.describe('Indicates that the Salto site user limit has been reached.')
|
|
104
127
|
|
|
105
128
|
const ttlock_lock_not_paired_to_gateway = common_device_error
|
|
106
129
|
.extend({
|
|
@@ -108,7 +131,7 @@ const ttlock_lock_not_paired_to_gateway = common_device_error
|
|
|
108
131
|
.literal('ttlock_lock_not_paired_to_gateway')
|
|
109
132
|
.describe(error_code_description),
|
|
110
133
|
})
|
|
111
|
-
.describe('
|
|
134
|
+
.describe('Indicates that the lock is not paired with a gateway.')
|
|
112
135
|
|
|
113
136
|
const missing_device_credentials = common_device_error
|
|
114
137
|
.extend({
|
|
@@ -116,7 +139,7 @@ const missing_device_credentials = common_device_error
|
|
|
116
139
|
.literal('missing_device_credentials')
|
|
117
140
|
.describe(error_code_description),
|
|
118
141
|
})
|
|
119
|
-
.describe('
|
|
142
|
+
.describe('Indicates that device credentials are missing.')
|
|
120
143
|
|
|
121
144
|
const auxiliary_heat_running = common_device_error
|
|
122
145
|
.extend({
|
|
@@ -124,7 +147,7 @@ const auxiliary_heat_running = common_device_error
|
|
|
124
147
|
.literal('auxiliary_heat_running')
|
|
125
148
|
.describe(error_code_description),
|
|
126
149
|
})
|
|
127
|
-
.describe('
|
|
150
|
+
.describe('Indicates that the auxiliary heat is running.')
|
|
128
151
|
|
|
129
152
|
const subscription_required = common_device_error
|
|
130
153
|
.extend({
|
|
@@ -132,7 +155,7 @@ const subscription_required = common_device_error
|
|
|
132
155
|
.literal('subscription_required')
|
|
133
156
|
.describe(error_code_description),
|
|
134
157
|
})
|
|
135
|
-
.describe('
|
|
158
|
+
.describe('Indicates that a subscription is required to connect.')
|
|
136
159
|
|
|
137
160
|
const lockly_missing_wifi_bridge = common_device_error
|
|
138
161
|
.extend({
|
|
@@ -140,7 +163,9 @@ const lockly_missing_wifi_bridge = common_device_error
|
|
|
140
163
|
.literal('lockly_missing_wifi_bridge')
|
|
141
164
|
.describe(error_code_description),
|
|
142
165
|
})
|
|
143
|
-
.describe(
|
|
166
|
+
.describe(
|
|
167
|
+
'Indicates that the Lockly lock is not connected to a Wi-Fi bridge.',
|
|
168
|
+
)
|
|
144
169
|
|
|
145
170
|
export const device_error = z
|
|
146
171
|
.discriminatedUnion('error_code', [
|
|
@@ -159,7 +184,7 @@ export const device_error = z
|
|
|
159
184
|
subscription_required,
|
|
160
185
|
lockly_missing_wifi_bridge,
|
|
161
186
|
])
|
|
162
|
-
.describe('Error associated with the
|
|
187
|
+
.describe('Error associated with the device.')
|
|
163
188
|
|
|
164
189
|
export type DeviceError = z.infer<typeof device_error>
|
|
165
190
|
|
|
@@ -192,8 +217,15 @@ const warning_code_description =
|
|
|
192
217
|
'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.'
|
|
193
218
|
|
|
194
219
|
const common_device_warning = z.object({
|
|
195
|
-
message: z
|
|
196
|
-
|
|
220
|
+
message: z
|
|
221
|
+
.string()
|
|
222
|
+
.describe(
|
|
223
|
+
'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.',
|
|
224
|
+
),
|
|
225
|
+
created_at: z
|
|
226
|
+
.string()
|
|
227
|
+
.datetime()
|
|
228
|
+
.describe('Date and time at which Seam created the warning.'),
|
|
197
229
|
})
|
|
198
230
|
|
|
199
231
|
const partial_backup_access_code_pool = common_device_warning
|
|
@@ -202,7 +234,7 @@ const partial_backup_access_code_pool = common_device_warning
|
|
|
202
234
|
.literal('partial_backup_access_code_pool')
|
|
203
235
|
.describe(warning_code_description),
|
|
204
236
|
})
|
|
205
|
-
.describe('
|
|
237
|
+
.describe('Indicates that the backup access code is unhealthy.')
|
|
206
238
|
|
|
207
239
|
const many_active_backup_codes = common_device_warning
|
|
208
240
|
.extend({
|
|
@@ -210,7 +242,7 @@ const many_active_backup_codes = common_device_warning
|
|
|
210
242
|
.literal('many_active_backup_codes')
|
|
211
243
|
.describe(warning_code_description),
|
|
212
244
|
})
|
|
213
|
-
.describe('
|
|
245
|
+
.describe('Indicates that there are too many backup codes.')
|
|
214
246
|
|
|
215
247
|
const salto_ks_office_mode = common_device_warning
|
|
216
248
|
.extend({
|
|
@@ -218,7 +250,9 @@ const salto_ks_office_mode = common_device_warning
|
|
|
218
250
|
.literal('salto_ks_office_mode')
|
|
219
251
|
.describe(warning_code_description),
|
|
220
252
|
})
|
|
221
|
-
.describe(
|
|
253
|
+
.describe(
|
|
254
|
+
'Indicates that the Salto KS lock is in Office Mode. Access Codes will not unlock doors.',
|
|
255
|
+
)
|
|
222
256
|
|
|
223
257
|
const salto_ks_privacy_mode = common_device_warning
|
|
224
258
|
.extend({
|
|
@@ -226,7 +260,9 @@ const salto_ks_privacy_mode = common_device_warning
|
|
|
226
260
|
.literal('salto_ks_privacy_mode')
|
|
227
261
|
.describe(warning_code_description),
|
|
228
262
|
})
|
|
229
|
-
.describe(
|
|
263
|
+
.describe(
|
|
264
|
+
'Indicates that the Salto KS lock is in Privacy Mode. Access Codes will not unlock doors.',
|
|
265
|
+
)
|
|
230
266
|
|
|
231
267
|
const salto_ks_subscription_limit_almost_reached = common_device_warning
|
|
232
268
|
.extend({
|
|
@@ -235,7 +271,7 @@ const salto_ks_subscription_limit_almost_reached = common_device_warning
|
|
|
235
271
|
.describe(warning_code_description),
|
|
236
272
|
})
|
|
237
273
|
.describe(
|
|
238
|
-
'Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users.
|
|
274
|
+
'Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Increase your subscription limit or delete some users from your site.',
|
|
239
275
|
)
|
|
240
276
|
|
|
241
277
|
const wyze_device_missing_gateway = common_device_warning
|
|
@@ -244,7 +280,7 @@ const wyze_device_missing_gateway = common_device_warning
|
|
|
244
280
|
.literal('wyze_device_missing_gateway')
|
|
245
281
|
.describe(warning_code_description),
|
|
246
282
|
})
|
|
247
|
-
.describe('Wyze Lock is not connected to a gateway.')
|
|
283
|
+
.describe('Indicates that the Wyze Lock is not connected to a gateway.')
|
|
248
284
|
|
|
249
285
|
const functional_offline_device = common_device_warning
|
|
250
286
|
.extend({
|
|
@@ -252,7 +288,9 @@ const functional_offline_device = common_device_warning
|
|
|
252
288
|
.literal('functional_offline_device')
|
|
253
289
|
.describe(warning_code_description),
|
|
254
290
|
})
|
|
255
|
-
.describe(
|
|
291
|
+
.describe(
|
|
292
|
+
'Indicates that the device is offline but has some functionality available.',
|
|
293
|
+
)
|
|
256
294
|
|
|
257
295
|
const third_party_integration_detected = common_device_warning
|
|
258
296
|
.extend({
|
|
@@ -260,7 +298,7 @@ const third_party_integration_detected = common_device_warning
|
|
|
260
298
|
.literal('third_party_integration_detected')
|
|
261
299
|
.describe(warning_code_description),
|
|
262
300
|
})
|
|
263
|
-
.describe('
|
|
301
|
+
.describe('Indicates that a third-party integration has been detected.')
|
|
264
302
|
|
|
265
303
|
const nest_thermostat_in_manual_eco_mode = common_device_warning
|
|
266
304
|
.extend({
|
|
@@ -268,7 +306,7 @@ const nest_thermostat_in_manual_eco_mode = common_device_warning
|
|
|
268
306
|
.literal('nest_thermostat_in_manual_eco_mode')
|
|
269
307
|
.describe(warning_code_description),
|
|
270
308
|
})
|
|
271
|
-
.describe('Nest thermostat in manual eco mode.')
|
|
309
|
+
.describe('Indicates that the Nest thermostat is in manual eco mode.')
|
|
272
310
|
|
|
273
311
|
const ttlock_lock_gateway_unlocking_not_enabled = common_device_warning
|
|
274
312
|
.extend({
|
|
@@ -276,7 +314,9 @@ const ttlock_lock_gateway_unlocking_not_enabled = common_device_warning
|
|
|
276
314
|
.literal('ttlock_lock_gateway_unlocking_not_enabled')
|
|
277
315
|
.describe(warning_code_description),
|
|
278
316
|
})
|
|
279
|
-
.describe(
|
|
317
|
+
.describe(
|
|
318
|
+
'Indicates that the Remote Unlock feature is not enabled in the settings.',
|
|
319
|
+
)
|
|
280
320
|
|
|
281
321
|
const ttlock_weak_gateway_signal = common_device_warning
|
|
282
322
|
.extend({
|
|
@@ -284,7 +324,7 @@ const ttlock_weak_gateway_signal = common_device_warning
|
|
|
284
324
|
.literal('ttlock_weak_gateway_signal')
|
|
285
325
|
.describe(warning_code_description),
|
|
286
326
|
})
|
|
287
|
-
.describe('
|
|
327
|
+
.describe('Indicates that the gateway signal is weak.')
|
|
288
328
|
|
|
289
329
|
const temperature_threshold_exceeded = common_device_warning
|
|
290
330
|
.extend({
|
|
@@ -292,7 +332,7 @@ const temperature_threshold_exceeded = common_device_warning
|
|
|
292
332
|
.literal('temperature_threshold_exceeded')
|
|
293
333
|
.describe(warning_code_description),
|
|
294
334
|
})
|
|
295
|
-
.describe('
|
|
335
|
+
.describe('Indicates that the temperature threshold has been exceeded.')
|
|
296
336
|
|
|
297
337
|
const device_communication_degraded = common_device_warning
|
|
298
338
|
.extend({
|
|
@@ -300,7 +340,7 @@ const device_communication_degraded = common_device_warning
|
|
|
300
340
|
.literal('device_communication_degraded')
|
|
301
341
|
.describe(warning_code_description),
|
|
302
342
|
})
|
|
303
|
-
.describe('
|
|
343
|
+
.describe('Indicates that the device appears to be unresponsive.')
|
|
304
344
|
|
|
305
345
|
const scheduled_maintenance_window = common_device_warning
|
|
306
346
|
.extend({
|
|
@@ -308,7 +348,7 @@ const scheduled_maintenance_window = common_device_warning
|
|
|
308
348
|
.literal('scheduled_maintenance_window')
|
|
309
349
|
.describe(warning_code_description),
|
|
310
350
|
})
|
|
311
|
-
.describe('
|
|
351
|
+
.describe('Indicates that a scheduled maintenance window has been detected.')
|
|
312
352
|
|
|
313
353
|
const device_has_flaky_connection = common_device_warning
|
|
314
354
|
.extend({
|
|
@@ -316,7 +356,7 @@ const device_has_flaky_connection = common_device_warning
|
|
|
316
356
|
.literal('device_has_flaky_connection')
|
|
317
357
|
.describe(warning_code_description),
|
|
318
358
|
})
|
|
319
|
-
.describe('
|
|
359
|
+
.describe('Indicates that the device has a flaky connection.')
|
|
320
360
|
|
|
321
361
|
const lockly_time_zone_not_configured = common_device_warning
|
|
322
362
|
.extend({
|
|
@@ -325,7 +365,7 @@ const lockly_time_zone_not_configured = common_device_warning
|
|
|
325
365
|
.describe(warning_code_description),
|
|
326
366
|
})
|
|
327
367
|
.describe(
|
|
328
|
-
'
|
|
368
|
+
'Indicates that Seam detected that the Lockly device does not have a time zone configured. Time-bound codes may not work as expected.',
|
|
329
369
|
)
|
|
330
370
|
|
|
331
371
|
export const unknown_issue_with_phone = common_device_warning
|
|
@@ -335,7 +375,7 @@ export const unknown_issue_with_phone = common_device_warning
|
|
|
335
375
|
.describe(warning_code_description),
|
|
336
376
|
})
|
|
337
377
|
.describe(
|
|
338
|
-
'
|
|
378
|
+
'Indicates that an unknown issue occurred while syncing the state of the phone with the provider. This issue may affect the proper functioning of the phone.',
|
|
339
379
|
)
|
|
340
380
|
|
|
341
381
|
const device_warning = z.discriminatedUnion('warning_code', [
|
|
@@ -610,18 +650,18 @@ export const device_and_connected_account_error_options = [
|
|
|
610
650
|
|
|
611
651
|
export const device = z
|
|
612
652
|
.object({
|
|
613
|
-
device_id: z.string().uuid().describe('
|
|
653
|
+
device_id: z.string().uuid().describe('ID of the device.'),
|
|
614
654
|
device_type: any_device_type.describe('Type of the device.'),
|
|
615
655
|
nickname: z
|
|
616
656
|
.string()
|
|
617
657
|
.optional()
|
|
618
658
|
.describe(
|
|
619
|
-
'Optional nickname to describe the device, settable through Seam',
|
|
659
|
+
'Optional nickname to describe the device, settable through Seam.',
|
|
620
660
|
),
|
|
621
661
|
display_name: z
|
|
622
662
|
.string()
|
|
623
663
|
.describe(
|
|
624
|
-
'Display name of the device, defaults to nickname (if it is set) or properties.appearance.name otherwise. Enables administrators and users to identify the device easily, especially when there are numerous devices.',
|
|
664
|
+
'Display name of the device, defaults to nickname (if it is set) or `properties.appearance.name`, otherwise. Enables administrators and users to identify the device easily, especially when there are numerous devices.',
|
|
625
665
|
),
|
|
626
666
|
capabilities_supported: z.array(capabilities).describe(`
|
|
627
667
|
Collection of capabilities that the device supports when connected to Seam. Values are \`access_code\`, which indicates that the device can manage and utilize digital PIN codes for secure access; \`lock\`, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; \`noise_detection\`, which indicates that the device supports monitoring and responding to ambient noise levels; \`thermostat\`, which indicates that the device can regulate and adjust indoor temperatures; \`battery\`, which indicates that the device can manage battery life and health; and \`phone\`, which indicates that the device is a mobile device, such as a smartphone. **Important:** Superseded by [capability flags](https://docs.seam.co/latest/capability-guides/device-and-system-capabilities#capability-flags).
|
|
@@ -692,12 +732,12 @@ export const device = z
|
|
|
692
732
|
]),
|
|
693
733
|
)
|
|
694
734
|
.describe(
|
|
695
|
-
'Array of errors associated with the device. Each error object within the array contains two fields:
|
|
735
|
+
'Array of errors associated with the device. Each error object within the array contains two fields: `error_code` and `message`. `error_code` is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. `message` provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.',
|
|
696
736
|
),
|
|
697
737
|
warnings: z
|
|
698
738
|
.array(device_warning)
|
|
699
739
|
.describe(
|
|
700
|
-
'Array of warnings associated with the device. Each warning object within the array contains two fields:
|
|
740
|
+
'Array of warnings associated with the device. Each warning object within the array contains two fields: `warning_code` and `message`. `warning_code` is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. `message` provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.',
|
|
701
741
|
),
|
|
702
742
|
created_at: z
|
|
703
743
|
.string()
|
|
@@ -705,7 +745,9 @@ export const device = z
|
|
|
705
745
|
.describe('Date and time at which the device object was created.'),
|
|
706
746
|
is_managed: z
|
|
707
747
|
.literal(true)
|
|
708
|
-
.describe(
|
|
748
|
+
.describe(
|
|
749
|
+
'Indicates whether Seam manages the device. See also [Managed and Unmanaged Devices](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices).',
|
|
750
|
+
),
|
|
709
751
|
custom_metadata,
|
|
710
752
|
})
|
|
711
753
|
.merge(device_capability_flags).describe(`
|
|
@@ -22,7 +22,7 @@ export const phone = z.object({
|
|
|
22
22
|
.describe(`Optional nickname to describe the phone, settable through Seam.
|
|
23
23
|
`),
|
|
24
24
|
display_name: basePhoneDeviceSchema.shape.display_name
|
|
25
|
-
.describe(`Display name of the phone. Defaults to \`nickname\` (if it is set) or \`properties.appearance.name
|
|
25
|
+
.describe(`Display name of the phone. Defaults to \`nickname\` (if it is set) or \`properties.appearance.name\`, otherwise. Enables administrators and users to identify the phone easily, especially when there are numerous phones.
|
|
26
26
|
`),
|
|
27
27
|
workspace_id: basePhoneDeviceSchema.shape.workspace_id
|
|
28
28
|
.describe(`ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the phone.
|
|
@@ -12,7 +12,7 @@ const access_code_event = common_event.extend({
|
|
|
12
12
|
.string()
|
|
13
13
|
.uuid()
|
|
14
14
|
.describe(
|
|
15
|
-
'ID of the connected account associated with the affected access
|
|
15
|
+
'ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts) associated with the affected access code.',
|
|
16
16
|
),
|
|
17
17
|
})
|
|
18
18
|
|
|
@@ -15,7 +15,7 @@ export const acs_credential_deleted_event = acs_credential_event.extend({
|
|
|
15
15
|
---
|
|
16
16
|
route_path: /acs/credentials
|
|
17
17
|
---
|
|
18
|
-
An [
|
|
18
|
+
An [access system credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was deleted.
|
|
19
19
|
`)
|
|
20
20
|
|
|
21
21
|
export type AcsCredentialDeletedEvent = z.infer<
|
|
@@ -28,7 +28,7 @@ export const acs_credential_issued = acs_credential_event.extend({
|
|
|
28
28
|
---
|
|
29
29
|
route_path: /acs/credentials
|
|
30
30
|
---
|
|
31
|
-
An [
|
|
31
|
+
An [access system credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was issued.
|
|
32
32
|
`)
|
|
33
33
|
|
|
34
34
|
export const acs_credential_reissued = acs_credential_event.extend({
|
|
@@ -37,7 +37,7 @@ export const acs_credential_reissued = acs_credential_event.extend({
|
|
|
37
37
|
---
|
|
38
38
|
route_path: /acs/credentials
|
|
39
39
|
---
|
|
40
|
-
An [
|
|
40
|
+
An [access system credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was reissued.
|
|
41
41
|
`)
|
|
42
42
|
|
|
43
43
|
export const acs_credential_invalidated = acs_credential_event.extend({
|
|
@@ -46,7 +46,7 @@ export const acs_credential_invalidated = acs_credential_event.extend({
|
|
|
46
46
|
---
|
|
47
47
|
route_path: /acs/credentials
|
|
48
48
|
---
|
|
49
|
-
An [
|
|
49
|
+
An [access system credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was invalidated. That is, the credential cannot be used anymore.
|
|
50
50
|
|
|
51
51
|
`)
|
|
52
52
|
|
|
@@ -12,7 +12,7 @@ export const acs_encoder_added_event = acs_encoder_event.extend({
|
|
|
12
12
|
---
|
|
13
13
|
route_path: /acs/encoders
|
|
14
14
|
---
|
|
15
|
-
An [
|
|
15
|
+
An [access system encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners) was added.
|
|
16
16
|
`)
|
|
17
17
|
|
|
18
18
|
export type AcsEncoderAddedEvent = z.infer<typeof acs_encoder_added_event>
|
|
@@ -23,7 +23,7 @@ export const acs_encoder_removed_event = acs_encoder_event.extend({
|
|
|
23
23
|
---
|
|
24
24
|
route_path: /acs/encoders
|
|
25
25
|
---
|
|
26
|
-
An [
|
|
26
|
+
An [access system encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners) was removed.
|
|
27
27
|
`)
|
|
28
28
|
|
|
29
29
|
export type AcsEncoderRemovedEvent = z.infer<typeof acs_encoder_removed_event>
|
|
@@ -14,7 +14,7 @@ export const acs_entrance_added_event = acs_entrance_event.extend({
|
|
|
14
14
|
---
|
|
15
15
|
route_path: /acs/entrances
|
|
16
16
|
---
|
|
17
|
-
An [
|
|
17
|
+
An [access system entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details) was added.
|
|
18
18
|
`)
|
|
19
19
|
|
|
20
20
|
export const acs_entrance_removed_event = acs_entrance_event.extend({
|
|
@@ -23,7 +23,7 @@ export const acs_entrance_removed_event = acs_entrance_event.extend({
|
|
|
23
23
|
---
|
|
24
24
|
route_path: /acs/entrances
|
|
25
25
|
---
|
|
26
|
-
An [
|
|
26
|
+
An [access system entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details) was removed.
|
|
27
27
|
`)
|
|
28
28
|
|
|
29
29
|
export type AcsUserDeletedEvent = z.infer<typeof acs_entrance_removed_event>
|
|
@@ -5,7 +5,9 @@ export const common_event = z.object({
|
|
|
5
5
|
workspace_id: z
|
|
6
6
|
.string()
|
|
7
7
|
.uuid()
|
|
8
|
-
.describe(
|
|
8
|
+
.describe(
|
|
9
|
+
'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) associated with the event.',
|
|
10
|
+
),
|
|
9
11
|
created_at: z
|
|
10
12
|
.string()
|
|
11
13
|
.datetime()
|
|
@@ -6,13 +6,17 @@ const connect_webview_event = common_event.extend({
|
|
|
6
6
|
connect_webview_id: z
|
|
7
7
|
.string()
|
|
8
8
|
.uuid()
|
|
9
|
-
.describe(
|
|
9
|
+
.describe(
|
|
10
|
+
'ID of the affected [Connect Webview](https://docs.seam.co/latest/ui-components/connect-webviews).',
|
|
11
|
+
),
|
|
10
12
|
})
|
|
11
13
|
|
|
12
14
|
const connected_account_id = z
|
|
13
15
|
.string()
|
|
14
16
|
.uuid()
|
|
15
|
-
.describe(
|
|
17
|
+
.describe(
|
|
18
|
+
'ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts) associated with the event.',
|
|
19
|
+
)
|
|
16
20
|
|
|
17
21
|
export const connect_webview_login_succeeded_event =
|
|
18
22
|
connect_webview_event.extend({
|
|
@@ -6,13 +6,17 @@ const connected_account_event = common_event.extend({
|
|
|
6
6
|
connected_account_id: z
|
|
7
7
|
.string()
|
|
8
8
|
.uuid()
|
|
9
|
-
.describe(
|
|
9
|
+
.describe(
|
|
10
|
+
'ID of the affected [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).',
|
|
11
|
+
),
|
|
10
12
|
})
|
|
11
13
|
|
|
12
14
|
const connect_webview_id = z
|
|
13
15
|
.string()
|
|
14
16
|
.uuid()
|
|
15
|
-
.describe(
|
|
17
|
+
.describe(
|
|
18
|
+
'ID of the [Connect Webview](https://docs.seam.co/latest/core-concepts/connect-webviews) associated with the event.',
|
|
19
|
+
)
|
|
16
20
|
|
|
17
21
|
export const connected_account_connected_event = connected_account_event.extend(
|
|
18
22
|
{
|
|
@@ -8,7 +8,9 @@ const device_event = common_event.extend({
|
|
|
8
8
|
connected_account_id: z
|
|
9
9
|
.string()
|
|
10
10
|
.uuid()
|
|
11
|
-
.describe(
|
|
11
|
+
.describe(
|
|
12
|
+
'ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts) associated with the event.',
|
|
13
|
+
),
|
|
12
14
|
})
|
|
13
15
|
|
|
14
16
|
const battery_level = z
|
|
@@ -1,18 +1,45 @@
|
|
|
1
1
|
import { z } from 'zod'
|
|
2
2
|
|
|
3
3
|
export const instant_key = z.object({
|
|
4
|
-
instant_key_id: z.string().uuid(),
|
|
5
|
-
workspace_id: z
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
instant_key_id: z.string().uuid().describe('ID of the Instant Key.'),
|
|
5
|
+
workspace_id: z
|
|
6
|
+
.string()
|
|
7
|
+
.uuid()
|
|
8
|
+
.describe(
|
|
9
|
+
'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the Instant Key.',
|
|
10
|
+
),
|
|
11
|
+
created_at: z
|
|
12
|
+
.string()
|
|
13
|
+
.datetime()
|
|
14
|
+
.describe('Date and time at which the Instant Key was created.'),
|
|
15
|
+
instant_key_url: z
|
|
16
|
+
.string()
|
|
17
|
+
.url()
|
|
18
|
+
.describe(
|
|
19
|
+
'Shareable URL for the Instant Key. Use the URL to deliver the Instant Key to your user through a link in a text message or email or by embedding it in your web app.',
|
|
20
|
+
),
|
|
21
|
+
client_session_id: z
|
|
22
|
+
.string()
|
|
23
|
+
.uuid()
|
|
24
|
+
.describe(
|
|
25
|
+
'ID of the [client session](https://docs.seam.co/latest/core-concepts/authentication/client-session-tokens) associated with the Instant Key.',
|
|
26
|
+
),
|
|
27
|
+
user_identity_id: z
|
|
28
|
+
.string()
|
|
29
|
+
.uuid()
|
|
30
|
+
.describe('ID of the user identity associated with the Instant Key.'),
|
|
31
|
+
expires_at: z
|
|
32
|
+
.string()
|
|
33
|
+
.datetime()
|
|
34
|
+
.describe('Date and time at which the Instant Key expires.'),
|
|
11
35
|
}).describe(`
|
|
12
36
|
---
|
|
13
37
|
route_path: /user_identities
|
|
14
38
|
undocumented: Unreleased.
|
|
15
39
|
---
|
|
40
|
+
Represents a Seam Instant Key. For issuing Bluetooth mobile keys, Instant Keys are the fastest way to share access. With a single API call, you can create a mobile key and send it through text or email or embed it in your own app.
|
|
41
|
+
|
|
42
|
+
There’s no app to install, nor account to create. Your user just taps a link and gets a lightweight, native-feeling experience using iOS App Clip or Instant Apps on Android. Further, Instant Keys work offline, so even in areas with poor cellular or Wi-Fi, like elevator banks or concrete-walled hallways, the Instant Keys still work.
|
|
16
43
|
`)
|
|
17
44
|
|
|
18
45
|
export type InstantKey = z.infer<typeof instant_key>
|
|
@@ -1,26 +1,39 @@
|
|
|
1
1
|
import { z } from 'zod'
|
|
2
2
|
|
|
3
|
-
export const building_block_type = z
|
|
4
|
-
'connect_accounts',
|
|
5
|
-
'
|
|
6
|
-
'organize_spaces',
|
|
7
|
-
'console',
|
|
8
|
-
])
|
|
3
|
+
export const building_block_type = z
|
|
4
|
+
.enum(['connect_accounts', 'manage_devices', 'organize_spaces', 'console'])
|
|
5
|
+
.describe('Type of partner building block.')
|
|
9
6
|
|
|
10
7
|
export type BuildingBlockType = z.infer<typeof building_block_type>
|
|
11
8
|
|
|
12
9
|
export const magic_link = z.object({
|
|
13
|
-
url: z.string().url(),
|
|
10
|
+
url: z.string().url().describe('URL for the magic link.'),
|
|
14
11
|
building_block_type,
|
|
15
|
-
customer_key: z.string(),
|
|
16
|
-
expires_at: z
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
customer_key: z.string().describe('Customer key for the magic link.'),
|
|
13
|
+
expires_at: z
|
|
14
|
+
.string()
|
|
15
|
+
.datetime()
|
|
16
|
+
.describe('Date and time at which the magic link expires.'),
|
|
17
|
+
workspace_id: z
|
|
18
|
+
.string()
|
|
19
|
+
.uuid()
|
|
20
|
+
.describe(
|
|
21
|
+
'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) associated with the magic link.',
|
|
22
|
+
),
|
|
23
|
+
created_at: z
|
|
24
|
+
.string()
|
|
25
|
+
.datetime()
|
|
26
|
+
.describe('Date and time at which the magic link was created.'),
|
|
19
27
|
}).describe(`
|
|
20
28
|
---
|
|
21
29
|
undocumented: Unreleased.
|
|
22
30
|
route_path: /unstable_partner/building_blocks
|
|
23
31
|
---
|
|
32
|
+
Represents a Customer Portal. Customer Portal is a hosted, customizable interface for managing device access. It enables you to embed secure, pre-authenticated access flows into your product—either by sharing a link with users or embedding a view in an iframe.
|
|
33
|
+
|
|
34
|
+
With Customer Portal, you no longer need to build out frontend experiences for physical access, thermostats, and sensors. Instead, you can ship enterprise-grade access control experiences in a fraction of the time, while maintaining your product's branding and user experience.
|
|
35
|
+
|
|
36
|
+
Seam hosts these flows, handling everything from account connection and device mapping to full-featured device control.
|
|
24
37
|
`)
|
|
25
38
|
|
|
26
39
|
export type MagicLink = z.infer<typeof magic_link>
|