safetykit 0.18.0 → 0.20.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.
@@ -26,13 +26,15 @@ module SafetyKit
26
26
  SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest,
27
27
  SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest,
28
28
  SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest,
29
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest,
29
30
  T::Array[
30
31
  T.any(
31
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact,
32
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded,
33
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount,
34
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount,
35
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport
32
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact,
33
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded,
34
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount,
35
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount,
36
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport,
37
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision
36
38
  )
37
39
  ]
38
40
  )
@@ -49,13 +51,15 @@ module SafetyKit
49
51
  SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::OrHash,
50
52
  SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::OrHash,
51
53
  SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest::OrHash,
54
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::OrHash,
52
55
  T::Array[
53
56
  T.any(
54
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::OrHash,
55
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::OrHash,
56
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::OrHash,
57
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::OrHash,
58
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::OrHash
57
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::OrHash,
58
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::OrHash,
59
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::OrHash,
60
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::OrHash,
61
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::OrHash,
62
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::OrHash
59
63
  )
60
64
  ]
61
65
  ),
@@ -81,13 +85,15 @@ module SafetyKit
81
85
  SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest,
82
86
  SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest,
83
87
  SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest,
88
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest,
84
89
  T::Array[
85
90
  T.any(
86
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact,
87
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded,
88
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount,
89
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount,
90
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport
91
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact,
92
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded,
93
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount,
94
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount,
95
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport,
96
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision
91
97
  )
92
98
  ]
93
99
  ),
@@ -112,8 +118,9 @@ module SafetyKit
112
118
  SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest,
113
119
  SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest,
114
120
  SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest,
121
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest,
115
122
  T::Array[
116
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::Variants
123
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::Variants
117
124
  ]
118
125
  )
119
126
  end
@@ -190,6 +197,14 @@ module SafetyKit
190
197
  sig { params(content_id: String).void }
191
198
  attr_writer :content_id
192
199
 
200
+ # Optional caller-provided key used to make retries of this individual event
201
+ # idempotent. Reuse the same key only for retries of the same logical event.
202
+ sig { returns(T.nilable(String)) }
203
+ attr_reader :idempotency_key
204
+
205
+ sig { params(idempotency_key: String).void }
206
+ attr_writer :idempotency_key
207
+
193
208
  # Non-PII product context for filtering, segmentation, and debugging. Values may
194
209
  # be strings, numbers, booleans, or arrays of those scalar values.
195
210
  sig do
@@ -256,6 +271,7 @@ module SafetyKit
256
271
  )
257
272
  ],
258
273
  content_id: String,
274
+ idempotency_key: String,
259
275
  metadata:
260
276
  T::Hash[
261
277
  Symbol,
@@ -286,6 +302,9 @@ module SafetyKit
286
302
  # Your stable identifier for the content involved in this event, such as a
287
303
  # message, listing, page, post, profile, or uploaded media item.
288
304
  content_id: nil,
305
+ # Optional caller-provided key used to make retries of this individual event
306
+ # idempotent. Reuse the same key only for retries of the same logical event.
307
+ idempotency_key: nil,
289
308
  # Non-PII product context for filtering, segmentation, and debugging. Values may
290
309
  # be strings, numbers, booleans, or arrays of those scalar values.
291
310
  metadata: nil,
@@ -313,6 +332,7 @@ module SafetyKit
313
332
  )
314
333
  ],
315
334
  content_id: String,
335
+ idempotency_key: String,
316
336
  metadata:
317
337
  T::Hash[
318
338
  Symbol,
@@ -799,6 +819,14 @@ module SafetyKit
799
819
  sig { params(content_id: String).void }
800
820
  attr_writer :content_id
801
821
 
822
+ # Optional caller-provided key used to make retries of this individual event
823
+ # idempotent. Reuse the same key only for retries of the same logical event.
824
+ sig { returns(T.nilable(String)) }
825
+ attr_reader :idempotency_key
826
+
827
+ sig { params(idempotency_key: String).void }
828
+ attr_writer :idempotency_key
829
+
802
830
  # Non-PII product context for filtering, segmentation, and debugging. Values may
803
831
  # be strings, numbers, booleans, or arrays of those scalar values.
804
832
  sig do
@@ -864,6 +892,7 @@ module SafetyKit
864
892
  SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Type::OrSymbol,
865
893
  user_id: String,
866
894
  content_id: String,
895
+ idempotency_key: String,
867
896
  metadata:
868
897
  T::Hash[
869
898
  Symbol,
@@ -891,6 +920,9 @@ module SafetyKit
891
920
  # Your stable identifier for the content involved in this event, such as a
892
921
  # message, listing, page, post, profile, or uploaded media item.
893
922
  content_id: nil,
923
+ # Optional caller-provided key used to make retries of this individual event
924
+ # idempotent. Reuse the same key only for retries of the same logical event.
925
+ idempotency_key: nil,
894
926
  # Non-PII product context for filtering, segmentation, and debugging. Values may
895
927
  # be strings, numbers, booleans, or arrays of those scalar values.
896
928
  metadata: nil,
@@ -917,6 +949,7 @@ module SafetyKit
917
949
  SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Type::OrSymbol,
918
950
  user_id: String,
919
951
  content_id: String,
952
+ idempotency_key: String,
920
953
  metadata:
921
954
  T::Hash[
922
955
  Symbol,
@@ -1418,6 +1451,14 @@ module SafetyKit
1418
1451
  sig { params(content_id: String).void }
1419
1452
  attr_writer :content_id
1420
1453
 
1454
+ # Optional caller-provided key used to make retries of this individual event
1455
+ # idempotent. Reuse the same key only for retries of the same logical event.
1456
+ sig { returns(T.nilable(String)) }
1457
+ attr_reader :idempotency_key
1458
+
1459
+ sig { params(idempotency_key: String).void }
1460
+ attr_writer :idempotency_key
1461
+
1421
1462
  # Non-PII product context for filtering, segmentation, and debugging. Values may
1422
1463
  # be strings, numbers, booleans, or arrays of those scalar values.
1423
1464
  sig do
@@ -1483,6 +1524,7 @@ module SafetyKit
1483
1524
  )
1484
1525
  ],
1485
1526
  content_id: String,
1527
+ idempotency_key: String,
1486
1528
  metadata:
1487
1529
  T::Hash[
1488
1530
  Symbol,
@@ -1510,6 +1552,9 @@ module SafetyKit
1510
1552
  # Your stable identifier for the content involved in this event, such as a
1511
1553
  # message, listing, page, post, profile, or uploaded media item.
1512
1554
  content_id: nil,
1555
+ # Optional caller-provided key used to make retries of this individual event
1556
+ # idempotent. Reuse the same key only for retries of the same logical event.
1557
+ idempotency_key: nil,
1513
1558
  # Non-PII product context for filtering, segmentation, and debugging. Values may
1514
1559
  # be strings, numbers, booleans, or arrays of those scalar values.
1515
1560
  metadata: nil,
@@ -1536,6 +1581,7 @@ module SafetyKit
1536
1581
  )
1537
1582
  ],
1538
1583
  content_id: String,
1584
+ idempotency_key: String,
1539
1585
  metadata:
1540
1586
  T::Hash[
1541
1587
  Symbol,
@@ -2037,6 +2083,14 @@ module SafetyKit
2037
2083
  sig { params(content_id: String).void }
2038
2084
  attr_writer :content_id
2039
2085
 
2086
+ # Optional caller-provided key used to make retries of this individual event
2087
+ # idempotent. Reuse the same key only for retries of the same logical event.
2088
+ sig { returns(T.nilable(String)) }
2089
+ attr_reader :idempotency_key
2090
+
2091
+ sig { params(idempotency_key: String).void }
2092
+ attr_writer :idempotency_key
2093
+
2040
2094
  # Non-PII product context for filtering, segmentation, and debugging. Values may
2041
2095
  # be strings, numbers, booleans, or arrays of those scalar values.
2042
2096
  sig do
@@ -2103,6 +2157,7 @@ module SafetyKit
2103
2157
  )
2104
2158
  ],
2105
2159
  content_id: String,
2160
+ idempotency_key: String,
2106
2161
  metadata:
2107
2162
  T::Hash[
2108
2163
  Symbol,
@@ -2130,6 +2185,9 @@ module SafetyKit
2130
2185
  # Your stable identifier for the content involved in this event, such as a
2131
2186
  # message, listing, page, post, profile, or uploaded media item.
2132
2187
  content_id: nil,
2188
+ # Optional caller-provided key used to make retries of this individual event
2189
+ # idempotent. Reuse the same key only for retries of the same logical event.
2190
+ idempotency_key: nil,
2133
2191
  # Non-PII product context for filtering, segmentation, and debugging. Values may
2134
2192
  # be strings, numbers, booleans, or arrays of those scalar values.
2135
2193
  metadata: nil,
@@ -2156,6 +2214,7 @@ module SafetyKit
2156
2214
  )
2157
2215
  ],
2158
2216
  content_id: String,
2217
+ idempotency_key: String,
2159
2218
  metadata:
2160
2219
  T::Hash[
2161
2220
  Symbol,
@@ -2667,6 +2726,14 @@ module SafetyKit
2667
2726
  sig { params(content_id: String).void }
2668
2727
  attr_writer :content_id
2669
2728
 
2729
+ # Optional caller-provided key used to make retries of this individual event
2730
+ # idempotent. Reuse the same key only for retries of the same logical event.
2731
+ sig { returns(T.nilable(String)) }
2732
+ attr_reader :idempotency_key
2733
+
2734
+ sig { params(idempotency_key: String).void }
2735
+ attr_writer :idempotency_key
2736
+
2670
2737
  # Non-PII product context for filtering, segmentation, and debugging. Values may
2671
2738
  # be strings, numbers, booleans, or arrays of those scalar values.
2672
2739
  sig do
@@ -2753,6 +2820,7 @@ module SafetyKit
2753
2820
  )
2754
2821
  ],
2755
2822
  content_id: String,
2823
+ idempotency_key: String,
2756
2824
  metadata:
2757
2825
  T::Hash[
2758
2826
  Symbol,
@@ -2784,6 +2852,9 @@ module SafetyKit
2784
2852
  # Your stable identifier for the content involved in this event, such as a
2785
2853
  # message, listing, page, post, profile, or uploaded media item.
2786
2854
  content_id: nil,
2855
+ # Optional caller-provided key used to make retries of this individual event
2856
+ # idempotent. Reuse the same key only for retries of the same logical event.
2857
+ idempotency_key: nil,
2787
2858
  # Non-PII product context for filtering, segmentation, and debugging. Values may
2788
2859
  # be strings, numbers, booleans, or arrays of those scalar values.
2789
2860
  metadata: nil,
@@ -2818,6 +2889,7 @@ module SafetyKit
2818
2889
  )
2819
2890
  ],
2820
2891
  content_id: String,
2892
+ idempotency_key: String,
2821
2893
  metadata:
2822
2894
  T::Hash[
2823
2895
  Symbol,
@@ -3280,218 +3352,1528 @@ module SafetyKit
3280
3352
  end
3281
3353
  end
3282
3354
 
3283
- # A user contacts, transacts with, or otherwise interacts with another user.
3284
- module UnionMember5
3285
- extend SafetyKit::Internal::Type::Union
3286
-
3287
- Variants =
3355
+ class ModerationDecisionEventRequest < SafetyKit::Internal::Type::BaseModel
3356
+ OrHash =
3288
3357
  T.type_alias do
3289
3358
  T.any(
3290
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact,
3291
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded,
3292
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount,
3293
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount,
3294
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport
3359
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest,
3360
+ SafetyKit::Internal::AnyHash
3295
3361
  )
3296
3362
  end
3297
3363
 
3298
- class UserContact < SafetyKit::Internal::Type::BaseModel
3299
- OrHash =
3300
- T.type_alias do
3301
- T.any(
3302
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact,
3303
- SafetyKit::Internal::AnyHash
3304
- )
3305
- end
3364
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
3365
+ # values in typed fields, content, resources_used, or metadata.
3366
+ sig { returns(String) }
3367
+ attr_accessor :event_name
3306
3368
 
3307
- # Stable, low-cardinality product action name. Use snake_case and put dynamic
3308
- # values in typed fields, content, resources_used, or metadata.
3309
- sig { returns(String) }
3310
- attr_accessor :event_name
3369
+ # One or more label categories supplied with the report.
3370
+ sig do
3371
+ returns(
3372
+ T::Array[
3373
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Label
3374
+ ]
3375
+ )
3376
+ end
3377
+ attr_accessor :labels
3311
3378
 
3312
- # Your stable canonical identifier for the other user in a user-to-user
3313
- # interaction.
3314
- sig { returns(String) }
3315
- attr_accessor :target_user_id
3379
+ # Stable identifier within source_type. For system_auto_ban, use a versioned
3380
+ # system identifier; for manual_review, use the manual reviewer id.
3381
+ sig { returns(String) }
3382
+ attr_accessor :source_id
3316
3383
 
3317
- # The time the event occurred in your system, as an ISO 8601 datetime string.
3318
- sig { returns(Time) }
3319
- attr_accessor :timestamp
3384
+ # Stable snake_case attribution namespace for the decision source, such as
3385
+ # system_auto_ban or manual_review.
3386
+ sig { returns(String) }
3387
+ attr_accessor :source_type
3320
3388
 
3321
- sig { returns(Symbol) }
3322
- attr_accessor :type
3389
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
3390
+ sig { returns(Time) }
3391
+ attr_accessor :timestamp
3323
3392
 
3324
- # Your stable canonical identifier for the user or account.
3325
- sig { returns(String) }
3326
- attr_accessor :user_id
3393
+ sig do
3394
+ returns(
3395
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type::OrSymbol
3396
+ )
3397
+ end
3398
+ attr_accessor :type
3327
3399
 
3328
- # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3329
- # listing text, image URLs, and similar content SafetyKit should compare or
3330
- # analyze.
3331
- sig do
3332
- returns(
3333
- T.nilable(
3334
- T::Array[
3335
- T.any(
3336
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent,
3337
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent
3338
- )
3339
- ]
3340
- )
3400
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3401
+ # listing text, image URLs, and similar content SafetyKit should compare or
3402
+ # analyze.
3403
+ sig do
3404
+ returns(
3405
+ T.nilable(
3406
+ T::Array[
3407
+ T.any(
3408
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent,
3409
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent
3410
+ )
3411
+ ]
3341
3412
  )
3342
- end
3343
- attr_reader :content
3413
+ )
3414
+ end
3415
+ attr_reader :content
3344
3416
 
3345
- sig do
3346
- params(
3347
- content:
3348
- T::Array[
3349
- T.any(
3350
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent::OrHash,
3351
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::OrHash
3352
- )
3353
- ]
3354
- ).void
3355
- end
3356
- attr_writer :content
3417
+ sig do
3418
+ params(
3419
+ content:
3420
+ T::Array[
3421
+ T.any(
3422
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::OrHash,
3423
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::OrHash
3424
+ )
3425
+ ]
3426
+ ).void
3427
+ end
3428
+ attr_writer :content
3357
3429
 
3358
- # Your stable identifier for the content involved in this event, such as a
3359
- # message, listing, page, post, profile, or uploaded media item.
3360
- sig { returns(T.nilable(String)) }
3361
- attr_reader :content_id
3430
+ # Your stable identifier for the content involved in this event, such as a
3431
+ # message, listing, page, post, profile, or uploaded media item.
3432
+ sig { returns(T.nilable(String)) }
3433
+ attr_reader :content_id
3362
3434
 
3363
- sig { params(content_id: String).void }
3364
- attr_writer :content_id
3435
+ sig { params(content_id: String).void }
3436
+ attr_writer :content_id
3365
3437
 
3366
- # Non-PII product context for filtering, segmentation, and debugging. Values may
3367
- # be strings, numbers, booleans, or arrays of those scalar values.
3368
- sig do
3369
- returns(
3370
- T.nilable(
3371
- T::Hash[
3372
- Symbol,
3373
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::Variants
3374
- ]
3375
- )
3376
- )
3377
- end
3378
- attr_reader :metadata
3438
+ # Optional caller-provided key used to make retries of this individual event
3439
+ # idempotent. Reuse the same key only for retries of the same logical event.
3440
+ sig { returns(T.nilable(String)) }
3441
+ attr_reader :idempotency_key
3379
3442
 
3380
- sig do
3381
- params(
3382
- metadata:
3383
- T::Hash[
3384
- Symbol,
3385
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::Variants
3386
- ]
3387
- ).void
3388
- end
3389
- attr_writer :metadata
3443
+ sig { params(idempotency_key: String).void }
3444
+ attr_writer :idempotency_key
3390
3445
 
3391
- # Reusable resources observed during the event. Use this for emails, phone
3392
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
3393
- # identifiers.
3394
- sig do
3395
- returns(
3396
- T.nilable(
3397
- T::Array[
3398
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::ResourcesUsed
3399
- ]
3400
- )
3446
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
3447
+ # be strings, numbers, booleans, or arrays of those scalar values.
3448
+ sig do
3449
+ returns(
3450
+ T.nilable(
3451
+ T::Hash[
3452
+ Symbol,
3453
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::Variants
3454
+ ]
3401
3455
  )
3402
- end
3403
- attr_reader :resources_used
3456
+ )
3457
+ end
3458
+ attr_reader :metadata
3404
3459
 
3405
- sig do
3406
- params(
3407
- resources_used:
3408
- T::Array[
3409
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::ResourcesUsed::OrHash
3410
- ]
3411
- ).void
3412
- end
3413
- attr_writer :resources_used
3460
+ sig do
3461
+ params(
3462
+ metadata:
3463
+ T::Hash[
3464
+ Symbol,
3465
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::Variants
3466
+ ]
3467
+ ).void
3468
+ end
3469
+ attr_writer :metadata
3414
3470
 
3415
- # A user contacts, transacts with, or otherwise interacts with another user.
3416
- sig do
3417
- params(
3418
- event_name: String,
3419
- target_user_id: String,
3420
- timestamp: Time,
3421
- user_id: String,
3422
- content:
3423
- T::Array[
3424
- T.any(
3425
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent::OrHash,
3426
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::OrHash
3427
- )
3428
- ],
3429
- content_id: String,
3430
- metadata:
3431
- T::Hash[
3432
- Symbol,
3433
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::Variants
3434
- ],
3435
- resources_used:
3436
- T::Array[
3437
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::ResourcesUsed::OrHash
3438
- ],
3439
- type: Symbol
3440
- ).returns(T.attached_class)
3441
- end
3442
- def self.new(
3443
- # Stable, low-cardinality product action name. Use snake_case and put dynamic
3444
- # values in typed fields, content, resources_used, or metadata.
3445
- event_name:,
3446
- # Your stable canonical identifier for the other user in a user-to-user
3447
- # interaction.
3448
- target_user_id:,
3449
- # The time the event occurred in your system, as an ISO 8601 datetime string.
3450
- timestamp:,
3451
- # Your stable canonical identifier for the user or account.
3452
- user_id:,
3453
- # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3454
- # listing text, image URLs, and similar content SafetyKit should compare or
3455
- # analyze.
3456
- content: nil,
3457
- # Your stable identifier for the content involved in this event, such as a
3458
- # message, listing, page, post, profile, or uploaded media item.
3459
- content_id: nil,
3460
- # Non-PII product context for filtering, segmentation, and debugging. Values may
3461
- # be strings, numbers, booleans, or arrays of those scalar values.
3462
- metadata: nil,
3463
- # Reusable resources observed during the event. Use this for emails, phone
3464
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
3465
- # identifiers.
3466
- resources_used: nil,
3467
- type: :user_contact
3471
+ # Reusable resources observed during the event. Use this for emails, phone
3472
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
3473
+ # identifiers.
3474
+ sig do
3475
+ returns(
3476
+ T.nilable(
3477
+ T::Array[
3478
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed
3479
+ ]
3480
+ )
3468
3481
  )
3469
- end
3482
+ end
3483
+ attr_reader :resources_used
3470
3484
 
3471
- sig do
3472
- override.returns(
3473
- {
3474
- event_name: String,
3475
- target_user_id: String,
3476
- timestamp: Time,
3477
- type: Symbol,
3478
- user_id: String,
3479
- content:
3480
- T::Array[
3485
+ sig do
3486
+ params(
3487
+ resources_used:
3488
+ T::Array[
3489
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed::OrHash
3490
+ ]
3491
+ ).void
3492
+ end
3493
+ attr_writer :resources_used
3494
+
3495
+ # Your stable identifier for the content being reported.
3496
+ sig { returns(T.nilable(String)) }
3497
+ attr_reader :target_content_id
3498
+
3499
+ sig { params(target_content_id: String).void }
3500
+ attr_writer :target_content_id
3501
+
3502
+ # Your stable canonical identifier for the user being reported.
3503
+ sig { returns(T.nilable(String)) }
3504
+ attr_reader :target_user_id
3505
+
3506
+ sig { params(target_user_id: String).void }
3507
+ attr_writer :target_user_id
3508
+
3509
+ # A moderation label or decision from an automated enforcement system or manual
3510
+ # review workflow. Do not send user_id; use source_type and source_id for
3511
+ # attribution.
3512
+ sig do
3513
+ params(
3514
+ event_name: String,
3515
+ labels:
3516
+ T::Array[
3517
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Label::OrHash
3518
+ ],
3519
+ source_id: String,
3520
+ source_type: String,
3521
+ timestamp: Time,
3522
+ type:
3523
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type::OrSymbol,
3524
+ content:
3525
+ T::Array[
3526
+ T.any(
3527
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::OrHash,
3528
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::OrHash
3529
+ )
3530
+ ],
3531
+ content_id: String,
3532
+ idempotency_key: String,
3533
+ metadata:
3534
+ T::Hash[
3535
+ Symbol,
3536
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::Variants
3537
+ ],
3538
+ resources_used:
3539
+ T::Array[
3540
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed::OrHash
3541
+ ],
3542
+ target_content_id: String,
3543
+ target_user_id: String
3544
+ ).returns(T.attached_class)
3545
+ end
3546
+ def self.new(
3547
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
3548
+ # values in typed fields, content, resources_used, or metadata.
3549
+ event_name:,
3550
+ # One or more label categories supplied with the report.
3551
+ labels:,
3552
+ # Stable identifier within source_type. For system_auto_ban, use a versioned
3553
+ # system identifier; for manual_review, use the manual reviewer id.
3554
+ source_id:,
3555
+ # Stable snake_case attribution namespace for the decision source, such as
3556
+ # system_auto_ban or manual_review.
3557
+ source_type:,
3558
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
3559
+ timestamp:,
3560
+ type:,
3561
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3562
+ # listing text, image URLs, and similar content SafetyKit should compare or
3563
+ # analyze.
3564
+ content: nil,
3565
+ # Your stable identifier for the content involved in this event, such as a
3566
+ # message, listing, page, post, profile, or uploaded media item.
3567
+ content_id: nil,
3568
+ # Optional caller-provided key used to make retries of this individual event
3569
+ # idempotent. Reuse the same key only for retries of the same logical event.
3570
+ idempotency_key: nil,
3571
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
3572
+ # be strings, numbers, booleans, or arrays of those scalar values.
3573
+ metadata: nil,
3574
+ # Reusable resources observed during the event. Use this for emails, phone
3575
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
3576
+ # identifiers.
3577
+ resources_used: nil,
3578
+ # Your stable identifier for the content being reported.
3579
+ target_content_id: nil,
3580
+ # Your stable canonical identifier for the user being reported.
3581
+ target_user_id: nil
3582
+ )
3583
+ end
3584
+
3585
+ sig do
3586
+ override.returns(
3587
+ {
3588
+ event_name: String,
3589
+ labels:
3590
+ T::Array[
3591
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Label
3592
+ ],
3593
+ source_id: String,
3594
+ source_type: String,
3595
+ timestamp: Time,
3596
+ type:
3597
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type::OrSymbol,
3598
+ content:
3599
+ T::Array[
3600
+ T.any(
3601
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent,
3602
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent
3603
+ )
3604
+ ],
3605
+ content_id: String,
3606
+ idempotency_key: String,
3607
+ metadata:
3608
+ T::Hash[
3609
+ Symbol,
3610
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::Variants
3611
+ ],
3612
+ resources_used:
3613
+ T::Array[
3614
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed
3615
+ ],
3616
+ target_content_id: String,
3617
+ target_user_id: String
3618
+ }
3619
+ )
3620
+ end
3621
+ def to_hash
3622
+ end
3623
+
3624
+ class Label < SafetyKit::Internal::Type::BaseModel
3625
+ OrHash =
3626
+ T.type_alias do
3627
+ T.any(
3628
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Label,
3629
+ SafetyKit::Internal::AnyHash
3630
+ )
3631
+ end
3632
+
3633
+ # Stable snake_case report label category.
3634
+ sig { returns(String) }
3635
+ attr_accessor :label
3636
+
3637
+ # Label category supplied with a user report.
3638
+ sig { params(label: String).returns(T.attached_class) }
3639
+ def self.new(
3640
+ # Stable snake_case report label category.
3641
+ label:
3642
+ )
3643
+ end
3644
+
3645
+ sig { override.returns({ label: String }) }
3646
+ def to_hash
3647
+ end
3648
+ end
3649
+
3650
+ module Type
3651
+ extend SafetyKit::Internal::Type::Enum
3652
+
3653
+ TaggedSymbol =
3654
+ T.type_alias do
3655
+ T.all(
3656
+ Symbol,
3657
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type
3658
+ )
3659
+ end
3660
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3661
+
3662
+ MODERATION_DECISION =
3663
+ T.let(
3664
+ :moderation_decision,
3665
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type::TaggedSymbol
3666
+ )
3667
+
3668
+ sig do
3669
+ override.returns(
3670
+ T::Array[
3671
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type::TaggedSymbol
3672
+ ]
3673
+ )
3674
+ end
3675
+ def self.values
3676
+ end
3677
+ end
3678
+
3679
+ # User-authored text content associated with an event.
3680
+ module Content
3681
+ extend SafetyKit::Internal::Type::Union
3682
+
3683
+ Variants =
3684
+ T.type_alias do
3685
+ T.any(
3686
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent,
3687
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent
3688
+ )
3689
+ end
3690
+
3691
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
3692
+ OrHash =
3693
+ T.type_alias do
3694
+ T.any(
3695
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent,
3696
+ SafetyKit::Internal::AnyHash
3697
+ )
3698
+ end
3699
+
3700
+ # User-authored text SafetyKit should compare or analyze.
3701
+ sig { returns(String) }
3702
+ attr_accessor :text
3703
+
3704
+ # Text content part.
3705
+ sig do
3706
+ returns(
3707
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type::OrSymbol
3708
+ )
3709
+ end
3710
+ attr_accessor :type
3711
+
3712
+ # Stable field key for this content part.
3713
+ sig { returns(T.nilable(String)) }
3714
+ attr_reader :key
3715
+
3716
+ sig { params(key: String).void }
3717
+ attr_writer :key
3718
+
3719
+ # User-authored text content associated with an event.
3720
+ sig do
3721
+ params(
3722
+ text: String,
3723
+ type:
3724
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type::OrSymbol,
3725
+ key: String
3726
+ ).returns(T.attached_class)
3727
+ end
3728
+ def self.new(
3729
+ # User-authored text SafetyKit should compare or analyze.
3730
+ text:,
3731
+ # Text content part.
3732
+ type:,
3733
+ # Stable field key for this content part.
3734
+ key: nil
3735
+ )
3736
+ end
3737
+
3738
+ sig do
3739
+ override.returns(
3740
+ {
3741
+ text: String,
3742
+ type:
3743
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type::OrSymbol,
3744
+ key: String
3745
+ }
3746
+ )
3747
+ end
3748
+ def to_hash
3749
+ end
3750
+
3751
+ # Text content part.
3752
+ module Type
3753
+ extend SafetyKit::Internal::Type::Enum
3754
+
3755
+ TaggedSymbol =
3756
+ T.type_alias do
3757
+ T.all(
3758
+ Symbol,
3759
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type
3760
+ )
3761
+ end
3762
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3763
+
3764
+ TEXT =
3765
+ T.let(
3766
+ :text,
3767
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type::TaggedSymbol
3768
+ )
3769
+
3770
+ sig do
3771
+ override.returns(
3772
+ T::Array[
3773
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type::TaggedSymbol
3774
+ ]
3775
+ )
3776
+ end
3777
+ def self.values
3778
+ end
3779
+ end
3780
+ end
3781
+
3782
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
3783
+ OrHash =
3784
+ T.type_alias do
3785
+ T.any(
3786
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent,
3787
+ SafetyKit::Internal::AnyHash
3788
+ )
3789
+ end
3790
+
3791
+ # Image source information.
3792
+ sig do
3793
+ returns(
3794
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source
3795
+ )
3796
+ end
3797
+ attr_reader :source
3798
+
3799
+ sig do
3800
+ params(
3801
+ source:
3802
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::OrHash
3803
+ ).void
3804
+ end
3805
+ attr_writer :source
3806
+
3807
+ # Image content part.
3808
+ sig do
3809
+ returns(
3810
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type::OrSymbol
3811
+ )
3812
+ end
3813
+ attr_accessor :type
3814
+
3815
+ # Stable field key for this content part.
3816
+ sig { returns(T.nilable(String)) }
3817
+ attr_reader :key
3818
+
3819
+ sig { params(key: String).void }
3820
+ attr_writer :key
3821
+
3822
+ # User-uploaded image content associated with an event.
3823
+ sig do
3824
+ params(
3825
+ source:
3826
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::OrHash,
3827
+ type:
3828
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type::OrSymbol,
3829
+ key: String
3830
+ ).returns(T.attached_class)
3831
+ end
3832
+ def self.new(
3833
+ # Image source information.
3834
+ source:,
3835
+ # Image content part.
3836
+ type:,
3837
+ # Stable field key for this content part.
3838
+ key: nil
3839
+ )
3840
+ end
3841
+
3842
+ sig do
3843
+ override.returns(
3844
+ {
3845
+ source:
3846
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source,
3847
+ type:
3848
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type::OrSymbol,
3849
+ key: String
3850
+ }
3851
+ )
3852
+ end
3853
+ def to_hash
3854
+ end
3855
+
3856
+ class Source < SafetyKit::Internal::Type::BaseModel
3857
+ OrHash =
3858
+ T.type_alias do
3859
+ T.any(
3860
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source,
3861
+ SafetyKit::Internal::AnyHash
3862
+ )
3863
+ end
3864
+
3865
+ # URL image source.
3866
+ sig do
3867
+ returns(
3868
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type::OrSymbol
3869
+ )
3870
+ end
3871
+ attr_accessor :type
3872
+
3873
+ # URL of the image SafetyKit should compare or analyze.
3874
+ sig { returns(String) }
3875
+ attr_accessor :url
3876
+
3877
+ # Image source information.
3878
+ sig do
3879
+ params(
3880
+ type:
3881
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type::OrSymbol,
3882
+ url: String
3883
+ ).returns(T.attached_class)
3884
+ end
3885
+ def self.new(
3886
+ # URL image source.
3887
+ type:,
3888
+ # URL of the image SafetyKit should compare or analyze.
3889
+ url:
3890
+ )
3891
+ end
3892
+
3893
+ sig do
3894
+ override.returns(
3895
+ {
3896
+ type:
3897
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type::OrSymbol,
3898
+ url: String
3899
+ }
3900
+ )
3901
+ end
3902
+ def to_hash
3903
+ end
3904
+
3905
+ # URL image source.
3906
+ module Type
3907
+ extend SafetyKit::Internal::Type::Enum
3908
+
3909
+ TaggedSymbol =
3910
+ T.type_alias do
3911
+ T.all(
3912
+ Symbol,
3913
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type
3914
+ )
3915
+ end
3916
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3917
+
3918
+ URL =
3919
+ T.let(
3920
+ :url,
3921
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type::TaggedSymbol
3922
+ )
3923
+
3924
+ sig do
3925
+ override.returns(
3926
+ T::Array[
3927
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type::TaggedSymbol
3928
+ ]
3929
+ )
3930
+ end
3931
+ def self.values
3932
+ end
3933
+ end
3934
+ end
3935
+
3936
+ # Image content part.
3937
+ module Type
3938
+ extend SafetyKit::Internal::Type::Enum
3939
+
3940
+ TaggedSymbol =
3941
+ T.type_alias do
3942
+ T.all(
3943
+ Symbol,
3944
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type
3945
+ )
3946
+ end
3947
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3948
+
3949
+ IMAGE =
3950
+ T.let(
3951
+ :image,
3952
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type::TaggedSymbol
3953
+ )
3954
+
3955
+ sig do
3956
+ override.returns(
3957
+ T::Array[
3958
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type::TaggedSymbol
3959
+ ]
3960
+ )
3961
+ end
3962
+ def self.values
3963
+ end
3964
+ end
3965
+ end
3966
+
3967
+ sig do
3968
+ override.returns(
3969
+ T::Array[
3970
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::Variants
3971
+ ]
3972
+ )
3973
+ end
3974
+ def self.variants
3975
+ end
3976
+ end
3977
+
3978
+ module Metadata
3979
+ extend SafetyKit::Internal::Type::Union
3980
+
3981
+ Variants =
3982
+ T.type_alias do
3983
+ T.any(
3984
+ String,
3985
+ Float,
3986
+ T::Boolean,
3987
+ T::Array[
3988
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::UnionMember3::Variants
3989
+ ]
3990
+ )
3991
+ end
3992
+
3993
+ module UnionMember3
3994
+ extend SafetyKit::Internal::Type::Union
3995
+
3996
+ Variants = T.type_alias { T.any(String, Float, T::Boolean) }
3997
+
3998
+ sig do
3999
+ override.returns(
4000
+ T::Array[
4001
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::UnionMember3::Variants
4002
+ ]
4003
+ )
4004
+ end
4005
+ def self.variants
4006
+ end
4007
+ end
4008
+
4009
+ sig do
4010
+ override.returns(
4011
+ T::Array[
4012
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::Variants
4013
+ ]
4014
+ )
4015
+ end
4016
+ def self.variants
4017
+ end
4018
+
4019
+ UnionMember3Array =
4020
+ T.let(
4021
+ SafetyKit::Internal::Type::ArrayOf[
4022
+ union:
4023
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::UnionMember3
4024
+ ],
4025
+ SafetyKit::Internal::Type::Converter
4026
+ )
4027
+ end
4028
+
4029
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
4030
+ OrHash =
4031
+ T.type_alias do
4032
+ T.any(
4033
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed,
4034
+ SafetyKit::Internal::AnyHash
4035
+ )
4036
+ end
4037
+
4038
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
4039
+ # youtube, linkedin, or another stable snake_case identifier.
4040
+ sig { returns(String) }
4041
+ attr_accessor :type
4042
+
4043
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
4044
+ # value, not the raw value. When type is url, this must be a valid URL.
4045
+ sig { returns(String) }
4046
+ attr_accessor :value
4047
+
4048
+ # Real-world or account resource used during the event, such as an email, phone
4049
+ # number, address, URL, social handle, or payment identifier.
4050
+ sig do
4051
+ params(type: String, value: String).returns(T.attached_class)
4052
+ end
4053
+ def self.new(
4054
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
4055
+ # youtube, linkedin, or another stable snake_case identifier.
4056
+ type:,
4057
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
4058
+ # value, not the raw value. When type is url, this must be a valid URL.
4059
+ value:
4060
+ )
4061
+ end
4062
+
4063
+ sig { override.returns({ type: String, value: String }) }
4064
+ def to_hash
4065
+ end
4066
+ end
4067
+ end
4068
+
4069
+ # A user contacts, transacts with, or otherwise interacts with another user.
4070
+ module UnionMember6
4071
+ extend SafetyKit::Internal::Type::Union
4072
+
4073
+ Variants =
4074
+ T.type_alias do
4075
+ T.any(
4076
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact,
4077
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded,
4078
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount,
4079
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount,
4080
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport,
4081
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision
4082
+ )
4083
+ end
4084
+
4085
+ class UserContact < SafetyKit::Internal::Type::BaseModel
4086
+ OrHash =
4087
+ T.type_alias do
4088
+ T.any(
4089
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact,
4090
+ SafetyKit::Internal::AnyHash
4091
+ )
4092
+ end
4093
+
4094
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
4095
+ # values in typed fields, content, resources_used, or metadata.
4096
+ sig { returns(String) }
4097
+ attr_accessor :event_name
4098
+
4099
+ # Your stable canonical identifier for the other user in a user-to-user
4100
+ # interaction.
4101
+ sig { returns(String) }
4102
+ attr_accessor :target_user_id
4103
+
4104
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
4105
+ sig { returns(Time) }
4106
+ attr_accessor :timestamp
4107
+
4108
+ sig { returns(Symbol) }
4109
+ attr_accessor :type
4110
+
4111
+ # Your stable canonical identifier for the user or account.
4112
+ sig { returns(String) }
4113
+ attr_accessor :user_id
4114
+
4115
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
4116
+ # listing text, image URLs, and similar content SafetyKit should compare or
4117
+ # analyze.
4118
+ sig do
4119
+ returns(
4120
+ T.nilable(
4121
+ T::Array[
4122
+ T.any(
4123
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent,
4124
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent
4125
+ )
4126
+ ]
4127
+ )
4128
+ )
4129
+ end
4130
+ attr_reader :content
4131
+
4132
+ sig do
4133
+ params(
4134
+ content:
4135
+ T::Array[
4136
+ T.any(
4137
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::OrHash,
4138
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::OrHash
4139
+ )
4140
+ ]
4141
+ ).void
4142
+ end
4143
+ attr_writer :content
4144
+
4145
+ # Your stable identifier for the content involved in this event, such as a
4146
+ # message, listing, page, post, profile, or uploaded media item.
4147
+ sig { returns(T.nilable(String)) }
4148
+ attr_reader :content_id
4149
+
4150
+ sig { params(content_id: String).void }
4151
+ attr_writer :content_id
4152
+
4153
+ # Optional caller-provided key used to make retries of this individual event
4154
+ # idempotent. Reuse the same key only for retries of the same logical event.
4155
+ sig { returns(T.nilable(String)) }
4156
+ attr_reader :idempotency_key
4157
+
4158
+ sig { params(idempotency_key: String).void }
4159
+ attr_writer :idempotency_key
4160
+
4161
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
4162
+ # be strings, numbers, booleans, or arrays of those scalar values.
4163
+ sig do
4164
+ returns(
4165
+ T.nilable(
4166
+ T::Hash[
4167
+ Symbol,
4168
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::Variants
4169
+ ]
4170
+ )
4171
+ )
4172
+ end
4173
+ attr_reader :metadata
4174
+
4175
+ sig do
4176
+ params(
4177
+ metadata:
4178
+ T::Hash[
4179
+ Symbol,
4180
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::Variants
4181
+ ]
4182
+ ).void
4183
+ end
4184
+ attr_writer :metadata
4185
+
4186
+ # Reusable resources observed during the event. Use this for emails, phone
4187
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
4188
+ # identifiers.
4189
+ sig do
4190
+ returns(
4191
+ T.nilable(
4192
+ T::Array[
4193
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed
4194
+ ]
4195
+ )
4196
+ )
4197
+ end
4198
+ attr_reader :resources_used
4199
+
4200
+ sig do
4201
+ params(
4202
+ resources_used:
4203
+ T::Array[
4204
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed::OrHash
4205
+ ]
4206
+ ).void
4207
+ end
4208
+ attr_writer :resources_used
4209
+
4210
+ # A user contacts, transacts with, or otherwise interacts with another user.
4211
+ sig do
4212
+ params(
4213
+ event_name: String,
4214
+ target_user_id: String,
4215
+ timestamp: Time,
4216
+ user_id: String,
4217
+ content:
4218
+ T::Array[
4219
+ T.any(
4220
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::OrHash,
4221
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::OrHash
4222
+ )
4223
+ ],
4224
+ content_id: String,
4225
+ idempotency_key: String,
4226
+ metadata:
4227
+ T::Hash[
4228
+ Symbol,
4229
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::Variants
4230
+ ],
4231
+ resources_used:
4232
+ T::Array[
4233
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed::OrHash
4234
+ ],
4235
+ type: Symbol
4236
+ ).returns(T.attached_class)
4237
+ end
4238
+ def self.new(
4239
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
4240
+ # values in typed fields, content, resources_used, or metadata.
4241
+ event_name:,
4242
+ # Your stable canonical identifier for the other user in a user-to-user
4243
+ # interaction.
4244
+ target_user_id:,
4245
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
4246
+ timestamp:,
4247
+ # Your stable canonical identifier for the user or account.
4248
+ user_id:,
4249
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
4250
+ # listing text, image URLs, and similar content SafetyKit should compare or
4251
+ # analyze.
4252
+ content: nil,
4253
+ # Your stable identifier for the content involved in this event, such as a
4254
+ # message, listing, page, post, profile, or uploaded media item.
4255
+ content_id: nil,
4256
+ # Optional caller-provided key used to make retries of this individual event
4257
+ # idempotent. Reuse the same key only for retries of the same logical event.
4258
+ idempotency_key: nil,
4259
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
4260
+ # be strings, numbers, booleans, or arrays of those scalar values.
4261
+ metadata: nil,
4262
+ # Reusable resources observed during the event. Use this for emails, phone
4263
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
4264
+ # identifiers.
4265
+ resources_used: nil,
4266
+ type: :user_contact
4267
+ )
4268
+ end
4269
+
4270
+ sig do
4271
+ override.returns(
4272
+ {
4273
+ event_name: String,
4274
+ target_user_id: String,
4275
+ timestamp: Time,
4276
+ type: Symbol,
4277
+ user_id: String,
4278
+ content:
4279
+ T::Array[
4280
+ T.any(
4281
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent,
4282
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent
4283
+ )
4284
+ ],
4285
+ content_id: String,
4286
+ idempotency_key: String,
4287
+ metadata:
4288
+ T::Hash[
4289
+ Symbol,
4290
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::Variants
4291
+ ],
4292
+ resources_used:
4293
+ T::Array[
4294
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed
4295
+ ]
4296
+ }
4297
+ )
4298
+ end
4299
+ def to_hash
4300
+ end
4301
+
4302
+ # User-authored text content associated with an event.
4303
+ module Content
4304
+ extend SafetyKit::Internal::Type::Union
4305
+
4306
+ Variants =
4307
+ T.type_alias do
4308
+ T.any(
4309
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent,
4310
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent
4311
+ )
4312
+ end
4313
+
4314
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
4315
+ OrHash =
4316
+ T.type_alias do
4317
+ T.any(
4318
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent,
4319
+ SafetyKit::Internal::AnyHash
4320
+ )
4321
+ end
4322
+
4323
+ # User-authored text SafetyKit should compare or analyze.
4324
+ sig { returns(String) }
4325
+ attr_accessor :text
4326
+
4327
+ # Text content part.
4328
+ sig do
4329
+ returns(
4330
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type::OrSymbol
4331
+ )
4332
+ end
4333
+ attr_accessor :type
4334
+
4335
+ # Stable field key for this content part.
4336
+ sig { returns(T.nilable(String)) }
4337
+ attr_reader :key
4338
+
4339
+ sig { params(key: String).void }
4340
+ attr_writer :key
4341
+
4342
+ # User-authored text content associated with an event.
4343
+ sig do
4344
+ params(
4345
+ text: String,
4346
+ type:
4347
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type::OrSymbol,
4348
+ key: String
4349
+ ).returns(T.attached_class)
4350
+ end
4351
+ def self.new(
4352
+ # User-authored text SafetyKit should compare or analyze.
4353
+ text:,
4354
+ # Text content part.
4355
+ type:,
4356
+ # Stable field key for this content part.
4357
+ key: nil
4358
+ )
4359
+ end
4360
+
4361
+ sig do
4362
+ override.returns(
4363
+ {
4364
+ text: String,
4365
+ type:
4366
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type::OrSymbol,
4367
+ key: String
4368
+ }
4369
+ )
4370
+ end
4371
+ def to_hash
4372
+ end
4373
+
4374
+ # Text content part.
4375
+ module Type
4376
+ extend SafetyKit::Internal::Type::Enum
4377
+
4378
+ TaggedSymbol =
4379
+ T.type_alias do
4380
+ T.all(
4381
+ Symbol,
4382
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type
4383
+ )
4384
+ end
4385
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4386
+
4387
+ TEXT =
4388
+ T.let(
4389
+ :text,
4390
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type::TaggedSymbol
4391
+ )
4392
+
4393
+ sig do
4394
+ override.returns(
4395
+ T::Array[
4396
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type::TaggedSymbol
4397
+ ]
4398
+ )
4399
+ end
4400
+ def self.values
4401
+ end
4402
+ end
4403
+ end
4404
+
4405
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
4406
+ OrHash =
4407
+ T.type_alias do
4408
+ T.any(
4409
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent,
4410
+ SafetyKit::Internal::AnyHash
4411
+ )
4412
+ end
4413
+
4414
+ # Image source information.
4415
+ sig do
4416
+ returns(
4417
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source
4418
+ )
4419
+ end
4420
+ attr_reader :source
4421
+
4422
+ sig do
4423
+ params(
4424
+ source:
4425
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::OrHash
4426
+ ).void
4427
+ end
4428
+ attr_writer :source
4429
+
4430
+ # Image content part.
4431
+ sig do
4432
+ returns(
4433
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type::OrSymbol
4434
+ )
4435
+ end
4436
+ attr_accessor :type
4437
+
4438
+ # Stable field key for this content part.
4439
+ sig { returns(T.nilable(String)) }
4440
+ attr_reader :key
4441
+
4442
+ sig { params(key: String).void }
4443
+ attr_writer :key
4444
+
4445
+ # User-uploaded image content associated with an event.
4446
+ sig do
4447
+ params(
4448
+ source:
4449
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::OrHash,
4450
+ type:
4451
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type::OrSymbol,
4452
+ key: String
4453
+ ).returns(T.attached_class)
4454
+ end
4455
+ def self.new(
4456
+ # Image source information.
4457
+ source:,
4458
+ # Image content part.
4459
+ type:,
4460
+ # Stable field key for this content part.
4461
+ key: nil
4462
+ )
4463
+ end
4464
+
4465
+ sig do
4466
+ override.returns(
4467
+ {
4468
+ source:
4469
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source,
4470
+ type:
4471
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type::OrSymbol,
4472
+ key: String
4473
+ }
4474
+ )
4475
+ end
4476
+ def to_hash
4477
+ end
4478
+
4479
+ class Source < SafetyKit::Internal::Type::BaseModel
4480
+ OrHash =
4481
+ T.type_alias do
4482
+ T.any(
4483
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source,
4484
+ SafetyKit::Internal::AnyHash
4485
+ )
4486
+ end
4487
+
4488
+ # URL image source.
4489
+ sig do
4490
+ returns(
4491
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type::OrSymbol
4492
+ )
4493
+ end
4494
+ attr_accessor :type
4495
+
4496
+ # URL of the image SafetyKit should compare or analyze.
4497
+ sig { returns(String) }
4498
+ attr_accessor :url
4499
+
4500
+ # Image source information.
4501
+ sig do
4502
+ params(
4503
+ type:
4504
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type::OrSymbol,
4505
+ url: String
4506
+ ).returns(T.attached_class)
4507
+ end
4508
+ def self.new(
4509
+ # URL image source.
4510
+ type:,
4511
+ # URL of the image SafetyKit should compare or analyze.
4512
+ url:
4513
+ )
4514
+ end
4515
+
4516
+ sig do
4517
+ override.returns(
4518
+ {
4519
+ type:
4520
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type::OrSymbol,
4521
+ url: String
4522
+ }
4523
+ )
4524
+ end
4525
+ def to_hash
4526
+ end
4527
+
4528
+ # URL image source.
4529
+ module Type
4530
+ extend SafetyKit::Internal::Type::Enum
4531
+
4532
+ TaggedSymbol =
4533
+ T.type_alias do
4534
+ T.all(
4535
+ Symbol,
4536
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type
4537
+ )
4538
+ end
4539
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4540
+
4541
+ URL =
4542
+ T.let(
4543
+ :url,
4544
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type::TaggedSymbol
4545
+ )
4546
+
4547
+ sig do
4548
+ override.returns(
4549
+ T::Array[
4550
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type::TaggedSymbol
4551
+ ]
4552
+ )
4553
+ end
4554
+ def self.values
4555
+ end
4556
+ end
4557
+ end
4558
+
4559
+ # Image content part.
4560
+ module Type
4561
+ extend SafetyKit::Internal::Type::Enum
4562
+
4563
+ TaggedSymbol =
4564
+ T.type_alias do
4565
+ T.all(
4566
+ Symbol,
4567
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type
4568
+ )
4569
+ end
4570
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4571
+
4572
+ IMAGE =
4573
+ T.let(
4574
+ :image,
4575
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type::TaggedSymbol
4576
+ )
4577
+
4578
+ sig do
4579
+ override.returns(
4580
+ T::Array[
4581
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type::TaggedSymbol
4582
+ ]
4583
+ )
4584
+ end
4585
+ def self.values
4586
+ end
4587
+ end
4588
+ end
4589
+
4590
+ sig do
4591
+ override.returns(
4592
+ T::Array[
4593
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::Variants
4594
+ ]
4595
+ )
4596
+ end
4597
+ def self.variants
4598
+ end
4599
+ end
4600
+
4601
+ module Metadata
4602
+ extend SafetyKit::Internal::Type::Union
4603
+
4604
+ Variants =
4605
+ T.type_alias do
4606
+ T.any(
4607
+ String,
4608
+ Float,
4609
+ T::Boolean,
4610
+ T::Array[
4611
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::UnionMember3::Variants
4612
+ ]
4613
+ )
4614
+ end
4615
+
4616
+ module UnionMember3
4617
+ extend SafetyKit::Internal::Type::Union
4618
+
4619
+ Variants = T.type_alias { T.any(String, Float, T::Boolean) }
4620
+
4621
+ sig do
4622
+ override.returns(
4623
+ T::Array[
4624
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::UnionMember3::Variants
4625
+ ]
4626
+ )
4627
+ end
4628
+ def self.variants
4629
+ end
4630
+ end
4631
+
4632
+ sig do
4633
+ override.returns(
4634
+ T::Array[
4635
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::Variants
4636
+ ]
4637
+ )
4638
+ end
4639
+ def self.variants
4640
+ end
4641
+
4642
+ UnionMember3Array =
4643
+ T.let(
4644
+ SafetyKit::Internal::Type::ArrayOf[
4645
+ union:
4646
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::UnionMember3
4647
+ ],
4648
+ SafetyKit::Internal::Type::Converter
4649
+ )
4650
+ end
4651
+
4652
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
4653
+ OrHash =
4654
+ T.type_alias do
4655
+ T.any(
4656
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed,
4657
+ SafetyKit::Internal::AnyHash
4658
+ )
4659
+ end
4660
+
4661
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
4662
+ # youtube, linkedin, or another stable snake_case identifier.
4663
+ sig { returns(String) }
4664
+ attr_accessor :type
4665
+
4666
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
4667
+ # value, not the raw value. When type is url, this must be a valid URL.
4668
+ sig { returns(String) }
4669
+ attr_accessor :value
4670
+
4671
+ # Real-world or account resource used during the event, such as an email, phone
4672
+ # number, address, URL, social handle, or payment identifier.
4673
+ sig do
4674
+ params(type: String, value: String).returns(T.attached_class)
4675
+ end
4676
+ def self.new(
4677
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
4678
+ # youtube, linkedin, or another stable snake_case identifier.
4679
+ type:,
4680
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
4681
+ # value, not the raw value. When type is url, this must be a valid URL.
4682
+ value:
4683
+ )
4684
+ end
4685
+
4686
+ sig { override.returns({ type: String, value: String }) }
4687
+ def to_hash
4688
+ end
4689
+ end
4690
+ end
4691
+
4692
+ class ContentUploaded < SafetyKit::Internal::Type::BaseModel
4693
+ OrHash =
4694
+ T.type_alias do
4695
+ T.any(
4696
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded,
4697
+ SafetyKit::Internal::AnyHash
4698
+ )
4699
+ end
4700
+
4701
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
4702
+ # listing text, image URLs, and similar content SafetyKit should compare or
4703
+ # analyze.
4704
+ sig do
4705
+ returns(
4706
+ T::Array[
4707
+ T.any(
4708
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent,
4709
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent
4710
+ )
4711
+ ]
4712
+ )
4713
+ end
4714
+ attr_accessor :content
4715
+
4716
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
4717
+ # values in typed fields, content, resources_used, or metadata.
4718
+ sig { returns(String) }
4719
+ attr_accessor :event_name
4720
+
4721
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
4722
+ sig { returns(Time) }
4723
+ attr_accessor :timestamp
4724
+
4725
+ sig { returns(Symbol) }
4726
+ attr_accessor :type
4727
+
4728
+ # Your stable canonical identifier for the user or account.
4729
+ sig { returns(String) }
4730
+ attr_accessor :user_id
4731
+
4732
+ # Your stable identifier for the content involved in this event, such as a
4733
+ # message, listing, page, post, profile, or uploaded media item.
4734
+ sig { returns(T.nilable(String)) }
4735
+ attr_reader :content_id
4736
+
4737
+ sig { params(content_id: String).void }
4738
+ attr_writer :content_id
4739
+
4740
+ # Optional caller-provided key used to make retries of this individual event
4741
+ # idempotent. Reuse the same key only for retries of the same logical event.
4742
+ sig { returns(T.nilable(String)) }
4743
+ attr_reader :idempotency_key
4744
+
4745
+ sig { params(idempotency_key: String).void }
4746
+ attr_writer :idempotency_key
4747
+
4748
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
4749
+ # be strings, numbers, booleans, or arrays of those scalar values.
4750
+ sig do
4751
+ returns(
4752
+ T.nilable(
4753
+ T::Hash[
4754
+ Symbol,
4755
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::Variants
4756
+ ]
4757
+ )
4758
+ )
4759
+ end
4760
+ attr_reader :metadata
4761
+
4762
+ sig do
4763
+ params(
4764
+ metadata:
4765
+ T::Hash[
4766
+ Symbol,
4767
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::Variants
4768
+ ]
4769
+ ).void
4770
+ end
4771
+ attr_writer :metadata
4772
+
4773
+ # Reusable resources observed during the event. Use this for emails, phone
4774
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
4775
+ # identifiers.
4776
+ sig do
4777
+ returns(
4778
+ T.nilable(
4779
+ T::Array[
4780
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed
4781
+ ]
4782
+ )
4783
+ )
4784
+ end
4785
+ attr_reader :resources_used
4786
+
4787
+ sig do
4788
+ params(
4789
+ resources_used:
4790
+ T::Array[
4791
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed::OrHash
4792
+ ]
4793
+ ).void
4794
+ end
4795
+ attr_writer :resources_used
4796
+
4797
+ # A user posts, uploads, publishes, edits, or replaces content.
4798
+ sig do
4799
+ params(
4800
+ content:
4801
+ T::Array[
4802
+ T.any(
4803
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::OrHash,
4804
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::OrHash
4805
+ )
4806
+ ],
4807
+ event_name: String,
4808
+ timestamp: Time,
4809
+ user_id: String,
4810
+ content_id: String,
4811
+ idempotency_key: String,
4812
+ metadata:
4813
+ T::Hash[
4814
+ Symbol,
4815
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::Variants
4816
+ ],
4817
+ resources_used:
4818
+ T::Array[
4819
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed::OrHash
4820
+ ],
4821
+ type: Symbol
4822
+ ).returns(T.attached_class)
4823
+ end
4824
+ def self.new(
4825
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
4826
+ # listing text, image URLs, and similar content SafetyKit should compare or
4827
+ # analyze.
4828
+ content:,
4829
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
4830
+ # values in typed fields, content, resources_used, or metadata.
4831
+ event_name:,
4832
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
4833
+ timestamp:,
4834
+ # Your stable canonical identifier for the user or account.
4835
+ user_id:,
4836
+ # Your stable identifier for the content involved in this event, such as a
4837
+ # message, listing, page, post, profile, or uploaded media item.
4838
+ content_id: nil,
4839
+ # Optional caller-provided key used to make retries of this individual event
4840
+ # idempotent. Reuse the same key only for retries of the same logical event.
4841
+ idempotency_key: nil,
4842
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
4843
+ # be strings, numbers, booleans, or arrays of those scalar values.
4844
+ metadata: nil,
4845
+ # Reusable resources observed during the event. Use this for emails, phone
4846
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
4847
+ # identifiers.
4848
+ resources_used: nil,
4849
+ type: :content_uploaded
4850
+ )
4851
+ end
4852
+
4853
+ sig do
4854
+ override.returns(
4855
+ {
4856
+ content:
4857
+ T::Array[
3481
4858
  T.any(
3482
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent,
3483
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent
4859
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent,
4860
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent
3484
4861
  )
3485
4862
  ],
4863
+ event_name: String,
4864
+ timestamp: Time,
4865
+ type: Symbol,
4866
+ user_id: String,
3486
4867
  content_id: String,
4868
+ idempotency_key: String,
3487
4869
  metadata:
3488
4870
  T::Hash[
3489
4871
  Symbol,
3490
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::Variants
4872
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::Variants
3491
4873
  ],
3492
4874
  resources_used:
3493
4875
  T::Array[
3494
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::ResourcesUsed
4876
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed
3495
4877
  ]
3496
4878
  }
3497
4879
  )
@@ -3506,8 +4888,8 @@ module SafetyKit
3506
4888
  Variants =
3507
4889
  T.type_alias do
3508
4890
  T.any(
3509
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent,
3510
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent
4891
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent,
4892
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent
3511
4893
  )
3512
4894
  end
3513
4895
 
@@ -3515,7 +4897,7 @@ module SafetyKit
3515
4897
  OrHash =
3516
4898
  T.type_alias do
3517
4899
  T.any(
3518
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent,
4900
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent,
3519
4901
  SafetyKit::Internal::AnyHash
3520
4902
  )
3521
4903
  end
@@ -3527,7 +4909,7 @@ module SafetyKit
3527
4909
  # Text content part.
3528
4910
  sig do
3529
4911
  returns(
3530
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent::Type::OrSymbol
4912
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type::OrSymbol
3531
4913
  )
3532
4914
  end
3533
4915
  attr_accessor :type
@@ -3544,7 +4926,7 @@ module SafetyKit
3544
4926
  params(
3545
4927
  text: String,
3546
4928
  type:
3547
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent::Type::OrSymbol,
4929
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type::OrSymbol,
3548
4930
  key: String
3549
4931
  ).returns(T.attached_class)
3550
4932
  end
@@ -3563,7 +4945,7 @@ module SafetyKit
3563
4945
  {
3564
4946
  text: String,
3565
4947
  type:
3566
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent::Type::OrSymbol,
4948
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type::OrSymbol,
3567
4949
  key: String
3568
4950
  }
3569
4951
  )
@@ -3579,7 +4961,7 @@ module SafetyKit
3579
4961
  T.type_alias do
3580
4962
  T.all(
3581
4963
  Symbol,
3582
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent::Type
4964
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type
3583
4965
  )
3584
4966
  end
3585
4967
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -3587,13 +4969,13 @@ module SafetyKit
3587
4969
  TEXT =
3588
4970
  T.let(
3589
4971
  :text,
3590
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent::Type::TaggedSymbol
4972
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type::TaggedSymbol
3591
4973
  )
3592
4974
 
3593
4975
  sig do
3594
4976
  override.returns(
3595
4977
  T::Array[
3596
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent::Type::TaggedSymbol
4978
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type::TaggedSymbol
3597
4979
  ]
3598
4980
  )
3599
4981
  end
@@ -3606,7 +4988,7 @@ module SafetyKit
3606
4988
  OrHash =
3607
4989
  T.type_alias do
3608
4990
  T.any(
3609
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent,
4991
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent,
3610
4992
  SafetyKit::Internal::AnyHash
3611
4993
  )
3612
4994
  end
@@ -3614,7 +4996,7 @@ module SafetyKit
3614
4996
  # Image source information.
3615
4997
  sig do
3616
4998
  returns(
3617
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source
4999
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source
3618
5000
  )
3619
5001
  end
3620
5002
  attr_reader :source
@@ -3622,7 +5004,7 @@ module SafetyKit
3622
5004
  sig do
3623
5005
  params(
3624
5006
  source:
3625
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::OrHash
5007
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::OrHash
3626
5008
  ).void
3627
5009
  end
3628
5010
  attr_writer :source
@@ -3630,7 +5012,7 @@ module SafetyKit
3630
5012
  # Image content part.
3631
5013
  sig do
3632
5014
  returns(
3633
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type::OrSymbol
5015
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type::OrSymbol
3634
5016
  )
3635
5017
  end
3636
5018
  attr_accessor :type
@@ -3646,9 +5028,9 @@ module SafetyKit
3646
5028
  sig do
3647
5029
  params(
3648
5030
  source:
3649
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::OrHash,
5031
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::OrHash,
3650
5032
  type:
3651
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type::OrSymbol,
5033
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type::OrSymbol,
3652
5034
  key: String
3653
5035
  ).returns(T.attached_class)
3654
5036
  end
@@ -3666,9 +5048,9 @@ module SafetyKit
3666
5048
  override.returns(
3667
5049
  {
3668
5050
  source:
3669
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source,
5051
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source,
3670
5052
  type:
3671
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type::OrSymbol,
5053
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type::OrSymbol,
3672
5054
  key: String
3673
5055
  }
3674
5056
  )
@@ -3680,7 +5062,7 @@ module SafetyKit
3680
5062
  OrHash =
3681
5063
  T.type_alias do
3682
5064
  T.any(
3683
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source,
5065
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source,
3684
5066
  SafetyKit::Internal::AnyHash
3685
5067
  )
3686
5068
  end
@@ -3688,7 +5070,7 @@ module SafetyKit
3688
5070
  # URL image source.
3689
5071
  sig do
3690
5072
  returns(
3691
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type::OrSymbol
5073
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type::OrSymbol
3692
5074
  )
3693
5075
  end
3694
5076
  attr_accessor :type
@@ -3701,7 +5083,7 @@ module SafetyKit
3701
5083
  sig do
3702
5084
  params(
3703
5085
  type:
3704
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type::OrSymbol,
5086
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type::OrSymbol,
3705
5087
  url: String
3706
5088
  ).returns(T.attached_class)
3707
5089
  end
@@ -3717,7 +5099,7 @@ module SafetyKit
3717
5099
  override.returns(
3718
5100
  {
3719
5101
  type:
3720
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type::OrSymbol,
5102
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type::OrSymbol,
3721
5103
  url: String
3722
5104
  }
3723
5105
  )
@@ -3733,7 +5115,7 @@ module SafetyKit
3733
5115
  T.type_alias do
3734
5116
  T.all(
3735
5117
  Symbol,
3736
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type
5118
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type
3737
5119
  )
3738
5120
  end
3739
5121
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -3741,13 +5123,13 @@ module SafetyKit
3741
5123
  URL =
3742
5124
  T.let(
3743
5125
  :url,
3744
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type::TaggedSymbol
5126
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type::TaggedSymbol
3745
5127
  )
3746
5128
 
3747
5129
  sig do
3748
5130
  override.returns(
3749
5131
  T::Array[
3750
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type::TaggedSymbol
5132
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type::TaggedSymbol
3751
5133
  ]
3752
5134
  )
3753
5135
  end
@@ -3764,7 +5146,7 @@ module SafetyKit
3764
5146
  T.type_alias do
3765
5147
  T.all(
3766
5148
  Symbol,
3767
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type
5149
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type
3768
5150
  )
3769
5151
  end
3770
5152
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -3772,13 +5154,13 @@ module SafetyKit
3772
5154
  IMAGE =
3773
5155
  T.let(
3774
5156
  :image,
3775
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type::TaggedSymbol
5157
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type::TaggedSymbol
3776
5158
  )
3777
5159
 
3778
5160
  sig do
3779
5161
  override.returns(
3780
5162
  T::Array[
3781
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type::TaggedSymbol
5163
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type::TaggedSymbol
3782
5164
  ]
3783
5165
  )
3784
5166
  end
@@ -3790,7 +5172,7 @@ module SafetyKit
3790
5172
  sig do
3791
5173
  override.returns(
3792
5174
  T::Array[
3793
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::Variants
5175
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::Variants
3794
5176
  ]
3795
5177
  )
3796
5178
  end
@@ -3808,7 +5190,7 @@ module SafetyKit
3808
5190
  Float,
3809
5191
  T::Boolean,
3810
5192
  T::Array[
3811
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::UnionMember3::Variants
5193
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::UnionMember3::Variants
3812
5194
  ]
3813
5195
  )
3814
5196
  end
@@ -3821,7 +5203,7 @@ module SafetyKit
3821
5203
  sig do
3822
5204
  override.returns(
3823
5205
  T::Array[
3824
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::UnionMember3::Variants
5206
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::UnionMember3::Variants
3825
5207
  ]
3826
5208
  )
3827
5209
  end
@@ -3832,7 +5214,7 @@ module SafetyKit
3832
5214
  sig do
3833
5215
  override.returns(
3834
5216
  T::Array[
3835
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::Variants
5217
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::Variants
3836
5218
  ]
3837
5219
  )
3838
5220
  end
@@ -3843,7 +5225,7 @@ module SafetyKit
3843
5225
  T.let(
3844
5226
  SafetyKit::Internal::Type::ArrayOf[
3845
5227
  union:
3846
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::UnionMember3
5228
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::UnionMember3
3847
5229
  ],
3848
5230
  SafetyKit::Internal::Type::Converter
3849
5231
  )
@@ -3853,7 +5235,7 @@ module SafetyKit
3853
5235
  OrHash =
3854
5236
  T.type_alias do
3855
5237
  T.any(
3856
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::ResourcesUsed,
5238
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed,
3857
5239
  SafetyKit::Internal::AnyHash
3858
5240
  )
3859
5241
  end
@@ -3889,30 +5271,15 @@ module SafetyKit
3889
5271
  end
3890
5272
  end
3891
5273
 
3892
- class ContentUploaded < SafetyKit::Internal::Type::BaseModel
5274
+ class CreateAccount < SafetyKit::Internal::Type::BaseModel
3893
5275
  OrHash =
3894
5276
  T.type_alias do
3895
5277
  T.any(
3896
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded,
5278
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount,
3897
5279
  SafetyKit::Internal::AnyHash
3898
5280
  )
3899
5281
  end
3900
5282
 
3901
- # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3902
- # listing text, image URLs, and similar content SafetyKit should compare or
3903
- # analyze.
3904
- sig do
3905
- returns(
3906
- T::Array[
3907
- T.any(
3908
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent,
3909
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent
3910
- )
3911
- ]
3912
- )
3913
- end
3914
- attr_accessor :content
3915
-
3916
5283
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
3917
5284
  # values in typed fields, content, resources_used, or metadata.
3918
5285
  sig { returns(String) }
@@ -3929,6 +5296,36 @@ module SafetyKit
3929
5296
  sig { returns(String) }
3930
5297
  attr_accessor :user_id
3931
5298
 
5299
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
5300
+ # listing text, image URLs, and similar content SafetyKit should compare or
5301
+ # analyze.
5302
+ sig do
5303
+ returns(
5304
+ T.nilable(
5305
+ T::Array[
5306
+ T.any(
5307
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent,
5308
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent
5309
+ )
5310
+ ]
5311
+ )
5312
+ )
5313
+ end
5314
+ attr_reader :content
5315
+
5316
+ sig do
5317
+ params(
5318
+ content:
5319
+ T::Array[
5320
+ T.any(
5321
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::OrHash,
5322
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::OrHash
5323
+ )
5324
+ ]
5325
+ ).void
5326
+ end
5327
+ attr_writer :content
5328
+
3932
5329
  # Your stable identifier for the content involved in this event, such as a
3933
5330
  # message, listing, page, post, profile, or uploaded media item.
3934
5331
  sig { returns(T.nilable(String)) }
@@ -3937,6 +5334,14 @@ module SafetyKit
3937
5334
  sig { params(content_id: String).void }
3938
5335
  attr_writer :content_id
3939
5336
 
5337
+ # Optional caller-provided key used to make retries of this individual event
5338
+ # idempotent. Reuse the same key only for retries of the same logical event.
5339
+ sig { returns(T.nilable(String)) }
5340
+ attr_reader :idempotency_key
5341
+
5342
+ sig { params(idempotency_key: String).void }
5343
+ attr_writer :idempotency_key
5344
+
3940
5345
  # Non-PII product context for filtering, segmentation, and debugging. Values may
3941
5346
  # be strings, numbers, booleans, or arrays of those scalar values.
3942
5347
  sig do
@@ -3944,7 +5349,7 @@ module SafetyKit
3944
5349
  T.nilable(
3945
5350
  T::Hash[
3946
5351
  Symbol,
3947
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::Variants
5352
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::Variants
3948
5353
  ]
3949
5354
  )
3950
5355
  )
@@ -3956,7 +5361,7 @@ module SafetyKit
3956
5361
  metadata:
3957
5362
  T::Hash[
3958
5363
  Symbol,
3959
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::Variants
5364
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::Variants
3960
5365
  ]
3961
5366
  ).void
3962
5367
  end
@@ -3969,7 +5374,7 @@ module SafetyKit
3969
5374
  returns(
3970
5375
  T.nilable(
3971
5376
  T::Array[
3972
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed
5377
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed
3973
5378
  ]
3974
5379
  )
3975
5380
  )
@@ -3980,43 +5385,40 @@ module SafetyKit
3980
5385
  params(
3981
5386
  resources_used:
3982
5387
  T::Array[
3983
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed::OrHash
5388
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed::OrHash
3984
5389
  ]
3985
5390
  ).void
3986
5391
  end
3987
5392
  attr_writer :resources_used
3988
5393
 
3989
- # A user posts, uploads, publishes, edits, or replaces content.
5394
+ # A user or account is created.
3990
5395
  sig do
3991
5396
  params(
5397
+ event_name: String,
5398
+ timestamp: Time,
5399
+ user_id: String,
3992
5400
  content:
3993
5401
  T::Array[
3994
5402
  T.any(
3995
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::OrHash,
3996
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::OrHash
5403
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::OrHash,
5404
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::OrHash
3997
5405
  )
3998
5406
  ],
3999
- event_name: String,
4000
- timestamp: Time,
4001
- user_id: String,
4002
5407
  content_id: String,
5408
+ idempotency_key: String,
4003
5409
  metadata:
4004
5410
  T::Hash[
4005
5411
  Symbol,
4006
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::Variants
5412
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::Variants
4007
5413
  ],
4008
5414
  resources_used:
4009
5415
  T::Array[
4010
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed::OrHash
5416
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed::OrHash
4011
5417
  ],
4012
5418
  type: Symbol
4013
5419
  ).returns(T.attached_class)
4014
5420
  end
4015
5421
  def self.new(
4016
- # User-authored or user-uploaded content parts. Use this for message bodies, bios,
4017
- # listing text, image URLs, and similar content SafetyKit should compare or
4018
- # analyze.
4019
- content:,
4020
5422
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
4021
5423
  # values in typed fields, content, resources_used, or metadata.
4022
5424
  event_name:,
@@ -4024,9 +5426,16 @@ module SafetyKit
4024
5426
  timestamp:,
4025
5427
  # Your stable canonical identifier for the user or account.
4026
5428
  user_id:,
5429
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
5430
+ # listing text, image URLs, and similar content SafetyKit should compare or
5431
+ # analyze.
5432
+ content: nil,
4027
5433
  # Your stable identifier for the content involved in this event, such as a
4028
5434
  # message, listing, page, post, profile, or uploaded media item.
4029
5435
  content_id: nil,
5436
+ # Optional caller-provided key used to make retries of this individual event
5437
+ # idempotent. Reuse the same key only for retries of the same logical event.
5438
+ idempotency_key: nil,
4030
5439
  # Non-PII product context for filtering, segmentation, and debugging. Values may
4031
5440
  # be strings, numbers, booleans, or arrays of those scalar values.
4032
5441
  metadata: nil,
@@ -4034,33 +5443,34 @@ module SafetyKit
4034
5443
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
4035
5444
  # identifiers.
4036
5445
  resources_used: nil,
4037
- type: :content_uploaded
5446
+ type: :create_account
4038
5447
  )
4039
5448
  end
4040
5449
 
4041
5450
  sig do
4042
5451
  override.returns(
4043
5452
  {
5453
+ event_name: String,
5454
+ timestamp: Time,
5455
+ type: Symbol,
5456
+ user_id: String,
4044
5457
  content:
4045
5458
  T::Array[
4046
5459
  T.any(
4047
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent,
4048
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent
5460
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent,
5461
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent
4049
5462
  )
4050
5463
  ],
4051
- event_name: String,
4052
- timestamp: Time,
4053
- type: Symbol,
4054
- user_id: String,
4055
5464
  content_id: String,
5465
+ idempotency_key: String,
4056
5466
  metadata:
4057
5467
  T::Hash[
4058
5468
  Symbol,
4059
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::Variants
5469
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::Variants
4060
5470
  ],
4061
5471
  resources_used:
4062
5472
  T::Array[
4063
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed
5473
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed
4064
5474
  ]
4065
5475
  }
4066
5476
  )
@@ -4075,8 +5485,8 @@ module SafetyKit
4075
5485
  Variants =
4076
5486
  T.type_alias do
4077
5487
  T.any(
4078
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent,
4079
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent
5488
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent,
5489
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent
4080
5490
  )
4081
5491
  end
4082
5492
 
@@ -4084,7 +5494,7 @@ module SafetyKit
4084
5494
  OrHash =
4085
5495
  T.type_alias do
4086
5496
  T.any(
4087
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent,
5497
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent,
4088
5498
  SafetyKit::Internal::AnyHash
4089
5499
  )
4090
5500
  end
@@ -4096,7 +5506,7 @@ module SafetyKit
4096
5506
  # Text content part.
4097
5507
  sig do
4098
5508
  returns(
4099
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type::OrSymbol
5509
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type::OrSymbol
4100
5510
  )
4101
5511
  end
4102
5512
  attr_accessor :type
@@ -4113,7 +5523,7 @@ module SafetyKit
4113
5523
  params(
4114
5524
  text: String,
4115
5525
  type:
4116
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type::OrSymbol,
5526
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type::OrSymbol,
4117
5527
  key: String
4118
5528
  ).returns(T.attached_class)
4119
5529
  end
@@ -4132,7 +5542,7 @@ module SafetyKit
4132
5542
  {
4133
5543
  text: String,
4134
5544
  type:
4135
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type::OrSymbol,
5545
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type::OrSymbol,
4136
5546
  key: String
4137
5547
  }
4138
5548
  )
@@ -4148,7 +5558,7 @@ module SafetyKit
4148
5558
  T.type_alias do
4149
5559
  T.all(
4150
5560
  Symbol,
4151
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type
5561
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type
4152
5562
  )
4153
5563
  end
4154
5564
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -4156,13 +5566,13 @@ module SafetyKit
4156
5566
  TEXT =
4157
5567
  T.let(
4158
5568
  :text,
4159
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type::TaggedSymbol
5569
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type::TaggedSymbol
4160
5570
  )
4161
5571
 
4162
5572
  sig do
4163
5573
  override.returns(
4164
5574
  T::Array[
4165
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type::TaggedSymbol
5575
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type::TaggedSymbol
4166
5576
  ]
4167
5577
  )
4168
5578
  end
@@ -4175,7 +5585,7 @@ module SafetyKit
4175
5585
  OrHash =
4176
5586
  T.type_alias do
4177
5587
  T.any(
4178
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent,
5588
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent,
4179
5589
  SafetyKit::Internal::AnyHash
4180
5590
  )
4181
5591
  end
@@ -4183,7 +5593,7 @@ module SafetyKit
4183
5593
  # Image source information.
4184
5594
  sig do
4185
5595
  returns(
4186
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source
5596
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source
4187
5597
  )
4188
5598
  end
4189
5599
  attr_reader :source
@@ -4191,7 +5601,7 @@ module SafetyKit
4191
5601
  sig do
4192
5602
  params(
4193
5603
  source:
4194
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::OrHash
5604
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::OrHash
4195
5605
  ).void
4196
5606
  end
4197
5607
  attr_writer :source
@@ -4199,7 +5609,7 @@ module SafetyKit
4199
5609
  # Image content part.
4200
5610
  sig do
4201
5611
  returns(
4202
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type::OrSymbol
5612
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type::OrSymbol
4203
5613
  )
4204
5614
  end
4205
5615
  attr_accessor :type
@@ -4215,9 +5625,9 @@ module SafetyKit
4215
5625
  sig do
4216
5626
  params(
4217
5627
  source:
4218
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::OrHash,
5628
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::OrHash,
4219
5629
  type:
4220
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type::OrSymbol,
5630
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type::OrSymbol,
4221
5631
  key: String
4222
5632
  ).returns(T.attached_class)
4223
5633
  end
@@ -4235,9 +5645,9 @@ module SafetyKit
4235
5645
  override.returns(
4236
5646
  {
4237
5647
  source:
4238
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source,
5648
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source,
4239
5649
  type:
4240
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type::OrSymbol,
5650
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type::OrSymbol,
4241
5651
  key: String
4242
5652
  }
4243
5653
  )
@@ -4249,7 +5659,7 @@ module SafetyKit
4249
5659
  OrHash =
4250
5660
  T.type_alias do
4251
5661
  T.any(
4252
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source,
5662
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source,
4253
5663
  SafetyKit::Internal::AnyHash
4254
5664
  )
4255
5665
  end
@@ -4257,7 +5667,7 @@ module SafetyKit
4257
5667
  # URL image source.
4258
5668
  sig do
4259
5669
  returns(
4260
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type::OrSymbol
5670
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type::OrSymbol
4261
5671
  )
4262
5672
  end
4263
5673
  attr_accessor :type
@@ -4270,7 +5680,7 @@ module SafetyKit
4270
5680
  sig do
4271
5681
  params(
4272
5682
  type:
4273
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type::OrSymbol,
5683
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type::OrSymbol,
4274
5684
  url: String
4275
5685
  ).returns(T.attached_class)
4276
5686
  end
@@ -4286,7 +5696,7 @@ module SafetyKit
4286
5696
  override.returns(
4287
5697
  {
4288
5698
  type:
4289
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type::OrSymbol,
5699
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type::OrSymbol,
4290
5700
  url: String
4291
5701
  }
4292
5702
  )
@@ -4302,7 +5712,7 @@ module SafetyKit
4302
5712
  T.type_alias do
4303
5713
  T.all(
4304
5714
  Symbol,
4305
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type
5715
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type
4306
5716
  )
4307
5717
  end
4308
5718
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -4310,13 +5720,13 @@ module SafetyKit
4310
5720
  URL =
4311
5721
  T.let(
4312
5722
  :url,
4313
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type::TaggedSymbol
5723
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
4314
5724
  )
4315
5725
 
4316
5726
  sig do
4317
5727
  override.returns(
4318
5728
  T::Array[
4319
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type::TaggedSymbol
5729
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
4320
5730
  ]
4321
5731
  )
4322
5732
  end
@@ -4333,7 +5743,7 @@ module SafetyKit
4333
5743
  T.type_alias do
4334
5744
  T.all(
4335
5745
  Symbol,
4336
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type
5746
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type
4337
5747
  )
4338
5748
  end
4339
5749
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -4341,13 +5751,13 @@ module SafetyKit
4341
5751
  IMAGE =
4342
5752
  T.let(
4343
5753
  :image,
4344
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type::TaggedSymbol
5754
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type::TaggedSymbol
4345
5755
  )
4346
5756
 
4347
5757
  sig do
4348
5758
  override.returns(
4349
5759
  T::Array[
4350
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type::TaggedSymbol
5760
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type::TaggedSymbol
4351
5761
  ]
4352
5762
  )
4353
5763
  end
@@ -4359,7 +5769,7 @@ module SafetyKit
4359
5769
  sig do
4360
5770
  override.returns(
4361
5771
  T::Array[
4362
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::Variants
5772
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::Variants
4363
5773
  ]
4364
5774
  )
4365
5775
  end
@@ -4377,7 +5787,7 @@ module SafetyKit
4377
5787
  Float,
4378
5788
  T::Boolean,
4379
5789
  T::Array[
4380
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::UnionMember3::Variants
5790
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::UnionMember3::Variants
4381
5791
  ]
4382
5792
  )
4383
5793
  end
@@ -4390,7 +5800,7 @@ module SafetyKit
4390
5800
  sig do
4391
5801
  override.returns(
4392
5802
  T::Array[
4393
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::UnionMember3::Variants
5803
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::UnionMember3::Variants
4394
5804
  ]
4395
5805
  )
4396
5806
  end
@@ -4401,7 +5811,7 @@ module SafetyKit
4401
5811
  sig do
4402
5812
  override.returns(
4403
5813
  T::Array[
4404
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::Variants
5814
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::Variants
4405
5815
  ]
4406
5816
  )
4407
5817
  end
@@ -4412,7 +5822,7 @@ module SafetyKit
4412
5822
  T.let(
4413
5823
  SafetyKit::Internal::Type::ArrayOf[
4414
5824
  union:
4415
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::UnionMember3
5825
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::UnionMember3
4416
5826
  ],
4417
5827
  SafetyKit::Internal::Type::Converter
4418
5828
  )
@@ -4422,7 +5832,7 @@ module SafetyKit
4422
5832
  OrHash =
4423
5833
  T.type_alias do
4424
5834
  T.any(
4425
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed,
5835
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed,
4426
5836
  SafetyKit::Internal::AnyHash
4427
5837
  )
4428
5838
  end
@@ -4458,11 +5868,11 @@ module SafetyKit
4458
5868
  end
4459
5869
  end
4460
5870
 
4461
- class CreateAccount < SafetyKit::Internal::Type::BaseModel
5871
+ class UpdateAccount < SafetyKit::Internal::Type::BaseModel
4462
5872
  OrHash =
4463
5873
  T.type_alias do
4464
5874
  T.any(
4465
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount,
5875
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount,
4466
5876
  SafetyKit::Internal::AnyHash
4467
5877
  )
4468
5878
  end
@@ -4491,8 +5901,8 @@ module SafetyKit
4491
5901
  T.nilable(
4492
5902
  T::Array[
4493
5903
  T.any(
4494
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent,
4495
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent
5904
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent,
5905
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent
4496
5906
  )
4497
5907
  ]
4498
5908
  )
@@ -4505,8 +5915,8 @@ module SafetyKit
4505
5915
  content:
4506
5916
  T::Array[
4507
5917
  T.any(
4508
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::OrHash,
4509
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::OrHash
5918
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::OrHash,
5919
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::OrHash
4510
5920
  )
4511
5921
  ]
4512
5922
  ).void
@@ -4521,6 +5931,14 @@ module SafetyKit
4521
5931
  sig { params(content_id: String).void }
4522
5932
  attr_writer :content_id
4523
5933
 
5934
+ # Optional caller-provided key used to make retries of this individual event
5935
+ # idempotent. Reuse the same key only for retries of the same logical event.
5936
+ sig { returns(T.nilable(String)) }
5937
+ attr_reader :idempotency_key
5938
+
5939
+ sig { params(idempotency_key: String).void }
5940
+ attr_writer :idempotency_key
5941
+
4524
5942
  # Non-PII product context for filtering, segmentation, and debugging. Values may
4525
5943
  # be strings, numbers, booleans, or arrays of those scalar values.
4526
5944
  sig do
@@ -4528,7 +5946,7 @@ module SafetyKit
4528
5946
  T.nilable(
4529
5947
  T::Hash[
4530
5948
  Symbol,
4531
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::Variants
5949
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::Variants
4532
5950
  ]
4533
5951
  )
4534
5952
  )
@@ -4540,7 +5958,7 @@ module SafetyKit
4540
5958
  metadata:
4541
5959
  T::Hash[
4542
5960
  Symbol,
4543
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::Variants
5961
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::Variants
4544
5962
  ]
4545
5963
  ).void
4546
5964
  end
@@ -4553,7 +5971,7 @@ module SafetyKit
4553
5971
  returns(
4554
5972
  T.nilable(
4555
5973
  T::Array[
4556
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed
5974
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed
4557
5975
  ]
4558
5976
  )
4559
5977
  )
@@ -4564,13 +5982,14 @@ module SafetyKit
4564
5982
  params(
4565
5983
  resources_used:
4566
5984
  T::Array[
4567
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed::OrHash
5985
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed::OrHash
4568
5986
  ]
4569
5987
  ).void
4570
5988
  end
4571
5989
  attr_writer :resources_used
4572
5990
 
4573
- # A user or account is created.
5991
+ # A user or account profile, contact detail, payment detail, or public bio
5992
+ # changes.
4574
5993
  sig do
4575
5994
  params(
4576
5995
  event_name: String,
@@ -4579,19 +5998,20 @@ module SafetyKit
4579
5998
  content:
4580
5999
  T::Array[
4581
6000
  T.any(
4582
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::OrHash,
4583
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::OrHash
6001
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::OrHash,
6002
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::OrHash
4584
6003
  )
4585
6004
  ],
4586
6005
  content_id: String,
6006
+ idempotency_key: String,
4587
6007
  metadata:
4588
6008
  T::Hash[
4589
6009
  Symbol,
4590
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::Variants
6010
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::Variants
4591
6011
  ],
4592
6012
  resources_used:
4593
6013
  T::Array[
4594
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed::OrHash
6014
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed::OrHash
4595
6015
  ],
4596
6016
  type: Symbol
4597
6017
  ).returns(T.attached_class)
@@ -4611,6 +6031,9 @@ module SafetyKit
4611
6031
  # Your stable identifier for the content involved in this event, such as a
4612
6032
  # message, listing, page, post, profile, or uploaded media item.
4613
6033
  content_id: nil,
6034
+ # Optional caller-provided key used to make retries of this individual event
6035
+ # idempotent. Reuse the same key only for retries of the same logical event.
6036
+ idempotency_key: nil,
4614
6037
  # Non-PII product context for filtering, segmentation, and debugging. Values may
4615
6038
  # be strings, numbers, booleans, or arrays of those scalar values.
4616
6039
  metadata: nil,
@@ -4618,7 +6041,7 @@ module SafetyKit
4618
6041
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
4619
6042
  # identifiers.
4620
6043
  resources_used: nil,
4621
- type: :create_account
6044
+ type: :update_account
4622
6045
  )
4623
6046
  end
4624
6047
 
@@ -4632,19 +6055,20 @@ module SafetyKit
4632
6055
  content:
4633
6056
  T::Array[
4634
6057
  T.any(
4635
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent,
4636
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent
6058
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent,
6059
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent
4637
6060
  )
4638
6061
  ],
4639
6062
  content_id: String,
6063
+ idempotency_key: String,
4640
6064
  metadata:
4641
6065
  T::Hash[
4642
6066
  Symbol,
4643
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::Variants
6067
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::Variants
4644
6068
  ],
4645
6069
  resources_used:
4646
6070
  T::Array[
4647
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed
6071
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed
4648
6072
  ]
4649
6073
  }
4650
6074
  )
@@ -4659,8 +6083,8 @@ module SafetyKit
4659
6083
  Variants =
4660
6084
  T.type_alias do
4661
6085
  T.any(
4662
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent,
4663
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent
6086
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent,
6087
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent
4664
6088
  )
4665
6089
  end
4666
6090
 
@@ -4668,7 +6092,7 @@ module SafetyKit
4668
6092
  OrHash =
4669
6093
  T.type_alias do
4670
6094
  T.any(
4671
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent,
6095
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent,
4672
6096
  SafetyKit::Internal::AnyHash
4673
6097
  )
4674
6098
  end
@@ -4680,7 +6104,7 @@ module SafetyKit
4680
6104
  # Text content part.
4681
6105
  sig do
4682
6106
  returns(
4683
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type::OrSymbol
6107
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type::OrSymbol
4684
6108
  )
4685
6109
  end
4686
6110
  attr_accessor :type
@@ -4697,7 +6121,7 @@ module SafetyKit
4697
6121
  params(
4698
6122
  text: String,
4699
6123
  type:
4700
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type::OrSymbol,
6124
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type::OrSymbol,
4701
6125
  key: String
4702
6126
  ).returns(T.attached_class)
4703
6127
  end
@@ -4716,7 +6140,7 @@ module SafetyKit
4716
6140
  {
4717
6141
  text: String,
4718
6142
  type:
4719
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type::OrSymbol,
6143
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type::OrSymbol,
4720
6144
  key: String
4721
6145
  }
4722
6146
  )
@@ -4732,7 +6156,7 @@ module SafetyKit
4732
6156
  T.type_alias do
4733
6157
  T.all(
4734
6158
  Symbol,
4735
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type
6159
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type
4736
6160
  )
4737
6161
  end
4738
6162
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -4740,13 +6164,13 @@ module SafetyKit
4740
6164
  TEXT =
4741
6165
  T.let(
4742
6166
  :text,
4743
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type::TaggedSymbol
6167
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type::TaggedSymbol
4744
6168
  )
4745
6169
 
4746
6170
  sig do
4747
6171
  override.returns(
4748
6172
  T::Array[
4749
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type::TaggedSymbol
6173
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type::TaggedSymbol
4750
6174
  ]
4751
6175
  )
4752
6176
  end
@@ -4759,7 +6183,7 @@ module SafetyKit
4759
6183
  OrHash =
4760
6184
  T.type_alias do
4761
6185
  T.any(
4762
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent,
6186
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent,
4763
6187
  SafetyKit::Internal::AnyHash
4764
6188
  )
4765
6189
  end
@@ -4767,7 +6191,7 @@ module SafetyKit
4767
6191
  # Image source information.
4768
6192
  sig do
4769
6193
  returns(
4770
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source
6194
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source
4771
6195
  )
4772
6196
  end
4773
6197
  attr_reader :source
@@ -4775,7 +6199,7 @@ module SafetyKit
4775
6199
  sig do
4776
6200
  params(
4777
6201
  source:
4778
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::OrHash
6202
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::OrHash
4779
6203
  ).void
4780
6204
  end
4781
6205
  attr_writer :source
@@ -4783,7 +6207,7 @@ module SafetyKit
4783
6207
  # Image content part.
4784
6208
  sig do
4785
6209
  returns(
4786
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type::OrSymbol
6210
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type::OrSymbol
4787
6211
  )
4788
6212
  end
4789
6213
  attr_accessor :type
@@ -4799,9 +6223,9 @@ module SafetyKit
4799
6223
  sig do
4800
6224
  params(
4801
6225
  source:
4802
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::OrHash,
6226
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::OrHash,
4803
6227
  type:
4804
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type::OrSymbol,
6228
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type::OrSymbol,
4805
6229
  key: String
4806
6230
  ).returns(T.attached_class)
4807
6231
  end
@@ -4819,9 +6243,9 @@ module SafetyKit
4819
6243
  override.returns(
4820
6244
  {
4821
6245
  source:
4822
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source,
6246
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source,
4823
6247
  type:
4824
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type::OrSymbol,
6248
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type::OrSymbol,
4825
6249
  key: String
4826
6250
  }
4827
6251
  )
@@ -4833,7 +6257,7 @@ module SafetyKit
4833
6257
  OrHash =
4834
6258
  T.type_alias do
4835
6259
  T.any(
4836
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source,
6260
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source,
4837
6261
  SafetyKit::Internal::AnyHash
4838
6262
  )
4839
6263
  end
@@ -4841,7 +6265,7 @@ module SafetyKit
4841
6265
  # URL image source.
4842
6266
  sig do
4843
6267
  returns(
4844
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type::OrSymbol
6268
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type::OrSymbol
4845
6269
  )
4846
6270
  end
4847
6271
  attr_accessor :type
@@ -4854,7 +6278,7 @@ module SafetyKit
4854
6278
  sig do
4855
6279
  params(
4856
6280
  type:
4857
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type::OrSymbol,
6281
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type::OrSymbol,
4858
6282
  url: String
4859
6283
  ).returns(T.attached_class)
4860
6284
  end
@@ -4870,7 +6294,7 @@ module SafetyKit
4870
6294
  override.returns(
4871
6295
  {
4872
6296
  type:
4873
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type::OrSymbol,
6297
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type::OrSymbol,
4874
6298
  url: String
4875
6299
  }
4876
6300
  )
@@ -4886,7 +6310,7 @@ module SafetyKit
4886
6310
  T.type_alias do
4887
6311
  T.all(
4888
6312
  Symbol,
4889
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type
6313
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type
4890
6314
  )
4891
6315
  end
4892
6316
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -4894,13 +6318,13 @@ module SafetyKit
4894
6318
  URL =
4895
6319
  T.let(
4896
6320
  :url,
4897
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
6321
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
4898
6322
  )
4899
6323
 
4900
6324
  sig do
4901
6325
  override.returns(
4902
6326
  T::Array[
4903
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
6327
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
4904
6328
  ]
4905
6329
  )
4906
6330
  end
@@ -4917,7 +6341,7 @@ module SafetyKit
4917
6341
  T.type_alias do
4918
6342
  T.all(
4919
6343
  Symbol,
4920
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type
6344
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type
4921
6345
  )
4922
6346
  end
4923
6347
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -4925,13 +6349,13 @@ module SafetyKit
4925
6349
  IMAGE =
4926
6350
  T.let(
4927
6351
  :image,
4928
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type::TaggedSymbol
6352
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type::TaggedSymbol
4929
6353
  )
4930
6354
 
4931
6355
  sig do
4932
6356
  override.returns(
4933
6357
  T::Array[
4934
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type::TaggedSymbol
6358
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type::TaggedSymbol
4935
6359
  ]
4936
6360
  )
4937
6361
  end
@@ -4943,7 +6367,7 @@ module SafetyKit
4943
6367
  sig do
4944
6368
  override.returns(
4945
6369
  T::Array[
4946
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::Variants
6370
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::Variants
4947
6371
  ]
4948
6372
  )
4949
6373
  end
@@ -4961,7 +6385,7 @@ module SafetyKit
4961
6385
  Float,
4962
6386
  T::Boolean,
4963
6387
  T::Array[
4964
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::UnionMember3::Variants
6388
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::UnionMember3::Variants
4965
6389
  ]
4966
6390
  )
4967
6391
  end
@@ -4974,7 +6398,7 @@ module SafetyKit
4974
6398
  sig do
4975
6399
  override.returns(
4976
6400
  T::Array[
4977
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::UnionMember3::Variants
6401
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::UnionMember3::Variants
4978
6402
  ]
4979
6403
  )
4980
6404
  end
@@ -4985,7 +6409,7 @@ module SafetyKit
4985
6409
  sig do
4986
6410
  override.returns(
4987
6411
  T::Array[
4988
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::Variants
6412
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::Variants
4989
6413
  ]
4990
6414
  )
4991
6415
  end
@@ -4996,7 +6420,7 @@ module SafetyKit
4996
6420
  T.let(
4997
6421
  SafetyKit::Internal::Type::ArrayOf[
4998
6422
  union:
4999
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::UnionMember3
6423
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::UnionMember3
5000
6424
  ],
5001
6425
  SafetyKit::Internal::Type::Converter
5002
6426
  )
@@ -5006,7 +6430,7 @@ module SafetyKit
5006
6430
  OrHash =
5007
6431
  T.type_alias do
5008
6432
  T.any(
5009
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed,
6433
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed,
5010
6434
  SafetyKit::Internal::AnyHash
5011
6435
  )
5012
6436
  end
@@ -5042,11 +6466,11 @@ module SafetyKit
5042
6466
  end
5043
6467
  end
5044
6468
 
5045
- class UpdateAccount < SafetyKit::Internal::Type::BaseModel
6469
+ class UserReport < SafetyKit::Internal::Type::BaseModel
5046
6470
  OrHash =
5047
6471
  T.type_alias do
5048
6472
  T.any(
5049
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount,
6473
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport,
5050
6474
  SafetyKit::Internal::AnyHash
5051
6475
  )
5052
6476
  end
@@ -5056,6 +6480,16 @@ module SafetyKit
5056
6480
  sig { returns(String) }
5057
6481
  attr_accessor :event_name
5058
6482
 
6483
+ # One or more label categories supplied with the report.
6484
+ sig do
6485
+ returns(
6486
+ T::Array[
6487
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Label
6488
+ ]
6489
+ )
6490
+ end
6491
+ attr_accessor :labels
6492
+
5059
6493
  # The time the event occurred in your system, as an ISO 8601 datetime string.
5060
6494
  sig { returns(Time) }
5061
6495
  attr_accessor :timestamp
@@ -5075,8 +6509,8 @@ module SafetyKit
5075
6509
  T.nilable(
5076
6510
  T::Array[
5077
6511
  T.any(
5078
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent,
5079
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent
6512
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent,
6513
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent
5080
6514
  )
5081
6515
  ]
5082
6516
  )
@@ -5089,8 +6523,8 @@ module SafetyKit
5089
6523
  content:
5090
6524
  T::Array[
5091
6525
  T.any(
5092
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::OrHash,
5093
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::OrHash
6526
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::OrHash,
6527
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::OrHash
5094
6528
  )
5095
6529
  ]
5096
6530
  ).void
@@ -5105,6 +6539,14 @@ module SafetyKit
5105
6539
  sig { params(content_id: String).void }
5106
6540
  attr_writer :content_id
5107
6541
 
6542
+ # Optional caller-provided key used to make retries of this individual event
6543
+ # idempotent. Reuse the same key only for retries of the same logical event.
6544
+ sig { returns(T.nilable(String)) }
6545
+ attr_reader :idempotency_key
6546
+
6547
+ sig { params(idempotency_key: String).void }
6548
+ attr_writer :idempotency_key
6549
+
5108
6550
  # Non-PII product context for filtering, segmentation, and debugging. Values may
5109
6551
  # be strings, numbers, booleans, or arrays of those scalar values.
5110
6552
  sig do
@@ -5112,7 +6554,7 @@ module SafetyKit
5112
6554
  T.nilable(
5113
6555
  T::Hash[
5114
6556
  Symbol,
5115
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::Variants
6557
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::Variants
5116
6558
  ]
5117
6559
  )
5118
6560
  )
@@ -5124,7 +6566,7 @@ module SafetyKit
5124
6566
  metadata:
5125
6567
  T::Hash[
5126
6568
  Symbol,
5127
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::Variants
6569
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::Variants
5128
6570
  ]
5129
6571
  ).void
5130
6572
  end
@@ -5137,7 +6579,7 @@ module SafetyKit
5137
6579
  returns(
5138
6580
  T.nilable(
5139
6581
  T::Array[
5140
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed
6582
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed
5141
6583
  ]
5142
6584
  )
5143
6585
  )
@@ -5148,36 +6590,59 @@ module SafetyKit
5148
6590
  params(
5149
6591
  resources_used:
5150
6592
  T::Array[
5151
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed::OrHash
6593
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed::OrHash
5152
6594
  ]
5153
6595
  ).void
5154
6596
  end
5155
6597
  attr_writer :resources_used
5156
6598
 
5157
- # A user or account profile, contact detail, payment detail, or public bio
5158
- # changes.
6599
+ # Your stable identifier for the content being reported.
6600
+ sig { returns(T.nilable(String)) }
6601
+ attr_reader :target_content_id
6602
+
6603
+ sig { params(target_content_id: String).void }
6604
+ attr_writer :target_content_id
6605
+
6606
+ # Your stable canonical identifier for the user being reported.
6607
+ sig { returns(T.nilable(String)) }
6608
+ attr_reader :target_user_id
6609
+
6610
+ sig { params(target_user_id: String).void }
6611
+ attr_writer :target_user_id
6612
+
6613
+ # A user-submitted report. Use user_id for the reporter. Include target_user_id
6614
+ # when a user is reported, target_content_id when content is reported, and both
6615
+ # when the report is about content associated with a user. Use content and
6616
+ # content_id for the report itself.
5159
6617
  sig do
5160
6618
  params(
5161
6619
  event_name: String,
6620
+ labels:
6621
+ T::Array[
6622
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Label::OrHash
6623
+ ],
5162
6624
  timestamp: Time,
5163
6625
  user_id: String,
5164
6626
  content:
5165
6627
  T::Array[
5166
6628
  T.any(
5167
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::OrHash,
5168
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::OrHash
6629
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::OrHash,
6630
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::OrHash
5169
6631
  )
5170
6632
  ],
5171
6633
  content_id: String,
6634
+ idempotency_key: String,
5172
6635
  metadata:
5173
6636
  T::Hash[
5174
6637
  Symbol,
5175
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::Variants
6638
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::Variants
5176
6639
  ],
5177
6640
  resources_used:
5178
6641
  T::Array[
5179
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed::OrHash
6642
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed::OrHash
5180
6643
  ],
6644
+ target_content_id: String,
6645
+ target_user_id: String,
5181
6646
  type: Symbol
5182
6647
  ).returns(T.attached_class)
5183
6648
  end
@@ -5185,6 +6650,8 @@ module SafetyKit
5185
6650
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
5186
6651
  # values in typed fields, content, resources_used, or metadata.
5187
6652
  event_name:,
6653
+ # One or more label categories supplied with the report.
6654
+ labels:,
5188
6655
  # The time the event occurred in your system, as an ISO 8601 datetime string.
5189
6656
  timestamp:,
5190
6657
  # Your stable canonical identifier for the user or account.
@@ -5196,6 +6663,9 @@ module SafetyKit
5196
6663
  # Your stable identifier for the content involved in this event, such as a
5197
6664
  # message, listing, page, post, profile, or uploaded media item.
5198
6665
  content_id: nil,
6666
+ # Optional caller-provided key used to make retries of this individual event
6667
+ # idempotent. Reuse the same key only for retries of the same logical event.
6668
+ idempotency_key: nil,
5199
6669
  # Non-PII product context for filtering, segmentation, and debugging. Values may
5200
6670
  # be strings, numbers, booleans, or arrays of those scalar values.
5201
6671
  metadata: nil,
@@ -5203,7 +6673,11 @@ module SafetyKit
5203
6673
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
5204
6674
  # identifiers.
5205
6675
  resources_used: nil,
5206
- type: :update_account
6676
+ # Your stable identifier for the content being reported.
6677
+ target_content_id: nil,
6678
+ # Your stable canonical identifier for the user being reported.
6679
+ target_user_id: nil,
6680
+ type: :user_report
5207
6681
  )
5208
6682
  end
5209
6683
 
@@ -5211,32 +6685,65 @@ module SafetyKit
5211
6685
  override.returns(
5212
6686
  {
5213
6687
  event_name: String,
6688
+ labels:
6689
+ T::Array[
6690
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Label
6691
+ ],
5214
6692
  timestamp: Time,
5215
6693
  type: Symbol,
5216
6694
  user_id: String,
5217
6695
  content:
5218
6696
  T::Array[
5219
6697
  T.any(
5220
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent,
5221
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent
6698
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent,
6699
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent
5222
6700
  )
5223
6701
  ],
5224
6702
  content_id: String,
6703
+ idempotency_key: String,
5225
6704
  metadata:
5226
6705
  T::Hash[
5227
6706
  Symbol,
5228
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::Variants
6707
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::Variants
5229
6708
  ],
5230
6709
  resources_used:
5231
6710
  T::Array[
5232
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed
5233
- ]
6711
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed
6712
+ ],
6713
+ target_content_id: String,
6714
+ target_user_id: String
5234
6715
  }
5235
6716
  )
5236
6717
  end
5237
6718
  def to_hash
5238
6719
  end
5239
6720
 
6721
+ class Label < SafetyKit::Internal::Type::BaseModel
6722
+ OrHash =
6723
+ T.type_alias do
6724
+ T.any(
6725
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Label,
6726
+ SafetyKit::Internal::AnyHash
6727
+ )
6728
+ end
6729
+
6730
+ # Stable snake_case report label category.
6731
+ sig { returns(String) }
6732
+ attr_accessor :label
6733
+
6734
+ # Label category supplied with a user report.
6735
+ sig { params(label: String).returns(T.attached_class) }
6736
+ def self.new(
6737
+ # Stable snake_case report label category.
6738
+ label:
6739
+ )
6740
+ end
6741
+
6742
+ sig { override.returns({ label: String }) }
6743
+ def to_hash
6744
+ end
6745
+ end
6746
+
5240
6747
  # User-authored text content associated with an event.
5241
6748
  module Content
5242
6749
  extend SafetyKit::Internal::Type::Union
@@ -5244,8 +6751,8 @@ module SafetyKit
5244
6751
  Variants =
5245
6752
  T.type_alias do
5246
6753
  T.any(
5247
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent,
5248
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent
6754
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent,
6755
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent
5249
6756
  )
5250
6757
  end
5251
6758
 
@@ -5253,7 +6760,7 @@ module SafetyKit
5253
6760
  OrHash =
5254
6761
  T.type_alias do
5255
6762
  T.any(
5256
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent,
6763
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent,
5257
6764
  SafetyKit::Internal::AnyHash
5258
6765
  )
5259
6766
  end
@@ -5265,7 +6772,7 @@ module SafetyKit
5265
6772
  # Text content part.
5266
6773
  sig do
5267
6774
  returns(
5268
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type::OrSymbol
6775
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type::OrSymbol
5269
6776
  )
5270
6777
  end
5271
6778
  attr_accessor :type
@@ -5282,7 +6789,7 @@ module SafetyKit
5282
6789
  params(
5283
6790
  text: String,
5284
6791
  type:
5285
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type::OrSymbol,
6792
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type::OrSymbol,
5286
6793
  key: String
5287
6794
  ).returns(T.attached_class)
5288
6795
  end
@@ -5301,7 +6808,7 @@ module SafetyKit
5301
6808
  {
5302
6809
  text: String,
5303
6810
  type:
5304
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type::OrSymbol,
6811
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type::OrSymbol,
5305
6812
  key: String
5306
6813
  }
5307
6814
  )
@@ -5317,7 +6824,7 @@ module SafetyKit
5317
6824
  T.type_alias do
5318
6825
  T.all(
5319
6826
  Symbol,
5320
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type
6827
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type
5321
6828
  )
5322
6829
  end
5323
6830
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -5325,13 +6832,13 @@ module SafetyKit
5325
6832
  TEXT =
5326
6833
  T.let(
5327
6834
  :text,
5328
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type::TaggedSymbol
6835
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type::TaggedSymbol
5329
6836
  )
5330
6837
 
5331
6838
  sig do
5332
6839
  override.returns(
5333
6840
  T::Array[
5334
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type::TaggedSymbol
6841
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type::TaggedSymbol
5335
6842
  ]
5336
6843
  )
5337
6844
  end
@@ -5344,7 +6851,7 @@ module SafetyKit
5344
6851
  OrHash =
5345
6852
  T.type_alias do
5346
6853
  T.any(
5347
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent,
6854
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent,
5348
6855
  SafetyKit::Internal::AnyHash
5349
6856
  )
5350
6857
  end
@@ -5352,7 +6859,7 @@ module SafetyKit
5352
6859
  # Image source information.
5353
6860
  sig do
5354
6861
  returns(
5355
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source
6862
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source
5356
6863
  )
5357
6864
  end
5358
6865
  attr_reader :source
@@ -5360,7 +6867,7 @@ module SafetyKit
5360
6867
  sig do
5361
6868
  params(
5362
6869
  source:
5363
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::OrHash
6870
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::OrHash
5364
6871
  ).void
5365
6872
  end
5366
6873
  attr_writer :source
@@ -5368,7 +6875,7 @@ module SafetyKit
5368
6875
  # Image content part.
5369
6876
  sig do
5370
6877
  returns(
5371
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type::OrSymbol
6878
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type::OrSymbol
5372
6879
  )
5373
6880
  end
5374
6881
  attr_accessor :type
@@ -5384,9 +6891,9 @@ module SafetyKit
5384
6891
  sig do
5385
6892
  params(
5386
6893
  source:
5387
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::OrHash,
6894
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::OrHash,
5388
6895
  type:
5389
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type::OrSymbol,
6896
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type::OrSymbol,
5390
6897
  key: String
5391
6898
  ).returns(T.attached_class)
5392
6899
  end
@@ -5404,9 +6911,9 @@ module SafetyKit
5404
6911
  override.returns(
5405
6912
  {
5406
6913
  source:
5407
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source,
6914
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source,
5408
6915
  type:
5409
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type::OrSymbol,
6916
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type::OrSymbol,
5410
6917
  key: String
5411
6918
  }
5412
6919
  )
@@ -5418,7 +6925,7 @@ module SafetyKit
5418
6925
  OrHash =
5419
6926
  T.type_alias do
5420
6927
  T.any(
5421
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source,
6928
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source,
5422
6929
  SafetyKit::Internal::AnyHash
5423
6930
  )
5424
6931
  end
@@ -5426,7 +6933,7 @@ module SafetyKit
5426
6933
  # URL image source.
5427
6934
  sig do
5428
6935
  returns(
5429
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type::OrSymbol
6936
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type::OrSymbol
5430
6937
  )
5431
6938
  end
5432
6939
  attr_accessor :type
@@ -5439,7 +6946,7 @@ module SafetyKit
5439
6946
  sig do
5440
6947
  params(
5441
6948
  type:
5442
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type::OrSymbol,
6949
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type::OrSymbol,
5443
6950
  url: String
5444
6951
  ).returns(T.attached_class)
5445
6952
  end
@@ -5455,7 +6962,7 @@ module SafetyKit
5455
6962
  override.returns(
5456
6963
  {
5457
6964
  type:
5458
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type::OrSymbol,
6965
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type::OrSymbol,
5459
6966
  url: String
5460
6967
  }
5461
6968
  )
@@ -5471,7 +6978,7 @@ module SafetyKit
5471
6978
  T.type_alias do
5472
6979
  T.all(
5473
6980
  Symbol,
5474
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type
6981
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type
5475
6982
  )
5476
6983
  end
5477
6984
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -5479,13 +6986,13 @@ module SafetyKit
5479
6986
  URL =
5480
6987
  T.let(
5481
6988
  :url,
5482
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
6989
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type::TaggedSymbol
5483
6990
  )
5484
6991
 
5485
6992
  sig do
5486
6993
  override.returns(
5487
6994
  T::Array[
5488
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
6995
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type::TaggedSymbol
5489
6996
  ]
5490
6997
  )
5491
6998
  end
@@ -5502,7 +7009,7 @@ module SafetyKit
5502
7009
  T.type_alias do
5503
7010
  T.all(
5504
7011
  Symbol,
5505
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type
7012
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type
5506
7013
  )
5507
7014
  end
5508
7015
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -5510,13 +7017,13 @@ module SafetyKit
5510
7017
  IMAGE =
5511
7018
  T.let(
5512
7019
  :image,
5513
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type::TaggedSymbol
7020
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type::TaggedSymbol
5514
7021
  )
5515
7022
 
5516
7023
  sig do
5517
7024
  override.returns(
5518
7025
  T::Array[
5519
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type::TaggedSymbol
7026
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type::TaggedSymbol
5520
7027
  ]
5521
7028
  )
5522
7029
  end
@@ -5528,7 +7035,7 @@ module SafetyKit
5528
7035
  sig do
5529
7036
  override.returns(
5530
7037
  T::Array[
5531
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::Variants
7038
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::Variants
5532
7039
  ]
5533
7040
  )
5534
7041
  end
@@ -5546,7 +7053,7 @@ module SafetyKit
5546
7053
  Float,
5547
7054
  T::Boolean,
5548
7055
  T::Array[
5549
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::UnionMember3::Variants
7056
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::UnionMember3::Variants
5550
7057
  ]
5551
7058
  )
5552
7059
  end
@@ -5559,7 +7066,7 @@ module SafetyKit
5559
7066
  sig do
5560
7067
  override.returns(
5561
7068
  T::Array[
5562
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::UnionMember3::Variants
7069
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::UnionMember3::Variants
5563
7070
  ]
5564
7071
  )
5565
7072
  end
@@ -5570,7 +7077,7 @@ module SafetyKit
5570
7077
  sig do
5571
7078
  override.returns(
5572
7079
  T::Array[
5573
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::Variants
7080
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::Variants
5574
7081
  ]
5575
7082
  )
5576
7083
  end
@@ -5581,7 +7088,7 @@ module SafetyKit
5581
7088
  T.let(
5582
7089
  SafetyKit::Internal::Type::ArrayOf[
5583
7090
  union:
5584
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::UnionMember3
7091
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::UnionMember3
5585
7092
  ],
5586
7093
  SafetyKit::Internal::Type::Converter
5587
7094
  )
@@ -5591,7 +7098,7 @@ module SafetyKit
5591
7098
  OrHash =
5592
7099
  T.type_alias do
5593
7100
  T.any(
5594
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed,
7101
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed,
5595
7102
  SafetyKit::Internal::AnyHash
5596
7103
  )
5597
7104
  end
@@ -5627,11 +7134,11 @@ module SafetyKit
5627
7134
  end
5628
7135
  end
5629
7136
 
5630
- class UserReport < SafetyKit::Internal::Type::BaseModel
7137
+ class ModerationDecision < SafetyKit::Internal::Type::BaseModel
5631
7138
  OrHash =
5632
7139
  T.type_alias do
5633
7140
  T.any(
5634
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport,
7141
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision,
5635
7142
  SafetyKit::Internal::AnyHash
5636
7143
  )
5637
7144
  end
@@ -5645,12 +7152,22 @@ module SafetyKit
5645
7152
  sig do
5646
7153
  returns(
5647
7154
  T::Array[
5648
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Label
7155
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Label
5649
7156
  ]
5650
7157
  )
5651
7158
  end
5652
7159
  attr_accessor :labels
5653
7160
 
7161
+ # Stable identifier within source_type. For system_auto_ban, use a versioned
7162
+ # system identifier; for manual_review, use the manual reviewer id.
7163
+ sig { returns(String) }
7164
+ attr_accessor :source_id
7165
+
7166
+ # Stable snake_case attribution namespace for the decision source, such as
7167
+ # system_auto_ban or manual_review.
7168
+ sig { returns(String) }
7169
+ attr_accessor :source_type
7170
+
5654
7171
  # The time the event occurred in your system, as an ISO 8601 datetime string.
5655
7172
  sig { returns(Time) }
5656
7173
  attr_accessor :timestamp
@@ -5658,10 +7175,6 @@ module SafetyKit
5658
7175
  sig { returns(Symbol) }
5659
7176
  attr_accessor :type
5660
7177
 
5661
- # Your stable canonical identifier for the user or account.
5662
- sig { returns(String) }
5663
- attr_accessor :user_id
5664
-
5665
7178
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
5666
7179
  # listing text, image URLs, and similar content SafetyKit should compare or
5667
7180
  # analyze.
@@ -5670,8 +7183,8 @@ module SafetyKit
5670
7183
  T.nilable(
5671
7184
  T::Array[
5672
7185
  T.any(
5673
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent,
5674
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent
7186
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent,
7187
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent
5675
7188
  )
5676
7189
  ]
5677
7190
  )
@@ -5684,8 +7197,8 @@ module SafetyKit
5684
7197
  content:
5685
7198
  T::Array[
5686
7199
  T.any(
5687
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::OrHash,
5688
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::OrHash
7200
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::OrHash,
7201
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::OrHash
5689
7202
  )
5690
7203
  ]
5691
7204
  ).void
@@ -5700,6 +7213,14 @@ module SafetyKit
5700
7213
  sig { params(content_id: String).void }
5701
7214
  attr_writer :content_id
5702
7215
 
7216
+ # Optional caller-provided key used to make retries of this individual event
7217
+ # idempotent. Reuse the same key only for retries of the same logical event.
7218
+ sig { returns(T.nilable(String)) }
7219
+ attr_reader :idempotency_key
7220
+
7221
+ sig { params(idempotency_key: String).void }
7222
+ attr_writer :idempotency_key
7223
+
5703
7224
  # Non-PII product context for filtering, segmentation, and debugging. Values may
5704
7225
  # be strings, numbers, booleans, or arrays of those scalar values.
5705
7226
  sig do
@@ -5707,7 +7228,7 @@ module SafetyKit
5707
7228
  T.nilable(
5708
7229
  T::Hash[
5709
7230
  Symbol,
5710
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::Variants
7231
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::Variants
5711
7232
  ]
5712
7233
  )
5713
7234
  )
@@ -5719,7 +7240,7 @@ module SafetyKit
5719
7240
  metadata:
5720
7241
  T::Hash[
5721
7242
  Symbol,
5722
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::Variants
7243
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::Variants
5723
7244
  ]
5724
7245
  ).void
5725
7246
  end
@@ -5732,7 +7253,7 @@ module SafetyKit
5732
7253
  returns(
5733
7254
  T.nilable(
5734
7255
  T::Array[
5735
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed
7256
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed
5736
7257
  ]
5737
7258
  )
5738
7259
  )
@@ -5743,7 +7264,7 @@ module SafetyKit
5743
7264
  params(
5744
7265
  resources_used:
5745
7266
  T::Array[
5746
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed::OrHash
7267
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed::OrHash
5747
7268
  ]
5748
7269
  ).void
5749
7270
  end
@@ -5763,35 +7284,36 @@ module SafetyKit
5763
7284
  sig { params(target_user_id: String).void }
5764
7285
  attr_writer :target_user_id
5765
7286
 
5766
- # A user-submitted report. Use user_id for the reporter. Include target_user_id
5767
- # when a user is reported, target_content_id when content is reported, and both
5768
- # when the report is about content associated with a user. Use content and
5769
- # content_id for the report itself.
7287
+ # A moderation label or decision from an automated enforcement system or manual
7288
+ # review workflow. Do not send user_id; use source_type and source_id for
7289
+ # attribution.
5770
7290
  sig do
5771
7291
  params(
5772
7292
  event_name: String,
5773
7293
  labels:
5774
7294
  T::Array[
5775
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Label::OrHash
7295
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Label::OrHash
5776
7296
  ],
7297
+ source_id: String,
7298
+ source_type: String,
5777
7299
  timestamp: Time,
5778
- user_id: String,
5779
7300
  content:
5780
7301
  T::Array[
5781
7302
  T.any(
5782
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::OrHash,
5783
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::OrHash
7303
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::OrHash,
7304
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::OrHash
5784
7305
  )
5785
7306
  ],
5786
7307
  content_id: String,
7308
+ idempotency_key: String,
5787
7309
  metadata:
5788
7310
  T::Hash[
5789
7311
  Symbol,
5790
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::Variants
7312
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::Variants
5791
7313
  ],
5792
7314
  resources_used:
5793
7315
  T::Array[
5794
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed::OrHash
7316
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed::OrHash
5795
7317
  ],
5796
7318
  target_content_id: String,
5797
7319
  target_user_id: String,
@@ -5804,10 +7326,14 @@ module SafetyKit
5804
7326
  event_name:,
5805
7327
  # One or more label categories supplied with the report.
5806
7328
  labels:,
7329
+ # Stable identifier within source_type. For system_auto_ban, use a versioned
7330
+ # system identifier; for manual_review, use the manual reviewer id.
7331
+ source_id:,
7332
+ # Stable snake_case attribution namespace for the decision source, such as
7333
+ # system_auto_ban or manual_review.
7334
+ source_type:,
5807
7335
  # The time the event occurred in your system, as an ISO 8601 datetime string.
5808
7336
  timestamp:,
5809
- # Your stable canonical identifier for the user or account.
5810
- user_id:,
5811
7337
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
5812
7338
  # listing text, image URLs, and similar content SafetyKit should compare or
5813
7339
  # analyze.
@@ -5815,6 +7341,9 @@ module SafetyKit
5815
7341
  # Your stable identifier for the content involved in this event, such as a
5816
7342
  # message, listing, page, post, profile, or uploaded media item.
5817
7343
  content_id: nil,
7344
+ # Optional caller-provided key used to make retries of this individual event
7345
+ # idempotent. Reuse the same key only for retries of the same logical event.
7346
+ idempotency_key: nil,
5818
7347
  # Non-PII product context for filtering, segmentation, and debugging. Values may
5819
7348
  # be strings, numbers, booleans, or arrays of those scalar values.
5820
7349
  metadata: nil,
@@ -5826,7 +7355,7 @@ module SafetyKit
5826
7355
  target_content_id: nil,
5827
7356
  # Your stable canonical identifier for the user being reported.
5828
7357
  target_user_id: nil,
5829
- type: :user_report
7358
+ type: :moderation_decision
5830
7359
  )
5831
7360
  end
5832
7361
 
@@ -5836,27 +7365,29 @@ module SafetyKit
5836
7365
  event_name: String,
5837
7366
  labels:
5838
7367
  T::Array[
5839
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Label
7368
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Label
5840
7369
  ],
7370
+ source_id: String,
7371
+ source_type: String,
5841
7372
  timestamp: Time,
5842
7373
  type: Symbol,
5843
- user_id: String,
5844
7374
  content:
5845
7375
  T::Array[
5846
7376
  T.any(
5847
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent,
5848
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent
7377
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent,
7378
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent
5849
7379
  )
5850
7380
  ],
5851
7381
  content_id: String,
7382
+ idempotency_key: String,
5852
7383
  metadata:
5853
7384
  T::Hash[
5854
7385
  Symbol,
5855
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::Variants
7386
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::Variants
5856
7387
  ],
5857
7388
  resources_used:
5858
7389
  T::Array[
5859
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed
7390
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed
5860
7391
  ],
5861
7392
  target_content_id: String,
5862
7393
  target_user_id: String
@@ -5870,7 +7401,7 @@ module SafetyKit
5870
7401
  OrHash =
5871
7402
  T.type_alias do
5872
7403
  T.any(
5873
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Label,
7404
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Label,
5874
7405
  SafetyKit::Internal::AnyHash
5875
7406
  )
5876
7407
  end
@@ -5899,8 +7430,8 @@ module SafetyKit
5899
7430
  Variants =
5900
7431
  T.type_alias do
5901
7432
  T.any(
5902
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent,
5903
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent
7433
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent,
7434
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent
5904
7435
  )
5905
7436
  end
5906
7437
 
@@ -5908,7 +7439,7 @@ module SafetyKit
5908
7439
  OrHash =
5909
7440
  T.type_alias do
5910
7441
  T.any(
5911
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent,
7442
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent,
5912
7443
  SafetyKit::Internal::AnyHash
5913
7444
  )
5914
7445
  end
@@ -5920,7 +7451,7 @@ module SafetyKit
5920
7451
  # Text content part.
5921
7452
  sig do
5922
7453
  returns(
5923
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type::OrSymbol
7454
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type::OrSymbol
5924
7455
  )
5925
7456
  end
5926
7457
  attr_accessor :type
@@ -5937,7 +7468,7 @@ module SafetyKit
5937
7468
  params(
5938
7469
  text: String,
5939
7470
  type:
5940
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type::OrSymbol,
7471
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type::OrSymbol,
5941
7472
  key: String
5942
7473
  ).returns(T.attached_class)
5943
7474
  end
@@ -5956,7 +7487,7 @@ module SafetyKit
5956
7487
  {
5957
7488
  text: String,
5958
7489
  type:
5959
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type::OrSymbol,
7490
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type::OrSymbol,
5960
7491
  key: String
5961
7492
  }
5962
7493
  )
@@ -5972,7 +7503,7 @@ module SafetyKit
5972
7503
  T.type_alias do
5973
7504
  T.all(
5974
7505
  Symbol,
5975
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type
7506
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type
5976
7507
  )
5977
7508
  end
5978
7509
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -5980,13 +7511,13 @@ module SafetyKit
5980
7511
  TEXT =
5981
7512
  T.let(
5982
7513
  :text,
5983
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type::TaggedSymbol
7514
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type::TaggedSymbol
5984
7515
  )
5985
7516
 
5986
7517
  sig do
5987
7518
  override.returns(
5988
7519
  T::Array[
5989
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type::TaggedSymbol
7520
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type::TaggedSymbol
5990
7521
  ]
5991
7522
  )
5992
7523
  end
@@ -5999,7 +7530,7 @@ module SafetyKit
5999
7530
  OrHash =
6000
7531
  T.type_alias do
6001
7532
  T.any(
6002
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent,
7533
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent,
6003
7534
  SafetyKit::Internal::AnyHash
6004
7535
  )
6005
7536
  end
@@ -6007,7 +7538,7 @@ module SafetyKit
6007
7538
  # Image source information.
6008
7539
  sig do
6009
7540
  returns(
6010
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source
7541
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source
6011
7542
  )
6012
7543
  end
6013
7544
  attr_reader :source
@@ -6015,7 +7546,7 @@ module SafetyKit
6015
7546
  sig do
6016
7547
  params(
6017
7548
  source:
6018
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::OrHash
7549
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::OrHash
6019
7550
  ).void
6020
7551
  end
6021
7552
  attr_writer :source
@@ -6023,7 +7554,7 @@ module SafetyKit
6023
7554
  # Image content part.
6024
7555
  sig do
6025
7556
  returns(
6026
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type::OrSymbol
7557
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type::OrSymbol
6027
7558
  )
6028
7559
  end
6029
7560
  attr_accessor :type
@@ -6039,9 +7570,9 @@ module SafetyKit
6039
7570
  sig do
6040
7571
  params(
6041
7572
  source:
6042
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::OrHash,
7573
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::OrHash,
6043
7574
  type:
6044
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type::OrSymbol,
7575
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type::OrSymbol,
6045
7576
  key: String
6046
7577
  ).returns(T.attached_class)
6047
7578
  end
@@ -6059,9 +7590,9 @@ module SafetyKit
6059
7590
  override.returns(
6060
7591
  {
6061
7592
  source:
6062
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source,
7593
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source,
6063
7594
  type:
6064
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type::OrSymbol,
7595
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type::OrSymbol,
6065
7596
  key: String
6066
7597
  }
6067
7598
  )
@@ -6073,7 +7604,7 @@ module SafetyKit
6073
7604
  OrHash =
6074
7605
  T.type_alias do
6075
7606
  T.any(
6076
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source,
7607
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source,
6077
7608
  SafetyKit::Internal::AnyHash
6078
7609
  )
6079
7610
  end
@@ -6081,7 +7612,7 @@ module SafetyKit
6081
7612
  # URL image source.
6082
7613
  sig do
6083
7614
  returns(
6084
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type::OrSymbol
7615
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type::OrSymbol
6085
7616
  )
6086
7617
  end
6087
7618
  attr_accessor :type
@@ -6094,7 +7625,7 @@ module SafetyKit
6094
7625
  sig do
6095
7626
  params(
6096
7627
  type:
6097
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type::OrSymbol,
7628
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type::OrSymbol,
6098
7629
  url: String
6099
7630
  ).returns(T.attached_class)
6100
7631
  end
@@ -6110,7 +7641,7 @@ module SafetyKit
6110
7641
  override.returns(
6111
7642
  {
6112
7643
  type:
6113
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type::OrSymbol,
7644
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type::OrSymbol,
6114
7645
  url: String
6115
7646
  }
6116
7647
  )
@@ -6126,7 +7657,7 @@ module SafetyKit
6126
7657
  T.type_alias do
6127
7658
  T.all(
6128
7659
  Symbol,
6129
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type
7660
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type
6130
7661
  )
6131
7662
  end
6132
7663
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -6134,13 +7665,13 @@ module SafetyKit
6134
7665
  URL =
6135
7666
  T.let(
6136
7667
  :url,
6137
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type::TaggedSymbol
7668
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type::TaggedSymbol
6138
7669
  )
6139
7670
 
6140
7671
  sig do
6141
7672
  override.returns(
6142
7673
  T::Array[
6143
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type::TaggedSymbol
7674
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type::TaggedSymbol
6144
7675
  ]
6145
7676
  )
6146
7677
  end
@@ -6157,7 +7688,7 @@ module SafetyKit
6157
7688
  T.type_alias do
6158
7689
  T.all(
6159
7690
  Symbol,
6160
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type
7691
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type
6161
7692
  )
6162
7693
  end
6163
7694
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -6165,13 +7696,13 @@ module SafetyKit
6165
7696
  IMAGE =
6166
7697
  T.let(
6167
7698
  :image,
6168
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type::TaggedSymbol
7699
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type::TaggedSymbol
6169
7700
  )
6170
7701
 
6171
7702
  sig do
6172
7703
  override.returns(
6173
7704
  T::Array[
6174
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type::TaggedSymbol
7705
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type::TaggedSymbol
6175
7706
  ]
6176
7707
  )
6177
7708
  end
@@ -6183,7 +7714,7 @@ module SafetyKit
6183
7714
  sig do
6184
7715
  override.returns(
6185
7716
  T::Array[
6186
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::Variants
7717
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::Variants
6187
7718
  ]
6188
7719
  )
6189
7720
  end
@@ -6201,7 +7732,7 @@ module SafetyKit
6201
7732
  Float,
6202
7733
  T::Boolean,
6203
7734
  T::Array[
6204
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::UnionMember3::Variants
7735
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::UnionMember3::Variants
6205
7736
  ]
6206
7737
  )
6207
7738
  end
@@ -6214,7 +7745,7 @@ module SafetyKit
6214
7745
  sig do
6215
7746
  override.returns(
6216
7747
  T::Array[
6217
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::UnionMember3::Variants
7748
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::UnionMember3::Variants
6218
7749
  ]
6219
7750
  )
6220
7751
  end
@@ -6225,7 +7756,7 @@ module SafetyKit
6225
7756
  sig do
6226
7757
  override.returns(
6227
7758
  T::Array[
6228
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::Variants
7759
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::Variants
6229
7760
  ]
6230
7761
  )
6231
7762
  end
@@ -6236,7 +7767,7 @@ module SafetyKit
6236
7767
  T.let(
6237
7768
  SafetyKit::Internal::Type::ArrayOf[
6238
7769
  union:
6239
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::UnionMember3
7770
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::UnionMember3
6240
7771
  ],
6241
7772
  SafetyKit::Internal::Type::Converter
6242
7773
  )
@@ -6246,7 +7777,7 @@ module SafetyKit
6246
7777
  OrHash =
6247
7778
  T.type_alias do
6248
7779
  T.any(
6249
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed,
7780
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed,
6250
7781
  SafetyKit::Internal::AnyHash
6251
7782
  )
6252
7783
  end
@@ -6285,7 +7816,7 @@ module SafetyKit
6285
7816
  sig do
6286
7817
  override.returns(
6287
7818
  T::Array[
6288
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::Variants
7819
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::Variants
6289
7820
  ]
6290
7821
  )
6291
7822
  end
@@ -6301,10 +7832,10 @@ module SafetyKit
6301
7832
  def self.variants
6302
7833
  end
6303
7834
 
6304
- UnionMember5Array =
7835
+ UnionMember6Array =
6305
7836
  T.let(
6306
7837
  SafetyKit::Internal::Type::ArrayOf[
6307
- union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5
7838
+ union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6
6308
7839
  ],
6309
7840
  SafetyKit::Internal::Type::Converter
6310
7841
  )