seam 2.143.0 → 2.146.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +11 -7
  4. data/lib/seam/base_resource.rb +24 -3
  5. data/lib/seam/resources/access_code.rb +702 -43
  6. data/lib/seam/resources/access_grant.rb +192 -25
  7. data/lib/seam/resources/access_method.rb +108 -3
  8. data/lib/seam/resources/acs_access_group.rb +52 -0
  9. data/lib/seam/resources/acs_credential.rb +153 -6
  10. data/lib/seam/resources/acs_encoder.rb +2 -0
  11. data/lib/seam/resources/acs_entrance.rb +105 -0
  12. data/lib/seam/resources/acs_system.rb +278 -6
  13. data/lib/seam/resources/acs_user.rb +201 -0
  14. data/lib/seam/resources/action_attempt.rb +1460 -279
  15. data/lib/seam/resources/connect_webview.rb +15 -1
  16. data/lib/seam/resources/connected_account.rb +285 -41
  17. data/lib/seam/resources/device.rb +929 -14
  18. data/lib/seam/resources/device_provider.rb +74 -0
  19. data/lib/seam/resources/event.rb +5205 -316
  20. data/lib/seam/resources/phone.rb +3 -0
  21. data/lib/seam/resources/unmanaged_access_code.rb +697 -43
  22. data/lib/seam/resources/unmanaged_access_grant.rb +189 -25
  23. data/lib/seam/resources/unmanaged_access_method.rb +108 -3
  24. data/lib/seam/resources/unmanaged_device.rb +827 -14
  25. data/lib/seam/resources/unmanaged_user_identity.rb +73 -0
  26. data/lib/seam/resources/user_identity.rb +73 -0
  27. data/lib/seam/resources/workspace.rb +3 -0
  28. data/lib/seam/routes/access_codes.rb +1 -1
  29. data/lib/seam/routes/access_grants.rb +2 -2
  30. data/lib/seam/routes/access_methods.rb +1 -1
  31. data/lib/seam/routes/acs_credentials.rb +4 -4
  32. data/lib/seam/routes/acs_encoders.rb +3 -3
  33. data/lib/seam/routes/acs_entrances.rb +2 -2
  34. data/lib/seam/routes/action_attempts.rb +1 -1
  35. data/lib/seam/routes/connect_webviews.rb +3 -3
  36. data/lib/seam/routes/connected_accounts.rb +3 -3
  37. data/lib/seam/routes/customers.rb +1 -1
  38. data/lib/seam/routes/devices.rb +3 -3
  39. data/lib/seam/routes/devices_unmanaged.rb +2 -2
  40. data/lib/seam/routes/events.rb +2 -2
  41. data/lib/seam/routes/locks.rb +1 -1
  42. data/lib/seam/routes/noise_sensors.rb +1 -1
  43. data/lib/seam/routes/spaces.rb +3 -3
  44. data/lib/seam/routes/thermostats.rb +1 -1
  45. data/lib/seam/routes/user_identities.rb +23 -1
  46. data/lib/seam/version.rb +1 -1
  47. data/lib/seam/webhook.rb +5 -2
  48. metadata +1 -1
@@ -2,78 +2,446 @@
2
2
 
3
3
  module Seam
4
4
  module Resources
5
- # Locking a door is pending.
5
+ # Represents a Seam action attempt. Known action types load as subclasses; unknown action types remain ActionAttempt instances for forward compatibility.
6
6
  class ActionAttempt < BaseResource
7
7
  class Error < BaseResource
8
8
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
9
9
  # @return [String]
10
10
  attr_accessor :message
11
- # @return [String]
12
- attr_accessor :type
13
11
  end
14
12
 
15
13
  class Result < BaseResource
16
- class AcsCredentialOnEncoder < BaseResource
17
- class VisionlineMetadata < BaseResource
18
- # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is cancelled.
14
+ end
15
+
16
+ # Locking a door is pending.
17
+ class LockDoor < ActionAttempt
18
+ class Error < BaseResource
19
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
20
+ # @return [String]
21
+ attr_accessor :message
22
+ # Type of the error.
23
+ # @return [String]
24
+ attr_accessor :type
25
+ end
26
+
27
+ class Result < BaseResource
28
+ # Indicates whether the device confirmed that the lock action occurred.
29
+ # @return [Boolean, nil]
30
+ attr_accessor :was_confirmed_by_device
31
+ end
32
+
33
+ # Error associated with the action.
34
+ # @return [Error, nil]
35
+ resource_accessor :error, Error
36
+ # Result of the action.
37
+ # @return [Result, nil]
38
+ resource_accessor :result, Result
39
+ # ID of the action attempt.
40
+ # @return [String]
41
+ attr_accessor :action_attempt_id
42
+ # Action attempt to track the status of locking a door.
43
+ # @return [String]
44
+ # Known values:
45
+ # - `LOCK_DOOR`
46
+ attr_accessor :action_type
47
+ # @return [String]
48
+ # Known values:
49
+ # - `success`
50
+ # - `pending`
51
+ # - `error`
52
+ attr_accessor :status
53
+ end
54
+
55
+ # Unlocking a door is pending.
56
+ class UnlockDoor < ActionAttempt
57
+ class Error < BaseResource
58
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
59
+ # @return [String]
60
+ attr_accessor :message
61
+ # Type of the error.
62
+ # @return [String]
63
+ attr_accessor :type
64
+ end
65
+
66
+ class Result < BaseResource
67
+ # Indicates whether the device confirmed that the unlock action occurred.
68
+ # @return [Boolean, nil]
69
+ attr_accessor :was_confirmed_by_device
70
+ end
71
+
72
+ # Error associated with the action.
73
+ # @return [Error, nil]
74
+ resource_accessor :error, Error
75
+ # Result of the action.
76
+ # @return [Result, nil]
77
+ resource_accessor :result, Result
78
+ # ID of the action attempt.
79
+ # @return [String]
80
+ attr_accessor :action_attempt_id
81
+ # Action attempt to track the status of unlocking a door.
82
+ # @return [String]
83
+ # Known values:
84
+ # - `UNLOCK_DOOR`
85
+ attr_accessor :action_type
86
+ # @return [String]
87
+ # Known values:
88
+ # - `success`
89
+ # - `pending`
90
+ # - `error`
91
+ attr_accessor :status
92
+ end
93
+
94
+ # Reading credential data from the physical encoder is pending.
95
+ class ScanCredential < ActionAttempt
96
+ class Error < BaseResource
97
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
98
+ # @return [String]
99
+ attr_accessor :message
100
+ # Error type to indicate that the Seam Bridge is disconnected or cannot reach the access control system.
101
+ # @return [String]
102
+ # Known values:
103
+ # - `uncategorized_error`
104
+ # - `action_attempt_expired`
105
+ # - `no_credential_on_encoder`
106
+ # - `encoder_not_online`
107
+ # - `encoder_communication_timeout`
108
+ # - `bridge_disconnected`
109
+ attr_accessor :type
110
+ end
111
+
112
+ class Result < BaseResource
113
+ class AcsCredentialOnEncoder < BaseResource
114
+ class VisionlineMetadata < BaseResource
115
+ # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is cancelled.
116
+ # @return [Boolean, nil]
117
+ attr_accessor :cancelled
118
+ # Format of the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
119
+ # @return [String, nil]
120
+ # Known values:
121
+ # - `TLCode`
122
+ # - `rfid48`
123
+ attr_accessor :card_format
124
+ # Holder of the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
125
+ # @return [String, nil]
126
+ attr_accessor :card_holder
127
+ # Card ID for the Visionline card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
128
+ # @return [String, nil]
129
+ attr_accessor :card_id
130
+ # IDs of the common [entrances](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details) for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
131
+ # @return [Array<String>]
132
+ attr_accessor :common_acs_entrance_ids
133
+ # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is discarded.
134
+ # @return [Boolean, nil]
135
+ attr_accessor :discarded
136
+ # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is expired.
137
+ # @return [Boolean, nil]
138
+ attr_accessor :expired
139
+ # IDs of the guest [entrances](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details) for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
140
+ # @return [Array<String>]
141
+ attr_accessor :guest_acs_entrance_ids
142
+ # Number of issued cards associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
143
+ # @return [Float, nil]
144
+ attr_accessor :number_of_issued_cards
145
+ # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is overridden.
146
+ # @return [Boolean, nil]
147
+ attr_accessor :overridden
148
+ # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is overwritten.
149
+ # @return [Boolean, nil]
150
+ attr_accessor :overwritten
151
+ # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is pending auto-update.
152
+ # @return [Boolean, nil]
153
+ attr_accessor :pending_auto_update
154
+ end
155
+
156
+ # Visionline-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
157
+ # @return [VisionlineMetadata, nil]
158
+ resource_accessor :visionline_metadata, VisionlineMetadata
159
+ # A number or string that physically identifies the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
160
+ # @return [String, nil]
161
+ attr_accessor :card_number
162
+ # Indicates whether the credential has been issued (encoded onto a card).
19
163
  # @return [Boolean, nil]
20
- attr_accessor :cancelled
21
- # Format of the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
164
+ attr_accessor :is_issued
165
+ # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was created.
166
+ # @return [Time, nil]
167
+ date_accessor :created_at
168
+ # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) will stop being usable.
169
+ # @return [Time, nil]
170
+ date_accessor :ends_at
171
+ # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) becomes usable.
172
+ # @return [Time, nil]
173
+ date_accessor :starts_at
174
+ end
175
+
176
+ class AcsCredentialOnSeam < BaseResource
177
+ class AkilesMetadata < BaseResource
178
+ # ID of the Akiles member PIN.
179
+ # @return [String, nil]
180
+ attr_accessor :member_pin_id
181
+ end
182
+
183
+ class AssaAbloyVostioMetadata < BaseResource
184
+ # Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors.
185
+ # @return [Boolean, nil]
186
+ attr_accessor :auto_join
187
+ # Names of the doors to which to grant access in the Vostio access system.
188
+ # @return [Array<String>]
189
+ attr_accessor :door_names
190
+ # Endpoint ID in the Vostio access system.
191
+ # @return [String, nil]
192
+ attr_accessor :endpoint_id
193
+ # Key ID in the Vostio access system.
194
+ # @return [String, nil]
195
+ attr_accessor :key_id
196
+ # Key issuing request ID in the Vostio access system.
197
+ # @return [String, nil]
198
+ attr_accessor :key_issuing_request_id
199
+ # IDs of the guest entrances to override in the Vostio access system.
200
+ # @return [Array<String>]
201
+ attr_accessor :override_guest_acs_entrance_ids
202
+ end
203
+
204
+ class Errors < BaseResource
205
+ # @return [String]
206
+ attr_accessor :error_code
207
+ # @return [String]
208
+ attr_accessor :message
209
+ # Date and time at which Seam created the error.
210
+ # @return [Time]
211
+ date_accessor :created_at
212
+ end
213
+
214
+ class VisionlineMetadata < BaseResource
215
+ # Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors.
216
+ # @return [Boolean, nil]
217
+ attr_accessor :auto_join
218
+ # Card function type in the Visionline access system.
219
+ # @return [String, nil]
220
+ # Known values:
221
+ # - `guest`
222
+ # - `staff`
223
+ attr_accessor :card_function_type
224
+ # ID of the card in the Visionline access system.
225
+ # @return [String, nil]
226
+ attr_accessor :card_id
227
+ # Common entrance IDs in the Visionline access system.
228
+ # @return [Array<String>]
229
+ attr_accessor :common_acs_entrance_ids
230
+ # ID of the credential in the Visionline access system.
231
+ # @return [String, nil]
232
+ attr_accessor :credential_id
233
+ # Guest entrance IDs in the Visionline access system.
234
+ # @return [Array<String>]
235
+ attr_accessor :guest_acs_entrance_ids
236
+ # Indicates whether the credential is valid.
237
+ # @return [Boolean, nil]
238
+ attr_accessor :is_valid
239
+ # IDs of the credentials to which you want to join.
240
+ # @return [Array<String>]
241
+ attr_accessor :joiner_acs_credential_ids
242
+ end
243
+
244
+ class Warnings < BaseResource
245
+ # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
246
+ # @return [String]
247
+ attr_accessor :message
248
+ # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
249
+ # @return [String]
250
+ # Known values:
251
+ # - `waiting_to_be_issued`
252
+ # - `schedule_externally_modified`
253
+ # - `schedule_modified`
254
+ # - `being_deleted`
255
+ # - `unknown_issue_with_acs_credential`
256
+ # - `needs_to_be_reissued`
257
+ # - `requested_code_unavailable`
258
+ attr_accessor :warning_code
259
+ # The PIN code that was assigned instead.
260
+ # @return [String, nil]
261
+ attr_accessor :new_code
262
+ # The originally requested PIN code that could not be used.
263
+ # @return [String, nil]
264
+ attr_accessor :original_code
265
+ # Date and time at which Seam created the warning.
266
+ # @return [Time]
267
+ date_accessor :created_at
268
+ end
269
+
270
+ # Akiles-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
271
+ # @return [AkilesMetadata, nil]
272
+ resource_accessor :akiles_metadata, AkilesMetadata
273
+ # Vostio-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
274
+ # @return [AssaAbloyVostioMetadata, nil]
275
+ resource_accessor :assa_abloy_vostio_metadata, AssaAbloyVostioMetadata
276
+ # Visionline-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
277
+ # @return [VisionlineMetadata, nil]
278
+ resource_accessor :visionline_metadata, VisionlineMetadata
279
+ # Errors associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
280
+ # @return [Array<Errors>]
281
+ resource_list_accessor :errors, Errors
282
+ # Warnings associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
283
+ # @return [Array<Warnings>]
284
+ resource_list_accessor :warnings, Warnings
285
+ # Access method for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
286
+ # @return [String]
287
+ # Known values:
288
+ # - `code`
289
+ # - `card`
290
+ # - `mobile_key`
291
+ # - `cloud_key`
292
+ attr_accessor :access_method
293
+ # ID of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
294
+ # @return [String]
295
+ attr_accessor :acs_credential_id
296
+ # ID of the credential pool to which the credential belongs.
297
+ # @return [String, nil]
298
+ attr_accessor :acs_credential_pool_id
299
+ # ID of the [access control system](https://docs.seam.co/low-level-apis/access-systems) that contains the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
300
+ # @return [String]
301
+ attr_accessor :acs_system_id
302
+ # ID of the [ACS user](https://docs.seam.co/low-level-apis/access-systems/user-management) to whom the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) belongs.
22
303
  # @return [String, nil]
23
- attr_accessor :card_format
24
- # Holder of the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
304
+ attr_accessor :acs_user_id
305
+ # Number of the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
25
306
  # @return [String, nil]
26
- attr_accessor :card_holder
27
- # Card ID for the Visionline card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
307
+ attr_accessor :card_number
308
+ # Access (PIN) code for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
28
309
  # @return [String, nil]
29
- attr_accessor :card_id
30
- # IDs of the common [entrances](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details) for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
31
- # @return [Array<String>]
32
- attr_accessor :common_acs_entrance_ids
33
- # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is discarded.
34
- # @return [Boolean, nil]
35
- attr_accessor :discarded
36
- # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is expired.
310
+ attr_accessor :code
311
+ # ID of the [connected account](https://docs.seam.co/core-concepts/connected-accounts) to which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) belongs.
312
+ # @return [String]
313
+ attr_accessor :connected_account_id
314
+ # Display name that corresponds to the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) type.
315
+ # @return [String]
316
+ attr_accessor :display_name
317
+ # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) validity 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 `starts_at`.
318
+ # @return [String, nil]
319
+ attr_accessor :ends_at
320
+ # Brand-specific terminology for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`.
321
+ # @return [String, nil]
322
+ # Known values:
323
+ # - `pti_card`
324
+ # - `brivo_credential`
325
+ # - `hid_credential`
326
+ # - `visionline_card`
327
+ # - `salto_ks_credential`
328
+ # - `assa_abloy_vostio_key`
329
+ # - `salto_space_key`
330
+ # - `latch_access`
331
+ # - `dormakaba_ambiance_credential`
332
+ # - `hotek_card`
333
+ # - `salto_ks_tag`
334
+ # - `avigilon_alta_credential`
335
+ # - `kisi_credential`
336
+ # - `akiles_credential`
337
+ attr_accessor :external_type
338
+ # Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) type.
339
+ # @return [String, nil]
340
+ attr_accessor :external_type_display_name
341
+ # Indicates whether the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) has been encoded onto a card.
37
342
  # @return [Boolean, nil]
38
- attr_accessor :expired
39
- # IDs of the guest [entrances](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details) for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
40
- # @return [Array<String>]
41
- attr_accessor :guest_acs_entrance_ids
42
- # Number of issued cards associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
43
- # @return [Float, nil]
44
- attr_accessor :number_of_issued_cards
45
- # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is overridden.
343
+ attr_accessor :is_issued
344
+ # Indicates whether the latest state of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) has been synced from Seam to the provider.
46
345
  # @return [Boolean, nil]
47
- attr_accessor :overridden
48
- # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is overwritten.
346
+ attr_accessor :is_latest_desired_state_synced_with_provider
347
+ # @return [Boolean]
348
+ attr_accessor :is_managed
349
+ # Indicates whether the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials).
49
350
  # @return [Boolean, nil]
50
- attr_accessor :overwritten
51
- # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is pending auto-update.
351
+ attr_accessor :is_multi_phone_sync_credential
352
+ # Indicates whether the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use.
52
353
  # @return [Boolean, nil]
53
- attr_accessor :pending_auto_update
354
+ attr_accessor :is_one_time_use
355
+ # ID of the parent [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
356
+ # @return [String, nil]
357
+ attr_accessor :parent_acs_credential_id
358
+ # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
359
+ # @return [String, nil]
360
+ attr_accessor :starts_at
361
+ # ID of the [user identity](https://docs.seam.co/api/user_identities) to whom the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) belongs.
362
+ # @return [String, nil]
363
+ attr_accessor :user_identity_id
364
+ # ID of the workspace that contains the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
365
+ # @return [String]
366
+ attr_accessor :workspace_id
367
+ # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was created.
368
+ # @return [Time]
369
+ date_accessor :created_at
370
+ # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was encoded onto a card.
371
+ # @return [Time, nil]
372
+ date_accessor :issued_at
373
+ # Date and time at which the state of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was most recently synced from Seam to the provider.
374
+ # @return [Time, nil]
375
+ date_accessor :latest_desired_state_synced_with_provider_at
54
376
  end
55
377
 
56
- # Visionline-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
57
- # @return [VisionlineMetadata, nil]
58
- resource_accessor :visionline_metadata, VisionlineMetadata
59
- # A number or string that physically identifies the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
60
- # @return [String, nil]
61
- attr_accessor :card_number
62
- # Indicates whether the credential has been issued (encoded onto a card).
63
- # @return [Boolean, nil]
64
- attr_accessor :is_issued
65
- # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was created.
66
- # @return [Time, nil]
67
- date_accessor :created_at
68
- # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) will stop being usable.
69
- # @return [Time, nil]
70
- date_accessor :ends_at
71
- # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) becomes usable.
72
- # @return [Time, nil]
73
- date_accessor :starts_at
378
+ class Warnings < BaseResource
379
+ # Indicates a warning related to scanning a credential.
380
+ # @return [String]
381
+ # Known values:
382
+ # - `acs_credential_on_encoder_out_of_sync`
383
+ # - `acs_credential_on_seam_not_found`
384
+ attr_accessor :warning_code
385
+ # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
386
+ # @return [String]
387
+ attr_accessor :warning_message
388
+ end
389
+
390
+ # Snapshot of credential data read from the physical encoder.
391
+ # @return [AcsCredentialOnEncoder, nil]
392
+ resource_accessor :acs_credential_on_encoder, AcsCredentialOnEncoder
393
+ # Corresponding credential data as stored on Seam and the access system.
394
+ # @return [AcsCredentialOnSeam, nil]
395
+ resource_accessor :acs_credential_on_seam, AcsCredentialOnSeam
396
+ # Warnings related to scanning the credential, such as mismatches between the credential data currently encoded on the card and the corresponding data stored on Seam and the access system.
397
+ # @return [Array<Warnings>]
398
+ resource_list_accessor :warnings, Warnings
399
+ end
400
+
401
+ # @return [Error, nil]
402
+ resource_accessor :error, Error
403
+ # Result of scanning a card. If the attempt was successful, includes a snapshot of credential data read from the physical encoder, the corresponding data stored on Seam and the access system, and any associated warnings.
404
+ # @return [Result, nil]
405
+ resource_accessor :result, Result
406
+ # ID of the action attempt.
407
+ # @return [String]
408
+ attr_accessor :action_attempt_id
409
+ # Action attempt to track the status of scanning a credential.
410
+ # @return [String]
411
+ # Known values:
412
+ # - `SCAN_CREDENTIAL`
413
+ attr_accessor :action_type
414
+ # @return [String]
415
+ # Known values:
416
+ # - `success`
417
+ # - `pending`
418
+ # - `error`
419
+ attr_accessor :status
420
+ end
421
+
422
+ # Encoding credential data from the physical encoder onto a card is pending.
423
+ class EncodeCredential < ActionAttempt
424
+ class Error < BaseResource
425
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
426
+ # @return [String]
427
+ attr_accessor :message
428
+ # Error type to indicate that the credential was deleted and can no longer be encoded.
429
+ # @return [String]
430
+ # Known values:
431
+ # - `uncategorized_error`
432
+ # - `action_attempt_expired`
433
+ # - `no_credential_on_encoder`
434
+ # - `incompatible_card_format`
435
+ # - `credential_cannot_be_reissued`
436
+ # - `encoder_not_online`
437
+ # - `encoder_communication_timeout`
438
+ # - `bridge_disconnected`
439
+ # - `encoding_interrupted`
440
+ # - `credential_deleted`
441
+ attr_accessor :type
74
442
  end
75
443
 
76
- class AcsCredentialOnSeam < BaseResource
444
+ class Result < BaseResource
77
445
  class AkilesMetadata < BaseResource
78
446
  # ID of the Akiles member PIN.
79
447
  # @return [String, nil]
@@ -117,6 +485,9 @@ module Seam
117
485
  attr_accessor :auto_join
118
486
  # Card function type in the Visionline access system.
119
487
  # @return [String, nil]
488
+ # Known values:
489
+ # - `guest`
490
+ # - `staff`
120
491
  attr_accessor :card_function_type
121
492
  # ID of the card in the Visionline access system.
122
493
  # @return [String, nil]
@@ -144,6 +515,14 @@ module Seam
144
515
  attr_accessor :message
145
516
  # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
146
517
  # @return [String]
518
+ # Known values:
519
+ # - `waiting_to_be_issued`
520
+ # - `schedule_externally_modified`
521
+ # - `schedule_modified`
522
+ # - `being_deleted`
523
+ # - `unknown_issue_with_acs_credential`
524
+ # - `needs_to_be_reissued`
525
+ # - `requested_code_unavailable`
147
526
  attr_accessor :warning_code
148
527
  # The PIN code that was assigned instead.
149
528
  # @return [String, nil]
@@ -173,6 +552,11 @@ module Seam
173
552
  resource_list_accessor :warnings, Warnings
174
553
  # Access method for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
175
554
  # @return [String]
555
+ # Known values:
556
+ # - `code`
557
+ # - `card`
558
+ # - `mobile_key`
559
+ # - `cloud_key`
176
560
  attr_accessor :access_method
177
561
  # ID of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
178
562
  # @return [String]
@@ -203,6 +587,21 @@ module Seam
203
587
  attr_accessor :ends_at
204
588
  # Brand-specific terminology for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`.
205
589
  # @return [String, nil]
590
+ # Known values:
591
+ # - `pti_card`
592
+ # - `brivo_credential`
593
+ # - `hid_credential`
594
+ # - `visionline_card`
595
+ # - `salto_ks_credential`
596
+ # - `assa_abloy_vostio_key`
597
+ # - `salto_space_key`
598
+ # - `latch_access`
599
+ # - `dormakaba_ambiance_credential`
600
+ # - `hotek_card`
601
+ # - `salto_ks_tag`
602
+ # - `avigilon_alta_credential`
603
+ # - `kisi_credential`
604
+ # - `akiles_credential`
206
605
  attr_accessor :external_type
207
606
  # Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) type.
208
607
  # @return [String, nil]
@@ -244,266 +643,1048 @@ module Seam
244
643
  date_accessor :latest_desired_state_synced_with_provider_at
245
644
  end
246
645
 
247
- class AkilesMetadata < BaseResource
248
- # ID of the Akiles member PIN.
249
- # @return [String, nil]
250
- attr_accessor :member_pin_id
251
- end
252
-
253
- class AssaAbloyVostioMetadata < BaseResource
254
- # Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors.
255
- # @return [Boolean, nil]
256
- attr_accessor :auto_join
257
- # Names of the doors to which to grant access in the Vostio access system.
258
- # @return [Array<String>]
259
- attr_accessor :door_names
260
- # Endpoint ID in the Vostio access system.
261
- # @return [String, nil]
262
- attr_accessor :endpoint_id
263
- # Key ID in the Vostio access system.
264
- # @return [String, nil]
265
- attr_accessor :key_id
266
- # Key issuing request ID in the Vostio access system.
267
- # @return [String, nil]
268
- attr_accessor :key_issuing_request_id
269
- # IDs of the guest entrances to override in the Vostio access system.
270
- # @return [Array<String>]
271
- attr_accessor :override_guest_acs_entrance_ids
272
- end
646
+ # @return [Error, nil]
647
+ resource_accessor :error, Error
648
+ # Result of an encoding attempt. If the attempt was successful, includes the credential data that was encoded onto the card.
649
+ # @return [Result, nil]
650
+ resource_accessor :result, Result
651
+ # ID of the action attempt.
652
+ # @return [String]
653
+ attr_accessor :action_attempt_id
654
+ # Action attempt to track the status of encoding credential data from the physical encoder onto a card.
655
+ # @return [String]
656
+ # Known values:
657
+ # - `ENCODE_CREDENTIAL`
658
+ attr_accessor :action_type
659
+ # @return [String]
660
+ # Known values:
661
+ # - `success`
662
+ # - `pending`
663
+ # - `error`
664
+ attr_accessor :status
665
+ end
273
666
 
274
- class Errors < BaseResource
275
- # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
276
- # @return [String]
277
- attr_accessor :error_code
667
+ # Scanning a physical card and assigning the credential is pending.
668
+ class ScanToAssignCredential < ActionAttempt
669
+ class Error < BaseResource
278
670
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
279
671
  # @return [String]
280
672
  attr_accessor :message
281
- # Date and time at which Seam created the error.
282
- # @return [Time]
283
- date_accessor :created_at
673
+ # Error type to indicate that there is no credential on the encoder.
674
+ # @return [String]
675
+ # Known values:
676
+ # - `uncategorized_error`
677
+ # - `action_attempt_expired`
678
+ # - `no_credential_on_encoder`
679
+ attr_accessor :type
284
680
  end
285
681
 
286
- class PendingMutations < BaseResource
287
- class From < BaseResource
288
- # Previous end time for access.
289
- # @return [Time, nil]
290
- date_accessor :ends_at
291
- # Previous start time for access.
292
- # @return [Time, nil]
293
- date_accessor :starts_at
682
+ class Result < BaseResource
683
+ class AkilesMetadata < BaseResource
684
+ # ID of the Akiles member PIN.
685
+ # @return [String, nil]
686
+ attr_accessor :member_pin_id
294
687
  end
295
688
 
296
- class To < BaseResource
297
- # New end time for access.
298
- # @return [Time, nil]
299
- date_accessor :ends_at
300
- # New start time for access.
301
- # @return [Time, nil]
302
- date_accessor :starts_at
689
+ class AssaAbloyVostioMetadata < BaseResource
690
+ # Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors.
691
+ # @return [Boolean, nil]
692
+ attr_accessor :auto_join
693
+ # Names of the doors to which to grant access in the Vostio access system.
694
+ # @return [Array<String>]
695
+ attr_accessor :door_names
696
+ # Endpoint ID in the Vostio access system.
697
+ # @return [String, nil]
698
+ attr_accessor :endpoint_id
699
+ # Key ID in the Vostio access system.
700
+ # @return [String, nil]
701
+ attr_accessor :key_id
702
+ # Key issuing request ID in the Vostio access system.
703
+ # @return [String, nil]
704
+ attr_accessor :key_issuing_request_id
705
+ # IDs of the guest entrances to override in the Vostio access system.
706
+ # @return [Array<String>]
707
+ attr_accessor :override_guest_acs_entrance_ids
708
+ end
709
+
710
+ class Errors < BaseResource
711
+ # @return [String]
712
+ attr_accessor :error_code
713
+ # @return [String]
714
+ attr_accessor :message
715
+ # Date and time at which Seam created the error.
716
+ # @return [Time]
717
+ date_accessor :created_at
718
+ end
719
+
720
+ class VisionlineMetadata < BaseResource
721
+ # Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors.
722
+ # @return [Boolean, nil]
723
+ attr_accessor :auto_join
724
+ # Card function type in the Visionline access system.
725
+ # @return [String, nil]
726
+ # Known values:
727
+ # - `guest`
728
+ # - `staff`
729
+ attr_accessor :card_function_type
730
+ # ID of the card in the Visionline access system.
731
+ # @return [String, nil]
732
+ attr_accessor :card_id
733
+ # Common entrance IDs in the Visionline access system.
734
+ # @return [Array<String>]
735
+ attr_accessor :common_acs_entrance_ids
736
+ # ID of the credential in the Visionline access system.
737
+ # @return [String, nil]
738
+ attr_accessor :credential_id
739
+ # Guest entrance IDs in the Visionline access system.
740
+ # @return [Array<String>]
741
+ attr_accessor :guest_acs_entrance_ids
742
+ # Indicates whether the credential is valid.
743
+ # @return [Boolean, nil]
744
+ attr_accessor :is_valid
745
+ # IDs of the credentials to which you want to join.
746
+ # @return [Array<String>]
747
+ attr_accessor :joiner_acs_credential_ids
303
748
  end
304
749
 
305
- # Previous access time configuration.
306
- # @return [From]
307
- resource_accessor :from, From
308
- # New access time configuration.
309
- # @return [To]
310
- resource_accessor :to, To
311
- # Detailed description of the mutation.
750
+ class Warnings < BaseResource
751
+ # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
752
+ # @return [String]
753
+ attr_accessor :message
754
+ # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
755
+ # @return [String]
756
+ # Known values:
757
+ # - `waiting_to_be_issued`
758
+ # - `schedule_externally_modified`
759
+ # - `schedule_modified`
760
+ # - `being_deleted`
761
+ # - `unknown_issue_with_acs_credential`
762
+ # - `needs_to_be_reissued`
763
+ # - `requested_code_unavailable`
764
+ attr_accessor :warning_code
765
+ # The PIN code that was assigned instead.
766
+ # @return [String, nil]
767
+ attr_accessor :new_code
768
+ # The originally requested PIN code that could not be used.
769
+ # @return [String, nil]
770
+ attr_accessor :original_code
771
+ # Date and time at which Seam created the warning.
772
+ # @return [Time]
773
+ date_accessor :created_at
774
+ end
775
+
776
+ # Akiles-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
777
+ # @return [AkilesMetadata, nil]
778
+ resource_accessor :akiles_metadata, AkilesMetadata
779
+ # Vostio-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
780
+ # @return [AssaAbloyVostioMetadata, nil]
781
+ resource_accessor :assa_abloy_vostio_metadata, AssaAbloyVostioMetadata
782
+ # Visionline-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
783
+ # @return [VisionlineMetadata, nil]
784
+ resource_accessor :visionline_metadata, VisionlineMetadata
785
+ # Errors associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
786
+ # @return [Array<Errors>]
787
+ resource_list_accessor :errors, Errors
788
+ # Warnings associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
789
+ # @return [Array<Warnings>]
790
+ resource_list_accessor :warnings, Warnings
791
+ # Access method for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
312
792
  # @return [String]
313
- attr_accessor :message
314
- # Mutation code to indicate that Seam is in the process of updating the access times for this access method.
793
+ # Known values:
794
+ # - `code`
795
+ # - `card`
796
+ # - `mobile_key`
797
+ # - `cloud_key`
798
+ attr_accessor :access_method
799
+ # ID of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
315
800
  # @return [String]
316
- attr_accessor :mutation_code
317
- # Date and time at which the mutation was created.
318
- # @return [Time]
319
- date_accessor :created_at
320
- end
321
-
322
- class VisionlineMetadata < BaseResource
323
- # Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors.
324
- # @return [Boolean, nil]
325
- attr_accessor :auto_join
326
- # Card function type in the Visionline access system.
327
- # @return [String, nil]
328
- attr_accessor :card_function_type
329
- # ID of the card in the Visionline access system.
330
- # @return [String, nil]
331
- attr_accessor :card_id
332
- # Common entrance IDs in the Visionline access system.
333
- # @return [Array<String>]
334
- attr_accessor :common_acs_entrance_ids
335
- # ID of the credential in the Visionline access system.
801
+ attr_accessor :acs_credential_id
802
+ # ID of the credential pool to which the credential belongs.
336
803
  # @return [String, nil]
337
- attr_accessor :credential_id
338
- # Guest entrance IDs in the Visionline access system.
339
- # @return [Array<String>]
340
- attr_accessor :guest_acs_entrance_ids
341
- # Indicates whether the credential is valid.
342
- # @return [Boolean, nil]
343
- attr_accessor :is_valid
344
- # IDs of the credentials to which you want to join.
345
- # @return [Array<String>]
346
- attr_accessor :joiner_acs_credential_ids
347
- end
348
-
349
- class Warnings < BaseResource
350
- # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
804
+ attr_accessor :acs_credential_pool_id
805
+ # ID of the [access control system](https://docs.seam.co/low-level-apis/access-systems) that contains the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
351
806
  # @return [String]
352
- attr_accessor :message
353
- # The PIN code that was assigned instead.
807
+ attr_accessor :acs_system_id
808
+ # ID of the [ACS user](https://docs.seam.co/low-level-apis/access-systems/user-management) to whom the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) belongs.
354
809
  # @return [String, nil]
355
- attr_accessor :new_code
356
- # ID of the original access method from which this backup access method was split, if applicable.
810
+ attr_accessor :acs_user_id
811
+ # Number of the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
357
812
  # @return [String, nil]
358
- attr_accessor :original_access_method_id
359
- # The originally requested PIN code that could not be used.
813
+ attr_accessor :card_number
814
+ # Access (PIN) code for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
360
815
  # @return [String, nil]
361
- attr_accessor :original_code
816
+ attr_accessor :code
817
+ # ID of the [connected account](https://docs.seam.co/core-concepts/connected-accounts) to which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) belongs.
362
818
  # @return [String]
363
- attr_accessor :warning_code
364
- # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
819
+ attr_accessor :connected_account_id
820
+ # Display name that corresponds to the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) type.
365
821
  # @return [String]
366
- attr_accessor :warning_message
367
- # Date and time at which Seam created the warning.
368
- # @return [Time]
369
- date_accessor :created_at
822
+ attr_accessor :display_name
823
+ # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) validity 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 `starts_at`.
824
+ # @return [String, nil]
825
+ attr_accessor :ends_at
826
+ # Brand-specific terminology for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`.
827
+ # @return [String, nil]
828
+ # Known values:
829
+ # - `pti_card`
830
+ # - `brivo_credential`
831
+ # - `hid_credential`
832
+ # - `visionline_card`
833
+ # - `salto_ks_credential`
834
+ # - `assa_abloy_vostio_key`
835
+ # - `salto_space_key`
836
+ # - `latch_access`
837
+ # - `dormakaba_ambiance_credential`
838
+ # - `hotek_card`
839
+ # - `salto_ks_tag`
840
+ # - `avigilon_alta_credential`
841
+ # - `kisi_credential`
842
+ # - `akiles_credential`
843
+ attr_accessor :external_type
844
+ # Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) type.
845
+ # @return [String, nil]
846
+ attr_accessor :external_type_display_name
847
+ # Indicates whether the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) has been encoded onto a card.
848
+ # @return [Boolean, nil]
849
+ attr_accessor :is_issued
850
+ # Indicates whether the latest state of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) has been synced from Seam to the provider.
851
+ # @return [Boolean, nil]
852
+ attr_accessor :is_latest_desired_state_synced_with_provider
853
+ # Indicates whether Seam manages the credential.
854
+ # @return [TrueClass]
855
+ attr_accessor :is_managed
856
+ # Indicates whether the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials).
857
+ # @return [Boolean, nil]
858
+ attr_accessor :is_multi_phone_sync_credential
859
+ # Indicates whether the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use.
860
+ # @return [Boolean, nil]
861
+ attr_accessor :is_one_time_use
862
+ # ID of the parent [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
863
+ # @return [String, nil]
864
+ attr_accessor :parent_acs_credential_id
865
+ # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
866
+ # @return [String, nil]
867
+ attr_accessor :starts_at
868
+ # ID of the [user identity](https://docs.seam.co/api/user_identities) to whom the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) belongs.
869
+ # @return [String, nil]
870
+ attr_accessor :user_identity_id
871
+ # ID of the workspace that contains the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
872
+ # @return [String]
873
+ attr_accessor :workspace_id
874
+ # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was created.
875
+ # @return [Time]
876
+ date_accessor :created_at
877
+ # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was encoded onto a card.
878
+ # @return [Time, nil]
879
+ date_accessor :issued_at
880
+ # Date and time at which the state of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was most recently synced from Seam to the provider.
881
+ # @return [Time, nil]
882
+ date_accessor :latest_desired_state_synced_with_provider_at
883
+ end
884
+
885
+ # @return [Error, nil]
886
+ resource_accessor :error, Error
887
+ # Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned.
888
+ # @return [Result, nil]
889
+ resource_accessor :result, Result
890
+ # ID of the action attempt.
891
+ # @return [String]
892
+ attr_accessor :action_attempt_id
893
+ # Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user.
894
+ # @return [String]
895
+ # Known values:
896
+ # - `SCAN_TO_ASSIGN_CREDENTIAL`
897
+ attr_accessor :action_type
898
+ # @return [String]
899
+ # Known values:
900
+ # - `success`
901
+ # - `pending`
902
+ # - `error`
903
+ attr_accessor :status
904
+ end
905
+
906
+ # Assigning a credential to an access method is pending.
907
+ class AssignCredential < ActionAttempt
908
+ class Error < BaseResource
909
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
910
+ # @return [String]
911
+ attr_accessor :message
912
+ # Error type to indicate that no matching credential was found.
913
+ # @return [String]
914
+ # Known values:
915
+ # - `uncategorized_error`
916
+ # - `action_attempt_expired`
917
+ # - `credential_not_found`
918
+ attr_accessor :type
919
+ end
920
+
921
+ class Result < BaseResource
922
+ class Errors < BaseResource
923
+ # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
924
+ # @return [String]
925
+ # Known values:
926
+ # - `failed_to_issue`
927
+ attr_accessor :error_code
928
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
929
+ # @return [String]
930
+ attr_accessor :message
931
+ # Date and time at which Seam created the error.
932
+ # @return [Time]
933
+ date_accessor :created_at
934
+ end
935
+
936
+ class PendingMutations < BaseResource
937
+ class From < BaseResource
938
+ # Previous end time for access.
939
+ # @return [Time, nil]
940
+ date_accessor :ends_at
941
+ # Previous start time for access.
942
+ # @return [Time, nil]
943
+ date_accessor :starts_at
944
+ end
945
+
946
+ class To < BaseResource
947
+ # New end time for access.
948
+ # @return [Time, nil]
949
+ date_accessor :ends_at
950
+ # New start time for access.
951
+ # @return [Time, nil]
952
+ date_accessor :starts_at
953
+ end
954
+
955
+ # Previous access time configuration.
956
+ # @return [From]
957
+ resource_accessor :from, From
958
+ # New access time configuration.
959
+ # @return [To]
960
+ resource_accessor :to, To
961
+ # Detailed description of the mutation.
962
+ # @return [String]
963
+ attr_accessor :message
964
+ # Mutation code to indicate that Seam is in the process of updating the access times for this access method.
965
+ # @return [String]
966
+ # Known values:
967
+ # - `provisioning_access`
968
+ # - `revoking_access`
969
+ # - `updating_access_times`
970
+ attr_accessor :mutation_code
971
+ # Date and time at which the mutation was created.
972
+ # @return [Time]
973
+ date_accessor :created_at
974
+ end
975
+
976
+ class Warnings < BaseResource
977
+ # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
978
+ # @return [String]
979
+ attr_accessor :message
980
+ # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
981
+ # @return [String]
982
+ # Known values:
983
+ # - `being_deleted`
984
+ # - `updating_access_times`
985
+ # - `pulled_backup_access_code`
986
+ # - `delay_in_issuing`
987
+ attr_accessor :warning_code
988
+ # ID of the original access method from which this backup access method was split, if applicable.
989
+ # @return [String, nil]
990
+ attr_accessor :original_access_method_id
991
+ # Date and time at which Seam created the warning.
992
+ # @return [Time]
993
+ date_accessor :created_at
994
+ end
995
+
996
+ # Errors associated with the [access method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant).
997
+ # @return [Array<Errors>]
998
+ resource_list_accessor :errors, Errors
999
+ # Pending mutations for the [access method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant). Indicates operations that are in progress.
1000
+ # @return [Array<PendingMutations>]
1001
+ resource_list_accessor :pending_mutations, PendingMutations
1002
+ # Warnings associated with the [access method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant).
1003
+ # @return [Array<Warnings>]
1004
+ resource_list_accessor :warnings, Warnings
1005
+ # ID of the access method.
1006
+ # @return [String]
1007
+ attr_accessor :access_method_id
1008
+ # Token of the client session associated with the access method.
1009
+ # @return [String, nil]
1010
+ attr_accessor :client_session_token
1011
+ # The actual PIN code for code access methods.
1012
+ # @return [String, nil]
1013
+ attr_accessor :code
1014
+ # ID of the customization profile associated with the access method.
1015
+ # @return [String, nil]
1016
+ attr_accessor :customization_profile_id
1017
+ # Display name of the access method.
1018
+ # @return [String]
1019
+ attr_accessor :display_name
1020
+ # Human-readable sentence describing where the access method sits in its relationship with the device or access system, for example `Awaiting encoding`. For display only. The wording is not stable and is not an enumeration — it may change at any time, so never compare against or branch on it. To make decisions, read `is_issued`, `errors`, and `pending_mutations`.
1021
+ # @return [String]
1022
+ attr_accessor :display_status
1023
+ # URL of the Instant Key for mobile key access methods.
1024
+ # @return [String, nil]
1025
+ attr_accessor :instant_key_url
1026
+ # Indicates whether an existing card credential must be assigned to this access method before it can be issued. Only applies to card-mode access methods on systems that support credential assignment.
1027
+ # @return [Boolean, nil]
1028
+ attr_accessor :is_assignment_required
1029
+ # Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method.
1030
+ # @return [Boolean, nil]
1031
+ attr_accessor :is_encoding_required
1032
+ # Indicates whether the access method has been issued.
1033
+ # @return [Boolean]
1034
+ attr_accessor :is_issued
1035
+ # Indicates whether the access method is ready for card assignment. This is true when the access method is in card mode, has not yet been issued, and the system supports credential assignment.
1036
+ # @return [Boolean, nil]
1037
+ attr_accessor :is_ready_for_assignment
1038
+ # Indicates whether the access method is ready to be encoded. This is true when the credential has been created and the card has not yet been issued.
1039
+ # @return [Boolean, nil]
1040
+ attr_accessor :is_ready_for_encoding
1041
+ # Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
1042
+ # @return [String]
1043
+ # Known values:
1044
+ # - `code`
1045
+ # - `card`
1046
+ # - `mobile_key`
1047
+ # - `cloud_key`
1048
+ attr_accessor :mode
1049
+ # ID of the Seam workspace associated with the access method.
1050
+ # @return [String]
1051
+ attr_accessor :workspace_id
1052
+ # Date and time at which the access method was created.
1053
+ # @return [Time]
1054
+ date_accessor :created_at
1055
+ # Date and time at which the access method was issued.
1056
+ # @return [Time, nil]
1057
+ date_accessor :issued_at
1058
+ end
1059
+
1060
+ # @return [Error, nil]
1061
+ resource_accessor :error, Error
1062
+ # Result of assigning a credential. If successful, includes the updated access method with the assigned credential.
1063
+ # @return [Result, nil]
1064
+ resource_accessor :result, Result
1065
+ # ID of the action attempt.
1066
+ # @return [String]
1067
+ attr_accessor :action_attempt_id
1068
+ # Action attempt to track the status of assigning a pre-registered card credential to an access method.
1069
+ # @return [String]
1070
+ # Known values:
1071
+ # - `ASSIGN_CREDENTIAL`
1072
+ attr_accessor :action_type
1073
+ # @return [String]
1074
+ # Known values:
1075
+ # - `success`
1076
+ # - `pending`
1077
+ # - `error`
1078
+ attr_accessor :status
1079
+ end
1080
+
1081
+ # Resetting a sandbox workspace is pending.
1082
+ class ResetSandboxWorkspace < ActionAttempt
1083
+ class Error < BaseResource
1084
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1085
+ # @return [String]
1086
+ attr_accessor :message
1087
+ # Type of the error.
1088
+ # @return [String]
1089
+ attr_accessor :type
1090
+ end
1091
+
1092
+ class Result < BaseResource
1093
+ end
1094
+
1095
+ # Error associated with the action.
1096
+ # @return [Error, nil]
1097
+ resource_accessor :error, Error
1098
+ # Result of the action.
1099
+ # @return [Result, nil]
1100
+ resource_accessor :result, Result
1101
+ # ID of the action attempt.
1102
+ # @return [String]
1103
+ attr_accessor :action_attempt_id
1104
+ # Action attempt to track the status of resetting a sandbox workspace.
1105
+ # @return [String]
1106
+ # Known values:
1107
+ # - `RESET_SANDBOX_WORKSPACE`
1108
+ attr_accessor :action_type
1109
+ # @return [String]
1110
+ # Known values:
1111
+ # - `success`
1112
+ # - `pending`
1113
+ # - `error`
1114
+ attr_accessor :status
1115
+ end
1116
+
1117
+ # Setting the fan mode is pending.
1118
+ class SetFanMode < ActionAttempt
1119
+ class Error < BaseResource
1120
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1121
+ # @return [String]
1122
+ attr_accessor :message
1123
+ # Type of the error.
1124
+ # @return [String]
1125
+ attr_accessor :type
1126
+ end
1127
+
1128
+ class Result < BaseResource
1129
+ end
1130
+
1131
+ # Error associated with the action.
1132
+ # @return [Error, nil]
1133
+ resource_accessor :error, Error
1134
+ # Result of the action.
1135
+ # @return [Result, nil]
1136
+ resource_accessor :result, Result
1137
+ # ID of the action attempt.
1138
+ # @return [String]
1139
+ attr_accessor :action_attempt_id
1140
+ # Action attempt to track the status of setting the fan mode on a thermostat.
1141
+ # @return [String]
1142
+ # Known values:
1143
+ # - `SET_FAN_MODE`
1144
+ attr_accessor :action_type
1145
+ # @return [String]
1146
+ # Known values:
1147
+ # - `success`
1148
+ # - `pending`
1149
+ # - `error`
1150
+ attr_accessor :status
1151
+ end
1152
+
1153
+ # Setting the HVAC mode is pending.
1154
+ class SetHvacMode < ActionAttempt
1155
+ class Error < BaseResource
1156
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1157
+ # @return [String]
1158
+ attr_accessor :message
1159
+ # Type of the error.
1160
+ # @return [String]
1161
+ attr_accessor :type
1162
+ end
1163
+
1164
+ class Result < BaseResource
1165
+ end
1166
+
1167
+ # Error associated with the action.
1168
+ # @return [Error, nil]
1169
+ resource_accessor :error, Error
1170
+ # Result of the action.
1171
+ # @return [Result, nil]
1172
+ resource_accessor :result, Result
1173
+ # ID of the action attempt.
1174
+ # @return [String]
1175
+ attr_accessor :action_attempt_id
1176
+ # Action attempt to track the status of setting the HVAC mode on a thermostat.
1177
+ # @return [String]
1178
+ # Known values:
1179
+ # - `SET_HVAC_MODE`
1180
+ attr_accessor :action_type
1181
+ # @return [String]
1182
+ # Known values:
1183
+ # - `success`
1184
+ # - `pending`
1185
+ # - `error`
1186
+ attr_accessor :status
1187
+ end
1188
+
1189
+ # Activating a climate preset is pending.
1190
+ class ActivateClimatePreset < ActionAttempt
1191
+ class Error < BaseResource
1192
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1193
+ # @return [String]
1194
+ attr_accessor :message
1195
+ # Type of the error.
1196
+ # @return [String]
1197
+ attr_accessor :type
1198
+ end
1199
+
1200
+ class Result < BaseResource
1201
+ end
1202
+
1203
+ # Error associated with the action.
1204
+ # @return [Error, nil]
1205
+ resource_accessor :error, Error
1206
+ # Result of the action.
1207
+ # @return [Result, nil]
1208
+ resource_accessor :result, Result
1209
+ # ID of the action attempt.
1210
+ # @return [String]
1211
+ attr_accessor :action_attempt_id
1212
+ # Action attempt to track the status of a climate preset activation.
1213
+ # @return [String]
1214
+ # Known values:
1215
+ # - `ACTIVATE_CLIMATE_PRESET`
1216
+ attr_accessor :action_type
1217
+ # @return [String]
1218
+ # Known values:
1219
+ # - `success`
1220
+ # - `pending`
1221
+ # - `error`
1222
+ attr_accessor :status
1223
+ end
1224
+
1225
+ # Simulating a keypad code entry is pending.
1226
+ class SimulateKeypadCodeEntry < ActionAttempt
1227
+ class Error < BaseResource
1228
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1229
+ # @return [String]
1230
+ attr_accessor :message
1231
+ # Type of the error.
1232
+ # @return [String]
1233
+ attr_accessor :type
1234
+ end
1235
+
1236
+ class Result < BaseResource
1237
+ end
1238
+
1239
+ # Error associated with the action.
1240
+ # @return [Error, nil]
1241
+ resource_accessor :error, Error
1242
+ # Result of the action.
1243
+ # @return [Result, nil]
1244
+ resource_accessor :result, Result
1245
+ # ID of the action attempt.
1246
+ # @return [String]
1247
+ attr_accessor :action_attempt_id
1248
+ # Action attempt to track the status of simulating a keypad code entry.
1249
+ # @return [String]
1250
+ # Known values:
1251
+ # - `SIMULATE_KEYPAD_CODE_ENTRY`
1252
+ attr_accessor :action_type
1253
+ # @return [String]
1254
+ # Known values:
1255
+ # - `success`
1256
+ # - `pending`
1257
+ # - `error`
1258
+ attr_accessor :status
1259
+ end
1260
+
1261
+ # Simulating a manual lock action using a keypad is pending.
1262
+ class SimulateManualLockViaKeypad < ActionAttempt
1263
+ class Error < BaseResource
1264
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1265
+ # @return [String]
1266
+ attr_accessor :message
1267
+ # Type of the error.
1268
+ # @return [String]
1269
+ attr_accessor :type
1270
+ end
1271
+
1272
+ class Result < BaseResource
370
1273
  end
371
1274
 
372
- # Snapshot of credential data read from the physical encoder.
373
- # @return [AcsCredentialOnEncoder, nil]
374
- resource_accessor :acs_credential_on_encoder, AcsCredentialOnEncoder
375
- # Corresponding credential data as stored on Seam and the access system.
376
- # @return [AcsCredentialOnSeam, nil]
377
- resource_accessor :acs_credential_on_seam, AcsCredentialOnSeam
378
- # Akiles-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
379
- # @return [AkilesMetadata, nil]
380
- resource_accessor :akiles_metadata, AkilesMetadata
381
- # Vostio-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
382
- # @return [AssaAbloyVostioMetadata, nil]
383
- resource_accessor :assa_abloy_vostio_metadata, AssaAbloyVostioMetadata
384
- # Visionline-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
385
- # @return [VisionlineMetadata, nil]
386
- resource_accessor :visionline_metadata, VisionlineMetadata
387
- # @return [Array<Errors>]
388
- resource_list_accessor :errors, Errors
389
- # Pending mutations for the [access method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant). Indicates operations that are in progress.
390
- # @return [Array<PendingMutations>]
391
- resource_list_accessor :pending_mutations, PendingMutations
392
- # @return [Array<Warnings>]
393
- resource_list_accessor :warnings, Warnings
394
- # @return [Hash, nil]
395
- attr_accessor :access_code
396
- # Access method for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
397
- # @return [String]
398
- attr_accessor :access_method
399
- # ID of the access method.
400
- # @return [String]
401
- attr_accessor :access_method_id
402
- # ID of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
403
- # @return [String]
404
- attr_accessor :acs_credential_id
405
- # ID of the credential pool to which the credential belongs.
406
- # @return [String, nil]
407
- attr_accessor :acs_credential_pool_id
408
- # ID of the [access control system](https://docs.seam.co/low-level-apis/access-systems) that contains the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
409
- # @return [String]
410
- attr_accessor :acs_system_id
411
- # ID of the [ACS user](https://docs.seam.co/low-level-apis/access-systems/user-management) to whom the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) belongs.
412
- # @return [String, nil]
413
- attr_accessor :acs_user_id
414
- # Number of the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
415
- # @return [String, nil]
416
- attr_accessor :card_number
417
- # Token of the client session associated with the access method.
418
- # @return [String, nil]
419
- attr_accessor :client_session_token
420
- # @return [String, nil]
421
- attr_accessor :code
422
- # ID of the [connected account](https://docs.seam.co/core-concepts/connected-accounts) to which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) belongs.
423
- # @return [String]
424
- attr_accessor :connected_account_id
425
- # ID of the customization profile associated with the access method.
426
- # @return [String, nil]
427
- attr_accessor :customization_profile_id
428
- # @return [String]
429
- attr_accessor :display_name
430
- # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) validity 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 `starts_at`.
431
- # @return [String, nil]
432
- attr_accessor :ends_at
433
- # Brand-specific terminology for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`.
434
- # @return [String, nil]
435
- attr_accessor :external_type
436
- # Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) type.
437
- # @return [String, nil]
438
- attr_accessor :external_type_display_name
439
- # URL of the Instant Key for mobile key access methods.
440
- # @return [String, nil]
441
- attr_accessor :instant_key_url
442
- # Indicates whether an existing card credential must be assigned to this access method before it can be issued. Only applies to card-mode access methods on systems that support credential assignment.
443
- # @return [Boolean, nil]
444
- attr_accessor :is_assignment_required
445
- # Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method.
446
- # @return [Boolean, nil]
447
- attr_accessor :is_encoding_required
448
- # @return [Boolean, nil]
449
- attr_accessor :is_issued
450
- # Indicates whether the latest state of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) has been synced from Seam to the provider.
451
- # @return [Boolean, nil]
452
- attr_accessor :is_latest_desired_state_synced_with_provider
453
- # Indicates whether Seam manages the credential.
454
- # @return [Boolean]
455
- attr_accessor :is_managed
456
- # Indicates whether the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials).
457
- # @return [Boolean, nil]
458
- attr_accessor :is_multi_phone_sync_credential
459
- # Indicates whether the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use.
460
- # @return [Boolean, nil]
461
- attr_accessor :is_one_time_use
462
- # Indicates whether the access method is ready for card assignment. This is true when the access method is in card mode, has not yet been issued, and the system supports credential assignment.
463
- # @return [Boolean, nil]
464
- attr_accessor :is_ready_for_assignment
465
- # Indicates whether the access method is ready to be encoded. This is true when the credential has been created and the card has not yet been issued.
466
- # @return [Boolean, nil]
467
- attr_accessor :is_ready_for_encoding
468
- # Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
469
- # @return [String]
470
- attr_accessor :mode
471
- # @return [Hash]
472
- attr_accessor :noise_threshold
473
- # ID of the parent [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
474
- # @return [String, nil]
475
- attr_accessor :parent_acs_credential_id
476
- # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
477
- # @return [String, nil]
478
- attr_accessor :starts_at
479
- # ID of the [user identity](https://docs.seam.co/api/user_identities) to whom the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) belongs.
480
- # @return [String, nil]
481
- attr_accessor :user_identity_id
482
- # @return [Boolean, nil]
483
- attr_accessor :was_confirmed_by_device
484
- # @return [String]
485
- attr_accessor :workspace_id
486
- # @return [Time]
487
- date_accessor :created_at
488
- # @return [Time, nil]
489
- date_accessor :issued_at
490
- # Date and time at which the state of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was most recently synced from Seam to the provider.
491
- # @return [Time, nil]
492
- date_accessor :latest_desired_state_synced_with_provider_at
1275
+ # Error associated with the action.
1276
+ # @return [Error, nil]
1277
+ resource_accessor :error, Error
1278
+ # Result of the action.
1279
+ # @return [Result, nil]
1280
+ resource_accessor :result, Result
1281
+ # ID of the action attempt.
1282
+ # @return [String]
1283
+ attr_accessor :action_attempt_id
1284
+ # Action attempt to track the status of simulating a manual lock action using a keypad.
1285
+ # @return [String]
1286
+ # Known values:
1287
+ # - `SIMULATE_MANUAL_LOCK_VIA_KEYPAD`
1288
+ attr_accessor :action_type
1289
+ # @return [String]
1290
+ # Known values:
1291
+ # - `success`
1292
+ # - `pending`
1293
+ # - `error`
1294
+ attr_accessor :status
1295
+ end
1296
+
1297
+ # Pushing thermostat weekly programs is pending.
1298
+ class PushThermostatPrograms < ActionAttempt
1299
+ class Error < BaseResource
1300
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1301
+ # @return [String]
1302
+ attr_accessor :message
1303
+ # Type of the error.
1304
+ # @return [String]
1305
+ attr_accessor :type
1306
+ end
1307
+
1308
+ class Result < BaseResource
1309
+ end
1310
+
1311
+ # Error associated with the action.
1312
+ # @return [Error, nil]
1313
+ resource_accessor :error, Error
1314
+ # Result of the action.
1315
+ # @return [Result, nil]
1316
+ resource_accessor :result, Result
1317
+ # ID of the action attempt.
1318
+ # @return [String]
1319
+ attr_accessor :action_attempt_id
1320
+ # Action attempt to track the status of pushing thermostat programs.
1321
+ # @return [String]
1322
+ # Known values:
1323
+ # - `PUSH_THERMOSTAT_PROGRAMS`
1324
+ attr_accessor :action_type
1325
+ # @return [String]
1326
+ # Known values:
1327
+ # - `success`
1328
+ # - `pending`
1329
+ # - `error`
1330
+ attr_accessor :status
1331
+ end
1332
+
1333
+ # Configuring the auto-lock is pending.
1334
+ class ConfigureAutoLock < ActionAttempt
1335
+ class Error < BaseResource
1336
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1337
+ # @return [String]
1338
+ attr_accessor :message
1339
+ # Type of the error.
1340
+ # @return [String]
1341
+ attr_accessor :type
1342
+ end
1343
+
1344
+ class Result < BaseResource
1345
+ end
1346
+
1347
+ # Error associated with the action.
1348
+ # @return [Error, nil]
1349
+ resource_accessor :error, Error
1350
+ # Result of the action.
1351
+ # @return [Result, nil]
1352
+ resource_accessor :result, Result
1353
+ # ID of the action attempt.
1354
+ # @return [String]
1355
+ attr_accessor :action_attempt_id
1356
+ # Action attempt to track the status of configuring the auto-lock on a lock.
1357
+ # @return [String]
1358
+ # Known values:
1359
+ # - `CONFIGURE_AUTO_LOCK`
1360
+ attr_accessor :action_type
1361
+ # @return [String]
1362
+ # Known values:
1363
+ # - `success`
1364
+ # - `pending`
1365
+ # - `error`
1366
+ attr_accessor :status
1367
+ end
1368
+
1369
+ class SyncAccessCodes < ActionAttempt
1370
+ class Error < BaseResource
1371
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1372
+ # @return [String]
1373
+ attr_accessor :message
1374
+ # Type of the error.
1375
+ # @return [String]
1376
+ attr_accessor :type
1377
+ end
1378
+
1379
+ class Result < BaseResource
1380
+ end
1381
+
1382
+ # Error associated with the action.
1383
+ # @return [Error, nil]
1384
+ resource_accessor :error, Error
1385
+ # Result of the action.
1386
+ # @return [Result, nil]
1387
+ resource_accessor :result, Result
1388
+ # ID of the action attempt.
1389
+ # @return [String]
1390
+ attr_accessor :action_attempt_id
1391
+ # Syncing access codes is pending.
1392
+ # @return [String]
1393
+ # Known values:
1394
+ # - `SYNC_ACCESS_CODES`
1395
+ attr_accessor :action_type
1396
+ # @return [String]
1397
+ # Known values:
1398
+ # - `success`
1399
+ # - `pending`
1400
+ # - `error`
1401
+ attr_accessor :status
1402
+ end
1403
+
1404
+ class CreateAccessCode < ActionAttempt
1405
+ class Error < BaseResource
1406
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1407
+ # @return [String]
1408
+ attr_accessor :message
1409
+ # Type of the error.
1410
+ # @return [String]
1411
+ attr_accessor :type
1412
+ end
1413
+
1414
+ class Result < BaseResource
1415
+ # Created access code.
1416
+ # @return [Hash]
1417
+ attr_accessor :access_code
1418
+ end
1419
+
1420
+ # Error associated with the action.
1421
+ # @return [Error, nil]
1422
+ resource_accessor :error, Error
1423
+ # Result of the action.
1424
+ # @return [Result, nil]
1425
+ resource_accessor :result, Result
1426
+ # ID of the action attempt.
1427
+ # @return [String]
1428
+ attr_accessor :action_attempt_id
1429
+ # Creating an access code is pending.
1430
+ # @return [String]
1431
+ # Known values:
1432
+ # - `CREATE_ACCESS_CODE`
1433
+ attr_accessor :action_type
1434
+ # @return [String]
1435
+ # Known values:
1436
+ # - `success`
1437
+ # - `pending`
1438
+ # - `error`
1439
+ attr_accessor :status
1440
+ end
1441
+
1442
+ class DeleteAccessCode < ActionAttempt
1443
+ class Error < BaseResource
1444
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1445
+ # @return [String]
1446
+ attr_accessor :message
1447
+ # Type of the error.
1448
+ # @return [String]
1449
+ attr_accessor :type
1450
+ end
1451
+
1452
+ class Result < BaseResource
1453
+ end
1454
+
1455
+ # Error associated with the action.
1456
+ # @return [Error, nil]
1457
+ resource_accessor :error, Error
1458
+ # Result of the action.
1459
+ # @return [Result, nil]
1460
+ resource_accessor :result, Result
1461
+ # ID of the action attempt.
1462
+ # @return [String]
1463
+ attr_accessor :action_attempt_id
1464
+ # Deleting an access code is pending.
1465
+ # @return [String]
1466
+ # Known values:
1467
+ # - `DELETE_ACCESS_CODE`
1468
+ attr_accessor :action_type
1469
+ # @return [String]
1470
+ # Known values:
1471
+ # - `success`
1472
+ # - `pending`
1473
+ # - `error`
1474
+ attr_accessor :status
1475
+ end
1476
+
1477
+ class UpdateAccessCode < ActionAttempt
1478
+ class Error < BaseResource
1479
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1480
+ # @return [String]
1481
+ attr_accessor :message
1482
+ # Type of the error.
1483
+ # @return [String]
1484
+ attr_accessor :type
1485
+ end
1486
+
1487
+ class Result < BaseResource
1488
+ # Updated access code.
1489
+ # @return [Hash, nil]
1490
+ attr_accessor :access_code
1491
+ end
1492
+
1493
+ # Error associated with the action.
1494
+ # @return [Error, nil]
1495
+ resource_accessor :error, Error
1496
+ # Result of the action.
1497
+ # @return [Result, nil]
1498
+ resource_accessor :result, Result
1499
+ # ID of the action attempt.
1500
+ # @return [String]
1501
+ attr_accessor :action_attempt_id
1502
+ # Updating an access code is pending.
1503
+ # @return [String]
1504
+ # Known values:
1505
+ # - `UPDATE_ACCESS_CODE`
1506
+ attr_accessor :action_type
1507
+ # @return [String]
1508
+ # Known values:
1509
+ # - `success`
1510
+ # - `pending`
1511
+ # - `error`
1512
+ attr_accessor :status
1513
+ end
1514
+
1515
+ class CreateNoiseThreshold < ActionAttempt
1516
+ class Error < BaseResource
1517
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1518
+ # @return [String]
1519
+ attr_accessor :message
1520
+ # Type of the error.
1521
+ # @return [String]
1522
+ attr_accessor :type
1523
+ end
1524
+
1525
+ class Result < BaseResource
1526
+ # Created noise threshold.
1527
+ # @return [Hash]
1528
+ attr_accessor :noise_threshold
1529
+ end
1530
+
1531
+ # Error associated with the action.
1532
+ # @return [Error, nil]
1533
+ resource_accessor :error, Error
1534
+ # Result of the action.
1535
+ # @return [Result, nil]
1536
+ resource_accessor :result, Result
1537
+ # ID of the action attempt.
1538
+ # @return [String]
1539
+ attr_accessor :action_attempt_id
1540
+ # Creating a noise threshold is pending.
1541
+ # @return [String]
1542
+ # Known values:
1543
+ # - `CREATE_NOISE_THRESHOLD`
1544
+ attr_accessor :action_type
1545
+ # @return [String]
1546
+ # Known values:
1547
+ # - `success`
1548
+ # - `pending`
1549
+ # - `error`
1550
+ attr_accessor :status
1551
+ end
1552
+
1553
+ class DeleteNoiseThreshold < ActionAttempt
1554
+ class Error < BaseResource
1555
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1556
+ # @return [String]
1557
+ attr_accessor :message
1558
+ # Type of the error.
1559
+ # @return [String]
1560
+ attr_accessor :type
1561
+ end
1562
+
1563
+ class Result < BaseResource
1564
+ end
1565
+
1566
+ # Error associated with the action.
1567
+ # @return [Error, nil]
1568
+ resource_accessor :error, Error
1569
+ # Result of the action.
1570
+ # @return [Result, nil]
1571
+ resource_accessor :result, Result
1572
+ # ID of the action attempt.
1573
+ # @return [String]
1574
+ attr_accessor :action_attempt_id
1575
+ # Deleting a noise threshold is pending.
1576
+ # @return [String]
1577
+ # Known values:
1578
+ # - `DELETE_NOISE_THRESHOLD`
1579
+ attr_accessor :action_type
1580
+ # @return [String]
1581
+ # Known values:
1582
+ # - `success`
1583
+ # - `pending`
1584
+ # - `error`
1585
+ attr_accessor :status
1586
+ end
1587
+
1588
+ class UpdateNoiseThreshold < ActionAttempt
1589
+ class Error < BaseResource
1590
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1591
+ # @return [String]
1592
+ attr_accessor :message
1593
+ # Type of the error.
1594
+ # @return [String]
1595
+ attr_accessor :type
1596
+ end
1597
+
1598
+ class Result < BaseResource
1599
+ # Updated noise threshold.
1600
+ # @return [Hash]
1601
+ attr_accessor :noise_threshold
1602
+ end
1603
+
1604
+ # Error associated with the action.
1605
+ # @return [Error, nil]
1606
+ resource_accessor :error, Error
1607
+ # Result of the action.
1608
+ # @return [Result, nil]
1609
+ resource_accessor :result, Result
1610
+ # ID of the action attempt.
1611
+ # @return [String]
1612
+ attr_accessor :action_attempt_id
1613
+ # Updating a noise threshold is pending.
1614
+ # @return [String]
1615
+ # Known values:
1616
+ # - `UPDATE_NOISE_THRESHOLD`
1617
+ attr_accessor :action_type
1618
+ # @return [String]
1619
+ # Known values:
1620
+ # - `success`
1621
+ # - `pending`
1622
+ # - `error`
1623
+ attr_accessor :status
493
1624
  end
494
1625
 
495
1626
  # Error associated with the action.
496
- # @return [Error]
1627
+ # @return [Error, nil]
497
1628
  resource_accessor :error, Error
498
- # @return [Result]
1629
+ # @return [Result, nil]
499
1630
  resource_accessor :result, Result
500
1631
  # ID of the action attempt.
501
1632
  # @return [String]
502
1633
  attr_accessor :action_attempt_id
503
1634
  # @return [String]
1635
+ # Known values:
1636
+ # - `LOCK_DOOR`
1637
+ # - `UNLOCK_DOOR`
1638
+ # - `SCAN_CREDENTIAL`
1639
+ # - `ENCODE_CREDENTIAL`
1640
+ # - `SCAN_TO_ASSIGN_CREDENTIAL`
1641
+ # - `ASSIGN_CREDENTIAL`
1642
+ # - `RESET_SANDBOX_WORKSPACE`
1643
+ # - `SET_FAN_MODE`
1644
+ # - `SET_HVAC_MODE`
1645
+ # - `ACTIVATE_CLIMATE_PRESET`
1646
+ # - `SIMULATE_KEYPAD_CODE_ENTRY`
1647
+ # - `SIMULATE_MANUAL_LOCK_VIA_KEYPAD`
1648
+ # - `PUSH_THERMOSTAT_PROGRAMS`
1649
+ # - `CONFIGURE_AUTO_LOCK`
1650
+ # - `SYNC_ACCESS_CODES`
1651
+ # - `CREATE_ACCESS_CODE`
1652
+ # - `DELETE_ACCESS_CODE`
1653
+ # - `UPDATE_ACCESS_CODE`
1654
+ # - `CREATE_NOISE_THRESHOLD`
1655
+ # - `DELETE_NOISE_THRESHOLD`
1656
+ # - `UPDATE_NOISE_THRESHOLD`
504
1657
  attr_accessor :action_type
505
1658
  # @return [String]
1659
+ # Known values:
1660
+ # - `success`
1661
+ # - `pending`
1662
+ # - `error`
506
1663
  attr_accessor :status
1664
+
1665
+ discriminated_by :action_type, {
1666
+ "LOCK_DOOR" => LockDoor,
1667
+ "UNLOCK_DOOR" => UnlockDoor,
1668
+ "SCAN_CREDENTIAL" => ScanCredential,
1669
+ "ENCODE_CREDENTIAL" => EncodeCredential,
1670
+ "SCAN_TO_ASSIGN_CREDENTIAL" => ScanToAssignCredential,
1671
+ "ASSIGN_CREDENTIAL" => AssignCredential,
1672
+ "RESET_SANDBOX_WORKSPACE" => ResetSandboxWorkspace,
1673
+ "SET_FAN_MODE" => SetFanMode,
1674
+ "SET_HVAC_MODE" => SetHvacMode,
1675
+ "ACTIVATE_CLIMATE_PRESET" => ActivateClimatePreset,
1676
+ "SIMULATE_KEYPAD_CODE_ENTRY" => SimulateKeypadCodeEntry,
1677
+ "SIMULATE_MANUAL_LOCK_VIA_KEYPAD" => SimulateManualLockViaKeypad,
1678
+ "PUSH_THERMOSTAT_PROGRAMS" => PushThermostatPrograms,
1679
+ "CONFIGURE_AUTO_LOCK" => ConfigureAutoLock,
1680
+ "SYNC_ACCESS_CODES" => SyncAccessCodes,
1681
+ "CREATE_ACCESS_CODE" => CreateAccessCode,
1682
+ "DELETE_ACCESS_CODE" => DeleteAccessCode,
1683
+ "UPDATE_ACCESS_CODE" => UpdateAccessCode,
1684
+ "CREATE_NOISE_THRESHOLD" => CreateNoiseThreshold,
1685
+ "DELETE_NOISE_THRESHOLD" => DeleteNoiseThreshold,
1686
+ "UPDATE_NOISE_THRESHOLD" => UpdateNoiseThreshold
1687
+ }.freeze
507
1688
  end
508
1689
  end
509
1690
  end