seam 2.139.0 → 2.141.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +69 -66
  3. data/README.md +86 -0
  4. data/lib/seam/http_without_workspace.rb +4 -4
  5. data/lib/seam/null.rb +23 -0
  6. data/lib/seam/paginator.rb +4 -1
  7. data/lib/seam/request.rb +49 -1
  8. data/lib/seam/resources/access_code.rb +74 -0
  9. data/lib/seam/resources/access_grant.rb +60 -0
  10. data/lib/seam/resources/access_method.rb +39 -0
  11. data/lib/seam/resources/acs_access_group.rb +45 -0
  12. data/lib/seam/resources/acs_credential.rb +67 -0
  13. data/lib/seam/resources/acs_encoder.rb +11 -0
  14. data/lib/seam/resources/acs_entrance.rb +95 -0
  15. data/lib/seam/resources/acs_system.rb +36 -0
  16. data/lib/seam/resources/acs_user.rb +66 -0
  17. data/lib/seam/resources/action_attempt.rb +192 -0
  18. data/lib/seam/resources/batch.rb +24 -0
  19. data/lib/seam/resources/client_session.rb +12 -0
  20. data/lib/seam/resources/connect_webview.rb +19 -0
  21. data/lib/seam/resources/connected_account.rb +50 -0
  22. data/lib/seam/resources/customer_portal.rb +5 -0
  23. data/lib/seam/resources/device.rb +622 -4
  24. data/lib/seam/resources/device_provider.rb +24 -0
  25. data/lib/seam/resources/event.rb +142 -3
  26. data/lib/seam/resources/instant_key.rb +13 -0
  27. data/lib/seam/resources/noise_threshold.rb +7 -0
  28. data/lib/seam/resources/pagination.rb +3 -0
  29. data/lib/seam/resources/phone.rb +29 -0
  30. data/lib/seam/resources/space.rb +19 -0
  31. data/lib/seam/resources/thermostat_daily_program.rb +9 -0
  32. data/lib/seam/resources/thermostat_schedule.rb +15 -0
  33. data/lib/seam/resources/unmanaged_access_code.rb +51 -0
  34. data/lib/seam/resources/unmanaged_access_grant.rb +56 -0
  35. data/lib/seam/resources/unmanaged_access_method.rb +36 -0
  36. data/lib/seam/resources/unmanaged_device.rb +80 -0
  37. data/lib/seam/resources/unmanaged_user_identity.rb +20 -0
  38. data/lib/seam/resources/user_identity.rb +21 -0
  39. data/lib/seam/resources/webhook.rb +4 -0
  40. data/lib/seam/resources/workspace.rb +15 -0
  41. data/lib/seam/routes/access_codes.rb +79 -79
  42. data/lib/seam/routes/access_codes_simulate.rb +3 -3
  43. data/lib/seam/routes/access_codes_unmanaged.rb +27 -23
  44. data/lib/seam/routes/access_grants.rb +57 -45
  45. data/lib/seam/routes/access_grants_unmanaged.rb +13 -13
  46. data/lib/seam/routes/access_methods.rb +32 -24
  47. data/lib/seam/routes/access_methods_unmanaged.rb +7 -7
  48. data/lib/seam/routes/acs_access_groups.rb +21 -21
  49. data/lib/seam/routes/acs_credentials.rb +40 -40
  50. data/lib/seam/routes/acs_encoders.rb +16 -16
  51. data/lib/seam/routes/acs_encoders_simulate.rb +11 -11
  52. data/lib/seam/routes/acs_entrances.rb +20 -20
  53. data/lib/seam/routes/acs_systems.rb +11 -11
  54. data/lib/seam/routes/acs_users.rb +83 -55
  55. data/lib/seam/routes/action_attempts.rb +6 -6
  56. data/lib/seam/routes/client_sessions.rb +38 -34
  57. data/lib/seam/routes/connect_webviews.rb +20 -20
  58. data/lib/seam/routes/connected_accounts.rb +24 -20
  59. data/lib/seam/routes/connected_accounts_simulate.rb +1 -1
  60. data/lib/seam/routes/customers.rb +50 -50
  61. data/lib/seam/routes/devices.rb +33 -29
  62. data/lib/seam/routes/devices_simulate.rb +7 -7
  63. data/lib/seam/routes/devices_unmanaged.rb +25 -26
  64. data/lib/seam/routes/events.rb +40 -32
  65. data/lib/seam/routes/instant_keys.rb +11 -7
  66. data/lib/seam/routes/locks.rb +20 -27
  67. data/lib/seam/routes/locks_simulate.rb +3 -3
  68. data/lib/seam/routes/noise_sensors.rb +8 -19
  69. data/lib/seam/routes/noise_sensors_noise_thresholds.rb +21 -21
  70. data/lib/seam/routes/noise_sensors_simulate.rb +1 -1
  71. data/lib/seam/routes/phones.rb +7 -7
  72. data/lib/seam/routes/phones_simulate.rb +4 -4
  73. data/lib/seam/routes/spaces.rb +53 -45
  74. data/lib/seam/routes/thermostats.rb +75 -86
  75. data/lib/seam/routes/thermostats_daily_programs.rb +9 -9
  76. data/lib/seam/routes/thermostats_schedules.rb +22 -22
  77. data/lib/seam/routes/thermostats_simulate.rb +9 -9
  78. data/lib/seam/routes/user_identities.rb +50 -46
  79. data/lib/seam/routes/user_identities_unmanaged.rb +11 -11
  80. data/lib/seam/routes/webhooks.rb +10 -10
  81. data/lib/seam/routes/workspaces.rb +19 -19
  82. data/lib/seam/strict_url_search_params_serializer.rb +17 -0
  83. data/lib/seam/url_search_params.rb +102 -0
  84. data/lib/seam/url_search_params_serializer.rb +217 -0
  85. data/lib/seam/version.rb +1 -1
  86. data/lib/seam.rb +3 -0
  87. metadata +12 -11
@@ -6,7 +6,9 @@ module Seam
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
+ # @return [String]
9
10
  attr_accessor :message
11
+ # @return [String]
10
12
  attr_accessor :type
11
13
  end
12
14
 
@@ -14,303 +16,493 @@ module Seam
14
16
  class AcsCredentialOnEncoder < BaseResource
15
17
  class VisionlineMetadata < BaseResource
16
18
  # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is cancelled.
19
+ # @return [Boolean, nil]
17
20
  attr_accessor :cancelled
18
21
  # Format of the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
22
+ # @return [String, nil]
19
23
  attr_accessor :card_format
20
24
  # Holder of the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
25
+ # @return [String, nil]
21
26
  attr_accessor :card_holder
22
27
  # Card ID for the Visionline card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
28
+ # @return [String, nil]
23
29
  attr_accessor :card_id
24
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>]
25
32
  attr_accessor :common_acs_entrance_ids
26
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]
27
35
  attr_accessor :discarded
28
36
  # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is expired.
37
+ # @return [Boolean, nil]
29
38
  attr_accessor :expired
30
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>]
31
41
  attr_accessor :guest_acs_entrance_ids
32
42
  # Number of issued cards associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
43
+ # @return [Float, nil]
33
44
  attr_accessor :number_of_issued_cards
34
45
  # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is overridden.
46
+ # @return [Boolean, nil]
35
47
  attr_accessor :overridden
36
48
  # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is overwritten.
49
+ # @return [Boolean, nil]
37
50
  attr_accessor :overwritten
38
51
  # Indicates whether the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) is pending auto-update.
52
+ # @return [Boolean, nil]
39
53
  attr_accessor :pending_auto_update
40
54
  end
41
55
 
56
+ # Visionline-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
57
+ # @return [VisionlineMetadata, nil]
42
58
  resource_accessor :visionline_metadata, VisionlineMetadata
43
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]
44
61
  attr_accessor :card_number
45
62
  # Indicates whether the credential has been issued (encoded onto a card).
63
+ # @return [Boolean, nil]
46
64
  attr_accessor :is_issued
47
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]
48
67
  date_accessor :created_at
49
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]
50
70
  date_accessor :ends_at
51
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]
52
73
  date_accessor :starts_at
53
74
  end
54
75
 
55
76
  class AcsCredentialOnSeam < BaseResource
77
+ class AkilesMetadata < BaseResource
78
+ # ID of the Akiles member PIN.
79
+ # @return [String, nil]
80
+ attr_accessor :member_pin_id
81
+ end
82
+
56
83
  class AssaAbloyVostioMetadata < BaseResource
57
84
  # 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.
85
+ # @return [Boolean, nil]
58
86
  attr_accessor :auto_join
59
87
  # Names of the doors to which to grant access in the Vostio access system.
88
+ # @return [Array<String>]
60
89
  attr_accessor :door_names
61
90
  # Endpoint ID in the Vostio access system.
91
+ # @return [String, nil]
62
92
  attr_accessor :endpoint_id
63
93
  # Key ID in the Vostio access system.
94
+ # @return [String, nil]
64
95
  attr_accessor :key_id
65
96
  # Key issuing request ID in the Vostio access system.
97
+ # @return [String, nil]
66
98
  attr_accessor :key_issuing_request_id
67
99
  # IDs of the guest entrances to override in the Vostio access system.
100
+ # @return [Array<String>]
68
101
  attr_accessor :override_guest_acs_entrance_ids
69
102
  end
70
103
 
71
104
  class Errors < BaseResource
105
+ # @return [String]
72
106
  attr_accessor :error_code
107
+ # @return [String]
73
108
  attr_accessor :message
74
109
  # Date and time at which Seam created the error.
110
+ # @return [Time]
75
111
  date_accessor :created_at
76
112
  end
77
113
 
78
114
  class VisionlineMetadata < BaseResource
79
115
  # 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.
116
+ # @return [Boolean, nil]
80
117
  attr_accessor :auto_join
81
118
  # Card function type in the Visionline access system.
119
+ # @return [String, nil]
82
120
  attr_accessor :card_function_type
83
121
  # ID of the card in the Visionline access system.
122
+ # @return [String, nil]
84
123
  attr_accessor :card_id
85
124
  # Common entrance IDs in the Visionline access system.
125
+ # @return [Array<String>]
86
126
  attr_accessor :common_acs_entrance_ids
87
127
  # ID of the credential in the Visionline access system.
128
+ # @return [String, nil]
88
129
  attr_accessor :credential_id
89
130
  # Guest entrance IDs in the Visionline access system.
131
+ # @return [Array<String>]
90
132
  attr_accessor :guest_acs_entrance_ids
91
133
  # Indicates whether the credential is valid.
134
+ # @return [Boolean, nil]
92
135
  attr_accessor :is_valid
93
136
  # IDs of the credentials to which you want to join.
137
+ # @return [Array<String>]
94
138
  attr_accessor :joiner_acs_credential_ids
95
139
  end
96
140
 
97
141
  class Warnings < BaseResource
98
142
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
143
+ # @return [String]
99
144
  attr_accessor :message
100
145
  # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
146
+ # @return [String]
101
147
  attr_accessor :warning_code
148
+ # The PIN code that was assigned instead.
149
+ # @return [String, nil]
150
+ attr_accessor :new_code
151
+ # The originally requested PIN code that could not be used.
152
+ # @return [String, nil]
153
+ attr_accessor :original_code
102
154
  # Date and time at which Seam created the warning.
155
+ # @return [Time]
103
156
  date_accessor :created_at
104
157
  end
105
158
 
159
+ # Akiles-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
160
+ # @return [AkilesMetadata, nil]
161
+ resource_accessor :akiles_metadata, AkilesMetadata
162
+ # Vostio-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
163
+ # @return [AssaAbloyVostioMetadata, nil]
106
164
  resource_accessor :assa_abloy_vostio_metadata, AssaAbloyVostioMetadata
165
+ # Visionline-specific metadata for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
166
+ # @return [VisionlineMetadata, nil]
107
167
  resource_accessor :visionline_metadata, VisionlineMetadata
168
+ # Errors associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
169
+ # @return [Array<Errors>]
108
170
  resource_list_accessor :errors, Errors
171
+ # Warnings associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
172
+ # @return [Array<Warnings>]
109
173
  resource_list_accessor :warnings, Warnings
110
174
  # 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
+ # @return [String]
111
176
  attr_accessor :access_method
112
177
  # ID of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
178
+ # @return [String]
113
179
  attr_accessor :acs_credential_id
114
180
  # ID of the credential pool to which the credential belongs.
181
+ # @return [String, nil]
115
182
  attr_accessor :acs_credential_pool_id
116
183
  # 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).
184
+ # @return [String]
117
185
  attr_accessor :acs_system_id
118
186
  # 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.
187
+ # @return [String, nil]
119
188
  attr_accessor :acs_user_id
120
189
  # Number of the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
190
+ # @return [String, nil]
121
191
  attr_accessor :card_number
122
192
  # Access (PIN) code for the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
193
+ # @return [String, nil]
123
194
  attr_accessor :code
124
195
  # 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.
196
+ # @return [String]
125
197
  attr_accessor :connected_account_id
126
198
  # Display name that corresponds to the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) type.
199
+ # @return [String]
127
200
  attr_accessor :display_name
128
201
  # 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`.
202
+ # @return [String, nil]
129
203
  attr_accessor :ends_at
130
204
  # 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
+ # @return [String, nil]
131
206
  attr_accessor :external_type
132
207
  # 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
+ # @return [String, nil]
133
209
  attr_accessor :external_type_display_name
134
210
  # Indicates whether the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) has been encoded onto a card.
211
+ # @return [Boolean, nil]
135
212
  attr_accessor :is_issued
136
213
  # 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.
214
+ # @return [Boolean, nil]
137
215
  attr_accessor :is_latest_desired_state_synced_with_provider
216
+ # @return [Boolean]
138
217
  attr_accessor :is_managed
139
218
  # 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).
219
+ # @return [Boolean, nil]
140
220
  attr_accessor :is_multi_phone_sync_credential
141
221
  # 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.
222
+ # @return [Boolean, nil]
142
223
  attr_accessor :is_one_time_use
143
224
  # ID of the parent [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
225
+ # @return [String, nil]
144
226
  attr_accessor :parent_acs_credential_id
145
227
  # 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.
228
+ # @return [String, nil]
146
229
  attr_accessor :starts_at
147
230
  # 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.
231
+ # @return [String, nil]
148
232
  attr_accessor :user_identity_id
149
233
  # ID of the workspace that contains the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
234
+ # @return [String]
150
235
  attr_accessor :workspace_id
151
236
  # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was created.
237
+ # @return [Time]
152
238
  date_accessor :created_at
153
239
  # Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was encoded onto a card.
240
+ # @return [Time, nil]
154
241
  date_accessor :issued_at
155
242
  # 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.
243
+ # @return [Time, nil]
156
244
  date_accessor :latest_desired_state_synced_with_provider_at
157
245
  end
158
246
 
247
+ class AkilesMetadata < BaseResource
248
+ # ID of the Akiles member PIN.
249
+ # @return [String, nil]
250
+ attr_accessor :member_pin_id
251
+ end
252
+
159
253
  class AssaAbloyVostioMetadata < BaseResource
160
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]
161
256
  attr_accessor :auto_join
162
257
  # Names of the doors to which to grant access in the Vostio access system.
258
+ # @return [Array<String>]
163
259
  attr_accessor :door_names
164
260
  # Endpoint ID in the Vostio access system.
261
+ # @return [String, nil]
165
262
  attr_accessor :endpoint_id
166
263
  # Key ID in the Vostio access system.
264
+ # @return [String, nil]
167
265
  attr_accessor :key_id
168
266
  # Key issuing request ID in the Vostio access system.
267
+ # @return [String, nil]
169
268
  attr_accessor :key_issuing_request_id
170
269
  # IDs of the guest entrances to override in the Vostio access system.
270
+ # @return [Array<String>]
171
271
  attr_accessor :override_guest_acs_entrance_ids
172
272
  end
173
273
 
174
274
  class Errors < BaseResource
175
275
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
276
+ # @return [String]
176
277
  attr_accessor :error_code
177
278
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
279
+ # @return [String]
178
280
  attr_accessor :message
179
281
  # Date and time at which Seam created the error.
282
+ # @return [Time]
180
283
  date_accessor :created_at
181
284
  end
182
285
 
183
286
  class PendingMutations < BaseResource
184
287
  class From < BaseResource
185
288
  # Previous end time for access.
289
+ # @return [Time, nil]
186
290
  date_accessor :ends_at
187
291
  # Previous start time for access.
292
+ # @return [Time, nil]
188
293
  date_accessor :starts_at
189
294
  end
190
295
 
191
296
  class To < BaseResource
192
297
  # New end time for access.
298
+ # @return [Time, nil]
193
299
  date_accessor :ends_at
194
300
  # New start time for access.
301
+ # @return [Time, nil]
195
302
  date_accessor :starts_at
196
303
  end
197
304
 
305
+ # Previous access time configuration.
306
+ # @return [From]
198
307
  resource_accessor :from, From
308
+ # New access time configuration.
309
+ # @return [To]
199
310
  resource_accessor :to, To
200
311
  # Detailed description of the mutation.
312
+ # @return [String]
201
313
  attr_accessor :message
202
314
  # Mutation code to indicate that Seam is in the process of updating the access times for this access method.
315
+ # @return [String]
203
316
  attr_accessor :mutation_code
204
317
  # Date and time at which the mutation was created.
318
+ # @return [Time]
205
319
  date_accessor :created_at
206
320
  end
207
321
 
208
322
  class VisionlineMetadata < BaseResource
209
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]
210
325
  attr_accessor :auto_join
211
326
  # Card function type in the Visionline access system.
327
+ # @return [String, nil]
212
328
  attr_accessor :card_function_type
213
329
  # ID of the card in the Visionline access system.
330
+ # @return [String, nil]
214
331
  attr_accessor :card_id
215
332
  # Common entrance IDs in the Visionline access system.
333
+ # @return [Array<String>]
216
334
  attr_accessor :common_acs_entrance_ids
217
335
  # ID of the credential in the Visionline access system.
336
+ # @return [String, nil]
218
337
  attr_accessor :credential_id
219
338
  # Guest entrance IDs in the Visionline access system.
339
+ # @return [Array<String>]
220
340
  attr_accessor :guest_acs_entrance_ids
221
341
  # Indicates whether the credential is valid.
342
+ # @return [Boolean, nil]
222
343
  attr_accessor :is_valid
223
344
  # IDs of the credentials to which you want to join.
345
+ # @return [Array<String>]
224
346
  attr_accessor :joiner_acs_credential_ids
225
347
  end
226
348
 
227
349
  class Warnings < BaseResource
228
350
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
351
+ # @return [String]
229
352
  attr_accessor :message
353
+ # The PIN code that was assigned instead.
354
+ # @return [String, nil]
355
+ attr_accessor :new_code
230
356
  # ID of the original access method from which this backup access method was split, if applicable.
357
+ # @return [String, nil]
231
358
  attr_accessor :original_access_method_id
359
+ # The originally requested PIN code that could not be used.
360
+ # @return [String, nil]
361
+ attr_accessor :original_code
362
+ # @return [String]
232
363
  attr_accessor :warning_code
233
364
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
365
+ # @return [String]
234
366
  attr_accessor :warning_message
235
367
  # Date and time at which Seam created the warning.
368
+ # @return [Time]
236
369
  date_accessor :created_at
237
370
  end
238
371
 
372
+ # Snapshot of credential data read from the physical encoder.
373
+ # @return [AcsCredentialOnEncoder, nil]
239
374
  resource_accessor :acs_credential_on_encoder, AcsCredentialOnEncoder
375
+ # Corresponding credential data as stored on Seam and the access system.
376
+ # @return [AcsCredentialOnSeam, nil]
240
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]
241
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]
242
386
  resource_accessor :visionline_metadata, VisionlineMetadata
387
+ # @return [Array<Errors>]
243
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>]
244
391
  resource_list_accessor :pending_mutations, PendingMutations
392
+ # @return [Array<Warnings>]
245
393
  resource_list_accessor :warnings, Warnings
394
+ # @return [Hash, nil]
395
+ attr_accessor :access_code
246
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]
247
398
  attr_accessor :access_method
248
399
  # ID of the access method.
400
+ # @return [String]
249
401
  attr_accessor :access_method_id
250
402
  # ID of the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
403
+ # @return [String]
251
404
  attr_accessor :acs_credential_id
252
405
  # ID of the credential pool to which the credential belongs.
406
+ # @return [String, nil]
253
407
  attr_accessor :acs_credential_pool_id
254
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]
255
410
  attr_accessor :acs_system_id
256
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]
257
413
  attr_accessor :acs_user_id
258
414
  # Number of the card associated with the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
415
+ # @return [String, nil]
259
416
  attr_accessor :card_number
260
417
  # Token of the client session associated with the access method.
418
+ # @return [String, nil]
261
419
  attr_accessor :client_session_token
420
+ # @return [String, nil]
262
421
  attr_accessor :code
263
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]
264
424
  attr_accessor :connected_account_id
265
425
  # ID of the customization profile associated with the access method.
426
+ # @return [String, nil]
266
427
  attr_accessor :customization_profile_id
428
+ # @return [String]
267
429
  attr_accessor :display_name
268
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]
269
432
  attr_accessor :ends_at
270
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]
271
435
  attr_accessor :external_type
272
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]
273
438
  attr_accessor :external_type_display_name
274
439
  # URL of the Instant Key for mobile key access methods.
440
+ # @return [String, nil]
275
441
  attr_accessor :instant_key_url
276
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]
277
444
  attr_accessor :is_assignment_required
278
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]
279
447
  attr_accessor :is_encoding_required
448
+ # @return [Boolean, nil]
280
449
  attr_accessor :is_issued
281
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]
282
452
  attr_accessor :is_latest_desired_state_synced_with_provider
283
453
  # Indicates whether Seam manages the credential.
454
+ # @return [Boolean]
284
455
  attr_accessor :is_managed
285
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]
286
458
  attr_accessor :is_multi_phone_sync_credential
287
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]
288
461
  attr_accessor :is_one_time_use
289
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]
290
464
  attr_accessor :is_ready_for_assignment
291
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]
292
467
  attr_accessor :is_ready_for_encoding
293
468
  # Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
469
+ # @return [String]
294
470
  attr_accessor :mode
471
+ # @return [Hash]
472
+ attr_accessor :noise_threshold
295
473
  # ID of the parent [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).
474
+ # @return [String, nil]
296
475
  attr_accessor :parent_acs_credential_id
297
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]
298
478
  attr_accessor :starts_at
299
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]
300
481
  attr_accessor :user_identity_id
482
+ # @return [Boolean, nil]
301
483
  attr_accessor :was_confirmed_by_device
484
+ # @return [String]
302
485
  attr_accessor :workspace_id
486
+ # @return [Time]
303
487
  date_accessor :created_at
488
+ # @return [Time, nil]
304
489
  date_accessor :issued_at
305
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]
306
492
  date_accessor :latest_desired_state_synced_with_provider_at
307
493
  end
308
494
 
495
+ # Error associated with the action.
496
+ # @return [Error]
309
497
  resource_accessor :error, Error
498
+ # @return [Result]
310
499
  resource_accessor :result, Result
311
500
  # ID of the action attempt.
501
+ # @return [String]
312
502
  attr_accessor :action_attempt_id
503
+ # @return [String]
313
504
  attr_accessor :action_type
505
+ # @return [String]
314
506
  attr_accessor :status
315
507
  end
316
508
  end
@@ -13,16 +13,20 @@ module Seam
13
13
  # In addition, for certain devices, Seam also supports [offline access codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes#offline-access-codes). Offline access (PIN) codes are designed for door locks that might not always maintain an internet connection. For this type of access code, the device manufacturer uses encryption keys (tokens) to create server-based registries of algorithmically-generated offline PIN codes. Because the tokens remain synchronized with the managed devices, the locks do not require an active internet connection—and you do not need to be near the locks—to create an offline access code. Then, owners or managers can share these offline codes with users through a variety of mechanisms, such as messaging applications. That is, lock users do not need to install a smartphone application to receive an offline access code.
14
14
  #
15
15
  # For granting a person access to a space, [Access Grants](https://docs.seam.co/use-cases/granting-access) are the default and recommended approach and work across both standalone smart locks and access systems. Use the lower-level Access Codes API directly only when you specifically need to manage individual PIN codes.
16
+ # @return [Hash, nil]
16
17
  attr_accessor :access_codes
17
18
  # Represents an Access Grant. Access Grants enable you to grant a user identity access to spaces, entrances, and devices through one or more access methods, such as mobile keys, plastic cards, and PIN codes. You can create an Access Grant for an existing user identity, or you can create a new user identity *while* creating the new Access Grant.
19
+ # @return [Hash, nil]
18
20
  attr_accessor :access_grants
19
21
  # Represents an access method for an Access Grant. Access methods describe the modes of access, such as PIN codes, plastic cards, and mobile keys. For a mobile key, the access method also stores the URL for the associated Instant Key.
22
+ # @return [Hash, nil]
20
23
  attr_accessor :access_methods
21
24
  # Group that defines the entrances to which a set of users has access and, in some cases, the access schedule for these entrances and users.
22
25
  #
23
26
  # Some access control systems use [access group](https://docs.seam.co/low-level-apis/access-systems/user-management/assigning-users-to-access-groups), which are sets of users, combined with sets of permissions. These permissions include both the set of areas or assets that the users can access and the schedule during which the users can access these areas or assets. Instead of assigning access rights individually to each access control system user, which can be time-consuming and error-prone, administrators can assign users to an access group, thereby ensuring that the users inherit all the permissions associated with the access group. Using access groups streamlines the process of managing large numbers of access control system users, especially in bigger organizations or complexes.
24
27
  #
25
28
  # To learn whether your access control system supports access groups, see the corresponding [system integration guide](https://docs.seam.co/device-and-system-integration-guides#access-control-systems).
29
+ # @return [Hash, nil]
26
30
  attr_accessor :acs_access_groups
27
31
  # Means by which an [access control system user](https://docs.seam.co/low-level-apis/access-systems/user-management) gains access at an [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details). The `acs_credential` object represents a [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) that provides an ACS user access within an [access control system](https://docs.seam.co/low-level-apis/access-systems).
28
32
  #
@@ -31,6 +35,7 @@ module Seam
31
35
  # For each `acs_credential`, you define the access method. You can also specify additional properties, such as a PIN code, depending on the credential type.
32
36
  #
33
37
  # For granting a person access to a space, [Access Grants](https://docs.seam.co/use-cases/granting-access) are the default and recommended approach. Use the lower-level ACS credential API directly only when you specifically need to manage individual credentials.
38
+ # @return [Hash, nil]
34
39
  attr_accessor :acs_credentials
35
40
  # Represents a hardware device that encodes [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) data onto physical cards within an [access control system](https://docs.seam.co/low-level-apis/access-systems).
36
41
  #
@@ -46,28 +51,33 @@ module Seam
46
51
  # See [Working with Card Encoders and Scanners](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners).
47
52
  #
48
53
  # To verify if your access control system requires a card encoder, see the corresponding [system integration guide](https://docs.seam.co/device-and-system-integration-guides#access-control-systems).
54
+ # @return [Hash, nil]
49
55
  attr_accessor :acs_encoders
50
56
  # Represents an [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details) within an [access control system](https://docs.seam.co/low-level-apis/access-systems).
51
57
  #
52
58
  # In an access control system, an entrance is a secured door, gate, zone, or other method of entry. You can list details for all the `acs_entrance` resources in your workspace or get these details for a specific `acs_entrance`. You can also list all entrances associated with a specific credential, and you can list all credentials associated with a specific entrance.
59
+ # @return [Hash, nil]
53
60
  attr_accessor :acs_entrances
54
61
  # Represents an [access control system](https://docs.seam.co/low-level-apis/access-systems).
55
62
  #
56
63
  # Within an `acs_system`, create [`acs_user`s](https://docs.seam.co/api/acs/users/object) and [`acs_credential`s](https://docs.seam.co/api/acs/credentials/object) to grant access to the `acs_user`s.
57
64
  #
58
65
  # For details about the resources associated with an access control system, see the [access control systems namespace](https://docs.seam.co/api/acs).
66
+ # @return [Hash, nil]
59
67
  attr_accessor :acs_systems
60
68
  # Represents a [user](https://docs.seam.co/low-level-apis/access-systems/user-management) in an [access system](https://docs.seam.co/low-level-apis/access-systems).
61
69
  #
62
70
  # An access system user typically refers to an individual who requires access, like an employee or resident. Each user can possess multiple credentials that serve as their keys or identifiers for access. The type of credential can vary widely. For example, in the Salto system, a user can have a PIN code, a mobile app account, and a fob. In other platforms, it is not uncommon for a user to have more than one of the same credential type, such as multiple key cards. Additionally, these credentials can have a schedule or validity period.
63
71
  #
64
72
  # For details about how to configure users in your access system, see the corresponding [system integration guide](https://docs.seam.co/device-and-system-integration-guides#access-control-systems).
73
+ # @return [Hash, nil]
65
74
  attr_accessor :acs_users
66
75
  # Represents an action attempt that enables you to keep track of the progress of your action that affects a physical device or system.actions against a device. Action attempts are useful because the physical world is intrinsically asynchronous.
67
76
  #
68
77
  # When you request for a device to perform an action, the Seam API immediately returns an action attempt object. In the background, the Seam API performs the action.
69
78
  #
70
79
  # See also [Action Attempts](https://docs.seam.co/core-concepts/action-attempts).
80
+ # @return [Hash, nil]
71
81
  attr_accessor :action_attempts
72
82
  # Represents a [client session](https://docs.seam.co/core-concepts/authentication/client-session-tokens). If you want to restrict your users' access to their own devices, use client sessions.
73
83
  #
@@ -78,6 +88,7 @@ module Seam
78
88
  # A client session has a token that you can use with the Seam JavaScript SDK to make requests from the client (browser) directly to the Seam API. The token restricts the user's access to only the devices that they own.
79
89
  #
80
90
  # See also [Get Started with React](https://docs.seam.co/ui-components/overview/getting-started-with-seam-components/get-started-with-react-components-and-client-session-tokens).
91
+ # @return [Hash, nil]
81
92
  attr_accessor :client_sessions
82
93
  # Represents a [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews).
83
94
  #
@@ -90,26 +101,35 @@ module Seam
90
101
  # When you create a Connect Webview, specify the desired provider category key in the `provider_category` parameter. Alternately, to specify a list of providers explicitly, use the `accepted_providers` parameter with a list of device provider keys.
91
102
  #
92
103
  # To list all providers within a category, use `/devices/list_device_providers` with the desired `provider_category` filter. To list all provider keys, use `/devices/list_device_providers` with no filters.
104
+ # @return [Hash, nil]
93
105
  attr_accessor :connect_webviews
94
106
  # Represents a [connected account](https://docs.seam.co/core-concepts/connected-accounts). A connected account is an external third-party account to which your user has authorized Seam to get access, for example, an August account with a list of door locks.
107
+ # @return [Hash, nil]
95
108
  attr_accessor :connected_accounts
96
109
  # Represents a [device](https://docs.seam.co/core-concepts/devices) that has been connected to Seam.
110
+ # @return [Hash, nil]
97
111
  attr_accessor :devices
98
112
  # Represents an event. Events let you know when something interesting happens in your workspace. For example, when a lock is unlocked, Seam creates a `lock.unlocked` event. When a device's battery level is low, Seam creates a `device.battery_low` event.
99
113
  #
100
114
  # As with other API resources, you can retrieve an individual event or a list of events. Seam also provides a separate webhook system for sending the event objects directly to an endpoint on your sever. Manage webhooks through [Seam Console](https://console.seam.co). You can also use the webhooks sandbox in Seam Console to see the different payloads for each event and test them against your own endpoints.
115
+ # @return [Hash, nil]
101
116
  attr_accessor :events
102
117
  # Represents a Seam Instant Key. For issuing Bluetooth mobile keys, Instant Keys are the fastest way to share access. With a single API call, you can create a mobile key and send it through text or email or embed it in your own app.
103
118
  #
104
119
  # There’s no app to install, nor account to create. Your user just taps a link and gets a lightweight, native-feeling experience using iOS App Clip or Instant Apps on Android. Further, Instant Keys work offline, so even in areas with poor cellular or Wi-Fi, like elevator banks or concrete-walled hallways, the Instant Keys still work.
120
+ # @return [Hash, nil]
105
121
  attr_accessor :instant_keys
106
122
  # Represents a [noise threshold](https://docs.seam.co/capability-guides/noise-sensors/configure-noise-threshold-settings) for a [noise sensor](https://docs.seam.co/capability-guides/noise-sensors). Thresholds represent the limits of noise tolerated at a property, which can be customized for each hour of the day. Each device has its own default thresholds, but you can use the Seam API to modify them.
123
+ # @return [Hash, nil]
107
124
  attr_accessor :noise_thresholds
108
125
  # Represents a space that is a logical grouping of devices and entrances. You can assign access to an entire space, thereby making granting access more efficient.
126
+ # @return [Hash, nil]
109
127
  attr_accessor :spaces
110
128
  # Represents a thermostat daily program, consisting of a set of periods, each of which has a starting time and the key that identifies the climate preset to apply at the starting time.
129
+ # @return [Hash, nil]
111
130
  attr_accessor :thermostat_daily_programs
112
131
  # Represents a [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) that activates a configured [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) on a [thermostat](https://docs.seam.co/capability-guides/thermostats) at a specified starting time and deactivates the climate preset at a specified ending time.
132
+ # @return [Hash, nil]
113
133
  attr_accessor :thermostat_schedules
114
134
  # Represents an [unmanaged smart lock access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes).
115
135
  #
@@ -122,12 +142,16 @@ module Seam
122
142
  # Not all providers support unmanaged access codes. The following providers do not support unmanaged access codes:
123
143
  #
124
144
  # - [Kwikset](https://docs.seam.co/device-and-system-integration-guides/kwikset-locks)
145
+ # @return [Hash, nil]
125
146
  attr_accessor :unmanaged_access_codes
126
147
  # Represents an [unmanaged device](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices). An unmanaged device has a limited set of visible properties and a subset of supported events. You cannot control an unmanaged device. Any [access codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes) on an unmanaged device are unmanaged. To control an unmanaged device with Seam, [convert it to a managed device](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices#convert-an-unmanaged-device-to-managed).
148
+ # @return [Hash, nil]
127
149
  attr_accessor :unmanaged_devices
128
150
  # Represents a [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) associated with an application user account.
151
+ # @return [Hash, nil]
129
152
  attr_accessor :user_identities
130
153
  # Represents a Seam [workspace](https://docs.seam.co/core-concepts/workspaces). A workspace is a top-level entity that encompasses all other resources below it, such as devices, connected accounts, and Connect Webviews. Seam provides two types of workspaces. A [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces) is a special type of workspace designed for testing code. Sandbox workspaces offer test device accounts and virtual devices that you can connect and control. This ability to work with virtual devices is quite handy because it removes the need to own physical devices from multiple brands. To connect real devices and systems to Seam, use a [production workspace](https://docs.seam.co/core-concepts/workspaces#production-workspaces).
154
+ # @return [Hash, nil]
131
155
  attr_accessor :workspaces
132
156
  end
133
157
  end