seam 2.142.0 → 2.145.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 (47) 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 +682 -43
  6. data/lib/seam/resources/access_grant.rb +189 -25
  7. data/lib/seam/resources/access_method.rb +105 -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 +1457 -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 +4 -1
  21. data/lib/seam/resources/unmanaged_access_code.rb +677 -43
  22. data/lib/seam/resources/unmanaged_access_grant.rb +189 -25
  23. data/lib/seam/resources/unmanaged_access_method.rb +105 -3
  24. data/lib/seam/resources/unmanaged_device.rb +827 -14
  25. data/lib/seam/resources/unmanaged_user_identity.rb +67 -0
  26. data/lib/seam/resources/user_identity.rb +67 -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_encoders.rb +1 -1
  32. data/lib/seam/routes/acs_entrances.rb +2 -2
  33. data/lib/seam/routes/action_attempts.rb +1 -1
  34. data/lib/seam/routes/connect_webviews.rb +3 -3
  35. data/lib/seam/routes/connected_accounts.rb +3 -3
  36. data/lib/seam/routes/customers.rb +1 -1
  37. data/lib/seam/routes/devices.rb +3 -3
  38. data/lib/seam/routes/devices_unmanaged.rb +2 -2
  39. data/lib/seam/routes/events.rb +1 -1
  40. data/lib/seam/routes/locks.rb +1 -1
  41. data/lib/seam/routes/noise_sensors.rb +1 -1
  42. data/lib/seam/routes/spaces.rb +3 -3
  43. data/lib/seam/routes/thermostats.rb +1 -1
  44. data/lib/seam/routes/user_identities.rb +1 -1
  45. data/lib/seam/version.rb +1 -1
  46. data/lib/seam/webhook.rb +5 -2
  47. 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,1045 @@ 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
370
883
  end
371
884
 
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
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
+ # URL of the Instant Key for mobile key access methods.
1021
+ # @return [String, nil]
1022
+ attr_accessor :instant_key_url
1023
+ # 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.
1024
+ # @return [Boolean, nil]
1025
+ attr_accessor :is_assignment_required
1026
+ # Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method.
1027
+ # @return [Boolean, nil]
1028
+ attr_accessor :is_encoding_required
1029
+ # Indicates whether the access method has been issued.
1030
+ # @return [Boolean]
1031
+ attr_accessor :is_issued
1032
+ # 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.
1033
+ # @return [Boolean, nil]
1034
+ attr_accessor :is_ready_for_assignment
1035
+ # 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.
1036
+ # @return [Boolean, nil]
1037
+ attr_accessor :is_ready_for_encoding
1038
+ # Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
1039
+ # @return [String]
1040
+ # Known values:
1041
+ # - `code`
1042
+ # - `card`
1043
+ # - `mobile_key`
1044
+ # - `cloud_key`
1045
+ attr_accessor :mode
1046
+ # ID of the Seam workspace associated with the access method.
1047
+ # @return [String]
1048
+ attr_accessor :workspace_id
1049
+ # Date and time at which the access method was created.
1050
+ # @return [Time]
1051
+ date_accessor :created_at
1052
+ # Date and time at which the access method was issued.
1053
+ # @return [Time, nil]
1054
+ date_accessor :issued_at
1055
+ end
1056
+
1057
+ # @return [Error, nil]
1058
+ resource_accessor :error, Error
1059
+ # Result of assigning a credential. If successful, includes the updated access method with the assigned credential.
1060
+ # @return [Result, nil]
1061
+ resource_accessor :result, Result
1062
+ # ID of the action attempt.
1063
+ # @return [String]
1064
+ attr_accessor :action_attempt_id
1065
+ # Action attempt to track the status of assigning a pre-registered card credential to an access method.
1066
+ # @return [String]
1067
+ # Known values:
1068
+ # - `ASSIGN_CREDENTIAL`
1069
+ attr_accessor :action_type
1070
+ # @return [String]
1071
+ # Known values:
1072
+ # - `success`
1073
+ # - `pending`
1074
+ # - `error`
1075
+ attr_accessor :status
1076
+ end
1077
+
1078
+ # Resetting a sandbox workspace is pending.
1079
+ class ResetSandboxWorkspace < ActionAttempt
1080
+ class Error < BaseResource
1081
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1082
+ # @return [String]
1083
+ attr_accessor :message
1084
+ # Type of the error.
1085
+ # @return [String]
1086
+ attr_accessor :type
1087
+ end
1088
+
1089
+ class Result < BaseResource
1090
+ end
1091
+
1092
+ # Error associated with the action.
1093
+ # @return [Error, nil]
1094
+ resource_accessor :error, Error
1095
+ # Result of the action.
1096
+ # @return [Result, nil]
1097
+ resource_accessor :result, Result
1098
+ # ID of the action attempt.
1099
+ # @return [String]
1100
+ attr_accessor :action_attempt_id
1101
+ # Action attempt to track the status of resetting a sandbox workspace.
1102
+ # @return [String]
1103
+ # Known values:
1104
+ # - `RESET_SANDBOX_WORKSPACE`
1105
+ attr_accessor :action_type
1106
+ # @return [String]
1107
+ # Known values:
1108
+ # - `success`
1109
+ # - `pending`
1110
+ # - `error`
1111
+ attr_accessor :status
1112
+ end
1113
+
1114
+ # Setting the fan mode is pending.
1115
+ class SetFanMode < ActionAttempt
1116
+ class Error < BaseResource
1117
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1118
+ # @return [String]
1119
+ attr_accessor :message
1120
+ # Type of the error.
1121
+ # @return [String]
1122
+ attr_accessor :type
1123
+ end
1124
+
1125
+ class Result < BaseResource
1126
+ end
1127
+
1128
+ # Error associated with the action.
1129
+ # @return [Error, nil]
1130
+ resource_accessor :error, Error
1131
+ # Result of the action.
1132
+ # @return [Result, nil]
1133
+ resource_accessor :result, Result
1134
+ # ID of the action attempt.
1135
+ # @return [String]
1136
+ attr_accessor :action_attempt_id
1137
+ # Action attempt to track the status of setting the fan mode on a thermostat.
1138
+ # @return [String]
1139
+ # Known values:
1140
+ # - `SET_FAN_MODE`
1141
+ attr_accessor :action_type
1142
+ # @return [String]
1143
+ # Known values:
1144
+ # - `success`
1145
+ # - `pending`
1146
+ # - `error`
1147
+ attr_accessor :status
1148
+ end
1149
+
1150
+ # Setting the HVAC mode is pending.
1151
+ class SetHvacMode < ActionAttempt
1152
+ class Error < BaseResource
1153
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1154
+ # @return [String]
1155
+ attr_accessor :message
1156
+ # Type of the error.
1157
+ # @return [String]
1158
+ attr_accessor :type
1159
+ end
1160
+
1161
+ class Result < BaseResource
1162
+ end
1163
+
1164
+ # Error associated with the action.
1165
+ # @return [Error, nil]
1166
+ resource_accessor :error, Error
1167
+ # Result of the action.
1168
+ # @return [Result, nil]
1169
+ resource_accessor :result, Result
1170
+ # ID of the action attempt.
1171
+ # @return [String]
1172
+ attr_accessor :action_attempt_id
1173
+ # Action attempt to track the status of setting the HVAC mode on a thermostat.
1174
+ # @return [String]
1175
+ # Known values:
1176
+ # - `SET_HVAC_MODE`
1177
+ attr_accessor :action_type
1178
+ # @return [String]
1179
+ # Known values:
1180
+ # - `success`
1181
+ # - `pending`
1182
+ # - `error`
1183
+ attr_accessor :status
1184
+ end
1185
+
1186
+ # Activating a climate preset is pending.
1187
+ class ActivateClimatePreset < ActionAttempt
1188
+ class Error < BaseResource
1189
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1190
+ # @return [String]
1191
+ attr_accessor :message
1192
+ # Type of the error.
1193
+ # @return [String]
1194
+ attr_accessor :type
1195
+ end
1196
+
1197
+ class Result < BaseResource
1198
+ end
1199
+
1200
+ # Error associated with the action.
1201
+ # @return [Error, nil]
1202
+ resource_accessor :error, Error
1203
+ # Result of the action.
1204
+ # @return [Result, nil]
1205
+ resource_accessor :result, Result
1206
+ # ID of the action attempt.
1207
+ # @return [String]
1208
+ attr_accessor :action_attempt_id
1209
+ # Action attempt to track the status of a climate preset activation.
1210
+ # @return [String]
1211
+ # Known values:
1212
+ # - `ACTIVATE_CLIMATE_PRESET`
1213
+ attr_accessor :action_type
1214
+ # @return [String]
1215
+ # Known values:
1216
+ # - `success`
1217
+ # - `pending`
1218
+ # - `error`
1219
+ attr_accessor :status
1220
+ end
1221
+
1222
+ # Simulating a keypad code entry is pending.
1223
+ class SimulateKeypadCodeEntry < ActionAttempt
1224
+ class Error < BaseResource
1225
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1226
+ # @return [String]
1227
+ attr_accessor :message
1228
+ # Type of the error.
1229
+ # @return [String]
1230
+ attr_accessor :type
1231
+ end
1232
+
1233
+ class Result < BaseResource
1234
+ end
1235
+
1236
+ # Error associated with the action.
1237
+ # @return [Error, nil]
1238
+ resource_accessor :error, Error
1239
+ # Result of the action.
1240
+ # @return [Result, nil]
1241
+ resource_accessor :result, Result
1242
+ # ID of the action attempt.
1243
+ # @return [String]
1244
+ attr_accessor :action_attempt_id
1245
+ # Action attempt to track the status of simulating a keypad code entry.
1246
+ # @return [String]
1247
+ # Known values:
1248
+ # - `SIMULATE_KEYPAD_CODE_ENTRY`
1249
+ attr_accessor :action_type
1250
+ # @return [String]
1251
+ # Known values:
1252
+ # - `success`
1253
+ # - `pending`
1254
+ # - `error`
1255
+ attr_accessor :status
1256
+ end
1257
+
1258
+ # Simulating a manual lock action using a keypad is pending.
1259
+ class SimulateManualLockViaKeypad < ActionAttempt
1260
+ class Error < BaseResource
1261
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1262
+ # @return [String]
1263
+ attr_accessor :message
1264
+ # Type of the error.
1265
+ # @return [String]
1266
+ attr_accessor :type
1267
+ end
1268
+
1269
+ class Result < BaseResource
1270
+ end
1271
+
1272
+ # Error associated with the action.
1273
+ # @return [Error, nil]
1274
+ resource_accessor :error, Error
1275
+ # Result of the action.
1276
+ # @return [Result, nil]
1277
+ resource_accessor :result, Result
1278
+ # ID of the action attempt.
1279
+ # @return [String]
1280
+ attr_accessor :action_attempt_id
1281
+ # Action attempt to track the status of simulating a manual lock action using a keypad.
1282
+ # @return [String]
1283
+ # Known values:
1284
+ # - `SIMULATE_MANUAL_LOCK_VIA_KEYPAD`
1285
+ attr_accessor :action_type
1286
+ # @return [String]
1287
+ # Known values:
1288
+ # - `success`
1289
+ # - `pending`
1290
+ # - `error`
1291
+ attr_accessor :status
1292
+ end
1293
+
1294
+ # Pushing thermostat weekly programs is pending.
1295
+ class PushThermostatPrograms < ActionAttempt
1296
+ class Error < BaseResource
1297
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1298
+ # @return [String]
1299
+ attr_accessor :message
1300
+ # Type of the error.
1301
+ # @return [String]
1302
+ attr_accessor :type
1303
+ end
1304
+
1305
+ class Result < BaseResource
1306
+ end
1307
+
1308
+ # Error associated with the action.
1309
+ # @return [Error, nil]
1310
+ resource_accessor :error, Error
1311
+ # Result of the action.
1312
+ # @return [Result, nil]
1313
+ resource_accessor :result, Result
1314
+ # ID of the action attempt.
1315
+ # @return [String]
1316
+ attr_accessor :action_attempt_id
1317
+ # Action attempt to track the status of pushing thermostat programs.
1318
+ # @return [String]
1319
+ # Known values:
1320
+ # - `PUSH_THERMOSTAT_PROGRAMS`
1321
+ attr_accessor :action_type
1322
+ # @return [String]
1323
+ # Known values:
1324
+ # - `success`
1325
+ # - `pending`
1326
+ # - `error`
1327
+ attr_accessor :status
1328
+ end
1329
+
1330
+ # Configuring the auto-lock is pending.
1331
+ class ConfigureAutoLock < ActionAttempt
1332
+ class Error < BaseResource
1333
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1334
+ # @return [String]
1335
+ attr_accessor :message
1336
+ # Type of the error.
1337
+ # @return [String]
1338
+ attr_accessor :type
1339
+ end
1340
+
1341
+ class Result < BaseResource
1342
+ end
1343
+
1344
+ # Error associated with the action.
1345
+ # @return [Error, nil]
1346
+ resource_accessor :error, Error
1347
+ # Result of the action.
1348
+ # @return [Result, nil]
1349
+ resource_accessor :result, Result
1350
+ # ID of the action attempt.
1351
+ # @return [String]
1352
+ attr_accessor :action_attempt_id
1353
+ # Action attempt to track the status of configuring the auto-lock on a lock.
1354
+ # @return [String]
1355
+ # Known values:
1356
+ # - `CONFIGURE_AUTO_LOCK`
1357
+ attr_accessor :action_type
1358
+ # @return [String]
1359
+ # Known values:
1360
+ # - `success`
1361
+ # - `pending`
1362
+ # - `error`
1363
+ attr_accessor :status
1364
+ end
1365
+
1366
+ class SyncAccessCodes < ActionAttempt
1367
+ class Error < BaseResource
1368
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1369
+ # @return [String]
1370
+ attr_accessor :message
1371
+ # Type of the error.
1372
+ # @return [String]
1373
+ attr_accessor :type
1374
+ end
1375
+
1376
+ class Result < BaseResource
1377
+ end
1378
+
1379
+ # Error associated with the action.
1380
+ # @return [Error, nil]
1381
+ resource_accessor :error, Error
1382
+ # Result of the action.
1383
+ # @return [Result, nil]
1384
+ resource_accessor :result, Result
1385
+ # ID of the action attempt.
1386
+ # @return [String]
1387
+ attr_accessor :action_attempt_id
1388
+ # Syncing access codes is pending.
1389
+ # @return [String]
1390
+ # Known values:
1391
+ # - `SYNC_ACCESS_CODES`
1392
+ attr_accessor :action_type
1393
+ # @return [String]
1394
+ # Known values:
1395
+ # - `success`
1396
+ # - `pending`
1397
+ # - `error`
1398
+ attr_accessor :status
1399
+ end
1400
+
1401
+ class CreateAccessCode < ActionAttempt
1402
+ class Error < BaseResource
1403
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1404
+ # @return [String]
1405
+ attr_accessor :message
1406
+ # Type of the error.
1407
+ # @return [String]
1408
+ attr_accessor :type
1409
+ end
1410
+
1411
+ class Result < BaseResource
1412
+ # Created access code.
1413
+ # @return [Hash]
1414
+ attr_accessor :access_code
1415
+ end
1416
+
1417
+ # Error associated with the action.
1418
+ # @return [Error, nil]
1419
+ resource_accessor :error, Error
1420
+ # Result of the action.
1421
+ # @return [Result, nil]
1422
+ resource_accessor :result, Result
1423
+ # ID of the action attempt.
1424
+ # @return [String]
1425
+ attr_accessor :action_attempt_id
1426
+ # Creating an access code is pending.
1427
+ # @return [String]
1428
+ # Known values:
1429
+ # - `CREATE_ACCESS_CODE`
1430
+ attr_accessor :action_type
1431
+ # @return [String]
1432
+ # Known values:
1433
+ # - `success`
1434
+ # - `pending`
1435
+ # - `error`
1436
+ attr_accessor :status
1437
+ end
1438
+
1439
+ class DeleteAccessCode < ActionAttempt
1440
+ class Error < BaseResource
1441
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1442
+ # @return [String]
1443
+ attr_accessor :message
1444
+ # Type of the error.
1445
+ # @return [String]
1446
+ attr_accessor :type
1447
+ end
1448
+
1449
+ class Result < BaseResource
1450
+ end
1451
+
1452
+ # Error associated with the action.
1453
+ # @return [Error, nil]
1454
+ resource_accessor :error, Error
1455
+ # Result of the action.
1456
+ # @return [Result, nil]
1457
+ resource_accessor :result, Result
1458
+ # ID of the action attempt.
1459
+ # @return [String]
1460
+ attr_accessor :action_attempt_id
1461
+ # Deleting an access code is pending.
1462
+ # @return [String]
1463
+ # Known values:
1464
+ # - `DELETE_ACCESS_CODE`
1465
+ attr_accessor :action_type
1466
+ # @return [String]
1467
+ # Known values:
1468
+ # - `success`
1469
+ # - `pending`
1470
+ # - `error`
1471
+ attr_accessor :status
1472
+ end
1473
+
1474
+ class UpdateAccessCode < ActionAttempt
1475
+ class Error < BaseResource
1476
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1477
+ # @return [String]
1478
+ attr_accessor :message
1479
+ # Type of the error.
1480
+ # @return [String]
1481
+ attr_accessor :type
1482
+ end
1483
+
1484
+ class Result < BaseResource
1485
+ # Updated access code.
1486
+ # @return [Hash, nil]
1487
+ attr_accessor :access_code
1488
+ end
1489
+
1490
+ # Error associated with the action.
1491
+ # @return [Error, nil]
1492
+ resource_accessor :error, Error
1493
+ # Result of the action.
1494
+ # @return [Result, nil]
1495
+ resource_accessor :result, Result
1496
+ # ID of the action attempt.
1497
+ # @return [String]
1498
+ attr_accessor :action_attempt_id
1499
+ # Updating an access code is pending.
1500
+ # @return [String]
1501
+ # Known values:
1502
+ # - `UPDATE_ACCESS_CODE`
1503
+ attr_accessor :action_type
1504
+ # @return [String]
1505
+ # Known values:
1506
+ # - `success`
1507
+ # - `pending`
1508
+ # - `error`
1509
+ attr_accessor :status
1510
+ end
1511
+
1512
+ class CreateNoiseThreshold < ActionAttempt
1513
+ class Error < BaseResource
1514
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1515
+ # @return [String]
1516
+ attr_accessor :message
1517
+ # Type of the error.
1518
+ # @return [String]
1519
+ attr_accessor :type
1520
+ end
1521
+
1522
+ class Result < BaseResource
1523
+ # Created noise threshold.
1524
+ # @return [Hash]
1525
+ attr_accessor :noise_threshold
1526
+ end
1527
+
1528
+ # Error associated with the action.
1529
+ # @return [Error, nil]
1530
+ resource_accessor :error, Error
1531
+ # Result of the action.
1532
+ # @return [Result, nil]
1533
+ resource_accessor :result, Result
1534
+ # ID of the action attempt.
1535
+ # @return [String]
1536
+ attr_accessor :action_attempt_id
1537
+ # Creating a noise threshold is pending.
1538
+ # @return [String]
1539
+ # Known values:
1540
+ # - `CREATE_NOISE_THRESHOLD`
1541
+ attr_accessor :action_type
1542
+ # @return [String]
1543
+ # Known values:
1544
+ # - `success`
1545
+ # - `pending`
1546
+ # - `error`
1547
+ attr_accessor :status
1548
+ end
1549
+
1550
+ class DeleteNoiseThreshold < ActionAttempt
1551
+ class Error < BaseResource
1552
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1553
+ # @return [String]
1554
+ attr_accessor :message
1555
+ # Type of the error.
1556
+ # @return [String]
1557
+ attr_accessor :type
1558
+ end
1559
+
1560
+ class Result < BaseResource
1561
+ end
1562
+
1563
+ # Error associated with the action.
1564
+ # @return [Error, nil]
1565
+ resource_accessor :error, Error
1566
+ # Result of the action.
1567
+ # @return [Result, nil]
1568
+ resource_accessor :result, Result
1569
+ # ID of the action attempt.
1570
+ # @return [String]
1571
+ attr_accessor :action_attempt_id
1572
+ # Deleting a noise threshold is pending.
1573
+ # @return [String]
1574
+ # Known values:
1575
+ # - `DELETE_NOISE_THRESHOLD`
1576
+ attr_accessor :action_type
1577
+ # @return [String]
1578
+ # Known values:
1579
+ # - `success`
1580
+ # - `pending`
1581
+ # - `error`
1582
+ attr_accessor :status
1583
+ end
1584
+
1585
+ class UpdateNoiseThreshold < ActionAttempt
1586
+ class Error < BaseResource
1587
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1588
+ # @return [String]
1589
+ attr_accessor :message
1590
+ # Type of the error.
1591
+ # @return [String]
1592
+ attr_accessor :type
1593
+ end
1594
+
1595
+ class Result < BaseResource
1596
+ # Updated noise threshold.
1597
+ # @return [Hash]
1598
+ attr_accessor :noise_threshold
1599
+ end
1600
+
1601
+ # Error associated with the action.
1602
+ # @return [Error, nil]
1603
+ resource_accessor :error, Error
1604
+ # Result of the action.
1605
+ # @return [Result, nil]
1606
+ resource_accessor :result, Result
1607
+ # ID of the action attempt.
1608
+ # @return [String]
1609
+ attr_accessor :action_attempt_id
1610
+ # Updating a noise threshold is pending.
1611
+ # @return [String]
1612
+ # Known values:
1613
+ # - `UPDATE_NOISE_THRESHOLD`
1614
+ attr_accessor :action_type
1615
+ # @return [String]
1616
+ # Known values:
1617
+ # - `success`
1618
+ # - `pending`
1619
+ # - `error`
1620
+ attr_accessor :status
493
1621
  end
494
1622
 
495
1623
  # Error associated with the action.
496
- # @return [Error]
1624
+ # @return [Error, nil]
497
1625
  resource_accessor :error, Error
498
- # @return [Result]
1626
+ # @return [Result, nil]
499
1627
  resource_accessor :result, Result
500
1628
  # ID of the action attempt.
501
1629
  # @return [String]
502
1630
  attr_accessor :action_attempt_id
503
1631
  # @return [String]
1632
+ # Known values:
1633
+ # - `LOCK_DOOR`
1634
+ # - `UNLOCK_DOOR`
1635
+ # - `SCAN_CREDENTIAL`
1636
+ # - `ENCODE_CREDENTIAL`
1637
+ # - `SCAN_TO_ASSIGN_CREDENTIAL`
1638
+ # - `ASSIGN_CREDENTIAL`
1639
+ # - `RESET_SANDBOX_WORKSPACE`
1640
+ # - `SET_FAN_MODE`
1641
+ # - `SET_HVAC_MODE`
1642
+ # - `ACTIVATE_CLIMATE_PRESET`
1643
+ # - `SIMULATE_KEYPAD_CODE_ENTRY`
1644
+ # - `SIMULATE_MANUAL_LOCK_VIA_KEYPAD`
1645
+ # - `PUSH_THERMOSTAT_PROGRAMS`
1646
+ # - `CONFIGURE_AUTO_LOCK`
1647
+ # - `SYNC_ACCESS_CODES`
1648
+ # - `CREATE_ACCESS_CODE`
1649
+ # - `DELETE_ACCESS_CODE`
1650
+ # - `UPDATE_ACCESS_CODE`
1651
+ # - `CREATE_NOISE_THRESHOLD`
1652
+ # - `DELETE_NOISE_THRESHOLD`
1653
+ # - `UPDATE_NOISE_THRESHOLD`
504
1654
  attr_accessor :action_type
505
1655
  # @return [String]
1656
+ # Known values:
1657
+ # - `success`
1658
+ # - `pending`
1659
+ # - `error`
506
1660
  attr_accessor :status
1661
+
1662
+ discriminated_by :action_type, {
1663
+ "LOCK_DOOR" => LockDoor,
1664
+ "UNLOCK_DOOR" => UnlockDoor,
1665
+ "SCAN_CREDENTIAL" => ScanCredential,
1666
+ "ENCODE_CREDENTIAL" => EncodeCredential,
1667
+ "SCAN_TO_ASSIGN_CREDENTIAL" => ScanToAssignCredential,
1668
+ "ASSIGN_CREDENTIAL" => AssignCredential,
1669
+ "RESET_SANDBOX_WORKSPACE" => ResetSandboxWorkspace,
1670
+ "SET_FAN_MODE" => SetFanMode,
1671
+ "SET_HVAC_MODE" => SetHvacMode,
1672
+ "ACTIVATE_CLIMATE_PRESET" => ActivateClimatePreset,
1673
+ "SIMULATE_KEYPAD_CODE_ENTRY" => SimulateKeypadCodeEntry,
1674
+ "SIMULATE_MANUAL_LOCK_VIA_KEYPAD" => SimulateManualLockViaKeypad,
1675
+ "PUSH_THERMOSTAT_PROGRAMS" => PushThermostatPrograms,
1676
+ "CONFIGURE_AUTO_LOCK" => ConfigureAutoLock,
1677
+ "SYNC_ACCESS_CODES" => SyncAccessCodes,
1678
+ "CREATE_ACCESS_CODE" => CreateAccessCode,
1679
+ "DELETE_ACCESS_CODE" => DeleteAccessCode,
1680
+ "UPDATE_ACCESS_CODE" => UpdateAccessCode,
1681
+ "CREATE_NOISE_THRESHOLD" => CreateNoiseThreshold,
1682
+ "DELETE_NOISE_THRESHOLD" => DeleteNoiseThreshold,
1683
+ "UPDATE_NOISE_THRESHOLD" => UpdateNoiseThreshold
1684
+ }.freeze
507
1685
  end
508
1686
  end
509
1687
  end