safetykit 0.31.0 → 0.32.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.
@@ -124,12 +124,12 @@ module SafetyKit
124
124
 
125
125
  # @!attribute resources_used
126
126
  # Reusable resources observed during the event. Use this for emails, phone
127
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
128
- # identifiers.
127
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
128
+ # caller-defined ids, or similar identifiers.
129
129
  #
130
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed>, nil]
130
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::UnionMember1>, nil]
131
131
  optional :resources_used,
132
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed] }
132
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed] }
133
133
 
134
134
  # @!method initialize(event_name:, target_user_id:, timestamp:, type:, user_id:, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil)
135
135
  # Some parameter documentations has been truncated, see
@@ -158,7 +158,7 @@ module SafetyKit
158
158
  #
159
159
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
160
160
  #
161
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
161
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
162
162
 
163
163
  # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest#type
164
164
  module Type
@@ -353,32 +353,96 @@ module SafetyKit
353
353
  }]
354
354
  end
355
355
 
356
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
357
- # @!attribute type
358
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
359
- # youtube, linkedin, or another stable snake_case identifier.
360
- #
361
- # @return [String]
362
- required :type, String
356
+ # Real-world, account, social, or caller-defined resource used during the event.
357
+ module ResourcesUsed
358
+ extend SafetyKit::Internal::Type::Union
363
359
 
364
- # @!attribute value
365
- # Resource value used during the event. SafetyKit stores a normalized hash of this
366
- # value, not the raw value. When type is url, this must be a valid URL.
367
- #
368
- # @return [String]
369
- required :value, String
360
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
361
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource }
370
362
 
371
- # @!method initialize(type:, value:)
372
- # Some parameter documentations has been truncated, see
373
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed}
374
- # for more details.
375
- #
376
- # Real-world or account resource used during the event, such as an email, phone
377
- # number, address, URL, social handle, or payment identifier.
378
- #
379
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
380
- #
381
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
363
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
364
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::UnionMember1 }
365
+
366
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
367
+ # @!attribute namespace
368
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
369
+ # urlEncode(namespace) + '/' + urlEncode(value).
370
+ #
371
+ # @return [String]
372
+ required :namespace, String
373
+
374
+ # @!attribute type
375
+ # Caller-defined entity identifier resource.
376
+ #
377
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource::Type]
378
+ required :type,
379
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource::Type }
380
+
381
+ # @!attribute value
382
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
383
+ # encoded namespace/value pair, not the raw value.
384
+ #
385
+ # @return [String]
386
+ required :value, String
387
+
388
+ # @!method initialize(namespace:, type:, value:)
389
+ # Some parameter documentations has been truncated, see
390
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource}
391
+ # for more details.
392
+ #
393
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
394
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
395
+ #
396
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
397
+ #
398
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
399
+ #
400
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
401
+
402
+ # Caller-defined entity identifier resource.
403
+ #
404
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource#type
405
+ module Type
406
+ extend SafetyKit::Internal::Type::Enum
407
+
408
+ ID = :id
409
+
410
+ # @!method self.values
411
+ # @return [Array<Symbol>]
412
+ end
413
+ end
414
+
415
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
416
+ # @!attribute type
417
+ # Resource family, such as email, phone, name, address, url, social handles,
418
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
419
+ # resource shape when the value belongs to a caller-defined namespace.
420
+ #
421
+ # @return [String]
422
+ required :type, String
423
+
424
+ # @!attribute value
425
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
426
+ # value, not the raw value. When type is url, this must be a valid URL.
427
+ #
428
+ # @return [String]
429
+ required :value, String
430
+
431
+ # @!method initialize(type:, value:)
432
+ # Some parameter documentations has been truncated, see
433
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::UnionMember1}
434
+ # for more details.
435
+ #
436
+ # Real-world or account resource used during the event, such as an email, phone
437
+ # number, address, URL, social handle, or payment identifier.
438
+ #
439
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
440
+ #
441
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
442
+ end
443
+
444
+ # @!method self.variants
445
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::UnionMember1)]
382
446
  end
383
447
  end
384
448
 
@@ -448,12 +512,12 @@ module SafetyKit
448
512
 
449
513
  # @!attribute resources_used
450
514
  # Reusable resources observed during the event. Use this for emails, phone
451
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
452
- # identifiers.
515
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
516
+ # caller-defined ids, or similar identifiers.
453
517
  #
454
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed>, nil]
518
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::UnionMember1>, nil]
455
519
  optional :resources_used,
456
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed] }
520
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed] }
457
521
 
458
522
  # @!method initialize(content:, event_name:, timestamp:, type:, user_id:, client_info: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil)
459
523
  # Some parameter documentations has been truncated, see
@@ -480,7 +544,7 @@ module SafetyKit
480
544
  #
481
545
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
482
546
  #
483
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
547
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
484
548
 
485
549
  # User-authored text content associated with an event.
486
550
  module Content
@@ -675,32 +739,96 @@ module SafetyKit
675
739
  }]
676
740
  end
677
741
 
678
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
679
- # @!attribute type
680
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
681
- # youtube, linkedin, or another stable snake_case identifier.
682
- #
683
- # @return [String]
684
- required :type, String
742
+ # Real-world, account, social, or caller-defined resource used during the event.
743
+ module ResourcesUsed
744
+ extend SafetyKit::Internal::Type::Union
685
745
 
686
- # @!attribute value
687
- # Resource value used during the event. SafetyKit stores a normalized hash of this
688
- # value, not the raw value. When type is url, this must be a valid URL.
689
- #
690
- # @return [String]
691
- required :value, String
746
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
747
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource }
692
748
 
693
- # @!method initialize(type:, value:)
694
- # Some parameter documentations has been truncated, see
695
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed}
696
- # for more details.
697
- #
698
- # Real-world or account resource used during the event, such as an email, phone
699
- # number, address, URL, social handle, or payment identifier.
700
- #
701
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
702
- #
703
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
749
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
750
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::UnionMember1 }
751
+
752
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
753
+ # @!attribute namespace
754
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
755
+ # urlEncode(namespace) + '/' + urlEncode(value).
756
+ #
757
+ # @return [String]
758
+ required :namespace, String
759
+
760
+ # @!attribute type
761
+ # Caller-defined entity identifier resource.
762
+ #
763
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource::Type]
764
+ required :type,
765
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource::Type }
766
+
767
+ # @!attribute value
768
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
769
+ # encoded namespace/value pair, not the raw value.
770
+ #
771
+ # @return [String]
772
+ required :value, String
773
+
774
+ # @!method initialize(namespace:, type:, value:)
775
+ # Some parameter documentations has been truncated, see
776
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource}
777
+ # for more details.
778
+ #
779
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
780
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
781
+ #
782
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
783
+ #
784
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
785
+ #
786
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
787
+
788
+ # Caller-defined entity identifier resource.
789
+ #
790
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource#type
791
+ module Type
792
+ extend SafetyKit::Internal::Type::Enum
793
+
794
+ ID = :id
795
+
796
+ # @!method self.values
797
+ # @return [Array<Symbol>]
798
+ end
799
+ end
800
+
801
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
802
+ # @!attribute type
803
+ # Resource family, such as email, phone, name, address, url, social handles,
804
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
805
+ # resource shape when the value belongs to a caller-defined namespace.
806
+ #
807
+ # @return [String]
808
+ required :type, String
809
+
810
+ # @!attribute value
811
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
812
+ # value, not the raw value. When type is url, this must be a valid URL.
813
+ #
814
+ # @return [String]
815
+ required :value, String
816
+
817
+ # @!method initialize(type:, value:)
818
+ # Some parameter documentations has been truncated, see
819
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::UnionMember1}
820
+ # for more details.
821
+ #
822
+ # Real-world or account resource used during the event, such as an email, phone
823
+ # number, address, URL, social handle, or payment identifier.
824
+ #
825
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
826
+ #
827
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
828
+ end
829
+
830
+ # @!method self.variants
831
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::UnionMember1)]
704
832
  end
705
833
  end
706
834
 
@@ -776,12 +904,12 @@ module SafetyKit
776
904
 
777
905
  # @!attribute resources_used
778
906
  # Reusable resources observed during the event. Use this for emails, phone
779
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
780
- # identifiers.
907
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
908
+ # caller-defined ids, or similar identifiers.
781
909
  #
782
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed>, nil]
910
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::UnionMember1>, nil]
783
911
  optional :resources_used,
784
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed] }
912
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed] }
785
913
 
786
914
  # @!method initialize(content:, event_name:, product:, timestamp:, type:, user_id:, client_info: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil)
787
915
  # Some parameter documentations has been truncated, see
@@ -810,7 +938,7 @@ module SafetyKit
810
938
  #
811
939
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
812
940
  #
813
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
941
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
814
942
 
815
943
  # User-authored text content associated with an event.
816
944
  module Content
@@ -1117,32 +1245,96 @@ module SafetyKit
1117
1245
  }]
1118
1246
  end
1119
1247
 
1120
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1121
- # @!attribute type
1122
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
1123
- # youtube, linkedin, or another stable snake_case identifier.
1124
- #
1125
- # @return [String]
1126
- required :type, String
1248
+ # Real-world, account, social, or caller-defined resource used during the event.
1249
+ module ResourcesUsed
1250
+ extend SafetyKit::Internal::Type::Union
1127
1251
 
1128
- # @!attribute value
1129
- # Resource value used during the event. SafetyKit stores a normalized hash of this
1130
- # value, not the raw value. When type is url, this must be a valid URL.
1131
- #
1132
- # @return [String]
1133
- required :value, String
1252
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
1253
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource }
1134
1254
 
1135
- # @!method initialize(type:, value:)
1136
- # Some parameter documentations has been truncated, see
1137
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed}
1138
- # for more details.
1139
- #
1140
- # Real-world or account resource used during the event, such as an email, phone
1141
- # number, address, URL, social handle, or payment identifier.
1142
- #
1143
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
1144
- #
1145
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
1255
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
1256
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::UnionMember1 }
1257
+
1258
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
1259
+ # @!attribute namespace
1260
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
1261
+ # urlEncode(namespace) + '/' + urlEncode(value).
1262
+ #
1263
+ # @return [String]
1264
+ required :namespace, String
1265
+
1266
+ # @!attribute type
1267
+ # Caller-defined entity identifier resource.
1268
+ #
1269
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource::Type]
1270
+ required :type,
1271
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource::Type }
1272
+
1273
+ # @!attribute value
1274
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
1275
+ # encoded namespace/value pair, not the raw value.
1276
+ #
1277
+ # @return [String]
1278
+ required :value, String
1279
+
1280
+ # @!method initialize(namespace:, type:, value:)
1281
+ # Some parameter documentations has been truncated, see
1282
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource}
1283
+ # for more details.
1284
+ #
1285
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
1286
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
1287
+ #
1288
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
1289
+ #
1290
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
1291
+ #
1292
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
1293
+
1294
+ # Caller-defined entity identifier resource.
1295
+ #
1296
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource#type
1297
+ module Type
1298
+ extend SafetyKit::Internal::Type::Enum
1299
+
1300
+ ID = :id
1301
+
1302
+ # @!method self.values
1303
+ # @return [Array<Symbol>]
1304
+ end
1305
+ end
1306
+
1307
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
1308
+ # @!attribute type
1309
+ # Resource family, such as email, phone, name, address, url, social handles,
1310
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
1311
+ # resource shape when the value belongs to a caller-defined namespace.
1312
+ #
1313
+ # @return [String]
1314
+ required :type, String
1315
+
1316
+ # @!attribute value
1317
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
1318
+ # value, not the raw value. When type is url, this must be a valid URL.
1319
+ #
1320
+ # @return [String]
1321
+ required :value, String
1322
+
1323
+ # @!method initialize(type:, value:)
1324
+ # Some parameter documentations has been truncated, see
1325
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::UnionMember1}
1326
+ # for more details.
1327
+ #
1328
+ # Real-world or account resource used during the event, such as an email, phone
1329
+ # number, address, URL, social handle, or payment identifier.
1330
+ #
1331
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
1332
+ #
1333
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
1334
+ end
1335
+
1336
+ # @!method self.variants
1337
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::UnionMember1)]
1146
1338
  end
1147
1339
  end
1148
1340
 
@@ -1212,12 +1404,12 @@ module SafetyKit
1212
1404
 
1213
1405
  # @!attribute resources_used
1214
1406
  # Reusable resources observed during the event. Use this for emails, phone
1215
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1216
- # identifiers.
1407
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
1408
+ # caller-defined ids, or similar identifiers.
1217
1409
  #
1218
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed>, nil]
1410
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::UnionMember1>, nil]
1219
1411
  optional :resources_used,
1220
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed] }
1412
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed] }
1221
1413
 
1222
1414
  # @!method initialize(event_name:, timestamp:, type:, user_id:, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil)
1223
1415
  # Some parameter documentations has been truncated, see
@@ -1244,7 +1436,7 @@ module SafetyKit
1244
1436
  #
1245
1437
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
1246
1438
  #
1247
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
1439
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
1248
1440
 
1249
1441
  # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest#type
1250
1442
  module Type
@@ -1439,32 +1631,96 @@ module SafetyKit
1439
1631
  }]
1440
1632
  end
1441
1633
 
1442
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1443
- # @!attribute type
1444
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
1445
- # youtube, linkedin, or another stable snake_case identifier.
1446
- #
1447
- # @return [String]
1448
- required :type, String
1634
+ # Real-world, account, social, or caller-defined resource used during the event.
1635
+ module ResourcesUsed
1636
+ extend SafetyKit::Internal::Type::Union
1449
1637
 
1450
- # @!attribute value
1451
- # Resource value used during the event. SafetyKit stores a normalized hash of this
1452
- # value, not the raw value. When type is url, this must be a valid URL.
1453
- #
1454
- # @return [String]
1455
- required :value, String
1638
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
1639
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource }
1456
1640
 
1457
- # @!method initialize(type:, value:)
1458
- # Some parameter documentations has been truncated, see
1459
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed}
1460
- # for more details.
1461
- #
1462
- # Real-world or account resource used during the event, such as an email, phone
1463
- # number, address, URL, social handle, or payment identifier.
1464
- #
1465
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
1466
- #
1467
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
1641
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
1642
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::UnionMember1 }
1643
+
1644
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
1645
+ # @!attribute namespace
1646
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
1647
+ # urlEncode(namespace) + '/' + urlEncode(value).
1648
+ #
1649
+ # @return [String]
1650
+ required :namespace, String
1651
+
1652
+ # @!attribute type
1653
+ # Caller-defined entity identifier resource.
1654
+ #
1655
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource::Type]
1656
+ required :type,
1657
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource::Type }
1658
+
1659
+ # @!attribute value
1660
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
1661
+ # encoded namespace/value pair, not the raw value.
1662
+ #
1663
+ # @return [String]
1664
+ required :value, String
1665
+
1666
+ # @!method initialize(namespace:, type:, value:)
1667
+ # Some parameter documentations has been truncated, see
1668
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource}
1669
+ # for more details.
1670
+ #
1671
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
1672
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
1673
+ #
1674
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
1675
+ #
1676
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
1677
+ #
1678
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
1679
+
1680
+ # Caller-defined entity identifier resource.
1681
+ #
1682
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource#type
1683
+ module Type
1684
+ extend SafetyKit::Internal::Type::Enum
1685
+
1686
+ ID = :id
1687
+
1688
+ # @!method self.values
1689
+ # @return [Array<Symbol>]
1690
+ end
1691
+ end
1692
+
1693
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
1694
+ # @!attribute type
1695
+ # Resource family, such as email, phone, name, address, url, social handles,
1696
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
1697
+ # resource shape when the value belongs to a caller-defined namespace.
1698
+ #
1699
+ # @return [String]
1700
+ required :type, String
1701
+
1702
+ # @!attribute value
1703
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
1704
+ # value, not the raw value. When type is url, this must be a valid URL.
1705
+ #
1706
+ # @return [String]
1707
+ required :value, String
1708
+
1709
+ # @!method initialize(type:, value:)
1710
+ # Some parameter documentations has been truncated, see
1711
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::UnionMember1}
1712
+ # for more details.
1713
+ #
1714
+ # Real-world or account resource used during the event, such as an email, phone
1715
+ # number, address, URL, social handle, or payment identifier.
1716
+ #
1717
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
1718
+ #
1719
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
1720
+ end
1721
+
1722
+ # @!method self.variants
1723
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::UnionMember1)]
1468
1724
  end
1469
1725
  end
1470
1726
 
@@ -1534,12 +1790,12 @@ module SafetyKit
1534
1790
 
1535
1791
  # @!attribute resources_used
1536
1792
  # Reusable resources observed during the event. Use this for emails, phone
1537
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1538
- # identifiers.
1793
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
1794
+ # caller-defined ids, or similar identifiers.
1539
1795
  #
1540
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed>, nil]
1796
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::UnionMember1>, nil]
1541
1797
  optional :resources_used,
1542
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed] }
1798
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed] }
1543
1799
 
1544
1800
  # @!method initialize(event_name:, timestamp:, type:, user_id:, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil)
1545
1801
  # Some parameter documentations has been truncated, see
@@ -1567,7 +1823,7 @@ module SafetyKit
1567
1823
  #
1568
1824
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
1569
1825
  #
1570
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
1826
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
1571
1827
 
1572
1828
  # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest#type
1573
1829
  module Type
@@ -1762,32 +2018,96 @@ module SafetyKit
1762
2018
  }]
1763
2019
  end
1764
2020
 
1765
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1766
- # @!attribute type
1767
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
1768
- # youtube, linkedin, or another stable snake_case identifier.
1769
- #
1770
- # @return [String]
1771
- required :type, String
2021
+ # Real-world, account, social, or caller-defined resource used during the event.
2022
+ module ResourcesUsed
2023
+ extend SafetyKit::Internal::Type::Union
1772
2024
 
1773
- # @!attribute value
1774
- # Resource value used during the event. SafetyKit stores a normalized hash of this
1775
- # value, not the raw value. When type is url, this must be a valid URL.
1776
- #
1777
- # @return [String]
1778
- required :value, String
2025
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
2026
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource }
1779
2027
 
1780
- # @!method initialize(type:, value:)
1781
- # Some parameter documentations has been truncated, see
1782
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed}
1783
- # for more details.
1784
- #
1785
- # Real-world or account resource used during the event, such as an email, phone
1786
- # number, address, URL, social handle, or payment identifier.
1787
- #
1788
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
1789
- #
1790
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
2028
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
2029
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::UnionMember1 }
2030
+
2031
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
2032
+ # @!attribute namespace
2033
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
2034
+ # urlEncode(namespace) + '/' + urlEncode(value).
2035
+ #
2036
+ # @return [String]
2037
+ required :namespace, String
2038
+
2039
+ # @!attribute type
2040
+ # Caller-defined entity identifier resource.
2041
+ #
2042
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource::Type]
2043
+ required :type,
2044
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource::Type }
2045
+
2046
+ # @!attribute value
2047
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
2048
+ # encoded namespace/value pair, not the raw value.
2049
+ #
2050
+ # @return [String]
2051
+ required :value, String
2052
+
2053
+ # @!method initialize(namespace:, type:, value:)
2054
+ # Some parameter documentations has been truncated, see
2055
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource}
2056
+ # for more details.
2057
+ #
2058
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
2059
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
2060
+ #
2061
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
2062
+ #
2063
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
2064
+ #
2065
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
2066
+
2067
+ # Caller-defined entity identifier resource.
2068
+ #
2069
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource#type
2070
+ module Type
2071
+ extend SafetyKit::Internal::Type::Enum
2072
+
2073
+ ID = :id
2074
+
2075
+ # @!method self.values
2076
+ # @return [Array<Symbol>]
2077
+ end
2078
+ end
2079
+
2080
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
2081
+ # @!attribute type
2082
+ # Resource family, such as email, phone, name, address, url, social handles,
2083
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
2084
+ # resource shape when the value belongs to a caller-defined namespace.
2085
+ #
2086
+ # @return [String]
2087
+ required :type, String
2088
+
2089
+ # @!attribute value
2090
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
2091
+ # value, not the raw value. When type is url, this must be a valid URL.
2092
+ #
2093
+ # @return [String]
2094
+ required :value, String
2095
+
2096
+ # @!method initialize(type:, value:)
2097
+ # Some parameter documentations has been truncated, see
2098
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::UnionMember1}
2099
+ # for more details.
2100
+ #
2101
+ # Real-world or account resource used during the event, such as an email, phone
2102
+ # number, address, URL, social handle, or payment identifier.
2103
+ #
2104
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
2105
+ #
2106
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
2107
+ end
2108
+
2109
+ # @!method self.variants
2110
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::UnionMember1)]
1791
2111
  end
1792
2112
  end
1793
2113
 
@@ -1862,12 +2182,12 @@ module SafetyKit
1862
2182
 
1863
2183
  # @!attribute resources_used
1864
2184
  # Reusable resources observed during the event. Use this for emails, phone
1865
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1866
- # identifiers.
2185
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
2186
+ # caller-defined ids, or similar identifiers.
1867
2187
  #
1868
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed>, nil]
2188
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::UnionMember1>, nil]
1869
2189
  optional :resources_used,
1870
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed] }
2190
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed] }
1871
2191
 
1872
2192
  # @!attribute target_content_id
1873
2193
  # Your stable identifier for the content being reported.
@@ -1911,7 +2231,7 @@ module SafetyKit
1911
2231
  #
1912
2232
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
1913
2233
  #
1914
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2234
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
1915
2235
  #
1916
2236
  # @param target_content_id [String] Your stable identifier for the content being reported.
1917
2237
  #
@@ -2096,46 +2416,110 @@ module SafetyKit
2096
2416
 
2097
2417
  variant SafetyKit::Internal::Type::Boolean
2098
2418
 
2099
- # @!method self.variants
2100
- # @return [Array(String, Float, Boolean)]
2419
+ # @!method self.variants
2420
+ # @return [Array(String, Float, Boolean)]
2421
+ end
2422
+
2423
+ # @!method self.variants
2424
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
2425
+
2426
+ # @type [SafetyKit::Internal::Type::Converter]
2427
+ UnionMember3Array =
2428
+ SafetyKit::Internal::Type::ArrayOf[union: -> {
2429
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::Metadata::UnionMember3
2430
+ }]
2431
+ end
2432
+
2433
+ # Real-world, account, social, or caller-defined resource used during the event.
2434
+ module ResourcesUsed
2435
+ extend SafetyKit::Internal::Type::Union
2436
+
2437
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
2438
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource }
2439
+
2440
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
2441
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::UnionMember1 }
2442
+
2443
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
2444
+ # @!attribute namespace
2445
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
2446
+ # urlEncode(namespace) + '/' + urlEncode(value).
2447
+ #
2448
+ # @return [String]
2449
+ required :namespace, String
2450
+
2451
+ # @!attribute type
2452
+ # Caller-defined entity identifier resource.
2453
+ #
2454
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource::Type]
2455
+ required :type,
2456
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource::Type }
2457
+
2458
+ # @!attribute value
2459
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
2460
+ # encoded namespace/value pair, not the raw value.
2461
+ #
2462
+ # @return [String]
2463
+ required :value, String
2464
+
2465
+ # @!method initialize(namespace:, type:, value:)
2466
+ # Some parameter documentations has been truncated, see
2467
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource}
2468
+ # for more details.
2469
+ #
2470
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
2471
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
2472
+ #
2473
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
2474
+ #
2475
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
2476
+ #
2477
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
2478
+
2479
+ # Caller-defined entity identifier resource.
2480
+ #
2481
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource#type
2482
+ module Type
2483
+ extend SafetyKit::Internal::Type::Enum
2484
+
2485
+ ID = :id
2486
+
2487
+ # @!method self.values
2488
+ # @return [Array<Symbol>]
2489
+ end
2490
+ end
2491
+
2492
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
2493
+ # @!attribute type
2494
+ # Resource family, such as email, phone, name, address, url, social handles,
2495
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
2496
+ # resource shape when the value belongs to a caller-defined namespace.
2497
+ #
2498
+ # @return [String]
2499
+ required :type, String
2500
+
2501
+ # @!attribute value
2502
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
2503
+ # value, not the raw value. When type is url, this must be a valid URL.
2504
+ #
2505
+ # @return [String]
2506
+ required :value, String
2507
+
2508
+ # @!method initialize(type:, value:)
2509
+ # Some parameter documentations has been truncated, see
2510
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::UnionMember1}
2511
+ # for more details.
2512
+ #
2513
+ # Real-world or account resource used during the event, such as an email, phone
2514
+ # number, address, URL, social handle, or payment identifier.
2515
+ #
2516
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
2517
+ #
2518
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
2101
2519
  end
2102
2520
 
2103
2521
  # @!method self.variants
2104
- # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
2105
-
2106
- # @type [SafetyKit::Internal::Type::Converter]
2107
- UnionMember3Array =
2108
- SafetyKit::Internal::Type::ArrayOf[union: -> {
2109
- SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::Metadata::UnionMember3
2110
- }]
2111
- end
2112
-
2113
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
2114
- # @!attribute type
2115
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
2116
- # youtube, linkedin, or another stable snake_case identifier.
2117
- #
2118
- # @return [String]
2119
- required :type, String
2120
-
2121
- # @!attribute value
2122
- # Resource value used during the event. SafetyKit stores a normalized hash of this
2123
- # value, not the raw value. When type is url, this must be a valid URL.
2124
- #
2125
- # @return [String]
2126
- required :value, String
2127
-
2128
- # @!method initialize(type:, value:)
2129
- # Some parameter documentations has been truncated, see
2130
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed}
2131
- # for more details.
2132
- #
2133
- # Real-world or account resource used during the event, such as an email, phone
2134
- # number, address, URL, social handle, or payment identifier.
2135
- #
2136
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
2137
- #
2138
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
2522
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::UnionMember1)]
2139
2523
  end
2140
2524
  end
2141
2525
 
@@ -2224,12 +2608,12 @@ module SafetyKit
2224
2608
 
2225
2609
  # @!attribute resources_used
2226
2610
  # Reusable resources observed during the event. Use this for emails, phone
2227
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2228
- # identifiers.
2611
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
2612
+ # caller-defined ids, or similar identifiers.
2229
2613
  #
2230
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed>, nil]
2614
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1>, nil]
2231
2615
  optional :resources_used,
2232
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed] }
2616
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed] }
2233
2617
 
2234
2618
  # @!attribute target_content_id
2235
2619
  # Your stable identifier for the content being reported.
@@ -2274,7 +2658,7 @@ module SafetyKit
2274
2658
  #
2275
2659
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2276
2660
  #
2277
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2661
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
2278
2662
  #
2279
2663
  # @param target_content_id [String] Your stable identifier for the content being reported.
2280
2664
  #
@@ -2492,32 +2876,96 @@ module SafetyKit
2492
2876
  ]
2493
2877
  end
2494
2878
 
2495
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
2496
- # @!attribute type
2497
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
2498
- # youtube, linkedin, or another stable snake_case identifier.
2499
- #
2500
- # @return [String]
2501
- required :type, String
2879
+ # Real-world, account, social, or caller-defined resource used during the event.
2880
+ module ResourcesUsed
2881
+ extend SafetyKit::Internal::Type::Union
2502
2882
 
2503
- # @!attribute value
2504
- # Resource value used during the event. SafetyKit stores a normalized hash of this
2505
- # value, not the raw value. When type is url, this must be a valid URL.
2506
- #
2507
- # @return [String]
2508
- required :value, String
2883
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
2884
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource }
2509
2885
 
2510
- # @!method initialize(type:, value:)
2511
- # Some parameter documentations has been truncated, see
2512
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed}
2513
- # for more details.
2514
- #
2515
- # Real-world or account resource used during the event, such as an email, phone
2516
- # number, address, URL, social handle, or payment identifier.
2517
- #
2518
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
2519
- #
2520
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
2886
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
2887
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1 }
2888
+
2889
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
2890
+ # @!attribute namespace
2891
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
2892
+ # urlEncode(namespace) + '/' + urlEncode(value).
2893
+ #
2894
+ # @return [String]
2895
+ required :namespace, String
2896
+
2897
+ # @!attribute type
2898
+ # Caller-defined entity identifier resource.
2899
+ #
2900
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type]
2901
+ required :type,
2902
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type }
2903
+
2904
+ # @!attribute value
2905
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
2906
+ # encoded namespace/value pair, not the raw value.
2907
+ #
2908
+ # @return [String]
2909
+ required :value, String
2910
+
2911
+ # @!method initialize(namespace:, type:, value:)
2912
+ # Some parameter documentations has been truncated, see
2913
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource}
2914
+ # for more details.
2915
+ #
2916
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
2917
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
2918
+ #
2919
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
2920
+ #
2921
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
2922
+ #
2923
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
2924
+
2925
+ # Caller-defined entity identifier resource.
2926
+ #
2927
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource#type
2928
+ module Type
2929
+ extend SafetyKit::Internal::Type::Enum
2930
+
2931
+ ID = :id
2932
+
2933
+ # @!method self.values
2934
+ # @return [Array<Symbol>]
2935
+ end
2936
+ end
2937
+
2938
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
2939
+ # @!attribute type
2940
+ # Resource family, such as email, phone, name, address, url, social handles,
2941
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
2942
+ # resource shape when the value belongs to a caller-defined namespace.
2943
+ #
2944
+ # @return [String]
2945
+ required :type, String
2946
+
2947
+ # @!attribute value
2948
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
2949
+ # value, not the raw value. When type is url, this must be a valid URL.
2950
+ #
2951
+ # @return [String]
2952
+ required :value, String
2953
+
2954
+ # @!method initialize(type:, value:)
2955
+ # Some parameter documentations has been truncated, see
2956
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1}
2957
+ # for more details.
2958
+ #
2959
+ # Real-world or account resource used during the event, such as an email, phone
2960
+ # number, address, URL, social handle, or payment identifier.
2961
+ #
2962
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
2963
+ #
2964
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
2965
+ end
2966
+
2967
+ # @!method self.variants
2968
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1)]
2521
2969
  end
2522
2970
  end
2523
2971
 
@@ -2622,12 +3070,12 @@ module SafetyKit
2622
3070
 
2623
3071
  # @!attribute resources_used
2624
3072
  # Reusable resources observed during the event. Use this for emails, phone
2625
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2626
- # identifiers.
3073
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
3074
+ # caller-defined ids, or similar identifiers.
2627
3075
  #
2628
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed>, nil]
3076
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1>, nil]
2629
3077
  optional :resources_used,
2630
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed] }
3078
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed] }
2631
3079
 
2632
3080
  # @!method initialize(event_name:, target_user_id:, timestamp:, user_id:, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :user_contact)
2633
3081
  # Some parameter documentations has been truncated, see
@@ -2654,7 +3102,7 @@ module SafetyKit
2654
3102
  #
2655
3103
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2656
3104
  #
2657
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
3105
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
2658
3106
  #
2659
3107
  # @param type [Symbol, :user_contact]
2660
3108
 
@@ -2841,32 +3289,96 @@ module SafetyKit
2841
3289
  }]
2842
3290
  end
2843
3291
 
2844
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
2845
- # @!attribute type
2846
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
2847
- # youtube, linkedin, or another stable snake_case identifier.
2848
- #
2849
- # @return [String]
2850
- required :type, String
3292
+ # Real-world, account, social, or caller-defined resource used during the event.
3293
+ module ResourcesUsed
3294
+ extend SafetyKit::Internal::Type::Union
2851
3295
 
2852
- # @!attribute value
2853
- # Resource value used during the event. SafetyKit stores a normalized hash of this
2854
- # value, not the raw value. When type is url, this must be a valid URL.
2855
- #
2856
- # @return [String]
2857
- required :value, String
3296
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
3297
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource }
2858
3298
 
2859
- # @!method initialize(type:, value:)
2860
- # Some parameter documentations has been truncated, see
2861
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed}
2862
- # for more details.
2863
- #
2864
- # Real-world or account resource used during the event, such as an email, phone
2865
- # number, address, URL, social handle, or payment identifier.
2866
- #
2867
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
2868
- #
2869
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
3299
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
3300
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1 }
3301
+
3302
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
3303
+ # @!attribute namespace
3304
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
3305
+ # urlEncode(namespace) + '/' + urlEncode(value).
3306
+ #
3307
+ # @return [String]
3308
+ required :namespace, String
3309
+
3310
+ # @!attribute type
3311
+ # Caller-defined entity identifier resource.
3312
+ #
3313
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type]
3314
+ required :type,
3315
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type }
3316
+
3317
+ # @!attribute value
3318
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
3319
+ # encoded namespace/value pair, not the raw value.
3320
+ #
3321
+ # @return [String]
3322
+ required :value, String
3323
+
3324
+ # @!method initialize(namespace:, type:, value:)
3325
+ # Some parameter documentations has been truncated, see
3326
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource}
3327
+ # for more details.
3328
+ #
3329
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
3330
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
3331
+ #
3332
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
3333
+ #
3334
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
3335
+ #
3336
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
3337
+
3338
+ # Caller-defined entity identifier resource.
3339
+ #
3340
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource#type
3341
+ module Type
3342
+ extend SafetyKit::Internal::Type::Enum
3343
+
3344
+ ID = :id
3345
+
3346
+ # @!method self.values
3347
+ # @return [Array<Symbol>]
3348
+ end
3349
+ end
3350
+
3351
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
3352
+ # @!attribute type
3353
+ # Resource family, such as email, phone, name, address, url, social handles,
3354
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
3355
+ # resource shape when the value belongs to a caller-defined namespace.
3356
+ #
3357
+ # @return [String]
3358
+ required :type, String
3359
+
3360
+ # @!attribute value
3361
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
3362
+ # value, not the raw value. When type is url, this must be a valid URL.
3363
+ #
3364
+ # @return [String]
3365
+ required :value, String
3366
+
3367
+ # @!method initialize(type:, value:)
3368
+ # Some parameter documentations has been truncated, see
3369
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1}
3370
+ # for more details.
3371
+ #
3372
+ # Real-world or account resource used during the event, such as an email, phone
3373
+ # number, address, URL, social handle, or payment identifier.
3374
+ #
3375
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
3376
+ #
3377
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
3378
+ end
3379
+
3380
+ # @!method self.variants
3381
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1)]
2870
3382
  end
2871
3383
  end
2872
3384
 
@@ -2936,12 +3448,12 @@ module SafetyKit
2936
3448
 
2937
3449
  # @!attribute resources_used
2938
3450
  # Reusable resources observed during the event. Use this for emails, phone
2939
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2940
- # identifiers.
3451
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
3452
+ # caller-defined ids, or similar identifiers.
2941
3453
  #
2942
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed>, nil]
3454
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1>, nil]
2943
3455
  optional :resources_used,
2944
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed] }
3456
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed] }
2945
3457
 
2946
3458
  # @!method initialize(content:, event_name:, timestamp:, user_id:, client_info: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :content_uploaded)
2947
3459
  # Some parameter documentations has been truncated, see
@@ -2966,7 +3478,7 @@ module SafetyKit
2966
3478
  #
2967
3479
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2968
3480
  #
2969
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
3481
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
2970
3482
  #
2971
3483
  # @param type [Symbol, :content_uploaded]
2972
3484
 
@@ -3153,32 +3665,96 @@ module SafetyKit
3153
3665
  ]
3154
3666
  end
3155
3667
 
3156
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
3157
- # @!attribute type
3158
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
3159
- # youtube, linkedin, or another stable snake_case identifier.
3160
- #
3161
- # @return [String]
3162
- required :type, String
3668
+ # Real-world, account, social, or caller-defined resource used during the event.
3669
+ module ResourcesUsed
3670
+ extend SafetyKit::Internal::Type::Union
3163
3671
 
3164
- # @!attribute value
3165
- # Resource value used during the event. SafetyKit stores a normalized hash of this
3166
- # value, not the raw value. When type is url, this must be a valid URL.
3167
- #
3168
- # @return [String]
3169
- required :value, String
3672
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
3673
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource }
3170
3674
 
3171
- # @!method initialize(type:, value:)
3172
- # Some parameter documentations has been truncated, see
3173
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed}
3174
- # for more details.
3175
- #
3176
- # Real-world or account resource used during the event, such as an email, phone
3177
- # number, address, URL, social handle, or payment identifier.
3178
- #
3179
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
3180
- #
3181
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
3675
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
3676
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1 }
3677
+
3678
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
3679
+ # @!attribute namespace
3680
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
3681
+ # urlEncode(namespace) + '/' + urlEncode(value).
3682
+ #
3683
+ # @return [String]
3684
+ required :namespace, String
3685
+
3686
+ # @!attribute type
3687
+ # Caller-defined entity identifier resource.
3688
+ #
3689
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type]
3690
+ required :type,
3691
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type }
3692
+
3693
+ # @!attribute value
3694
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
3695
+ # encoded namespace/value pair, not the raw value.
3696
+ #
3697
+ # @return [String]
3698
+ required :value, String
3699
+
3700
+ # @!method initialize(namespace:, type:, value:)
3701
+ # Some parameter documentations has been truncated, see
3702
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource}
3703
+ # for more details.
3704
+ #
3705
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
3706
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
3707
+ #
3708
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
3709
+ #
3710
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
3711
+ #
3712
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
3713
+
3714
+ # Caller-defined entity identifier resource.
3715
+ #
3716
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource#type
3717
+ module Type
3718
+ extend SafetyKit::Internal::Type::Enum
3719
+
3720
+ ID = :id
3721
+
3722
+ # @!method self.values
3723
+ # @return [Array<Symbol>]
3724
+ end
3725
+ end
3726
+
3727
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
3728
+ # @!attribute type
3729
+ # Resource family, such as email, phone, name, address, url, social handles,
3730
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
3731
+ # resource shape when the value belongs to a caller-defined namespace.
3732
+ #
3733
+ # @return [String]
3734
+ required :type, String
3735
+
3736
+ # @!attribute value
3737
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
3738
+ # value, not the raw value. When type is url, this must be a valid URL.
3739
+ #
3740
+ # @return [String]
3741
+ required :value, String
3742
+
3743
+ # @!method initialize(type:, value:)
3744
+ # Some parameter documentations has been truncated, see
3745
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1}
3746
+ # for more details.
3747
+ #
3748
+ # Real-world or account resource used during the event, such as an email, phone
3749
+ # number, address, URL, social handle, or payment identifier.
3750
+ #
3751
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
3752
+ #
3753
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
3754
+ end
3755
+
3756
+ # @!method self.variants
3757
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1)]
3182
3758
  end
3183
3759
  end
3184
3760
 
@@ -3254,12 +3830,12 @@ module SafetyKit
3254
3830
 
3255
3831
  # @!attribute resources_used
3256
3832
  # Reusable resources observed during the event. Use this for emails, phone
3257
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
3258
- # identifiers.
3833
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
3834
+ # caller-defined ids, or similar identifiers.
3259
3835
  #
3260
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed>, nil]
3836
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1>, nil]
3261
3837
  optional :resources_used,
3262
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed] }
3838
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed] }
3263
3839
 
3264
3840
  # @!method initialize(content:, event_name:, product:, timestamp:, user_id:, client_info: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :product_changed)
3265
3841
  # Some parameter documentations has been truncated, see
@@ -3286,7 +3862,7 @@ module SafetyKit
3286
3862
  #
3287
3863
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
3288
3864
  #
3289
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
3865
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
3290
3866
  #
3291
3867
  # @param type [Symbol, :product_changed]
3292
3868
 
@@ -3585,32 +4161,96 @@ module SafetyKit
3585
4161
  ]
3586
4162
  end
3587
4163
 
3588
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
3589
- # @!attribute type
3590
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
3591
- # youtube, linkedin, or another stable snake_case identifier.
3592
- #
3593
- # @return [String]
3594
- required :type, String
4164
+ # Real-world, account, social, or caller-defined resource used during the event.
4165
+ module ResourcesUsed
4166
+ extend SafetyKit::Internal::Type::Union
4167
+
4168
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
4169
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource }
4170
+
4171
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
4172
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1 }
4173
+
4174
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
4175
+ # @!attribute namespace
4176
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
4177
+ # urlEncode(namespace) + '/' + urlEncode(value).
4178
+ #
4179
+ # @return [String]
4180
+ required :namespace, String
4181
+
4182
+ # @!attribute type
4183
+ # Caller-defined entity identifier resource.
4184
+ #
4185
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type]
4186
+ required :type,
4187
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type }
4188
+
4189
+ # @!attribute value
4190
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
4191
+ # encoded namespace/value pair, not the raw value.
4192
+ #
4193
+ # @return [String]
4194
+ required :value, String
4195
+
4196
+ # @!method initialize(namespace:, type:, value:)
4197
+ # Some parameter documentations has been truncated, see
4198
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource}
4199
+ # for more details.
4200
+ #
4201
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
4202
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
4203
+ #
4204
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
4205
+ #
4206
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
4207
+ #
4208
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
4209
+
4210
+ # Caller-defined entity identifier resource.
4211
+ #
4212
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource#type
4213
+ module Type
4214
+ extend SafetyKit::Internal::Type::Enum
4215
+
4216
+ ID = :id
4217
+
4218
+ # @!method self.values
4219
+ # @return [Array<Symbol>]
4220
+ end
4221
+ end
4222
+
4223
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
4224
+ # @!attribute type
4225
+ # Resource family, such as email, phone, name, address, url, social handles,
4226
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
4227
+ # resource shape when the value belongs to a caller-defined namespace.
4228
+ #
4229
+ # @return [String]
4230
+ required :type, String
4231
+
4232
+ # @!attribute value
4233
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
4234
+ # value, not the raw value. When type is url, this must be a valid URL.
4235
+ #
4236
+ # @return [String]
4237
+ required :value, String
3595
4238
 
3596
- # @!attribute value
3597
- # Resource value used during the event. SafetyKit stores a normalized hash of this
3598
- # value, not the raw value. When type is url, this must be a valid URL.
3599
- #
3600
- # @return [String]
3601
- required :value, String
4239
+ # @!method initialize(type:, value:)
4240
+ # Some parameter documentations has been truncated, see
4241
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1}
4242
+ # for more details.
4243
+ #
4244
+ # Real-world or account resource used during the event, such as an email, phone
4245
+ # number, address, URL, social handle, or payment identifier.
4246
+ #
4247
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
4248
+ #
4249
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
4250
+ end
3602
4251
 
3603
- # @!method initialize(type:, value:)
3604
- # Some parameter documentations has been truncated, see
3605
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed}
3606
- # for more details.
3607
- #
3608
- # Real-world or account resource used during the event, such as an email, phone
3609
- # number, address, URL, social handle, or payment identifier.
3610
- #
3611
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
3612
- #
3613
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
4252
+ # @!method self.variants
4253
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1)]
3614
4254
  end
3615
4255
  end
3616
4256
 
@@ -3680,12 +4320,12 @@ module SafetyKit
3680
4320
 
3681
4321
  # @!attribute resources_used
3682
4322
  # Reusable resources observed during the event. Use this for emails, phone
3683
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
3684
- # identifiers.
4323
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
4324
+ # caller-defined ids, or similar identifiers.
3685
4325
  #
3686
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed>, nil]
4326
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1>, nil]
3687
4327
  optional :resources_used,
3688
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed] }
4328
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed] }
3689
4329
 
3690
4330
  # @!method initialize(event_name:, timestamp:, user_id:, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :create_account)
3691
4331
  # Some parameter documentations has been truncated, see
@@ -3710,7 +4350,7 @@ module SafetyKit
3710
4350
  #
3711
4351
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
3712
4352
  #
3713
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
4353
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
3714
4354
  #
3715
4355
  # @param type [Symbol, :create_account]
3716
4356
 
@@ -3897,32 +4537,96 @@ module SafetyKit
3897
4537
  }]
3898
4538
  end
3899
4539
 
3900
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
3901
- # @!attribute type
3902
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
3903
- # youtube, linkedin, or another stable snake_case identifier.
3904
- #
3905
- # @return [String]
3906
- required :type, String
4540
+ # Real-world, account, social, or caller-defined resource used during the event.
4541
+ module ResourcesUsed
4542
+ extend SafetyKit::Internal::Type::Union
3907
4543
 
3908
- # @!attribute value
3909
- # Resource value used during the event. SafetyKit stores a normalized hash of this
3910
- # value, not the raw value. When type is url, this must be a valid URL.
3911
- #
3912
- # @return [String]
3913
- required :value, String
4544
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
4545
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource }
3914
4546
 
3915
- # @!method initialize(type:, value:)
3916
- # Some parameter documentations has been truncated, see
3917
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed}
3918
- # for more details.
3919
- #
3920
- # Real-world or account resource used during the event, such as an email, phone
3921
- # number, address, URL, social handle, or payment identifier.
3922
- #
3923
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
3924
- #
3925
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
4547
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
4548
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1 }
4549
+
4550
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
4551
+ # @!attribute namespace
4552
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
4553
+ # urlEncode(namespace) + '/' + urlEncode(value).
4554
+ #
4555
+ # @return [String]
4556
+ required :namespace, String
4557
+
4558
+ # @!attribute type
4559
+ # Caller-defined entity identifier resource.
4560
+ #
4561
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type]
4562
+ required :type,
4563
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type }
4564
+
4565
+ # @!attribute value
4566
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
4567
+ # encoded namespace/value pair, not the raw value.
4568
+ #
4569
+ # @return [String]
4570
+ required :value, String
4571
+
4572
+ # @!method initialize(namespace:, type:, value:)
4573
+ # Some parameter documentations has been truncated, see
4574
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource}
4575
+ # for more details.
4576
+ #
4577
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
4578
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
4579
+ #
4580
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
4581
+ #
4582
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
4583
+ #
4584
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
4585
+
4586
+ # Caller-defined entity identifier resource.
4587
+ #
4588
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource#type
4589
+ module Type
4590
+ extend SafetyKit::Internal::Type::Enum
4591
+
4592
+ ID = :id
4593
+
4594
+ # @!method self.values
4595
+ # @return [Array<Symbol>]
4596
+ end
4597
+ end
4598
+
4599
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
4600
+ # @!attribute type
4601
+ # Resource family, such as email, phone, name, address, url, social handles,
4602
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
4603
+ # resource shape when the value belongs to a caller-defined namespace.
4604
+ #
4605
+ # @return [String]
4606
+ required :type, String
4607
+
4608
+ # @!attribute value
4609
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
4610
+ # value, not the raw value. When type is url, this must be a valid URL.
4611
+ #
4612
+ # @return [String]
4613
+ required :value, String
4614
+
4615
+ # @!method initialize(type:, value:)
4616
+ # Some parameter documentations has been truncated, see
4617
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1}
4618
+ # for more details.
4619
+ #
4620
+ # Real-world or account resource used during the event, such as an email, phone
4621
+ # number, address, URL, social handle, or payment identifier.
4622
+ #
4623
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
4624
+ #
4625
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
4626
+ end
4627
+
4628
+ # @!method self.variants
4629
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1)]
3926
4630
  end
3927
4631
  end
3928
4632
 
@@ -3992,12 +4696,12 @@ module SafetyKit
3992
4696
 
3993
4697
  # @!attribute resources_used
3994
4698
  # Reusable resources observed during the event. Use this for emails, phone
3995
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
3996
- # identifiers.
4699
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
4700
+ # caller-defined ids, or similar identifiers.
3997
4701
  #
3998
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed>, nil]
4702
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1>, nil]
3999
4703
  optional :resources_used,
4000
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed] }
4704
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed] }
4001
4705
 
4002
4706
  # @!method initialize(event_name:, timestamp:, user_id:, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :update_account)
4003
4707
  # Some parameter documentations has been truncated, see
@@ -4023,7 +4727,7 @@ module SafetyKit
4023
4727
  #
4024
4728
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
4025
4729
  #
4026
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
4730
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
4027
4731
  #
4028
4732
  # @param type [Symbol, :update_account]
4029
4733
 
@@ -4210,32 +4914,96 @@ module SafetyKit
4210
4914
  }]
4211
4915
  end
4212
4916
 
4213
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
4214
- # @!attribute type
4215
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
4216
- # youtube, linkedin, or another stable snake_case identifier.
4217
- #
4218
- # @return [String]
4219
- required :type, String
4917
+ # Real-world, account, social, or caller-defined resource used during the event.
4918
+ module ResourcesUsed
4919
+ extend SafetyKit::Internal::Type::Union
4220
4920
 
4221
- # @!attribute value
4222
- # Resource value used during the event. SafetyKit stores a normalized hash of this
4223
- # value, not the raw value. When type is url, this must be a valid URL.
4224
- #
4225
- # @return [String]
4226
- required :value, String
4921
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
4922
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource }
4227
4923
 
4228
- # @!method initialize(type:, value:)
4229
- # Some parameter documentations has been truncated, see
4230
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed}
4231
- # for more details.
4232
- #
4233
- # Real-world or account resource used during the event, such as an email, phone
4234
- # number, address, URL, social handle, or payment identifier.
4235
- #
4236
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
4237
- #
4238
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
4924
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
4925
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1 }
4926
+
4927
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
4928
+ # @!attribute namespace
4929
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
4930
+ # urlEncode(namespace) + '/' + urlEncode(value).
4931
+ #
4932
+ # @return [String]
4933
+ required :namespace, String
4934
+
4935
+ # @!attribute type
4936
+ # Caller-defined entity identifier resource.
4937
+ #
4938
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type]
4939
+ required :type,
4940
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type }
4941
+
4942
+ # @!attribute value
4943
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
4944
+ # encoded namespace/value pair, not the raw value.
4945
+ #
4946
+ # @return [String]
4947
+ required :value, String
4948
+
4949
+ # @!method initialize(namespace:, type:, value:)
4950
+ # Some parameter documentations has been truncated, see
4951
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource}
4952
+ # for more details.
4953
+ #
4954
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
4955
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
4956
+ #
4957
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
4958
+ #
4959
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
4960
+ #
4961
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
4962
+
4963
+ # Caller-defined entity identifier resource.
4964
+ #
4965
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource#type
4966
+ module Type
4967
+ extend SafetyKit::Internal::Type::Enum
4968
+
4969
+ ID = :id
4970
+
4971
+ # @!method self.values
4972
+ # @return [Array<Symbol>]
4973
+ end
4974
+ end
4975
+
4976
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
4977
+ # @!attribute type
4978
+ # Resource family, such as email, phone, name, address, url, social handles,
4979
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
4980
+ # resource shape when the value belongs to a caller-defined namespace.
4981
+ #
4982
+ # @return [String]
4983
+ required :type, String
4984
+
4985
+ # @!attribute value
4986
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
4987
+ # value, not the raw value. When type is url, this must be a valid URL.
4988
+ #
4989
+ # @return [String]
4990
+ required :value, String
4991
+
4992
+ # @!method initialize(type:, value:)
4993
+ # Some parameter documentations has been truncated, see
4994
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1}
4995
+ # for more details.
4996
+ #
4997
+ # Real-world or account resource used during the event, such as an email, phone
4998
+ # number, address, URL, social handle, or payment identifier.
4999
+ #
5000
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
5001
+ #
5002
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
5003
+ end
5004
+
5005
+ # @!method self.variants
5006
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1)]
4239
5007
  end
4240
5008
  end
4241
5009
 
@@ -4311,12 +5079,12 @@ module SafetyKit
4311
5079
 
4312
5080
  # @!attribute resources_used
4313
5081
  # Reusable resources observed during the event. Use this for emails, phone
4314
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
4315
- # identifiers.
5082
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
5083
+ # caller-defined ids, or similar identifiers.
4316
5084
  #
4317
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed>, nil]
5085
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1>, nil]
4318
5086
  optional :resources_used,
4319
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed] }
5087
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed] }
4320
5088
 
4321
5089
  # @!attribute target_content_id
4322
5090
  # Your stable identifier for the content being reported.
@@ -4358,7 +5126,7 @@ module SafetyKit
4358
5126
  #
4359
5127
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
4360
5128
  #
4361
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
5129
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
4362
5130
  #
4363
5131
  # @param target_content_id [String] Your stable identifier for the content being reported.
4364
5132
  #
@@ -4549,32 +5317,96 @@ module SafetyKit
4549
5317
  }]
4550
5318
  end
4551
5319
 
4552
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
4553
- # @!attribute type
4554
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
4555
- # youtube, linkedin, or another stable snake_case identifier.
4556
- #
4557
- # @return [String]
4558
- required :type, String
5320
+ # Real-world, account, social, or caller-defined resource used during the event.
5321
+ module ResourcesUsed
5322
+ extend SafetyKit::Internal::Type::Union
4559
5323
 
4560
- # @!attribute value
4561
- # Resource value used during the event. SafetyKit stores a normalized hash of this
4562
- # value, not the raw value. When type is url, this must be a valid URL.
4563
- #
4564
- # @return [String]
4565
- required :value, String
5324
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
5325
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource }
4566
5326
 
4567
- # @!method initialize(type:, value:)
4568
- # Some parameter documentations has been truncated, see
4569
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed}
4570
- # for more details.
4571
- #
4572
- # Real-world or account resource used during the event, such as an email, phone
4573
- # number, address, URL, social handle, or payment identifier.
4574
- #
4575
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
4576
- #
4577
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
5327
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
5328
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1 }
5329
+
5330
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
5331
+ # @!attribute namespace
5332
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
5333
+ # urlEncode(namespace) + '/' + urlEncode(value).
5334
+ #
5335
+ # @return [String]
5336
+ required :namespace, String
5337
+
5338
+ # @!attribute type
5339
+ # Caller-defined entity identifier resource.
5340
+ #
5341
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type]
5342
+ required :type,
5343
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type }
5344
+
5345
+ # @!attribute value
5346
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
5347
+ # encoded namespace/value pair, not the raw value.
5348
+ #
5349
+ # @return [String]
5350
+ required :value, String
5351
+
5352
+ # @!method initialize(namespace:, type:, value:)
5353
+ # Some parameter documentations has been truncated, see
5354
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource}
5355
+ # for more details.
5356
+ #
5357
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
5358
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
5359
+ #
5360
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
5361
+ #
5362
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
5363
+ #
5364
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
5365
+
5366
+ # Caller-defined entity identifier resource.
5367
+ #
5368
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource#type
5369
+ module Type
5370
+ extend SafetyKit::Internal::Type::Enum
5371
+
5372
+ ID = :id
5373
+
5374
+ # @!method self.values
5375
+ # @return [Array<Symbol>]
5376
+ end
5377
+ end
5378
+
5379
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
5380
+ # @!attribute type
5381
+ # Resource family, such as email, phone, name, address, url, social handles,
5382
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
5383
+ # resource shape when the value belongs to a caller-defined namespace.
5384
+ #
5385
+ # @return [String]
5386
+ required :type, String
5387
+
5388
+ # @!attribute value
5389
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
5390
+ # value, not the raw value. When type is url, this must be a valid URL.
5391
+ #
5392
+ # @return [String]
5393
+ required :value, String
5394
+
5395
+ # @!method initialize(type:, value:)
5396
+ # Some parameter documentations has been truncated, see
5397
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1}
5398
+ # for more details.
5399
+ #
5400
+ # Real-world or account resource used during the event, such as an email, phone
5401
+ # number, address, URL, social handle, or payment identifier.
5402
+ #
5403
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
5404
+ #
5405
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
5406
+ end
5407
+
5408
+ # @!method self.variants
5409
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1)]
4578
5410
  end
4579
5411
  end
4580
5412
 
@@ -4663,12 +5495,12 @@ module SafetyKit
4663
5495
 
4664
5496
  # @!attribute resources_used
4665
5497
  # Reusable resources observed during the event. Use this for emails, phone
4666
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
4667
- # identifiers.
5498
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
5499
+ # caller-defined ids, or similar identifiers.
4668
5500
  #
4669
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed>, nil]
5501
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1>, nil]
4670
5502
  optional :resources_used,
4671
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed] }
5503
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed] }
4672
5504
 
4673
5505
  # @!attribute target_content_id
4674
5506
  # Your stable identifier for the content being reported.
@@ -4711,7 +5543,7 @@ module SafetyKit
4711
5543
  #
4712
5544
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
4713
5545
  #
4714
- # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
5546
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
4715
5547
  #
4716
5548
  # @param target_content_id [String] Your stable identifier for the content being reported.
4717
5549
  #
@@ -4921,32 +5753,96 @@ module SafetyKit
4921
5753
  ]
4922
5754
  end
4923
5755
 
4924
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
4925
- # @!attribute type
4926
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
4927
- # youtube, linkedin, or another stable snake_case identifier.
4928
- #
4929
- # @return [String]
4930
- required :type, String
5756
+ # Real-world, account, social, or caller-defined resource used during the event.
5757
+ module ResourcesUsed
5758
+ extend SafetyKit::Internal::Type::Union
4931
5759
 
4932
- # @!attribute value
4933
- # Resource value used during the event. SafetyKit stores a normalized hash of this
4934
- # value, not the raw value. When type is url, this must be a valid URL.
4935
- #
4936
- # @return [String]
4937
- required :value, String
5760
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
5761
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource }
4938
5762
 
4939
- # @!method initialize(type:, value:)
4940
- # Some parameter documentations has been truncated, see
4941
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed}
4942
- # for more details.
4943
- #
4944
- # Real-world or account resource used during the event, such as an email, phone
4945
- # number, address, URL, social handle, or payment identifier.
4946
- #
4947
- # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
4948
- #
4949
- # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
5763
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
5764
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1 }
5765
+
5766
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
5767
+ # @!attribute namespace
5768
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
5769
+ # urlEncode(namespace) + '/' + urlEncode(value).
5770
+ #
5771
+ # @return [String]
5772
+ required :namespace, String
5773
+
5774
+ # @!attribute type
5775
+ # Caller-defined entity identifier resource.
5776
+ #
5777
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type]
5778
+ required :type,
5779
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type }
5780
+
5781
+ # @!attribute value
5782
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
5783
+ # encoded namespace/value pair, not the raw value.
5784
+ #
5785
+ # @return [String]
5786
+ required :value, String
5787
+
5788
+ # @!method initialize(namespace:, type:, value:)
5789
+ # Some parameter documentations has been truncated, see
5790
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource}
5791
+ # for more details.
5792
+ #
5793
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
5794
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
5795
+ #
5796
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
5797
+ #
5798
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
5799
+ #
5800
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
5801
+
5802
+ # Caller-defined entity identifier resource.
5803
+ #
5804
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource#type
5805
+ module Type
5806
+ extend SafetyKit::Internal::Type::Enum
5807
+
5808
+ ID = :id
5809
+
5810
+ # @!method self.values
5811
+ # @return [Array<Symbol>]
5812
+ end
5813
+ end
5814
+
5815
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
5816
+ # @!attribute type
5817
+ # Resource family, such as email, phone, name, address, url, social handles,
5818
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
5819
+ # resource shape when the value belongs to a caller-defined namespace.
5820
+ #
5821
+ # @return [String]
5822
+ required :type, String
5823
+
5824
+ # @!attribute value
5825
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
5826
+ # value, not the raw value. When type is url, this must be a valid URL.
5827
+ #
5828
+ # @return [String]
5829
+ required :value, String
5830
+
5831
+ # @!method initialize(type:, value:)
5832
+ # Some parameter documentations has been truncated, see
5833
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1}
5834
+ # for more details.
5835
+ #
5836
+ # Real-world or account resource used during the event, such as an email, phone
5837
+ # number, address, URL, social handle, or payment identifier.
5838
+ #
5839
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
5840
+ #
5841
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
5842
+ end
5843
+
5844
+ # @!method self.variants
5845
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1)]
4950
5846
  end
4951
5847
  end
4952
5848