safetykit 0.7.0 → 0.8.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.
@@ -9,42 +9,42 @@ module SafetyKit
9
9
  include SafetyKit::Internal::Type::RequestParameters
10
10
 
11
11
  # @!attribute body
12
- # Backend event to send to SafetyKit. Send events from your server after an action
13
- # has happened in your product. Do not send these events directly from a browser
14
- # or mobile client.
12
+ # Backend event or ordered batch of events to send to SafetyKit. Send events from
13
+ # your server after an action has happened in your product. Do not send these
14
+ # events directly from a browser or mobile client.
15
15
  #
16
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount]
16
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest, Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount>]
17
17
  required :body, union: -> { SafetyKit::Beta::EventCreateParams::Body }
18
18
 
19
19
  # @!method initialize(body:, request_options: {})
20
20
  # Some parameter documentations has been truncated, see
21
21
  # {SafetyKit::Models::Beta::EventCreateParams} for more details.
22
22
  #
23
- # @param body [SafetyKit::Models::Beta::EventCreateParams::Body::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount] Backend event to send to SafetyKit. Send events from your server after an action
23
+ # @param body [SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest, Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount>] Backend event or ordered batch of events to send to SafetyKit. Send events from
24
24
  #
25
25
  # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
26
26
 
27
- # Backend event to send to SafetyKit. Send events from your server after an action
28
- # has happened in your product. Do not send these events directly from a browser
29
- # or mobile client.
27
+ # Backend event or ordered batch of events to send to SafetyKit. Send events from
28
+ # your server after an action has happened in your product. Do not send these
29
+ # events directly from a browser or mobile client.
30
30
  module Body
31
31
  extend SafetyKit::Internal::Type::Union
32
32
 
33
- discriminator :type
34
-
35
- # A user contacts, transacts with, or otherwise interacts with another user. SafetyKit records both users' perspectives with a shared event_id.
36
- variant :user_contact, -> { SafetyKit::Beta::EventCreateParams::Body::UserContact }
33
+ # A user contacts, transacts with, or otherwise interacts with another user.
34
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest }
37
35
 
38
36
  # A user posts, uploads, publishes, edits, or replaces content.
39
- variant :content_uploaded, -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploaded }
37
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest }
40
38
 
41
39
  # A user or account is created.
42
- variant :create_account, -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccount }
40
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest }
43
41
 
44
42
  # A user or account profile, contact detail, payment detail, or public bio changes.
45
- variant :update_account, -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccount }
43
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest }
44
+
45
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4Array }
46
46
 
47
- class UserContact < SafetyKit::Internal::Type::BaseModel
47
+ class UserContactEventRequest < SafetyKit::Internal::Type::BaseModel
48
48
  # @!attribute counterparty_user_id
49
49
  # Your stable canonical identifier for the other user in a user-to-user
50
50
  # interaction.
@@ -67,8 +67,8 @@ module SafetyKit
67
67
 
68
68
  # @!attribute type
69
69
  #
70
- # @return [Symbol, :user_contact]
71
- required :type, const: :user_contact
70
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Type]
71
+ required :type, enum: -> { SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Type }
72
72
 
73
73
  # @!attribute user_id
74
74
  # Your stable canonical identifier for the user or account.
@@ -81,9 +81,9 @@ module SafetyKit
81
81
  # listing text, image URLs, and similar content SafetyKit should compare or
82
82
  # analyze.
83
83
  #
84
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent>, nil]
84
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent>, nil]
85
85
  optional :content,
86
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UserContact::Content] }
86
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Content] }
87
87
 
88
88
  # @!attribute metadata
89
89
  # Non-PII product context for filtering, segmentation, and debugging. Values may
@@ -91,24 +91,23 @@ module SafetyKit
91
91
  #
92
92
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
93
93
  optional :metadata,
94
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UserContact::Metadata] }
94
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Metadata] }
95
95
 
96
96
  # @!attribute resources_used
97
97
  # Reusable resources observed during the event. Use this for emails, phone
98
98
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
99
99
  # identifiers.
100
100
  #
101
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::ResourcesUsed>, nil]
101
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::ResourcesUsed>, nil]
102
102
  optional :resources_used,
103
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UserContact::ResourcesUsed] }
103
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::ResourcesUsed] }
104
104
 
105
- # @!method initialize(counterparty_user_id:, event_name:, timestamp:, user_id:, content: nil, metadata: nil, resources_used: nil, type: :user_contact)
105
+ # @!method initialize(counterparty_user_id:, event_name:, timestamp:, type:, user_id:, content: nil, metadata: nil, resources_used: nil)
106
106
  # Some parameter documentations has been truncated, see
107
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UserContact} for more
108
- # details.
107
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest} for
108
+ # more details.
109
109
  #
110
110
  # A user contacts, transacts with, or otherwise interacts with another user.
111
- # SafetyKit records both users' perspectives with a shared event_id.
112
111
  #
113
112
  # @param counterparty_user_id [String] Your stable canonical identifier for the other user in a user-to-user interactio
114
113
  #
@@ -116,25 +115,35 @@ module SafetyKit
116
115
  #
117
116
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
118
117
  #
118
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Type]
119
+ #
119
120
  # @param user_id [String] Your stable canonical identifier for the user or account.
120
121
  #
121
- # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
122
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
122
123
  #
123
124
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
124
125
  #
125
- # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
126
- #
127
- # @param type [Symbol, :user_contact]
126
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
127
+
128
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest#type
129
+ module Type
130
+ extend SafetyKit::Internal::Type::Enum
131
+
132
+ USER_CONTACT = :user_contact
133
+
134
+ # @!method self.values
135
+ # @return [Array<Symbol>]
136
+ end
128
137
 
129
138
  # User-authored text content associated with an event.
130
139
  module Content
131
140
  extend SafetyKit::Internal::Type::Union
132
141
 
133
142
  # User-authored text content associated with an event.
134
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent }
143
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventTextContent }
135
144
 
136
145
  # User-uploaded image content associated with an event.
137
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent }
146
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent }
138
147
 
139
148
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
140
149
  # @!attribute text
@@ -146,9 +155,9 @@ module SafetyKit
146
155
  # @!attribute type
147
156
  # Text content part.
148
157
  #
149
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent::Type]
158
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventTextContent::Type]
150
159
  required :type,
151
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent::Type }
160
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventTextContent::Type }
152
161
 
153
162
  # @!attribute key
154
163
  # Stable field key for this content part.
@@ -161,13 +170,13 @@ module SafetyKit
161
170
  #
162
171
  # @param text [String] User-authored text SafetyKit should compare or analyze.
163
172
  #
164
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent::Type] Text content part.
173
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventTextContent::Type] Text content part.
165
174
  #
166
175
  # @param key [String] Stable field key for this content part.
167
176
 
168
177
  # Text content part.
169
178
  #
170
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent#type
179
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventTextContent#type
171
180
  module Type
172
181
  extend SafetyKit::Internal::Type::Enum
173
182
 
@@ -182,16 +191,16 @@ module SafetyKit
182
191
  # @!attribute source
183
192
  # Image source information.
184
193
  #
185
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source]
194
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent::Source]
186
195
  required :source,
187
- -> { SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source }
196
+ -> { SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent::Source }
188
197
 
189
198
  # @!attribute type
190
199
  # Image content part.
191
200
  #
192
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Type]
201
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent::Type]
193
202
  required :type,
194
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Type }
203
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent::Type }
195
204
 
196
205
  # @!attribute key
197
206
  # Stable field key for this content part.
@@ -202,20 +211,20 @@ module SafetyKit
202
211
  # @!method initialize(source:, type:, key: nil)
203
212
  # User-uploaded image content associated with an event.
204
213
  #
205
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source] Image source information.
214
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent::Source] Image source information.
206
215
  #
207
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Type] Image content part.
216
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent::Type] Image content part.
208
217
  #
209
218
  # @param key [String] Stable field key for this content part.
210
219
 
211
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent#source
220
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent#source
212
221
  class Source < SafetyKit::Internal::Type::BaseModel
213
222
  # @!attribute type
214
223
  # URL image source.
215
224
  #
216
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source::Type]
225
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent::Source::Type]
217
226
  required :type,
218
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source::Type }
227
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent::Source::Type }
219
228
 
220
229
  # @!attribute url
221
230
  # URL of the image SafetyKit should compare or analyze.
@@ -226,13 +235,13 @@ module SafetyKit
226
235
  # @!method initialize(type:, url:)
227
236
  # Image source information.
228
237
  #
229
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source::Type] URL image source.
238
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent::Source::Type] URL image source.
230
239
  #
231
240
  # @param url [String] URL of the image SafetyKit should compare or analyze.
232
241
 
233
242
  # URL image source.
234
243
  #
235
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source#type
244
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent::Source#type
236
245
  module Type
237
246
  extend SafetyKit::Internal::Type::Enum
238
247
 
@@ -245,7 +254,7 @@ module SafetyKit
245
254
 
246
255
  # Image content part.
247
256
  #
248
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent#type
257
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent#type
249
258
  module Type
250
259
  extend SafetyKit::Internal::Type::Enum
251
260
 
@@ -257,7 +266,7 @@ module SafetyKit
257
266
  end
258
267
 
259
268
  # @!method self.variants
260
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent)]
269
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Content::EventImageContent)]
261
270
  end
262
271
 
263
272
  module Metadata
@@ -269,7 +278,7 @@ module SafetyKit
269
278
 
270
279
  variant SafetyKit::Internal::Type::Boolean
271
280
 
272
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::Metadata::UnionMember3Array }
281
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::Metadata::UnionMember3Array }
273
282
 
274
283
  module UnionMember3
275
284
  extend SafetyKit::Internal::Type::Union
@@ -290,7 +299,7 @@ module SafetyKit
290
299
  # @type [SafetyKit::Internal::Type::Converter]
291
300
  UnionMember3Array =
292
301
  SafetyKit::Internal::Type::ArrayOf[union: -> {
293
- SafetyKit::Beta::EventCreateParams::Body::UserContact::Metadata::UnionMember3
302
+ SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Metadata::UnionMember3
294
303
  }]
295
304
  end
296
305
 
@@ -304,14 +313,14 @@ module SafetyKit
304
313
 
305
314
  # @!attribute value
306
315
  # Resource value used during the event. SafetyKit stores a normalized hash of this
307
- # value, not the raw value.
316
+ # value, not the raw value. When type is url, this must be a valid URL.
308
317
  #
309
318
  # @return [String]
310
319
  required :value, String
311
320
 
312
321
  # @!method initialize(type:, value:)
313
322
  # Some parameter documentations has been truncated, see
314
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UserContact::ResourcesUsed}
323
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest::ResourcesUsed}
315
324
  # for more details.
316
325
  #
317
326
  # Real-world or account resource used during the event, such as an email, phone
@@ -323,15 +332,15 @@ module SafetyKit
323
332
  end
324
333
  end
325
334
 
326
- class ContentUploaded < SafetyKit::Internal::Type::BaseModel
335
+ class ContentUploadedEventRequest < SafetyKit::Internal::Type::BaseModel
327
336
  # @!attribute content
328
337
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
329
338
  # listing text, image URLs, and similar content SafetyKit should compare or
330
339
  # analyze.
331
340
  #
332
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent>]
341
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent>]
333
342
  required :content,
334
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content] }
343
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content] }
335
344
 
336
345
  # @!attribute event_name
337
346
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
@@ -348,8 +357,8 @@ module SafetyKit
348
357
 
349
358
  # @!attribute type
350
359
  #
351
- # @return [Symbol, :content_uploaded]
352
- required :type, const: :content_uploaded
360
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Type]
361
+ required :type, enum: -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Type }
353
362
 
354
363
  # @!attribute user_id
355
364
  # Your stable canonical identifier for the user or account.
@@ -363,47 +372,47 @@ module SafetyKit
363
372
  #
364
373
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
365
374
  optional :metadata,
366
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Metadata] }
375
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Metadata] }
367
376
 
368
377
  # @!attribute resources_used
369
378
  # Reusable resources observed during the event. Use this for emails, phone
370
379
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
371
380
  # identifiers.
372
381
  #
373
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::ResourcesUsed>, nil]
382
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::ResourcesUsed>, nil]
374
383
  optional :resources_used,
375
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::ResourcesUsed] }
384
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::ResourcesUsed] }
376
385
 
377
- # @!method initialize(content:, event_name:, timestamp:, user_id:, metadata: nil, resources_used: nil, type: :content_uploaded)
386
+ # @!method initialize(content:, event_name:, timestamp:, type:, user_id:, metadata: nil, resources_used: nil)
378
387
  # Some parameter documentations has been truncated, see
379
- # {SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded} for more
380
- # details.
388
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest}
389
+ # for more details.
381
390
  #
382
391
  # A user posts, uploads, publishes, edits, or replaces content.
383
392
  #
384
- # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
393
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
385
394
  #
386
395
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
387
396
  #
388
397
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
389
398
  #
399
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Type]
400
+ #
390
401
  # @param user_id [String] Your stable canonical identifier for the user or account.
391
402
  #
392
403
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
393
404
  #
394
- # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
395
- #
396
- # @param type [Symbol, :content_uploaded]
405
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
397
406
 
398
407
  # User-authored text content associated with an event.
399
408
  module Content
400
409
  extend SafetyKit::Internal::Type::Union
401
410
 
402
411
  # User-authored text content associated with an event.
403
- variant -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent }
412
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventTextContent }
404
413
 
405
414
  # User-uploaded image content associated with an event.
406
- variant -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent }
415
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent }
407
416
 
408
417
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
409
418
  # @!attribute text
@@ -415,9 +424,9 @@ module SafetyKit
415
424
  # @!attribute type
416
425
  # Text content part.
417
426
  #
418
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent::Type]
427
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventTextContent::Type]
419
428
  required :type,
420
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent::Type }
429
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventTextContent::Type }
421
430
 
422
431
  # @!attribute key
423
432
  # Stable field key for this content part.
@@ -430,13 +439,13 @@ module SafetyKit
430
439
  #
431
440
  # @param text [String] User-authored text SafetyKit should compare or analyze.
432
441
  #
433
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent::Type] Text content part.
442
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventTextContent::Type] Text content part.
434
443
  #
435
444
  # @param key [String] Stable field key for this content part.
436
445
 
437
446
  # Text content part.
438
447
  #
439
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent#type
448
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventTextContent#type
440
449
  module Type
441
450
  extend SafetyKit::Internal::Type::Enum
442
451
 
@@ -451,16 +460,16 @@ module SafetyKit
451
460
  # @!attribute source
452
461
  # Image source information.
453
462
  #
454
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source]
463
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source]
455
464
  required :source,
456
- -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source }
465
+ -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source }
457
466
 
458
467
  # @!attribute type
459
468
  # Image content part.
460
469
  #
461
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Type]
470
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Type]
462
471
  required :type,
463
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Type }
472
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Type }
464
473
 
465
474
  # @!attribute key
466
475
  # Stable field key for this content part.
@@ -471,20 +480,20 @@ module SafetyKit
471
480
  # @!method initialize(source:, type:, key: nil)
472
481
  # User-uploaded image content associated with an event.
473
482
  #
474
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source] Image source information.
483
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source] Image source information.
475
484
  #
476
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Type] Image content part.
485
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Type] Image content part.
477
486
  #
478
487
  # @param key [String] Stable field key for this content part.
479
488
 
480
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent#source
489
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent#source
481
490
  class Source < SafetyKit::Internal::Type::BaseModel
482
491
  # @!attribute type
483
492
  # URL image source.
484
493
  #
485
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source::Type]
494
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source::Type]
486
495
  required :type,
487
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source::Type }
496
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source::Type }
488
497
 
489
498
  # @!attribute url
490
499
  # URL of the image SafetyKit should compare or analyze.
@@ -495,13 +504,13 @@ module SafetyKit
495
504
  # @!method initialize(type:, url:)
496
505
  # Image source information.
497
506
  #
498
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source::Type] URL image source.
507
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source::Type] URL image source.
499
508
  #
500
509
  # @param url [String] URL of the image SafetyKit should compare or analyze.
501
510
 
502
511
  # URL image source.
503
512
  #
504
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source#type
513
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source#type
505
514
  module Type
506
515
  extend SafetyKit::Internal::Type::Enum
507
516
 
@@ -514,7 +523,7 @@ module SafetyKit
514
523
 
515
524
  # Image content part.
516
525
  #
517
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent#type
526
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent#type
518
527
  module Type
519
528
  extend SafetyKit::Internal::Type::Enum
520
529
 
@@ -526,7 +535,17 @@ module SafetyKit
526
535
  end
527
536
 
528
537
  # @!method self.variants
529
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent)]
538
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Content::EventImageContent)]
539
+ end
540
+
541
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest#type
542
+ module Type
543
+ extend SafetyKit::Internal::Type::Enum
544
+
545
+ CONTENT_UPLOADED = :content_uploaded
546
+
547
+ # @!method self.values
548
+ # @return [Array<Symbol>]
530
549
  end
531
550
 
532
551
  module Metadata
@@ -538,7 +557,7 @@ module SafetyKit
538
557
 
539
558
  variant SafetyKit::Internal::Type::Boolean
540
559
 
541
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::Metadata::UnionMember3Array }
560
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Metadata::UnionMember3Array }
542
561
 
543
562
  module UnionMember3
544
563
  extend SafetyKit::Internal::Type::Union
@@ -558,9 +577,9 @@ module SafetyKit
558
577
 
559
578
  # @type [SafetyKit::Internal::Type::Converter]
560
579
  UnionMember3Array =
561
- SafetyKit::Internal::Type::ArrayOf[union: -> {
562
- SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Metadata::UnionMember3
563
- }]
580
+ SafetyKit::Internal::Type::ArrayOf[
581
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Metadata::UnionMember3 }
582
+ ]
564
583
  end
565
584
 
566
585
  class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
@@ -573,14 +592,14 @@ module SafetyKit
573
592
 
574
593
  # @!attribute value
575
594
  # Resource value used during the event. SafetyKit stores a normalized hash of this
576
- # value, not the raw value.
595
+ # value, not the raw value. When type is url, this must be a valid URL.
577
596
  #
578
597
  # @return [String]
579
598
  required :value, String
580
599
 
581
600
  # @!method initialize(type:, value:)
582
601
  # Some parameter documentations has been truncated, see
583
- # {SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded::ResourcesUsed}
602
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest::ResourcesUsed}
584
603
  # for more details.
585
604
  #
586
605
  # Real-world or account resource used during the event, such as an email, phone
@@ -592,7 +611,7 @@ module SafetyKit
592
611
  end
593
612
  end
594
613
 
595
- class CreateAccount < SafetyKit::Internal::Type::BaseModel
614
+ class CreateAccountEventRequest < SafetyKit::Internal::Type::BaseModel
596
615
  # @!attribute event_name
597
616
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
598
617
  # values in typed fields, content, resources_used, or metadata.
@@ -608,8 +627,8 @@ module SafetyKit
608
627
 
609
628
  # @!attribute type
610
629
  #
611
- # @return [Symbol, :create_account]
612
- required :type, const: :create_account
630
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Type]
631
+ required :type, enum: -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Type }
613
632
 
614
633
  # @!attribute user_id
615
634
  # Your stable canonical identifier for the user or account.
@@ -622,9 +641,9 @@ module SafetyKit
622
641
  # listing text, image URLs, and similar content SafetyKit should compare or
623
642
  # analyze.
624
643
  #
625
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent>, nil]
644
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent>, nil]
626
645
  optional :content,
627
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content] }
646
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content] }
628
647
 
629
648
  # @!attribute metadata
630
649
  # Non-PII product context for filtering, segmentation, and debugging. Values may
@@ -632,21 +651,29 @@ module SafetyKit
632
651
  #
633
652
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
634
653
  optional :metadata,
635
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Metadata] }
654
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Metadata] }
655
+
656
+ # @!attribute properties
657
+ # Stable, typed account-level facts SafetyKit can use in rules and aggregate
658
+ # analysis.
659
+ #
660
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Properties, nil]
661
+ optional :properties,
662
+ -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Properties }
636
663
 
637
664
  # @!attribute resources_used
638
665
  # Reusable resources observed during the event. Use this for emails, phone
639
666
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
640
667
  # identifiers.
641
668
  #
642
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::ResourcesUsed>, nil]
669
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::ResourcesUsed>, nil]
643
670
  optional :resources_used,
644
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::CreateAccount::ResourcesUsed] }
671
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::ResourcesUsed] }
645
672
 
646
- # @!method initialize(event_name:, timestamp:, user_id:, content: nil, metadata: nil, resources_used: nil, type: :create_account)
673
+ # @!method initialize(event_name:, timestamp:, type:, user_id:, content: nil, metadata: nil, properties: nil, resources_used: nil)
647
674
  # Some parameter documentations has been truncated, see
648
- # {SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount} for more
649
- # details.
675
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest}
676
+ # for more details.
650
677
  #
651
678
  # A user or account is created.
652
679
  #
@@ -654,25 +681,37 @@ module SafetyKit
654
681
  #
655
682
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
656
683
  #
684
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Type]
685
+ #
657
686
  # @param user_id [String] Your stable canonical identifier for the user or account.
658
687
  #
659
- # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
688
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
660
689
  #
661
690
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
662
691
  #
663
- # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
692
+ # @param properties [SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Properties] Stable, typed account-level facts SafetyKit can use in rules and aggregate analy
664
693
  #
665
- # @param type [Symbol, :create_account]
694
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
695
+
696
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest#type
697
+ module Type
698
+ extend SafetyKit::Internal::Type::Enum
699
+
700
+ CREATE_ACCOUNT = :create_account
701
+
702
+ # @!method self.values
703
+ # @return [Array<Symbol>]
704
+ end
666
705
 
667
706
  # User-authored text content associated with an event.
668
707
  module Content
669
708
  extend SafetyKit::Internal::Type::Union
670
709
 
671
710
  # User-authored text content associated with an event.
672
- variant -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent }
711
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventTextContent }
673
712
 
674
713
  # User-uploaded image content associated with an event.
675
- variant -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent }
714
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent }
676
715
 
677
716
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
678
717
  # @!attribute text
@@ -684,9 +723,9 @@ module SafetyKit
684
723
  # @!attribute type
685
724
  # Text content part.
686
725
  #
687
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent::Type]
726
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventTextContent::Type]
688
727
  required :type,
689
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent::Type }
728
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventTextContent::Type }
690
729
 
691
730
  # @!attribute key
692
731
  # Stable field key for this content part.
@@ -699,13 +738,13 @@ module SafetyKit
699
738
  #
700
739
  # @param text [String] User-authored text SafetyKit should compare or analyze.
701
740
  #
702
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent::Type] Text content part.
741
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventTextContent::Type] Text content part.
703
742
  #
704
743
  # @param key [String] Stable field key for this content part.
705
744
 
706
745
  # Text content part.
707
746
  #
708
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent#type
747
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventTextContent#type
709
748
  module Type
710
749
  extend SafetyKit::Internal::Type::Enum
711
750
 
@@ -720,16 +759,16 @@ module SafetyKit
720
759
  # @!attribute source
721
760
  # Image source information.
722
761
  #
723
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source]
762
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source]
724
763
  required :source,
725
- -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source }
764
+ -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source }
726
765
 
727
766
  # @!attribute type
728
767
  # Image content part.
729
768
  #
730
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Type]
769
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent::Type]
731
770
  required :type,
732
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Type }
771
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent::Type }
733
772
 
734
773
  # @!attribute key
735
774
  # Stable field key for this content part.
@@ -740,20 +779,20 @@ module SafetyKit
740
779
  # @!method initialize(source:, type:, key: nil)
741
780
  # User-uploaded image content associated with an event.
742
781
  #
743
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source] Image source information.
782
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source] Image source information.
744
783
  #
745
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Type] Image content part.
784
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent::Type] Image content part.
746
785
  #
747
786
  # @param key [String] Stable field key for this content part.
748
787
 
749
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent#source
788
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent#source
750
789
  class Source < SafetyKit::Internal::Type::BaseModel
751
790
  # @!attribute type
752
791
  # URL image source.
753
792
  #
754
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source::Type]
793
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source::Type]
755
794
  required :type,
756
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source::Type }
795
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source::Type }
757
796
 
758
797
  # @!attribute url
759
798
  # URL of the image SafetyKit should compare or analyze.
@@ -764,13 +803,13 @@ module SafetyKit
764
803
  # @!method initialize(type:, url:)
765
804
  # Image source information.
766
805
  #
767
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source::Type] URL image source.
806
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source::Type] URL image source.
768
807
  #
769
808
  # @param url [String] URL of the image SafetyKit should compare or analyze.
770
809
 
771
810
  # URL image source.
772
811
  #
773
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source#type
812
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source#type
774
813
  module Type
775
814
  extend SafetyKit::Internal::Type::Enum
776
815
 
@@ -783,7 +822,7 @@ module SafetyKit
783
822
 
784
823
  # Image content part.
785
824
  #
786
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent#type
825
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent#type
787
826
  module Type
788
827
  extend SafetyKit::Internal::Type::Enum
789
828
 
@@ -795,7 +834,7 @@ module SafetyKit
795
834
  end
796
835
 
797
836
  # @!method self.variants
798
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent)]
837
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Content::EventImageContent)]
799
838
  end
800
839
 
801
840
  module Metadata
@@ -807,7 +846,7 @@ module SafetyKit
807
846
 
808
847
  variant SafetyKit::Internal::Type::Boolean
809
848
 
810
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::Metadata::UnionMember3Array }
849
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::Metadata::UnionMember3Array }
811
850
 
812
851
  module UnionMember3
813
852
  extend SafetyKit::Internal::Type::Union
@@ -828,10 +867,49 @@ module SafetyKit
828
867
  # @type [SafetyKit::Internal::Type::Converter]
829
868
  UnionMember3Array =
830
869
  SafetyKit::Internal::Type::ArrayOf[union: -> {
831
- SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Metadata::UnionMember3
870
+ SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Metadata::UnionMember3
832
871
  }]
833
872
  end
834
873
 
874
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest#properties
875
+ class Properties < SafetyKit::Internal::Type::BaseModel
876
+ # @!attribute account_state
877
+ # Current account lifecycle or moderation state.
878
+ #
879
+ # @return [String, nil]
880
+ optional :account_state, String
881
+
882
+ # @!attribute account_types
883
+ # Stable account categories in your product.
884
+ #
885
+ # @return [Array<String>, nil]
886
+ optional :account_types, SafetyKit::Internal::Type::ArrayOf[String]
887
+
888
+ # @!attribute country
889
+ # Country associated with the account.
890
+ #
891
+ # @return [String, nil]
892
+ optional :country, String
893
+
894
+ # @!attribute email_verified
895
+ # Whether the account's email address has been verified.
896
+ #
897
+ # @return [Boolean, nil]
898
+ optional :email_verified, SafetyKit::Internal::Type::Boolean
899
+
900
+ # @!method initialize(account_state: nil, account_types: nil, country: nil, email_verified: nil)
901
+ # Stable, typed account-level facts SafetyKit can use in rules and aggregate
902
+ # analysis.
903
+ #
904
+ # @param account_state [String] Current account lifecycle or moderation state.
905
+ #
906
+ # @param account_types [Array<String>] Stable account categories in your product.
907
+ #
908
+ # @param country [String] Country associated with the account.
909
+ #
910
+ # @param email_verified [Boolean] Whether the account's email address has been verified.
911
+ end
912
+
835
913
  class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
836
914
  # @!attribute type
837
915
  # Resource family, such as email, phone, name, address, url, instagram, tiktok,
@@ -842,14 +920,14 @@ module SafetyKit
842
920
 
843
921
  # @!attribute value
844
922
  # Resource value used during the event. SafetyKit stores a normalized hash of this
845
- # value, not the raw value.
923
+ # value, not the raw value. When type is url, this must be a valid URL.
846
924
  #
847
925
  # @return [String]
848
926
  required :value, String
849
927
 
850
928
  # @!method initialize(type:, value:)
851
929
  # Some parameter documentations has been truncated, see
852
- # {SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount::ResourcesUsed}
930
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest::ResourcesUsed}
853
931
  # for more details.
854
932
  #
855
933
  # Real-world or account resource used during the event, such as an email, phone
@@ -861,7 +939,7 @@ module SafetyKit
861
939
  end
862
940
  end
863
941
 
864
- class UpdateAccount < SafetyKit::Internal::Type::BaseModel
942
+ class UpdateAccountEventRequest < SafetyKit::Internal::Type::BaseModel
865
943
  # @!attribute event_name
866
944
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
867
945
  # values in typed fields, content, resources_used, or metadata.
@@ -877,8 +955,8 @@ module SafetyKit
877
955
 
878
956
  # @!attribute type
879
957
  #
880
- # @return [Symbol, :update_account]
881
- required :type, const: :update_account
958
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Type]
959
+ required :type, enum: -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Type }
882
960
 
883
961
  # @!attribute user_id
884
962
  # Your stable canonical identifier for the user or account.
@@ -891,9 +969,9 @@ module SafetyKit
891
969
  # listing text, image URLs, and similar content SafetyKit should compare or
892
970
  # analyze.
893
971
  #
894
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent>, nil]
972
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent>, nil]
895
973
  optional :content,
896
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content] }
974
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content] }
897
975
 
898
976
  # @!attribute metadata
899
977
  # Non-PII product context for filtering, segmentation, and debugging. Values may
@@ -901,21 +979,29 @@ module SafetyKit
901
979
  #
902
980
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
903
981
  optional :metadata,
904
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Metadata] }
982
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Metadata] }
983
+
984
+ # @!attribute properties
985
+ # Stable, typed account-level facts SafetyKit can use in rules and aggregate
986
+ # analysis.
987
+ #
988
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Properties, nil]
989
+ optional :properties,
990
+ -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Properties }
905
991
 
906
992
  # @!attribute resources_used
907
993
  # Reusable resources observed during the event. Use this for emails, phone
908
994
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
909
995
  # identifiers.
910
996
  #
911
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::ResourcesUsed>, nil]
997
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::ResourcesUsed>, nil]
912
998
  optional :resources_used,
913
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::ResourcesUsed] }
999
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::ResourcesUsed] }
914
1000
 
915
- # @!method initialize(event_name:, timestamp:, user_id:, content: nil, metadata: nil, resources_used: nil, type: :update_account)
1001
+ # @!method initialize(event_name:, timestamp:, type:, user_id:, content: nil, metadata: nil, properties: nil, resources_used: nil)
916
1002
  # Some parameter documentations has been truncated, see
917
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount} for more
918
- # details.
1003
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest}
1004
+ # for more details.
919
1005
  #
920
1006
  # A user or account profile, contact detail, payment detail, or public bio
921
1007
  # changes.
@@ -924,25 +1010,37 @@ module SafetyKit
924
1010
  #
925
1011
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
926
1012
  #
1013
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Type]
1014
+ #
927
1015
  # @param user_id [String] Your stable canonical identifier for the user or account.
928
1016
  #
929
- # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
1017
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
930
1018
  #
931
1019
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
932
1020
  #
933
- # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
1021
+ # @param properties [SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Properties] Stable, typed account-level facts SafetyKit can use in rules and aggregate analy
934
1022
  #
935
- # @param type [Symbol, :update_account]
1023
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
1024
+
1025
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest#type
1026
+ module Type
1027
+ extend SafetyKit::Internal::Type::Enum
1028
+
1029
+ UPDATE_ACCOUNT = :update_account
1030
+
1031
+ # @!method self.values
1032
+ # @return [Array<Symbol>]
1033
+ end
936
1034
 
937
1035
  # User-authored text content associated with an event.
938
1036
  module Content
939
1037
  extend SafetyKit::Internal::Type::Union
940
1038
 
941
1039
  # User-authored text content associated with an event.
942
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent }
1040
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventTextContent }
943
1041
 
944
1042
  # User-uploaded image content associated with an event.
945
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent }
1043
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent }
946
1044
 
947
1045
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
948
1046
  # @!attribute text
@@ -954,9 +1052,9 @@ module SafetyKit
954
1052
  # @!attribute type
955
1053
  # Text content part.
956
1054
  #
957
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent::Type]
1055
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventTextContent::Type]
958
1056
  required :type,
959
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent::Type }
1057
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventTextContent::Type }
960
1058
 
961
1059
  # @!attribute key
962
1060
  # Stable field key for this content part.
@@ -969,13 +1067,13 @@ module SafetyKit
969
1067
  #
970
1068
  # @param text [String] User-authored text SafetyKit should compare or analyze.
971
1069
  #
972
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent::Type] Text content part.
1070
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventTextContent::Type] Text content part.
973
1071
  #
974
1072
  # @param key [String] Stable field key for this content part.
975
1073
 
976
1074
  # Text content part.
977
1075
  #
978
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent#type
1076
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventTextContent#type
979
1077
  module Type
980
1078
  extend SafetyKit::Internal::Type::Enum
981
1079
 
@@ -990,16 +1088,16 @@ module SafetyKit
990
1088
  # @!attribute source
991
1089
  # Image source information.
992
1090
  #
993
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source]
1091
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source]
994
1092
  required :source,
995
- -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source }
1093
+ -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source }
996
1094
 
997
1095
  # @!attribute type
998
1096
  # Image content part.
999
1097
  #
1000
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Type]
1098
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Type]
1001
1099
  required :type,
1002
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Type }
1100
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Type }
1003
1101
 
1004
1102
  # @!attribute key
1005
1103
  # Stable field key for this content part.
@@ -1010,20 +1108,20 @@ module SafetyKit
1010
1108
  # @!method initialize(source:, type:, key: nil)
1011
1109
  # User-uploaded image content associated with an event.
1012
1110
  #
1013
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source] Image source information.
1111
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source] Image source information.
1014
1112
  #
1015
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Type] Image content part.
1113
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Type] Image content part.
1016
1114
  #
1017
1115
  # @param key [String] Stable field key for this content part.
1018
1116
 
1019
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent#source
1117
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent#source
1020
1118
  class Source < SafetyKit::Internal::Type::BaseModel
1021
1119
  # @!attribute type
1022
1120
  # URL image source.
1023
1121
  #
1024
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source::Type]
1122
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source::Type]
1025
1123
  required :type,
1026
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source::Type }
1124
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source::Type }
1027
1125
 
1028
1126
  # @!attribute url
1029
1127
  # URL of the image SafetyKit should compare or analyze.
@@ -1034,13 +1132,13 @@ module SafetyKit
1034
1132
  # @!method initialize(type:, url:)
1035
1133
  # Image source information.
1036
1134
  #
1037
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source::Type] URL image source.
1135
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source::Type] URL image source.
1038
1136
  #
1039
1137
  # @param url [String] URL of the image SafetyKit should compare or analyze.
1040
1138
 
1041
1139
  # URL image source.
1042
1140
  #
1043
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source#type
1141
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source#type
1044
1142
  module Type
1045
1143
  extend SafetyKit::Internal::Type::Enum
1046
1144
 
@@ -1053,7 +1151,7 @@ module SafetyKit
1053
1151
 
1054
1152
  # Image content part.
1055
1153
  #
1056
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent#type
1154
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent#type
1057
1155
  module Type
1058
1156
  extend SafetyKit::Internal::Type::Enum
1059
1157
 
@@ -1065,7 +1163,7 @@ module SafetyKit
1065
1163
  end
1066
1164
 
1067
1165
  # @!method self.variants
1068
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent)]
1166
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Content::EventImageContent)]
1069
1167
  end
1070
1168
 
1071
1169
  module Metadata
@@ -1077,7 +1175,7 @@ module SafetyKit
1077
1175
 
1078
1176
  variant SafetyKit::Internal::Type::Boolean
1079
1177
 
1080
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::Metadata::UnionMember3Array }
1178
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Metadata::UnionMember3Array }
1081
1179
 
1082
1180
  module UnionMember3
1083
1181
  extend SafetyKit::Internal::Type::Union
@@ -1098,10 +1196,49 @@ module SafetyKit
1098
1196
  # @type [SafetyKit::Internal::Type::Converter]
1099
1197
  UnionMember3Array =
1100
1198
  SafetyKit::Internal::Type::ArrayOf[union: -> {
1101
- SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Metadata::UnionMember3
1199
+ SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Metadata::UnionMember3
1102
1200
  }]
1103
1201
  end
1104
1202
 
1203
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest#properties
1204
+ class Properties < SafetyKit::Internal::Type::BaseModel
1205
+ # @!attribute account_state
1206
+ # Current account lifecycle or moderation state.
1207
+ #
1208
+ # @return [String, nil]
1209
+ optional :account_state, String
1210
+
1211
+ # @!attribute account_types
1212
+ # Stable account categories in your product.
1213
+ #
1214
+ # @return [Array<String>, nil]
1215
+ optional :account_types, SafetyKit::Internal::Type::ArrayOf[String]
1216
+
1217
+ # @!attribute country
1218
+ # Country associated with the account.
1219
+ #
1220
+ # @return [String, nil]
1221
+ optional :country, String
1222
+
1223
+ # @!attribute email_verified
1224
+ # Whether the account's email address has been verified.
1225
+ #
1226
+ # @return [Boolean, nil]
1227
+ optional :email_verified, SafetyKit::Internal::Type::Boolean
1228
+
1229
+ # @!method initialize(account_state: nil, account_types: nil, country: nil, email_verified: nil)
1230
+ # Stable, typed account-level facts SafetyKit can use in rules and aggregate
1231
+ # analysis.
1232
+ #
1233
+ # @param account_state [String] Current account lifecycle or moderation state.
1234
+ #
1235
+ # @param account_types [Array<String>] Stable account categories in your product.
1236
+ #
1237
+ # @param country [String] Country associated with the account.
1238
+ #
1239
+ # @param email_verified [Boolean] Whether the account's email address has been verified.
1240
+ end
1241
+
1105
1242
  class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1106
1243
  # @!attribute type
1107
1244
  # Resource family, such as email, phone, name, address, url, instagram, tiktok,
@@ -1112,14 +1249,14 @@ module SafetyKit
1112
1249
 
1113
1250
  # @!attribute value
1114
1251
  # Resource value used during the event. SafetyKit stores a normalized hash of this
1115
- # value, not the raw value.
1252
+ # value, not the raw value. When type is url, this must be a valid URL.
1116
1253
  #
1117
1254
  # @return [String]
1118
1255
  required :value, String
1119
1256
 
1120
1257
  # @!method initialize(type:, value:)
1121
1258
  # Some parameter documentations has been truncated, see
1122
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount::ResourcesUsed}
1259
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest::ResourcesUsed}
1123
1260
  # for more details.
1124
1261
  #
1125
1262
  # Real-world or account resource used during the event, such as an email, phone
@@ -1131,8 +1268,1220 @@ module SafetyKit
1131
1268
  end
1132
1269
  end
1133
1270
 
1134
- # @!method self.variants
1135
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccount)]
1271
+ # A user contacts, transacts with, or otherwise interacts with another user.
1272
+ module UnionMember4
1273
+ extend SafetyKit::Internal::Type::Union
1274
+
1275
+ discriminator :type
1276
+
1277
+ # A user contacts, transacts with, or otherwise interacts with another user.
1278
+ variant :user_contact, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UserContact }
1279
+
1280
+ # A user posts, uploads, publishes, edits, or replaces content.
1281
+ variant :content_uploaded, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded }
1282
+
1283
+ # A user or account is created.
1284
+ variant :create_account, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount }
1285
+
1286
+ # A user or account profile, contact detail, payment detail, or public bio changes.
1287
+ variant :update_account, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount }
1288
+
1289
+ class UserContact < SafetyKit::Internal::Type::BaseModel
1290
+ # @!attribute counterparty_user_id
1291
+ # Your stable canonical identifier for the other user in a user-to-user
1292
+ # interaction.
1293
+ #
1294
+ # @return [String]
1295
+ required :counterparty_user_id, String
1296
+
1297
+ # @!attribute event_name
1298
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
1299
+ # values in typed fields, content, resources_used, or metadata.
1300
+ #
1301
+ # @return [String]
1302
+ required :event_name, String
1303
+
1304
+ # @!attribute timestamp
1305
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
1306
+ #
1307
+ # @return [Time]
1308
+ required :timestamp, Time
1309
+
1310
+ # @!attribute type
1311
+ #
1312
+ # @return [Symbol, :user_contact]
1313
+ required :type, const: :user_contact
1314
+
1315
+ # @!attribute user_id
1316
+ # Your stable canonical identifier for the user or account.
1317
+ #
1318
+ # @return [String]
1319
+ required :user_id, String
1320
+
1321
+ # @!attribute content
1322
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
1323
+ # listing text, image URLs, and similar content SafetyKit should compare or
1324
+ # analyze.
1325
+ #
1326
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent>, nil]
1327
+ optional :content,
1328
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content] }
1329
+
1330
+ # @!attribute metadata
1331
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
1332
+ # be strings, numbers, booleans, or arrays of those scalar values.
1333
+ #
1334
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
1335
+ optional :metadata,
1336
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UserContact::Metadata] }
1337
+
1338
+ # @!attribute resources_used
1339
+ # Reusable resources observed during the event. Use this for emails, phone
1340
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1341
+ # identifiers.
1342
+ #
1343
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::ResourcesUsed>, nil]
1344
+ optional :resources_used,
1345
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UserContact::ResourcesUsed] }
1346
+
1347
+ # @!method initialize(counterparty_user_id:, event_name:, timestamp:, user_id:, content: nil, metadata: nil, resources_used: nil, type: :user_contact)
1348
+ # Some parameter documentations has been truncated, see
1349
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact}
1350
+ # for more details.
1351
+ #
1352
+ # A user contacts, transacts with, or otherwise interacts with another user.
1353
+ #
1354
+ # @param counterparty_user_id [String] Your stable canonical identifier for the other user in a user-to-user interactio
1355
+ #
1356
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
1357
+ #
1358
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
1359
+ #
1360
+ # @param user_id [String] Your stable canonical identifier for the user or account.
1361
+ #
1362
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
1363
+ #
1364
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
1365
+ #
1366
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
1367
+ #
1368
+ # @param type [Symbol, :user_contact]
1369
+
1370
+ # User-authored text content associated with an event.
1371
+ module Content
1372
+ extend SafetyKit::Internal::Type::Union
1373
+
1374
+ # User-authored text content associated with an event.
1375
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventTextContent }
1376
+
1377
+ # User-uploaded image content associated with an event.
1378
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent }
1379
+
1380
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
1381
+ # @!attribute text
1382
+ # User-authored text SafetyKit should compare or analyze.
1383
+ #
1384
+ # @return [String]
1385
+ required :text, String
1386
+
1387
+ # @!attribute type
1388
+ # Text content part.
1389
+ #
1390
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventTextContent::Type]
1391
+ required :type,
1392
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventTextContent::Type }
1393
+
1394
+ # @!attribute key
1395
+ # Stable field key for this content part.
1396
+ #
1397
+ # @return [String, nil]
1398
+ optional :key, String
1399
+
1400
+ # @!method initialize(text:, type:, key: nil)
1401
+ # User-authored text content associated with an event.
1402
+ #
1403
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
1404
+ #
1405
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventTextContent::Type] Text content part.
1406
+ #
1407
+ # @param key [String] Stable field key for this content part.
1408
+
1409
+ # Text content part.
1410
+ #
1411
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventTextContent#type
1412
+ module Type
1413
+ extend SafetyKit::Internal::Type::Enum
1414
+
1415
+ TEXT = :text
1416
+
1417
+ # @!method self.values
1418
+ # @return [Array<Symbol>]
1419
+ end
1420
+ end
1421
+
1422
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
1423
+ # @!attribute source
1424
+ # Image source information.
1425
+ #
1426
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent::Source]
1427
+ required :source,
1428
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent::Source }
1429
+
1430
+ # @!attribute type
1431
+ # Image content part.
1432
+ #
1433
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent::Type]
1434
+ required :type,
1435
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent::Type }
1436
+
1437
+ # @!attribute key
1438
+ # Stable field key for this content part.
1439
+ #
1440
+ # @return [String, nil]
1441
+ optional :key, String
1442
+
1443
+ # @!method initialize(source:, type:, key: nil)
1444
+ # User-uploaded image content associated with an event.
1445
+ #
1446
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent::Source] Image source information.
1447
+ #
1448
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent::Type] Image content part.
1449
+ #
1450
+ # @param key [String] Stable field key for this content part.
1451
+
1452
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent#source
1453
+ class Source < SafetyKit::Internal::Type::BaseModel
1454
+ # @!attribute type
1455
+ # URL image source.
1456
+ #
1457
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent::Source::Type]
1458
+ required :type,
1459
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent::Source::Type }
1460
+
1461
+ # @!attribute url
1462
+ # URL of the image SafetyKit should compare or analyze.
1463
+ #
1464
+ # @return [String]
1465
+ required :url, String
1466
+
1467
+ # @!method initialize(type:, url:)
1468
+ # Image source information.
1469
+ #
1470
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent::Source::Type] URL image source.
1471
+ #
1472
+ # @param url [String] URL of the image SafetyKit should compare or analyze.
1473
+
1474
+ # URL image source.
1475
+ #
1476
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent::Source#type
1477
+ module Type
1478
+ extend SafetyKit::Internal::Type::Enum
1479
+
1480
+ URL = :url
1481
+
1482
+ # @!method self.values
1483
+ # @return [Array<Symbol>]
1484
+ end
1485
+ end
1486
+
1487
+ # Image content part.
1488
+ #
1489
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent#type
1490
+ module Type
1491
+ extend SafetyKit::Internal::Type::Enum
1492
+
1493
+ IMAGE = :image
1494
+
1495
+ # @!method self.values
1496
+ # @return [Array<Symbol>]
1497
+ end
1498
+ end
1499
+
1500
+ # @!method self.variants
1501
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Content::EventImageContent)]
1502
+ end
1503
+
1504
+ module Metadata
1505
+ extend SafetyKit::Internal::Type::Union
1506
+
1507
+ variant String
1508
+
1509
+ variant Float
1510
+
1511
+ variant SafetyKit::Internal::Type::Boolean
1512
+
1513
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::Metadata::UnionMember3Array }
1514
+
1515
+ module UnionMember3
1516
+ extend SafetyKit::Internal::Type::Union
1517
+
1518
+ variant String
1519
+
1520
+ variant Float
1521
+
1522
+ variant SafetyKit::Internal::Type::Boolean
1523
+
1524
+ # @!method self.variants
1525
+ # @return [Array(String, Float, Boolean)]
1526
+ end
1527
+
1528
+ # @!method self.variants
1529
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
1530
+
1531
+ # @type [SafetyKit::Internal::Type::Converter]
1532
+ UnionMember3Array =
1533
+ SafetyKit::Internal::Type::ArrayOf[union: -> {
1534
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UserContact::Metadata::UnionMember3
1535
+ }]
1536
+ end
1537
+
1538
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1539
+ # @!attribute type
1540
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
1541
+ # youtube, linkedin, or another stable snake_case identifier.
1542
+ #
1543
+ # @return [String]
1544
+ required :type, String
1545
+
1546
+ # @!attribute value
1547
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
1548
+ # value, not the raw value. When type is url, this must be a valid URL.
1549
+ #
1550
+ # @return [String]
1551
+ required :value, String
1552
+
1553
+ # @!method initialize(type:, value:)
1554
+ # Some parameter documentations has been truncated, see
1555
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact::ResourcesUsed}
1556
+ # for more details.
1557
+ #
1558
+ # Real-world or account resource used during the event, such as an email, phone
1559
+ # number, address, URL, social handle, or payment identifier.
1560
+ #
1561
+ # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
1562
+ #
1563
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
1564
+ end
1565
+ end
1566
+
1567
+ class ContentUploaded < SafetyKit::Internal::Type::BaseModel
1568
+ # @!attribute content
1569
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
1570
+ # listing text, image URLs, and similar content SafetyKit should compare or
1571
+ # analyze.
1572
+ #
1573
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent>]
1574
+ required :content,
1575
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content] }
1576
+
1577
+ # @!attribute event_name
1578
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
1579
+ # values in typed fields, content, resources_used, or metadata.
1580
+ #
1581
+ # @return [String]
1582
+ required :event_name, String
1583
+
1584
+ # @!attribute timestamp
1585
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
1586
+ #
1587
+ # @return [Time]
1588
+ required :timestamp, Time
1589
+
1590
+ # @!attribute type
1591
+ #
1592
+ # @return [Symbol, :content_uploaded]
1593
+ required :type, const: :content_uploaded
1594
+
1595
+ # @!attribute user_id
1596
+ # Your stable canonical identifier for the user or account.
1597
+ #
1598
+ # @return [String]
1599
+ required :user_id, String
1600
+
1601
+ # @!attribute metadata
1602
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
1603
+ # be strings, numbers, booleans, or arrays of those scalar values.
1604
+ #
1605
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
1606
+ optional :metadata,
1607
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Metadata] }
1608
+
1609
+ # @!attribute resources_used
1610
+ # Reusable resources observed during the event. Use this for emails, phone
1611
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1612
+ # identifiers.
1613
+ #
1614
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::ResourcesUsed>, nil]
1615
+ optional :resources_used,
1616
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::ResourcesUsed] }
1617
+
1618
+ # @!method initialize(content:, event_name:, timestamp:, user_id:, metadata: nil, resources_used: nil, type: :content_uploaded)
1619
+ # Some parameter documentations has been truncated, see
1620
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded}
1621
+ # for more details.
1622
+ #
1623
+ # A user posts, uploads, publishes, edits, or replaces content.
1624
+ #
1625
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
1626
+ #
1627
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
1628
+ #
1629
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
1630
+ #
1631
+ # @param user_id [String] Your stable canonical identifier for the user or account.
1632
+ #
1633
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
1634
+ #
1635
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
1636
+ #
1637
+ # @param type [Symbol, :content_uploaded]
1638
+
1639
+ # User-authored text content associated with an event.
1640
+ module Content
1641
+ extend SafetyKit::Internal::Type::Union
1642
+
1643
+ # User-authored text content associated with an event.
1644
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventTextContent }
1645
+
1646
+ # User-uploaded image content associated with an event.
1647
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent }
1648
+
1649
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
1650
+ # @!attribute text
1651
+ # User-authored text SafetyKit should compare or analyze.
1652
+ #
1653
+ # @return [String]
1654
+ required :text, String
1655
+
1656
+ # @!attribute type
1657
+ # Text content part.
1658
+ #
1659
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventTextContent::Type]
1660
+ required :type,
1661
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventTextContent::Type }
1662
+
1663
+ # @!attribute key
1664
+ # Stable field key for this content part.
1665
+ #
1666
+ # @return [String, nil]
1667
+ optional :key, String
1668
+
1669
+ # @!method initialize(text:, type:, key: nil)
1670
+ # User-authored text content associated with an event.
1671
+ #
1672
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
1673
+ #
1674
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventTextContent::Type] Text content part.
1675
+ #
1676
+ # @param key [String] Stable field key for this content part.
1677
+
1678
+ # Text content part.
1679
+ #
1680
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventTextContent#type
1681
+ module Type
1682
+ extend SafetyKit::Internal::Type::Enum
1683
+
1684
+ TEXT = :text
1685
+
1686
+ # @!method self.values
1687
+ # @return [Array<Symbol>]
1688
+ end
1689
+ end
1690
+
1691
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
1692
+ # @!attribute source
1693
+ # Image source information.
1694
+ #
1695
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent::Source]
1696
+ required :source,
1697
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent::Source }
1698
+
1699
+ # @!attribute type
1700
+ # Image content part.
1701
+ #
1702
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent::Type]
1703
+ required :type,
1704
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent::Type }
1705
+
1706
+ # @!attribute key
1707
+ # Stable field key for this content part.
1708
+ #
1709
+ # @return [String, nil]
1710
+ optional :key, String
1711
+
1712
+ # @!method initialize(source:, type:, key: nil)
1713
+ # User-uploaded image content associated with an event.
1714
+ #
1715
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent::Source] Image source information.
1716
+ #
1717
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent::Type] Image content part.
1718
+ #
1719
+ # @param key [String] Stable field key for this content part.
1720
+
1721
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent#source
1722
+ class Source < SafetyKit::Internal::Type::BaseModel
1723
+ # @!attribute type
1724
+ # URL image source.
1725
+ #
1726
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent::Source::Type]
1727
+ required :type,
1728
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent::Source::Type }
1729
+
1730
+ # @!attribute url
1731
+ # URL of the image SafetyKit should compare or analyze.
1732
+ #
1733
+ # @return [String]
1734
+ required :url, String
1735
+
1736
+ # @!method initialize(type:, url:)
1737
+ # Image source information.
1738
+ #
1739
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent::Source::Type] URL image source.
1740
+ #
1741
+ # @param url [String] URL of the image SafetyKit should compare or analyze.
1742
+
1743
+ # URL image source.
1744
+ #
1745
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent::Source#type
1746
+ module Type
1747
+ extend SafetyKit::Internal::Type::Enum
1748
+
1749
+ URL = :url
1750
+
1751
+ # @!method self.values
1752
+ # @return [Array<Symbol>]
1753
+ end
1754
+ end
1755
+
1756
+ # Image content part.
1757
+ #
1758
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent#type
1759
+ module Type
1760
+ extend SafetyKit::Internal::Type::Enum
1761
+
1762
+ IMAGE = :image
1763
+
1764
+ # @!method self.values
1765
+ # @return [Array<Symbol>]
1766
+ end
1767
+ end
1768
+
1769
+ # @!method self.variants
1770
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Content::EventImageContent)]
1771
+ end
1772
+
1773
+ module Metadata
1774
+ extend SafetyKit::Internal::Type::Union
1775
+
1776
+ variant String
1777
+
1778
+ variant Float
1779
+
1780
+ variant SafetyKit::Internal::Type::Boolean
1781
+
1782
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Metadata::UnionMember3Array }
1783
+
1784
+ module UnionMember3
1785
+ extend SafetyKit::Internal::Type::Union
1786
+
1787
+ variant String
1788
+
1789
+ variant Float
1790
+
1791
+ variant SafetyKit::Internal::Type::Boolean
1792
+
1793
+ # @!method self.variants
1794
+ # @return [Array(String, Float, Boolean)]
1795
+ end
1796
+
1797
+ # @!method self.variants
1798
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
1799
+
1800
+ # @type [SafetyKit::Internal::Type::Converter]
1801
+ UnionMember3Array =
1802
+ SafetyKit::Internal::Type::ArrayOf[
1803
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::Metadata::UnionMember3 }
1804
+ ]
1805
+ end
1806
+
1807
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1808
+ # @!attribute type
1809
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
1810
+ # youtube, linkedin, or another stable snake_case identifier.
1811
+ #
1812
+ # @return [String]
1813
+ required :type, String
1814
+
1815
+ # @!attribute value
1816
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
1817
+ # value, not the raw value. When type is url, this must be a valid URL.
1818
+ #
1819
+ # @return [String]
1820
+ required :value, String
1821
+
1822
+ # @!method initialize(type:, value:)
1823
+ # Some parameter documentations has been truncated, see
1824
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded::ResourcesUsed}
1825
+ # for more details.
1826
+ #
1827
+ # Real-world or account resource used during the event, such as an email, phone
1828
+ # number, address, URL, social handle, or payment identifier.
1829
+ #
1830
+ # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
1831
+ #
1832
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
1833
+ end
1834
+ end
1835
+
1836
+ class CreateAccount < SafetyKit::Internal::Type::BaseModel
1837
+ # @!attribute event_name
1838
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
1839
+ # values in typed fields, content, resources_used, or metadata.
1840
+ #
1841
+ # @return [String]
1842
+ required :event_name, String
1843
+
1844
+ # @!attribute timestamp
1845
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
1846
+ #
1847
+ # @return [Time]
1848
+ required :timestamp, Time
1849
+
1850
+ # @!attribute type
1851
+ #
1852
+ # @return [Symbol, :create_account]
1853
+ required :type, const: :create_account
1854
+
1855
+ # @!attribute user_id
1856
+ # Your stable canonical identifier for the user or account.
1857
+ #
1858
+ # @return [String]
1859
+ required :user_id, String
1860
+
1861
+ # @!attribute content
1862
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
1863
+ # listing text, image URLs, and similar content SafetyKit should compare or
1864
+ # analyze.
1865
+ #
1866
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent>, nil]
1867
+ optional :content,
1868
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content] }
1869
+
1870
+ # @!attribute metadata
1871
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
1872
+ # be strings, numbers, booleans, or arrays of those scalar values.
1873
+ #
1874
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
1875
+ optional :metadata,
1876
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Metadata] }
1877
+
1878
+ # @!attribute properties
1879
+ # Stable, typed account-level facts SafetyKit can use in rules and aggregate
1880
+ # analysis.
1881
+ #
1882
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Properties, nil]
1883
+ optional :properties,
1884
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Properties }
1885
+
1886
+ # @!attribute resources_used
1887
+ # Reusable resources observed during the event. Use this for emails, phone
1888
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1889
+ # identifiers.
1890
+ #
1891
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::ResourcesUsed>, nil]
1892
+ optional :resources_used,
1893
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::ResourcesUsed] }
1894
+
1895
+ # @!method initialize(event_name:, timestamp:, user_id:, content: nil, metadata: nil, properties: nil, resources_used: nil, type: :create_account)
1896
+ # Some parameter documentations has been truncated, see
1897
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount}
1898
+ # for more details.
1899
+ #
1900
+ # A user or account is created.
1901
+ #
1902
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
1903
+ #
1904
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
1905
+ #
1906
+ # @param user_id [String] Your stable canonical identifier for the user or account.
1907
+ #
1908
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
1909
+ #
1910
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
1911
+ #
1912
+ # @param properties [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Properties] Stable, typed account-level facts SafetyKit can use in rules and aggregate analy
1913
+ #
1914
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
1915
+ #
1916
+ # @param type [Symbol, :create_account]
1917
+
1918
+ # User-authored text content associated with an event.
1919
+ module Content
1920
+ extend SafetyKit::Internal::Type::Union
1921
+
1922
+ # User-authored text content associated with an event.
1923
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventTextContent }
1924
+
1925
+ # User-uploaded image content associated with an event.
1926
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent }
1927
+
1928
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
1929
+ # @!attribute text
1930
+ # User-authored text SafetyKit should compare or analyze.
1931
+ #
1932
+ # @return [String]
1933
+ required :text, String
1934
+
1935
+ # @!attribute type
1936
+ # Text content part.
1937
+ #
1938
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventTextContent::Type]
1939
+ required :type,
1940
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventTextContent::Type }
1941
+
1942
+ # @!attribute key
1943
+ # Stable field key for this content part.
1944
+ #
1945
+ # @return [String, nil]
1946
+ optional :key, String
1947
+
1948
+ # @!method initialize(text:, type:, key: nil)
1949
+ # User-authored text content associated with an event.
1950
+ #
1951
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
1952
+ #
1953
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventTextContent::Type] Text content part.
1954
+ #
1955
+ # @param key [String] Stable field key for this content part.
1956
+
1957
+ # Text content part.
1958
+ #
1959
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventTextContent#type
1960
+ module Type
1961
+ extend SafetyKit::Internal::Type::Enum
1962
+
1963
+ TEXT = :text
1964
+
1965
+ # @!method self.values
1966
+ # @return [Array<Symbol>]
1967
+ end
1968
+ end
1969
+
1970
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
1971
+ # @!attribute source
1972
+ # Image source information.
1973
+ #
1974
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent::Source]
1975
+ required :source,
1976
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent::Source }
1977
+
1978
+ # @!attribute type
1979
+ # Image content part.
1980
+ #
1981
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent::Type]
1982
+ required :type,
1983
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent::Type }
1984
+
1985
+ # @!attribute key
1986
+ # Stable field key for this content part.
1987
+ #
1988
+ # @return [String, nil]
1989
+ optional :key, String
1990
+
1991
+ # @!method initialize(source:, type:, key: nil)
1992
+ # User-uploaded image content associated with an event.
1993
+ #
1994
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent::Source] Image source information.
1995
+ #
1996
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent::Type] Image content part.
1997
+ #
1998
+ # @param key [String] Stable field key for this content part.
1999
+
2000
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent#source
2001
+ class Source < SafetyKit::Internal::Type::BaseModel
2002
+ # @!attribute type
2003
+ # URL image source.
2004
+ #
2005
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent::Source::Type]
2006
+ required :type,
2007
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent::Source::Type }
2008
+
2009
+ # @!attribute url
2010
+ # URL of the image SafetyKit should compare or analyze.
2011
+ #
2012
+ # @return [String]
2013
+ required :url, String
2014
+
2015
+ # @!method initialize(type:, url:)
2016
+ # Image source information.
2017
+ #
2018
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent::Source::Type] URL image source.
2019
+ #
2020
+ # @param url [String] URL of the image SafetyKit should compare or analyze.
2021
+
2022
+ # URL image source.
2023
+ #
2024
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent::Source#type
2025
+ module Type
2026
+ extend SafetyKit::Internal::Type::Enum
2027
+
2028
+ URL = :url
2029
+
2030
+ # @!method self.values
2031
+ # @return [Array<Symbol>]
2032
+ end
2033
+ end
2034
+
2035
+ # Image content part.
2036
+ #
2037
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent#type
2038
+ module Type
2039
+ extend SafetyKit::Internal::Type::Enum
2040
+
2041
+ IMAGE = :image
2042
+
2043
+ # @!method self.values
2044
+ # @return [Array<Symbol>]
2045
+ end
2046
+ end
2047
+
2048
+ # @!method self.variants
2049
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Content::EventImageContent)]
2050
+ end
2051
+
2052
+ module Metadata
2053
+ extend SafetyKit::Internal::Type::Union
2054
+
2055
+ variant String
2056
+
2057
+ variant Float
2058
+
2059
+ variant SafetyKit::Internal::Type::Boolean
2060
+
2061
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Metadata::UnionMember3Array }
2062
+
2063
+ module UnionMember3
2064
+ extend SafetyKit::Internal::Type::Union
2065
+
2066
+ variant String
2067
+
2068
+ variant Float
2069
+
2070
+ variant SafetyKit::Internal::Type::Boolean
2071
+
2072
+ # @!method self.variants
2073
+ # @return [Array(String, Float, Boolean)]
2074
+ end
2075
+
2076
+ # @!method self.variants
2077
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
2078
+
2079
+ # @type [SafetyKit::Internal::Type::Converter]
2080
+ UnionMember3Array =
2081
+ SafetyKit::Internal::Type::ArrayOf[
2082
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::Metadata::UnionMember3 }
2083
+ ]
2084
+ end
2085
+
2086
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount#properties
2087
+ class Properties < SafetyKit::Internal::Type::BaseModel
2088
+ # @!attribute account_state
2089
+ # Current account lifecycle or moderation state.
2090
+ #
2091
+ # @return [String, nil]
2092
+ optional :account_state, String
2093
+
2094
+ # @!attribute account_types
2095
+ # Stable account categories in your product.
2096
+ #
2097
+ # @return [Array<String>, nil]
2098
+ optional :account_types, SafetyKit::Internal::Type::ArrayOf[String]
2099
+
2100
+ # @!attribute country
2101
+ # Country associated with the account.
2102
+ #
2103
+ # @return [String, nil]
2104
+ optional :country, String
2105
+
2106
+ # @!attribute email_verified
2107
+ # Whether the account's email address has been verified.
2108
+ #
2109
+ # @return [Boolean, nil]
2110
+ optional :email_verified, SafetyKit::Internal::Type::Boolean
2111
+
2112
+ # @!method initialize(account_state: nil, account_types: nil, country: nil, email_verified: nil)
2113
+ # Stable, typed account-level facts SafetyKit can use in rules and aggregate
2114
+ # analysis.
2115
+ #
2116
+ # @param account_state [String] Current account lifecycle or moderation state.
2117
+ #
2118
+ # @param account_types [Array<String>] Stable account categories in your product.
2119
+ #
2120
+ # @param country [String] Country associated with the account.
2121
+ #
2122
+ # @param email_verified [Boolean] Whether the account's email address has been verified.
2123
+ end
2124
+
2125
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
2126
+ # @!attribute type
2127
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
2128
+ # youtube, linkedin, or another stable snake_case identifier.
2129
+ #
2130
+ # @return [String]
2131
+ required :type, String
2132
+
2133
+ # @!attribute value
2134
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
2135
+ # value, not the raw value. When type is url, this must be a valid URL.
2136
+ #
2137
+ # @return [String]
2138
+ required :value, String
2139
+
2140
+ # @!method initialize(type:, value:)
2141
+ # Some parameter documentations has been truncated, see
2142
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount::ResourcesUsed}
2143
+ # for more details.
2144
+ #
2145
+ # Real-world or account resource used during the event, such as an email, phone
2146
+ # number, address, URL, social handle, or payment identifier.
2147
+ #
2148
+ # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
2149
+ #
2150
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
2151
+ end
2152
+ end
2153
+
2154
+ class UpdateAccount < SafetyKit::Internal::Type::BaseModel
2155
+ # @!attribute event_name
2156
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
2157
+ # values in typed fields, content, resources_used, or metadata.
2158
+ #
2159
+ # @return [String]
2160
+ required :event_name, String
2161
+
2162
+ # @!attribute timestamp
2163
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
2164
+ #
2165
+ # @return [Time]
2166
+ required :timestamp, Time
2167
+
2168
+ # @!attribute type
2169
+ #
2170
+ # @return [Symbol, :update_account]
2171
+ required :type, const: :update_account
2172
+
2173
+ # @!attribute user_id
2174
+ # Your stable canonical identifier for the user or account.
2175
+ #
2176
+ # @return [String]
2177
+ required :user_id, String
2178
+
2179
+ # @!attribute content
2180
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2181
+ # listing text, image URLs, and similar content SafetyKit should compare or
2182
+ # analyze.
2183
+ #
2184
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent>, nil]
2185
+ optional :content,
2186
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content] }
2187
+
2188
+ # @!attribute metadata
2189
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
2190
+ # be strings, numbers, booleans, or arrays of those scalar values.
2191
+ #
2192
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2193
+ optional :metadata,
2194
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Metadata] }
2195
+
2196
+ # @!attribute properties
2197
+ # Stable, typed account-level facts SafetyKit can use in rules and aggregate
2198
+ # analysis.
2199
+ #
2200
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Properties, nil]
2201
+ optional :properties,
2202
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Properties }
2203
+
2204
+ # @!attribute resources_used
2205
+ # Reusable resources observed during the event. Use this for emails, phone
2206
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2207
+ # identifiers.
2208
+ #
2209
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::ResourcesUsed>, nil]
2210
+ optional :resources_used,
2211
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::ResourcesUsed] }
2212
+
2213
+ # @!method initialize(event_name:, timestamp:, user_id:, content: nil, metadata: nil, properties: nil, resources_used: nil, type: :update_account)
2214
+ # Some parameter documentations has been truncated, see
2215
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount}
2216
+ # for more details.
2217
+ #
2218
+ # A user or account profile, contact detail, payment detail, or public bio
2219
+ # changes.
2220
+ #
2221
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2222
+ #
2223
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
2224
+ #
2225
+ # @param user_id [String] Your stable canonical identifier for the user or account.
2226
+ #
2227
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
2228
+ #
2229
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2230
+ #
2231
+ # @param properties [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Properties] Stable, typed account-level facts SafetyKit can use in rules and aggregate analy
2232
+ #
2233
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2234
+ #
2235
+ # @param type [Symbol, :update_account]
2236
+
2237
+ # User-authored text content associated with an event.
2238
+ module Content
2239
+ extend SafetyKit::Internal::Type::Union
2240
+
2241
+ # User-authored text content associated with an event.
2242
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventTextContent }
2243
+
2244
+ # User-uploaded image content associated with an event.
2245
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent }
2246
+
2247
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
2248
+ # @!attribute text
2249
+ # User-authored text SafetyKit should compare or analyze.
2250
+ #
2251
+ # @return [String]
2252
+ required :text, String
2253
+
2254
+ # @!attribute type
2255
+ # Text content part.
2256
+ #
2257
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventTextContent::Type]
2258
+ required :type,
2259
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventTextContent::Type }
2260
+
2261
+ # @!attribute key
2262
+ # Stable field key for this content part.
2263
+ #
2264
+ # @return [String, nil]
2265
+ optional :key, String
2266
+
2267
+ # @!method initialize(text:, type:, key: nil)
2268
+ # User-authored text content associated with an event.
2269
+ #
2270
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
2271
+ #
2272
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventTextContent::Type] Text content part.
2273
+ #
2274
+ # @param key [String] Stable field key for this content part.
2275
+
2276
+ # Text content part.
2277
+ #
2278
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventTextContent#type
2279
+ module Type
2280
+ extend SafetyKit::Internal::Type::Enum
2281
+
2282
+ TEXT = :text
2283
+
2284
+ # @!method self.values
2285
+ # @return [Array<Symbol>]
2286
+ end
2287
+ end
2288
+
2289
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
2290
+ # @!attribute source
2291
+ # Image source information.
2292
+ #
2293
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent::Source]
2294
+ required :source,
2295
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent::Source }
2296
+
2297
+ # @!attribute type
2298
+ # Image content part.
2299
+ #
2300
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent::Type]
2301
+ required :type,
2302
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent::Type }
2303
+
2304
+ # @!attribute key
2305
+ # Stable field key for this content part.
2306
+ #
2307
+ # @return [String, nil]
2308
+ optional :key, String
2309
+
2310
+ # @!method initialize(source:, type:, key: nil)
2311
+ # User-uploaded image content associated with an event.
2312
+ #
2313
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent::Source] Image source information.
2314
+ #
2315
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent::Type] Image content part.
2316
+ #
2317
+ # @param key [String] Stable field key for this content part.
2318
+
2319
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent#source
2320
+ class Source < SafetyKit::Internal::Type::BaseModel
2321
+ # @!attribute type
2322
+ # URL image source.
2323
+ #
2324
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent::Source::Type]
2325
+ required :type,
2326
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent::Source::Type }
2327
+
2328
+ # @!attribute url
2329
+ # URL of the image SafetyKit should compare or analyze.
2330
+ #
2331
+ # @return [String]
2332
+ required :url, String
2333
+
2334
+ # @!method initialize(type:, url:)
2335
+ # Image source information.
2336
+ #
2337
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent::Source::Type] URL image source.
2338
+ #
2339
+ # @param url [String] URL of the image SafetyKit should compare or analyze.
2340
+
2341
+ # URL image source.
2342
+ #
2343
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent::Source#type
2344
+ module Type
2345
+ extend SafetyKit::Internal::Type::Enum
2346
+
2347
+ URL = :url
2348
+
2349
+ # @!method self.values
2350
+ # @return [Array<Symbol>]
2351
+ end
2352
+ end
2353
+
2354
+ # Image content part.
2355
+ #
2356
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent#type
2357
+ module Type
2358
+ extend SafetyKit::Internal::Type::Enum
2359
+
2360
+ IMAGE = :image
2361
+
2362
+ # @!method self.values
2363
+ # @return [Array<Symbol>]
2364
+ end
2365
+ end
2366
+
2367
+ # @!method self.variants
2368
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Content::EventImageContent)]
2369
+ end
2370
+
2371
+ module Metadata
2372
+ extend SafetyKit::Internal::Type::Union
2373
+
2374
+ variant String
2375
+
2376
+ variant Float
2377
+
2378
+ variant SafetyKit::Internal::Type::Boolean
2379
+
2380
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Metadata::UnionMember3Array }
2381
+
2382
+ module UnionMember3
2383
+ extend SafetyKit::Internal::Type::Union
2384
+
2385
+ variant String
2386
+
2387
+ variant Float
2388
+
2389
+ variant SafetyKit::Internal::Type::Boolean
2390
+
2391
+ # @!method self.variants
2392
+ # @return [Array(String, Float, Boolean)]
2393
+ end
2394
+
2395
+ # @!method self.variants
2396
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
2397
+
2398
+ # @type [SafetyKit::Internal::Type::Converter]
2399
+ UnionMember3Array =
2400
+ SafetyKit::Internal::Type::ArrayOf[
2401
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::Metadata::UnionMember3 }
2402
+ ]
2403
+ end
2404
+
2405
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount#properties
2406
+ class Properties < SafetyKit::Internal::Type::BaseModel
2407
+ # @!attribute account_state
2408
+ # Current account lifecycle or moderation state.
2409
+ #
2410
+ # @return [String, nil]
2411
+ optional :account_state, String
2412
+
2413
+ # @!attribute account_types
2414
+ # Stable account categories in your product.
2415
+ #
2416
+ # @return [Array<String>, nil]
2417
+ optional :account_types, SafetyKit::Internal::Type::ArrayOf[String]
2418
+
2419
+ # @!attribute country
2420
+ # Country associated with the account.
2421
+ #
2422
+ # @return [String, nil]
2423
+ optional :country, String
2424
+
2425
+ # @!attribute email_verified
2426
+ # Whether the account's email address has been verified.
2427
+ #
2428
+ # @return [Boolean, nil]
2429
+ optional :email_verified, SafetyKit::Internal::Type::Boolean
2430
+
2431
+ # @!method initialize(account_state: nil, account_types: nil, country: nil, email_verified: nil)
2432
+ # Stable, typed account-level facts SafetyKit can use in rules and aggregate
2433
+ # analysis.
2434
+ #
2435
+ # @param account_state [String] Current account lifecycle or moderation state.
2436
+ #
2437
+ # @param account_types [Array<String>] Stable account categories in your product.
2438
+ #
2439
+ # @param country [String] Country associated with the account.
2440
+ #
2441
+ # @param email_verified [Boolean] Whether the account's email address has been verified.
2442
+ end
2443
+
2444
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
2445
+ # @!attribute type
2446
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
2447
+ # youtube, linkedin, or another stable snake_case identifier.
2448
+ #
2449
+ # @return [String]
2450
+ required :type, String
2451
+
2452
+ # @!attribute value
2453
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
2454
+ # value, not the raw value. When type is url, this must be a valid URL.
2455
+ #
2456
+ # @return [String]
2457
+ required :value, String
2458
+
2459
+ # @!method initialize(type:, value:)
2460
+ # Some parameter documentations has been truncated, see
2461
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount::ResourcesUsed}
2462
+ # for more details.
2463
+ #
2464
+ # Real-world or account resource used during the event, such as an email, phone
2465
+ # number, address, URL, social handle, or payment identifier.
2466
+ #
2467
+ # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
2468
+ #
2469
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
2470
+ end
2471
+ end
2472
+
2473
+ # @!method self.variants
2474
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount)]
2475
+ end
2476
+
2477
+ # @!method self.variants
2478
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest, Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember4::UpdateAccount>)]
2479
+
2480
+ # @type [SafetyKit::Internal::Type::Converter]
2481
+ UnionMember4Array =
2482
+ SafetyKit::Internal::Type::ArrayOf[union: -> {
2483
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember4
2484
+ }]
1136
2485
  end
1137
2486
  end
1138
2487
  end