safetykit 0.39.0 → 0.40.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.
@@ -12,14 +12,14 @@ module SafetyKit
12
12
  # your server after an action has happened in your product. Do not send these
13
13
  # events directly from a browser or mobile client.
14
14
  #
15
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision>]
15
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision>]
16
16
  required :body, union: -> { SafetyKit::AsyncCreateAsyncParams::Body }
17
17
 
18
18
  # @!method initialize(body:, request_options: {})
19
19
  # Some parameter documentations has been truncated, see
20
20
  # {SafetyKit::Models::AsyncCreateAsyncParams} for more details.
21
21
  #
22
- # @param body [SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision>] Backend event or ordered batch of events to send to SafetyKit. Send events from
22
+ # @param body [SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision>] Backend event or ordered batch of events to send to SafetyKit. Send events from
23
23
  #
24
24
  # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
25
25
 
@@ -47,10 +47,13 @@ module SafetyKit
47
47
  # A user-submitted report. Use user_id for the reporter. Include target_user_id when a user is reported, target_content_id when content is reported, and both when the report is about content associated with a user. Use content and content_id for the report itself.
48
48
  variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest }
49
49
 
50
+ # A user appeals a moderation action taken against them. Use user_id for the appealing user, appealed_decision_id to reference the decision being appealed, and content and content_id for the appeal itself.
51
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest }
52
+
50
53
  # A moderation label or decision from an automated enforcement system or manual review workflow. Do not send user_id; use source_type and source_id for attribution.
51
54
  variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest }
52
55
 
53
- variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7Array }
56
+ variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8Array }
54
57
 
55
58
  class UserContactEventRequest < SafetyKit::Internal::Type::BaseModel
56
59
  # @!attribute event_name
@@ -2523,7 +2526,7 @@ module SafetyKit
2523
2526
  end
2524
2527
  end
2525
2528
 
2526
- class ModerationDecisionEventRequest < SafetyKit::Internal::Type::BaseModel
2529
+ class AppealEventRequest < SafetyKit::Internal::Type::BaseModel
2527
2530
  # @!attribute event_name
2528
2531
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
2529
2532
  # values in typed fields, content, resources_used, or metadata.
@@ -2531,31 +2534,6 @@ module SafetyKit
2531
2534
  # @return [String]
2532
2535
  required :event_name, String
2533
2536
 
2534
- # @!attribute labels
2535
- # One or more label categories supplied with the report or moderation decision.
2536
- #
2537
- # @return [Array<String>]
2538
- required :labels, SafetyKit::Internal::Type::ArrayOf[String]
2539
-
2540
- # @!attribute source_id
2541
- # Stable identifier within source_type. Examples: moderator@example.com or
2542
- # 550e8400-e29b-41d4-a716-446655440000 for expert_labeler or human_moderator,
2543
- # automated_review_v2026_06_04 for automation, or <vendor_name>-v2.1 for vendor.
2544
- #
2545
- # @return [String]
2546
- required :source_id, String
2547
-
2548
- # @!attribute source_type
2549
- # Coarse attribution category for the moderation decision source. Supported
2550
- # values: human_moderator (a human reviewer in your moderation workflow),
2551
- # expert_labeler (an expert human labeler or specialist reviewer), automation (an
2552
- # automated model, rules engine, or enforcement workflow), or vendor (an external
2553
- # review or moderation provider).
2554
- #
2555
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::SourceType]
2556
- required :source_type,
2557
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::SourceType }
2558
-
2559
2537
  # @!attribute timestamp
2560
2538
  # The time the event occurred in your system, as an ISO 8601 datetime string.
2561
2539
  #
@@ -2564,25 +2542,38 @@ module SafetyKit
2564
2542
 
2565
2543
  # @!attribute type
2566
2544
  #
2567
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Type]
2568
- required :type, enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Type }
2545
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Type]
2546
+ required :type, enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::Type }
2547
+
2548
+ # @!attribute user_id
2549
+ # Your stable canonical identifier for the user or account.
2550
+ #
2551
+ # @return [String]
2552
+ required :user_id, String
2553
+
2554
+ # @!attribute appealed_decision_id
2555
+ # Your stable identifier for the moderation decision or enforcement action being
2556
+ # appealed, such as the content_id of a moderation_decision event you previously
2557
+ # sent.
2558
+ #
2559
+ # @return [String, nil]
2560
+ optional :appealed_decision_id, String
2569
2561
 
2570
2562
  # @!attribute client_info
2571
2563
  # Client context observed by your backend for the user action that triggered the
2572
2564
  # event.
2573
2565
  #
2574
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo, nil]
2575
- optional :client_info,
2576
- -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo }
2566
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ClientInfo, nil]
2567
+ optional :client_info, -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::ClientInfo }
2577
2568
 
2578
2569
  # @!attribute content
2579
2570
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2580
2571
  # listing text, image URLs, and similar content SafetyKit should compare or
2581
2572
  # analyze.
2582
2573
  #
2583
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent>, nil]
2574
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent>, nil]
2584
2575
  optional :content,
2585
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content] }
2576
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::Content] }
2586
2577
 
2587
2578
  # @!attribute content_id
2588
2579
  # Your stable identifier for the content involved in this event, such as a
@@ -2604,53 +2595,39 @@ module SafetyKit
2604
2595
  #
2605
2596
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2606
2597
  optional :metadata,
2607
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Metadata] }
2598
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::Metadata] }
2608
2599
 
2609
2600
  # @!attribute resources_used
2610
2601
  # Reusable resources observed during the event. Use this for emails, phone
2611
2602
  # numbers, names, addresses, social handles, URLs, payment identifiers,
2612
2603
  # caller-defined ids, or similar identifiers.
2613
2604
  #
2614
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1>, nil]
2605
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::UnionMember1>, nil]
2615
2606
  optional :resources_used,
2616
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed] }
2617
-
2618
- # @!attribute target_content_id
2619
- # Your stable identifier for the content being reported.
2620
- #
2621
- # @return [String, nil]
2622
- optional :target_content_id, String
2623
-
2624
- # @!attribute target_user_id
2625
- # Your stable canonical identifier for the user being reported.
2626
- #
2627
- # @return [String, nil]
2628
- optional :target_user_id, String
2607
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed] }
2629
2608
 
2630
- # @!method initialize(event_name:, labels:, source_id:, source_type:, timestamp:, type:, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, target_content_id: nil, target_user_id: nil)
2609
+ # @!method initialize(event_name:, timestamp:, type:, user_id:, appealed_decision_id: nil, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil)
2631
2610
  # Some parameter documentations has been truncated, see
2632
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest}
2633
- # for more details.
2611
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest} for more
2612
+ # details.
2634
2613
  #
2635
- # A moderation label or decision from an automated enforcement system or manual
2636
- # review workflow. Do not send user_id; use source_type and source_id for
2637
- # attribution.
2614
+ # A user appeals a moderation action taken against them. Use user_id for the
2615
+ # appealing user, appealed_decision_id to reference the decision being appealed,
2616
+ # and content and content_id for the appeal itself.
2638
2617
  #
2639
2618
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2640
2619
  #
2641
- # @param labels [Array<String>] One or more label categories supplied with the report or moderation decision.
2642
- #
2643
- # @param source_id [String] Stable identifier within source_type. Examples: moderator@example.com or 550e840
2620
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
2644
2621
  #
2645
- # @param source_type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::SourceType] Coarse attribution category for the moderation decision source. Supported values
2622
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Type]
2646
2623
  #
2647
- # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
2624
+ # @param user_id [String] Your stable canonical identifier for the user or account.
2648
2625
  #
2649
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Type]
2626
+ # @param appealed_decision_id [String] Your stable identifier for the moderation decision or enforcement action being a
2650
2627
  #
2651
- # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo] Client context observed by your backend for the user action that triggered the e
2628
+ # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ClientInfo] Client context observed by your backend for the user action that triggered the e
2652
2629
  #
2653
- # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
2630
+ # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
2654
2631
  #
2655
2632
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
2656
2633
  #
@@ -2658,42 +2635,19 @@ module SafetyKit
2658
2635
  #
2659
2636
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2660
2637
  #
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
2662
- #
2663
- # @param target_content_id [String] Your stable identifier for the content being reported.
2664
- #
2665
- # @param target_user_id [String] Your stable canonical identifier for the user being reported.
2666
-
2667
- # Coarse attribution category for the moderation decision source. Supported
2668
- # values: human_moderator (a human reviewer in your moderation workflow),
2669
- # expert_labeler (an expert human labeler or specialist reviewer), automation (an
2670
- # automated model, rules engine, or enforcement workflow), or vendor (an external
2671
- # review or moderation provider).
2672
- #
2673
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest#source_type
2674
- module SourceType
2675
- extend SafetyKit::Internal::Type::Enum
2676
-
2677
- HUMAN_MODERATOR = :human_moderator
2678
- EXPERT_LABELER = :expert_labeler
2679
- AUTOMATION = :automation
2680
- VENDOR = :vendor
2681
-
2682
- # @!method self.values
2683
- # @return [Array<Symbol>]
2684
- end
2638
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
2685
2639
 
2686
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest#type
2640
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest#type
2687
2641
  module Type
2688
2642
  extend SafetyKit::Internal::Type::Enum
2689
2643
 
2690
- MODERATION_DECISION = :moderation_decision
2644
+ APPEAL = :appeal
2691
2645
 
2692
2646
  # @!method self.values
2693
2647
  # @return [Array<Symbol>]
2694
2648
  end
2695
2649
 
2696
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest#client_info
2650
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest#client_info
2697
2651
  class ClientInfo < SafetyKit::Internal::Type::BaseModel
2698
2652
  # @!attribute ip
2699
2653
  # IP address observed by your backend for the client that triggered the event.
@@ -2713,10 +2667,10 @@ module SafetyKit
2713
2667
  extend SafetyKit::Internal::Type::Union
2714
2668
 
2715
2669
  # User-authored text content associated with an event.
2716
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent }
2670
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventTextContent }
2717
2671
 
2718
2672
  # User-uploaded image content associated with an event.
2719
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent }
2673
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent }
2720
2674
 
2721
2675
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
2722
2676
  # @!attribute text
@@ -2728,9 +2682,9 @@ module SafetyKit
2728
2682
  # @!attribute type
2729
2683
  # Text content part.
2730
2684
  #
2731
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type]
2685
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventTextContent::Type]
2732
2686
  required :type,
2733
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type }
2687
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventTextContent::Type }
2734
2688
 
2735
2689
  # @!attribute key
2736
2690
  # Stable field key for this content part.
@@ -2743,13 +2697,13 @@ module SafetyKit
2743
2697
  #
2744
2698
  # @param text [String] User-authored text SafetyKit should compare or analyze.
2745
2699
  #
2746
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type] Text content part.
2700
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventTextContent::Type] Text content part.
2747
2701
  #
2748
2702
  # @param key [String] Stable field key for this content part.
2749
2703
 
2750
2704
  # Text content part.
2751
2705
  #
2752
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent#type
2706
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventTextContent#type
2753
2707
  module Type
2754
2708
  extend SafetyKit::Internal::Type::Enum
2755
2709
 
@@ -2764,16 +2718,16 @@ module SafetyKit
2764
2718
  # @!attribute source
2765
2719
  # Image source information.
2766
2720
  #
2767
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source]
2721
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent::Source]
2768
2722
  required :source,
2769
- -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source }
2723
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent::Source }
2770
2724
 
2771
2725
  # @!attribute type
2772
2726
  # Image content part.
2773
2727
  #
2774
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type]
2728
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent::Type]
2775
2729
  required :type,
2776
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type }
2730
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent::Type }
2777
2731
 
2778
2732
  # @!attribute key
2779
2733
  # Stable field key for this content part.
@@ -2784,20 +2738,20 @@ module SafetyKit
2784
2738
  # @!method initialize(source:, type:, key: nil)
2785
2739
  # User-uploaded image content associated with an event.
2786
2740
  #
2787
- # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source] Image source information.
2741
+ # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent::Source] Image source information.
2788
2742
  #
2789
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type] Image content part.
2743
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent::Type] Image content part.
2790
2744
  #
2791
2745
  # @param key [String] Stable field key for this content part.
2792
2746
 
2793
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent#source
2747
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent#source
2794
2748
  class Source < SafetyKit::Internal::Type::BaseModel
2795
2749
  # @!attribute type
2796
2750
  # URL image source.
2797
2751
  #
2798
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type]
2752
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent::Source::Type]
2799
2753
  required :type,
2800
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type }
2754
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent::Source::Type }
2801
2755
 
2802
2756
  # @!attribute url
2803
2757
  # URL of the image SafetyKit should compare or analyze.
@@ -2808,13 +2762,13 @@ module SafetyKit
2808
2762
  # @!method initialize(type:, url:)
2809
2763
  # Image source information.
2810
2764
  #
2811
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type] URL image source.
2765
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent::Source::Type] URL image source.
2812
2766
  #
2813
2767
  # @param url [String] URL of the image SafetyKit should compare or analyze.
2814
2768
 
2815
2769
  # URL image source.
2816
2770
  #
2817
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source#type
2771
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent::Source#type
2818
2772
  module Type
2819
2773
  extend SafetyKit::Internal::Type::Enum
2820
2774
 
@@ -2827,7 +2781,7 @@ module SafetyKit
2827
2781
 
2828
2782
  # Image content part.
2829
2783
  #
2830
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent#type
2784
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent#type
2831
2785
  module Type
2832
2786
  extend SafetyKit::Internal::Type::Enum
2833
2787
 
@@ -2839,7 +2793,7 @@ module SafetyKit
2839
2793
  end
2840
2794
 
2841
2795
  # @!method self.variants
2842
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent)]
2796
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Content::EventImageContent)]
2843
2797
  end
2844
2798
 
2845
2799
  module Metadata
@@ -2851,7 +2805,7 @@ module SafetyKit
2851
2805
 
2852
2806
  variant SafetyKit::Internal::Type::Boolean
2853
2807
 
2854
- variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Metadata::UnionMember3Array }
2808
+ variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::Metadata::UnionMember3Array }
2855
2809
 
2856
2810
  module UnionMember3
2857
2811
  extend SafetyKit::Internal::Type::Union
@@ -2871,9 +2825,9 @@ module SafetyKit
2871
2825
 
2872
2826
  # @type [SafetyKit::Internal::Type::Converter]
2873
2827
  UnionMember3Array =
2874
- SafetyKit::Internal::Type::ArrayOf[
2875
- union: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Metadata::UnionMember3 }
2876
- ]
2828
+ SafetyKit::Internal::Type::ArrayOf[union: -> {
2829
+ SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::Metadata::UnionMember3
2830
+ }]
2877
2831
  end
2878
2832
 
2879
2833
  # Real-world, account, social, or caller-defined resource used during the event.
@@ -2881,10 +2835,10 @@ module SafetyKit
2881
2835
  extend SafetyKit::Internal::Type::Union
2882
2836
 
2883
2837
  # 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 }
2838
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::EntityIDResource }
2885
2839
 
2886
2840
  # 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 }
2841
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::UnionMember1 }
2888
2842
 
2889
2843
  class EntityIDResource < SafetyKit::Internal::Type::BaseModel
2890
2844
  # @!attribute namespace
@@ -2897,9 +2851,9 @@ module SafetyKit
2897
2851
  # @!attribute type
2898
2852
  # Caller-defined entity identifier resource.
2899
2853
  #
2900
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type]
2854
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::EntityIDResource::Type]
2901
2855
  required :type,
2902
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type }
2856
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::EntityIDResource::Type }
2903
2857
 
2904
2858
  # @!attribute value
2905
2859
  # Identifier value within namespace. SafetyKit stores a normalized hash of the
@@ -2910,7 +2864,7 @@ module SafetyKit
2910
2864
 
2911
2865
  # @!method initialize(namespace:, type:, value:)
2912
2866
  # Some parameter documentations has been truncated, see
2913
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource}
2867
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::EntityIDResource}
2914
2868
  # for more details.
2915
2869
  #
2916
2870
  # Caller-defined stable entity identifier resource. This is equivalent to an id
@@ -2918,13 +2872,13 @@ module SafetyKit
2918
2872
  #
2919
2873
  # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
2920
2874
  #
2921
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
2875
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
2922
2876
  #
2923
2877
  # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
2924
2878
 
2925
2879
  # Caller-defined entity identifier resource.
2926
2880
  #
2927
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource#type
2881
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::EntityIDResource#type
2928
2882
  module Type
2929
2883
  extend SafetyKit::Internal::Type::Enum
2930
2884
 
@@ -2953,7 +2907,7 @@ module SafetyKit
2953
2907
 
2954
2908
  # @!method initialize(type:, value:)
2955
2909
  # Some parameter documentations has been truncated, see
2956
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1}
2910
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::UnionMember1}
2957
2911
  # for more details.
2958
2912
  #
2959
2913
  # Real-world or account resource used during the event, such as an email, phone
@@ -2965,67 +2919,903 @@ module SafetyKit
2965
2919
  end
2966
2920
 
2967
2921
  # @!method self.variants
2968
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1)]
2922
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest::ResourcesUsed::UnionMember1)]
2969
2923
  end
2970
2924
  end
2971
2925
 
2972
- # A user contacts, transacts with, or otherwise interacts with another user.
2973
- module UnionMember7
2974
- extend SafetyKit::Internal::Type::Union
2926
+ class ModerationDecisionEventRequest < SafetyKit::Internal::Type::BaseModel
2927
+ # @!attribute event_name
2928
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
2929
+ # values in typed fields, content, resources_used, or metadata.
2930
+ #
2931
+ # @return [String]
2932
+ required :event_name, String
2975
2933
 
2976
- discriminator :type
2934
+ # @!attribute labels
2935
+ # One or more label categories supplied with the report or moderation decision.
2936
+ #
2937
+ # @return [Array<String>]
2938
+ required :labels, SafetyKit::Internal::Type::ArrayOf[String]
2977
2939
 
2978
- # A user contacts, transacts with, or otherwise interacts with another user.
2979
- variant :user_contact, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact }
2940
+ # @!attribute source_id
2941
+ # Stable identifier within source_type. Examples: moderator@example.com or
2942
+ # 550e8400-e29b-41d4-a716-446655440000 for expert_labeler or human_moderator,
2943
+ # automated_review_v2026_06_04 for automation, or <vendor_name>-v2.1 for vendor.
2944
+ #
2945
+ # @return [String]
2946
+ required :source_id, String
2980
2947
 
2981
- # A user posts, uploads, publishes, edits, or replaces content.
2982
- variant :content_uploaded, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded }
2948
+ # @!attribute source_type
2949
+ # Coarse attribution category for the moderation decision source. Supported
2950
+ # values: human_moderator (a human reviewer in your moderation workflow),
2951
+ # expert_labeler (an expert human labeler or specialist reviewer), automation (an
2952
+ # automated model, rules engine, or enforcement workflow), or vendor (an external
2953
+ # review or moderation provider).
2954
+ #
2955
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::SourceType]
2956
+ required :source_type,
2957
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::SourceType }
2983
2958
 
2984
- # A product listing is created, updated, or has a discount added.
2985
- variant :product_changed, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged }
2959
+ # @!attribute timestamp
2960
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
2961
+ #
2962
+ # @return [Time]
2963
+ required :timestamp, Time
2986
2964
 
2987
- # A user or account is created.
2988
- variant :create_account, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount }
2965
+ # @!attribute type
2966
+ #
2967
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Type]
2968
+ required :type, enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Type }
2989
2969
 
2990
- # A user or account profile, contact detail, payment detail, or public bio changes.
2991
- variant :update_account, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount }
2970
+ # @!attribute client_info
2971
+ # Client context observed by your backend for the user action that triggered the
2972
+ # event.
2973
+ #
2974
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo, nil]
2975
+ optional :client_info,
2976
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo }
2992
2977
 
2993
- # A user-submitted report. Use user_id for the reporter. Include target_user_id when a user is reported, target_content_id when content is reported, and both when the report is about content associated with a user. Use content and content_id for the report itself.
2994
- variant :user_report, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport }
2978
+ # @!attribute content
2979
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2980
+ # listing text, image URLs, and similar content SafetyKit should compare or
2981
+ # analyze.
2982
+ #
2983
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent>, nil]
2984
+ optional :content,
2985
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content] }
2995
2986
 
2996
- # A moderation label or decision from an automated enforcement system or manual review workflow. Do not send user_id; use source_type and source_id for attribution.
2997
- variant :moderation_decision,
2998
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision }
2987
+ # @!attribute content_id
2988
+ # Your stable identifier for the content involved in this event, such as a
2989
+ # message, listing, page, post, profile, or uploaded media item.
2990
+ #
2991
+ # @return [String, nil]
2992
+ optional :content_id, String
2999
2993
 
3000
- class UserContact < SafetyKit::Internal::Type::BaseModel
3001
- # @!attribute event_name
3002
- # Stable, low-cardinality product action name. Use snake_case and put dynamic
3003
- # values in typed fields, content, resources_used, or metadata.
3004
- #
3005
- # @return [String]
3006
- required :event_name, String
2994
+ # @!attribute idempotency_key
2995
+ # Optional caller-provided key used to make retries of this individual event
2996
+ # idempotent. Reuse the same key only for retries of the same logical event.
2997
+ #
2998
+ # @return [String, nil]
2999
+ optional :idempotency_key, String
3007
3000
 
3008
- # @!attribute target_user_id
3009
- # Your stable canonical identifier for the other user in a user-to-user
3010
- # interaction.
3011
- #
3012
- # @return [String]
3013
- required :target_user_id, String
3001
+ # @!attribute metadata
3002
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
3003
+ # be strings, numbers, booleans, or arrays of those scalar values.
3004
+ #
3005
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
3006
+ optional :metadata,
3007
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Metadata] }
3014
3008
 
3015
- # @!attribute timestamp
3016
- # The time the event occurred in your system, as an ISO 8601 datetime string.
3017
- #
3018
- # @return [Time]
3019
- required :timestamp, Time
3009
+ # @!attribute resources_used
3010
+ # Reusable resources observed during the event. Use this for emails, phone
3011
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
3012
+ # caller-defined ids, or similar identifiers.
3013
+ #
3014
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1>, nil]
3015
+ optional :resources_used,
3016
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed] }
3020
3017
 
3021
- # @!attribute type
3022
- #
3023
- # @return [Symbol, :user_contact]
3024
- required :type, const: :user_contact
3018
+ # @!attribute target_content_id
3019
+ # Your stable identifier for the content being reported.
3020
+ #
3021
+ # @return [String, nil]
3022
+ optional :target_content_id, String
3025
3023
 
3026
- # @!attribute user_id
3027
- # Your stable canonical identifier for the user or account.
3028
- #
3024
+ # @!attribute target_user_id
3025
+ # Your stable canonical identifier for the user being reported.
3026
+ #
3027
+ # @return [String, nil]
3028
+ optional :target_user_id, String
3029
+
3030
+ # @!method initialize(event_name:, labels:, source_id:, source_type:, timestamp:, type:, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, target_content_id: nil, target_user_id: nil)
3031
+ # Some parameter documentations has been truncated, see
3032
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest}
3033
+ # for more details.
3034
+ #
3035
+ # A moderation label or decision from an automated enforcement system or manual
3036
+ # review workflow. Do not send user_id; use source_type and source_id for
3037
+ # attribution.
3038
+ #
3039
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
3040
+ #
3041
+ # @param labels [Array<String>] One or more label categories supplied with the report or moderation decision.
3042
+ #
3043
+ # @param source_id [String] Stable identifier within source_type. Examples: moderator@example.com or 550e840
3044
+ #
3045
+ # @param source_type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::SourceType] Coarse attribution category for the moderation decision source. Supported values
3046
+ #
3047
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
3048
+ #
3049
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Type]
3050
+ #
3051
+ # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo] Client context observed by your backend for the user action that triggered the e
3052
+ #
3053
+ # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
3054
+ #
3055
+ # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
3056
+ #
3057
+ # @param idempotency_key [String] Optional caller-provided key used to make retries of this individual event idemp
3058
+ #
3059
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
3060
+ #
3061
+ # @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
3062
+ #
3063
+ # @param target_content_id [String] Your stable identifier for the content being reported.
3064
+ #
3065
+ # @param target_user_id [String] Your stable canonical identifier for the user being reported.
3066
+
3067
+ # Coarse attribution category for the moderation decision source. Supported
3068
+ # values: human_moderator (a human reviewer in your moderation workflow),
3069
+ # expert_labeler (an expert human labeler or specialist reviewer), automation (an
3070
+ # automated model, rules engine, or enforcement workflow), or vendor (an external
3071
+ # review or moderation provider).
3072
+ #
3073
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest#source_type
3074
+ module SourceType
3075
+ extend SafetyKit::Internal::Type::Enum
3076
+
3077
+ HUMAN_MODERATOR = :human_moderator
3078
+ EXPERT_LABELER = :expert_labeler
3079
+ AUTOMATION = :automation
3080
+ VENDOR = :vendor
3081
+
3082
+ # @!method self.values
3083
+ # @return [Array<Symbol>]
3084
+ end
3085
+
3086
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest#type
3087
+ module Type
3088
+ extend SafetyKit::Internal::Type::Enum
3089
+
3090
+ MODERATION_DECISION = :moderation_decision
3091
+
3092
+ # @!method self.values
3093
+ # @return [Array<Symbol>]
3094
+ end
3095
+
3096
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest#client_info
3097
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
3098
+ # @!attribute ip
3099
+ # IP address observed by your backend for the client that triggered the event.
3100
+ #
3101
+ # @return [String, nil]
3102
+ optional :ip, String
3103
+
3104
+ # @!method initialize(ip: nil)
3105
+ # Client context observed by your backend for the user action that triggered the
3106
+ # event.
3107
+ #
3108
+ # @param ip [String] IP address observed by your backend for the client that triggered the event.
3109
+ end
3110
+
3111
+ # User-authored text content associated with an event.
3112
+ module Content
3113
+ extend SafetyKit::Internal::Type::Union
3114
+
3115
+ # User-authored text content associated with an event.
3116
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent }
3117
+
3118
+ # User-uploaded image content associated with an event.
3119
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent }
3120
+
3121
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
3122
+ # @!attribute text
3123
+ # User-authored text SafetyKit should compare or analyze.
3124
+ #
3125
+ # @return [String]
3126
+ required :text, String
3127
+
3128
+ # @!attribute type
3129
+ # Text content part.
3130
+ #
3131
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type]
3132
+ required :type,
3133
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type }
3134
+
3135
+ # @!attribute key
3136
+ # Stable field key for this content part.
3137
+ #
3138
+ # @return [String, nil]
3139
+ optional :key, String
3140
+
3141
+ # @!method initialize(text:, type:, key: nil)
3142
+ # User-authored text content associated with an event.
3143
+ #
3144
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
3145
+ #
3146
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type] Text content part.
3147
+ #
3148
+ # @param key [String] Stable field key for this content part.
3149
+
3150
+ # Text content part.
3151
+ #
3152
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent#type
3153
+ module Type
3154
+ extend SafetyKit::Internal::Type::Enum
3155
+
3156
+ TEXT = :text
3157
+
3158
+ # @!method self.values
3159
+ # @return [Array<Symbol>]
3160
+ end
3161
+ end
3162
+
3163
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
3164
+ # @!attribute source
3165
+ # Image source information.
3166
+ #
3167
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source]
3168
+ required :source,
3169
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source }
3170
+
3171
+ # @!attribute type
3172
+ # Image content part.
3173
+ #
3174
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type]
3175
+ required :type,
3176
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type }
3177
+
3178
+ # @!attribute key
3179
+ # Stable field key for this content part.
3180
+ #
3181
+ # @return [String, nil]
3182
+ optional :key, String
3183
+
3184
+ # @!method initialize(source:, type:, key: nil)
3185
+ # User-uploaded image content associated with an event.
3186
+ #
3187
+ # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source] Image source information.
3188
+ #
3189
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type] Image content part.
3190
+ #
3191
+ # @param key [String] Stable field key for this content part.
3192
+
3193
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent#source
3194
+ class Source < SafetyKit::Internal::Type::BaseModel
3195
+ # @!attribute type
3196
+ # URL image source.
3197
+ #
3198
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type]
3199
+ required :type,
3200
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type }
3201
+
3202
+ # @!attribute url
3203
+ # URL of the image SafetyKit should compare or analyze.
3204
+ #
3205
+ # @return [String]
3206
+ required :url, String
3207
+
3208
+ # @!method initialize(type:, url:)
3209
+ # Image source information.
3210
+ #
3211
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type] URL image source.
3212
+ #
3213
+ # @param url [String] URL of the image SafetyKit should compare or analyze.
3214
+
3215
+ # URL image source.
3216
+ #
3217
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source#type
3218
+ module Type
3219
+ extend SafetyKit::Internal::Type::Enum
3220
+
3221
+ URL = :url
3222
+
3223
+ # @!method self.values
3224
+ # @return [Array<Symbol>]
3225
+ end
3226
+ end
3227
+
3228
+ # Image content part.
3229
+ #
3230
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent#type
3231
+ module Type
3232
+ extend SafetyKit::Internal::Type::Enum
3233
+
3234
+ IMAGE = :image
3235
+
3236
+ # @!method self.values
3237
+ # @return [Array<Symbol>]
3238
+ end
3239
+ end
3240
+
3241
+ # @!method self.variants
3242
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent)]
3243
+ end
3244
+
3245
+ module Metadata
3246
+ extend SafetyKit::Internal::Type::Union
3247
+
3248
+ variant String
3249
+
3250
+ variant Float
3251
+
3252
+ variant SafetyKit::Internal::Type::Boolean
3253
+
3254
+ variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Metadata::UnionMember3Array }
3255
+
3256
+ module UnionMember3
3257
+ extend SafetyKit::Internal::Type::Union
3258
+
3259
+ variant String
3260
+
3261
+ variant Float
3262
+
3263
+ variant SafetyKit::Internal::Type::Boolean
3264
+
3265
+ # @!method self.variants
3266
+ # @return [Array(String, Float, Boolean)]
3267
+ end
3268
+
3269
+ # @!method self.variants
3270
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
3271
+
3272
+ # @type [SafetyKit::Internal::Type::Converter]
3273
+ UnionMember3Array =
3274
+ SafetyKit::Internal::Type::ArrayOf[
3275
+ union: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Metadata::UnionMember3 }
3276
+ ]
3277
+ end
3278
+
3279
+ # Real-world, account, social, or caller-defined resource used during the event.
3280
+ module ResourcesUsed
3281
+ extend SafetyKit::Internal::Type::Union
3282
+
3283
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
3284
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource }
3285
+
3286
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
3287
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1 }
3288
+
3289
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
3290
+ # @!attribute namespace
3291
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
3292
+ # urlEncode(namespace) + '/' + urlEncode(value).
3293
+ #
3294
+ # @return [String]
3295
+ required :namespace, String
3296
+
3297
+ # @!attribute type
3298
+ # Caller-defined entity identifier resource.
3299
+ #
3300
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type]
3301
+ required :type,
3302
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type }
3303
+
3304
+ # @!attribute value
3305
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
3306
+ # encoded namespace/value pair, not the raw value.
3307
+ #
3308
+ # @return [String]
3309
+ required :value, String
3310
+
3311
+ # @!method initialize(namespace:, type:, value:)
3312
+ # Some parameter documentations has been truncated, see
3313
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource}
3314
+ # for more details.
3315
+ #
3316
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
3317
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
3318
+ #
3319
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
3320
+ #
3321
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
3322
+ #
3323
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
3324
+
3325
+ # Caller-defined entity identifier resource.
3326
+ #
3327
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource#type
3328
+ module Type
3329
+ extend SafetyKit::Internal::Type::Enum
3330
+
3331
+ ID = :id
3332
+
3333
+ # @!method self.values
3334
+ # @return [Array<Symbol>]
3335
+ end
3336
+ end
3337
+
3338
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
3339
+ # @!attribute type
3340
+ # Resource family, such as email, phone, name, address, url, social handles,
3341
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
3342
+ # resource shape when the value belongs to a caller-defined namespace.
3343
+ #
3344
+ # @return [String]
3345
+ required :type, String
3346
+
3347
+ # @!attribute value
3348
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
3349
+ # value, not the raw value. When type is url, this must be a valid URL.
3350
+ #
3351
+ # @return [String]
3352
+ required :value, String
3353
+
3354
+ # @!method initialize(type:, value:)
3355
+ # Some parameter documentations has been truncated, see
3356
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1}
3357
+ # for more details.
3358
+ #
3359
+ # Real-world or account resource used during the event, such as an email, phone
3360
+ # number, address, URL, social handle, or payment identifier.
3361
+ #
3362
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
3363
+ #
3364
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
3365
+ end
3366
+
3367
+ # @!method self.variants
3368
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1)]
3369
+ end
3370
+ end
3371
+
3372
+ # A user contacts, transacts with, or otherwise interacts with another user.
3373
+ module UnionMember8
3374
+ extend SafetyKit::Internal::Type::Union
3375
+
3376
+ discriminator :type
3377
+
3378
+ # A user contacts, transacts with, or otherwise interacts with another user.
3379
+ variant :user_contact, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact }
3380
+
3381
+ # A user posts, uploads, publishes, edits, or replaces content.
3382
+ variant :content_uploaded, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded }
3383
+
3384
+ # A product listing is created, updated, or has a discount added.
3385
+ variant :product_changed, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged }
3386
+
3387
+ # A user or account is created.
3388
+ variant :create_account, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount }
3389
+
3390
+ # A user or account profile, contact detail, payment detail, or public bio changes.
3391
+ variant :update_account, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount }
3392
+
3393
+ # A user-submitted report. Use user_id for the reporter. Include target_user_id when a user is reported, target_content_id when content is reported, and both when the report is about content associated with a user. Use content and content_id for the report itself.
3394
+ variant :user_report, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport }
3395
+
3396
+ # A user appeals a moderation action taken against them. Use user_id for the appealing user, appealed_decision_id to reference the decision being appealed, and content and content_id for the appeal itself.
3397
+ variant :appeal, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal }
3398
+
3399
+ # A moderation label or decision from an automated enforcement system or manual review workflow. Do not send user_id; use source_type and source_id for attribution.
3400
+ variant :moderation_decision,
3401
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision }
3402
+
3403
+ class UserContact < SafetyKit::Internal::Type::BaseModel
3404
+ # @!attribute event_name
3405
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
3406
+ # values in typed fields, content, resources_used, or metadata.
3407
+ #
3408
+ # @return [String]
3409
+ required :event_name, String
3410
+
3411
+ # @!attribute target_user_id
3412
+ # Your stable canonical identifier for the other user in a user-to-user
3413
+ # interaction.
3414
+ #
3415
+ # @return [String]
3416
+ required :target_user_id, String
3417
+
3418
+ # @!attribute timestamp
3419
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
3420
+ #
3421
+ # @return [Time]
3422
+ required :timestamp, Time
3423
+
3424
+ # @!attribute type
3425
+ #
3426
+ # @return [Symbol, :user_contact]
3427
+ required :type, const: :user_contact
3428
+
3429
+ # @!attribute user_id
3430
+ # Your stable canonical identifier for the user or account.
3431
+ #
3432
+ # @return [String]
3433
+ required :user_id, String
3434
+
3435
+ # @!attribute client_info
3436
+ # Client context observed by your backend for the user action that triggered the
3437
+ # event.
3438
+ #
3439
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ClientInfo, nil]
3440
+ optional :client_info,
3441
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ClientInfo }
3442
+
3443
+ # @!attribute content
3444
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3445
+ # listing text, image URLs, and similar content SafetyKit should compare or
3446
+ # analyze.
3447
+ #
3448
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent>, nil]
3449
+ optional :content,
3450
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content] }
3451
+
3452
+ # @!attribute content_id
3453
+ # Your stable identifier for the content involved in this event, such as a
3454
+ # message, listing, page, post, profile, or uploaded media item.
3455
+ #
3456
+ # @return [String, nil]
3457
+ optional :content_id, String
3458
+
3459
+ # @!attribute idempotency_key
3460
+ # Optional caller-provided key used to make retries of this individual event
3461
+ # idempotent. Reuse the same key only for retries of the same logical event.
3462
+ #
3463
+ # @return [String, nil]
3464
+ optional :idempotency_key, String
3465
+
3466
+ # @!attribute metadata
3467
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
3468
+ # be strings, numbers, booleans, or arrays of those scalar values.
3469
+ #
3470
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
3471
+ optional :metadata,
3472
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Metadata] }
3473
+
3474
+ # @!attribute resources_used
3475
+ # Reusable resources observed during the event. Use this for emails, phone
3476
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
3477
+ # caller-defined ids, or similar identifiers.
3478
+ #
3479
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::UnionMember1>, nil]
3480
+ optional :resources_used,
3481
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed] }
3482
+
3483
+ # @!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)
3484
+ # Some parameter documentations has been truncated, see
3485
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact} for
3486
+ # more details.
3487
+ #
3488
+ # A user contacts, transacts with, or otherwise interacts with another user.
3489
+ #
3490
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
3491
+ #
3492
+ # @param target_user_id [String] Your stable canonical identifier for the other user in a user-to-user interactio
3493
+ #
3494
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
3495
+ #
3496
+ # @param user_id [String] Your stable canonical identifier for the user or account.
3497
+ #
3498
+ # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ClientInfo] Client context observed by your backend for the user action that triggered the e
3499
+ #
3500
+ # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
3501
+ #
3502
+ # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
3503
+ #
3504
+ # @param idempotency_key [String] Optional caller-provided key used to make retries of this individual event idemp
3505
+ #
3506
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
3507
+ #
3508
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
3509
+ #
3510
+ # @param type [Symbol, :user_contact]
3511
+
3512
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact#client_info
3513
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
3514
+ # @!attribute ip
3515
+ # IP address observed by your backend for the client that triggered the event.
3516
+ #
3517
+ # @return [String, nil]
3518
+ optional :ip, String
3519
+
3520
+ # @!method initialize(ip: nil)
3521
+ # Client context observed by your backend for the user action that triggered the
3522
+ # event.
3523
+ #
3524
+ # @param ip [String] IP address observed by your backend for the client that triggered the event.
3525
+ end
3526
+
3527
+ # User-authored text content associated with an event.
3528
+ module Content
3529
+ extend SafetyKit::Internal::Type::Union
3530
+
3531
+ # User-authored text content associated with an event.
3532
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventTextContent }
3533
+
3534
+ # User-uploaded image content associated with an event.
3535
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent }
3536
+
3537
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
3538
+ # @!attribute text
3539
+ # User-authored text SafetyKit should compare or analyze.
3540
+ #
3541
+ # @return [String]
3542
+ required :text, String
3543
+
3544
+ # @!attribute type
3545
+ # Text content part.
3546
+ #
3547
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventTextContent::Type]
3548
+ required :type,
3549
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventTextContent::Type }
3550
+
3551
+ # @!attribute key
3552
+ # Stable field key for this content part.
3553
+ #
3554
+ # @return [String, nil]
3555
+ optional :key, String
3556
+
3557
+ # @!method initialize(text:, type:, key: nil)
3558
+ # User-authored text content associated with an event.
3559
+ #
3560
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
3561
+ #
3562
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventTextContent::Type] Text content part.
3563
+ #
3564
+ # @param key [String] Stable field key for this content part.
3565
+
3566
+ # Text content part.
3567
+ #
3568
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventTextContent#type
3569
+ module Type
3570
+ extend SafetyKit::Internal::Type::Enum
3571
+
3572
+ TEXT = :text
3573
+
3574
+ # @!method self.values
3575
+ # @return [Array<Symbol>]
3576
+ end
3577
+ end
3578
+
3579
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
3580
+ # @!attribute source
3581
+ # Image source information.
3582
+ #
3583
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent::Source]
3584
+ required :source,
3585
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent::Source }
3586
+
3587
+ # @!attribute type
3588
+ # Image content part.
3589
+ #
3590
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent::Type]
3591
+ required :type,
3592
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent::Type }
3593
+
3594
+ # @!attribute key
3595
+ # Stable field key for this content part.
3596
+ #
3597
+ # @return [String, nil]
3598
+ optional :key, String
3599
+
3600
+ # @!method initialize(source:, type:, key: nil)
3601
+ # User-uploaded image content associated with an event.
3602
+ #
3603
+ # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent::Source] Image source information.
3604
+ #
3605
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent::Type] Image content part.
3606
+ #
3607
+ # @param key [String] Stable field key for this content part.
3608
+
3609
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent#source
3610
+ class Source < SafetyKit::Internal::Type::BaseModel
3611
+ # @!attribute type
3612
+ # URL image source.
3613
+ #
3614
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent::Source::Type]
3615
+ required :type,
3616
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent::Source::Type }
3617
+
3618
+ # @!attribute url
3619
+ # URL of the image SafetyKit should compare or analyze.
3620
+ #
3621
+ # @return [String]
3622
+ required :url, String
3623
+
3624
+ # @!method initialize(type:, url:)
3625
+ # Image source information.
3626
+ #
3627
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent::Source::Type] URL image source.
3628
+ #
3629
+ # @param url [String] URL of the image SafetyKit should compare or analyze.
3630
+
3631
+ # URL image source.
3632
+ #
3633
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent::Source#type
3634
+ module Type
3635
+ extend SafetyKit::Internal::Type::Enum
3636
+
3637
+ URL = :url
3638
+
3639
+ # @!method self.values
3640
+ # @return [Array<Symbol>]
3641
+ end
3642
+ end
3643
+
3644
+ # Image content part.
3645
+ #
3646
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent#type
3647
+ module Type
3648
+ extend SafetyKit::Internal::Type::Enum
3649
+
3650
+ IMAGE = :image
3651
+
3652
+ # @!method self.values
3653
+ # @return [Array<Symbol>]
3654
+ end
3655
+ end
3656
+
3657
+ # @!method self.variants
3658
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Content::EventImageContent)]
3659
+ end
3660
+
3661
+ module Metadata
3662
+ extend SafetyKit::Internal::Type::Union
3663
+
3664
+ variant String
3665
+
3666
+ variant Float
3667
+
3668
+ variant SafetyKit::Internal::Type::Boolean
3669
+
3670
+ variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Metadata::UnionMember3Array }
3671
+
3672
+ module UnionMember3
3673
+ extend SafetyKit::Internal::Type::Union
3674
+
3675
+ variant String
3676
+
3677
+ variant Float
3678
+
3679
+ variant SafetyKit::Internal::Type::Boolean
3680
+
3681
+ # @!method self.variants
3682
+ # @return [Array(String, Float, Boolean)]
3683
+ end
3684
+
3685
+ # @!method self.variants
3686
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
3687
+
3688
+ # @type [SafetyKit::Internal::Type::Converter]
3689
+ UnionMember3Array =
3690
+ SafetyKit::Internal::Type::ArrayOf[union: -> {
3691
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::Metadata::UnionMember3
3692
+ }]
3693
+ end
3694
+
3695
+ # Real-world, account, social, or caller-defined resource used during the event.
3696
+ module ResourcesUsed
3697
+ extend SafetyKit::Internal::Type::Union
3698
+
3699
+ # Caller-defined stable entity identifier resource. This is equivalent to an id resource value of urlEncode(namespace) + '/' + urlEncode(value).
3700
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::EntityIDResource }
3701
+
3702
+ # Real-world or account resource used during the event, such as an email, phone number, address, URL, social handle, or payment identifier.
3703
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::UnionMember1 }
3704
+
3705
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
3706
+ # @!attribute namespace
3707
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
3708
+ # urlEncode(namespace) + '/' + urlEncode(value).
3709
+ #
3710
+ # @return [String]
3711
+ required :namespace, String
3712
+
3713
+ # @!attribute type
3714
+ # Caller-defined entity identifier resource.
3715
+ #
3716
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::EntityIDResource::Type]
3717
+ required :type,
3718
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::EntityIDResource::Type }
3719
+
3720
+ # @!attribute value
3721
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
3722
+ # encoded namespace/value pair, not the raw value.
3723
+ #
3724
+ # @return [String]
3725
+ required :value, String
3726
+
3727
+ # @!method initialize(namespace:, type:, value:)
3728
+ # Some parameter documentations has been truncated, see
3729
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::EntityIDResource}
3730
+ # for more details.
3731
+ #
3732
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
3733
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
3734
+ #
3735
+ # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
3736
+ #
3737
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
3738
+ #
3739
+ # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
3740
+
3741
+ # Caller-defined entity identifier resource.
3742
+ #
3743
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::EntityIDResource#type
3744
+ module Type
3745
+ extend SafetyKit::Internal::Type::Enum
3746
+
3747
+ ID = :id
3748
+
3749
+ # @!method self.values
3750
+ # @return [Array<Symbol>]
3751
+ end
3752
+ end
3753
+
3754
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
3755
+ # @!attribute type
3756
+ # Resource family, such as email, phone, name, address, url, social handles,
3757
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
3758
+ # resource shape when the value belongs to a caller-defined namespace.
3759
+ #
3760
+ # @return [String]
3761
+ required :type, String
3762
+
3763
+ # @!attribute value
3764
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
3765
+ # value, not the raw value. When type is url, this must be a valid URL.
3766
+ #
3767
+ # @return [String]
3768
+ required :value, String
3769
+
3770
+ # @!method initialize(type:, value:)
3771
+ # Some parameter documentations has been truncated, see
3772
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::UnionMember1}
3773
+ # for more details.
3774
+ #
3775
+ # Real-world or account resource used during the event, such as an email, phone
3776
+ # number, address, URL, social handle, or payment identifier.
3777
+ #
3778
+ # @param type [String] Resource family, such as email, phone, name, address, url, social handles, payme
3779
+ #
3780
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
3781
+ end
3782
+
3783
+ # @!method self.variants
3784
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact::ResourcesUsed::UnionMember1)]
3785
+ end
3786
+ end
3787
+
3788
+ class ContentUploaded < SafetyKit::Internal::Type::BaseModel
3789
+ # @!attribute content
3790
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3791
+ # listing text, image URLs, and similar content SafetyKit should compare or
3792
+ # analyze.
3793
+ #
3794
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent>]
3795
+ required :content,
3796
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content] }
3797
+
3798
+ # @!attribute event_name
3799
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
3800
+ # values in typed fields, content, resources_used, or metadata.
3801
+ #
3802
+ # @return [String]
3803
+ required :event_name, String
3804
+
3805
+ # @!attribute timestamp
3806
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
3807
+ #
3808
+ # @return [Time]
3809
+ required :timestamp, Time
3810
+
3811
+ # @!attribute type
3812
+ #
3813
+ # @return [Symbol, :content_uploaded]
3814
+ required :type, const: :content_uploaded
3815
+
3816
+ # @!attribute user_id
3817
+ # Your stable canonical identifier for the user or account.
3818
+ #
3029
3819
  # @return [String]
3030
3820
  required :user_id, String
3031
3821
 
@@ -3033,18 +3823,9 @@ module SafetyKit
3033
3823
  # Client context observed by your backend for the user action that triggered the
3034
3824
  # event.
3035
3825
  #
3036
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ClientInfo, nil]
3826
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ClientInfo, nil]
3037
3827
  optional :client_info,
3038
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ClientInfo }
3039
-
3040
- # @!attribute content
3041
- # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3042
- # listing text, image URLs, and similar content SafetyKit should compare or
3043
- # analyze.
3044
- #
3045
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent>, nil]
3046
- optional :content,
3047
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content] }
3828
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ClientInfo }
3048
3829
 
3049
3830
  # @!attribute content_id
3050
3831
  # Your stable identifier for the content involved in this event, such as a
@@ -3066,35 +3847,33 @@ module SafetyKit
3066
3847
  #
3067
3848
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
3068
3849
  optional :metadata,
3069
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Metadata] }
3850
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Metadata] }
3070
3851
 
3071
3852
  # @!attribute resources_used
3072
3853
  # Reusable resources observed during the event. Use this for emails, phone
3073
3854
  # numbers, names, addresses, social handles, URLs, payment identifiers,
3074
3855
  # caller-defined ids, or similar identifiers.
3075
3856
  #
3076
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1>, nil]
3857
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::UnionMember1>, nil]
3077
3858
  optional :resources_used,
3078
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed] }
3859
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed] }
3079
3860
 
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)
3861
+ # @!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)
3081
3862
  # Some parameter documentations has been truncated, see
3082
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact} for
3083
- # more details.
3863
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded}
3864
+ # for more details.
3084
3865
  #
3085
- # A user contacts, transacts with, or otherwise interacts with another user.
3866
+ # A user posts, uploads, publishes, edits, or replaces content.
3086
3867
  #
3087
- # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
3868
+ # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
3088
3869
  #
3089
- # @param target_user_id [String] Your stable canonical identifier for the other user in a user-to-user interactio
3870
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
3090
3871
  #
3091
3872
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
3092
3873
  #
3093
3874
  # @param user_id [String] Your stable canonical identifier for the user or account.
3094
3875
  #
3095
- # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ClientInfo] Client context observed by your backend for the user action that triggered the e
3096
- #
3097
- # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
3876
+ # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ClientInfo] Client context observed by your backend for the user action that triggered the e
3098
3877
  #
3099
3878
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
3100
3879
  #
@@ -3102,34 +3881,19 @@ module SafetyKit
3102
3881
  #
3103
3882
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
3104
3883
  #
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
3884
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
3106
3885
  #
3107
- # @param type [Symbol, :user_contact]
3108
-
3109
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact#client_info
3110
- class ClientInfo < SafetyKit::Internal::Type::BaseModel
3111
- # @!attribute ip
3112
- # IP address observed by your backend for the client that triggered the event.
3113
- #
3114
- # @return [String, nil]
3115
- optional :ip, String
3116
-
3117
- # @!method initialize(ip: nil)
3118
- # Client context observed by your backend for the user action that triggered the
3119
- # event.
3120
- #
3121
- # @param ip [String] IP address observed by your backend for the client that triggered the event.
3122
- end
3886
+ # @param type [Symbol, :content_uploaded]
3123
3887
 
3124
3888
  # User-authored text content associated with an event.
3125
3889
  module Content
3126
3890
  extend SafetyKit::Internal::Type::Union
3127
3891
 
3128
3892
  # User-authored text content associated with an event.
3129
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent }
3893
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventTextContent }
3130
3894
 
3131
3895
  # User-uploaded image content associated with an event.
3132
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent }
3896
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent }
3133
3897
 
3134
3898
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
3135
3899
  # @!attribute text
@@ -3141,9 +3905,9 @@ module SafetyKit
3141
3905
  # @!attribute type
3142
3906
  # Text content part.
3143
3907
  #
3144
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent::Type]
3908
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventTextContent::Type]
3145
3909
  required :type,
3146
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent::Type }
3910
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventTextContent::Type }
3147
3911
 
3148
3912
  # @!attribute key
3149
3913
  # Stable field key for this content part.
@@ -3156,13 +3920,13 @@ module SafetyKit
3156
3920
  #
3157
3921
  # @param text [String] User-authored text SafetyKit should compare or analyze.
3158
3922
  #
3159
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent::Type] Text content part.
3923
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventTextContent::Type] Text content part.
3160
3924
  #
3161
3925
  # @param key [String] Stable field key for this content part.
3162
3926
 
3163
3927
  # Text content part.
3164
3928
  #
3165
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent#type
3929
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventTextContent#type
3166
3930
  module Type
3167
3931
  extend SafetyKit::Internal::Type::Enum
3168
3932
 
@@ -3177,16 +3941,16 @@ module SafetyKit
3177
3941
  # @!attribute source
3178
3942
  # Image source information.
3179
3943
  #
3180
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source]
3944
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent::Source]
3181
3945
  required :source,
3182
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source }
3946
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent::Source }
3183
3947
 
3184
3948
  # @!attribute type
3185
3949
  # Image content part.
3186
3950
  #
3187
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Type]
3951
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent::Type]
3188
3952
  required :type,
3189
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Type }
3953
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent::Type }
3190
3954
 
3191
3955
  # @!attribute key
3192
3956
  # Stable field key for this content part.
@@ -3197,20 +3961,20 @@ module SafetyKit
3197
3961
  # @!method initialize(source:, type:, key: nil)
3198
3962
  # User-uploaded image content associated with an event.
3199
3963
  #
3200
- # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source] Image source information.
3964
+ # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent::Source] Image source information.
3201
3965
  #
3202
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Type] Image content part.
3966
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent::Type] Image content part.
3203
3967
  #
3204
3968
  # @param key [String] Stable field key for this content part.
3205
3969
 
3206
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent#source
3970
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent#source
3207
3971
  class Source < SafetyKit::Internal::Type::BaseModel
3208
3972
  # @!attribute type
3209
3973
  # URL image source.
3210
3974
  #
3211
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source::Type]
3975
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent::Source::Type]
3212
3976
  required :type,
3213
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source::Type }
3977
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent::Source::Type }
3214
3978
 
3215
3979
  # @!attribute url
3216
3980
  # URL of the image SafetyKit should compare or analyze.
@@ -3221,13 +3985,13 @@ module SafetyKit
3221
3985
  # @!method initialize(type:, url:)
3222
3986
  # Image source information.
3223
3987
  #
3224
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source::Type] URL image source.
3988
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent::Source::Type] URL image source.
3225
3989
  #
3226
3990
  # @param url [String] URL of the image SafetyKit should compare or analyze.
3227
3991
 
3228
3992
  # URL image source.
3229
3993
  #
3230
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source#type
3994
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent::Source#type
3231
3995
  module Type
3232
3996
  extend SafetyKit::Internal::Type::Enum
3233
3997
 
@@ -3240,7 +4004,7 @@ module SafetyKit
3240
4004
 
3241
4005
  # Image content part.
3242
4006
  #
3243
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent#type
4007
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent#type
3244
4008
  module Type
3245
4009
  extend SafetyKit::Internal::Type::Enum
3246
4010
 
@@ -3252,7 +4016,22 @@ module SafetyKit
3252
4016
  end
3253
4017
 
3254
4018
  # @!method self.variants
3255
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent)]
4019
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Content::EventImageContent)]
4020
+ end
4021
+
4022
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded#client_info
4023
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
4024
+ # @!attribute ip
4025
+ # IP address observed by your backend for the client that triggered the event.
4026
+ #
4027
+ # @return [String, nil]
4028
+ optional :ip, String
4029
+
4030
+ # @!method initialize(ip: nil)
4031
+ # Client context observed by your backend for the user action that triggered the
4032
+ # event.
4033
+ #
4034
+ # @param ip [String] IP address observed by your backend for the client that triggered the event.
3256
4035
  end
3257
4036
 
3258
4037
  module Metadata
@@ -3264,7 +4043,7 @@ module SafetyKit
3264
4043
 
3265
4044
  variant SafetyKit::Internal::Type::Boolean
3266
4045
 
3267
- variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Metadata::UnionMember3Array }
4046
+ variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Metadata::UnionMember3Array }
3268
4047
 
3269
4048
  module UnionMember3
3270
4049
  extend SafetyKit::Internal::Type::Union
@@ -3284,9 +4063,9 @@ module SafetyKit
3284
4063
 
3285
4064
  # @type [SafetyKit::Internal::Type::Converter]
3286
4065
  UnionMember3Array =
3287
- SafetyKit::Internal::Type::ArrayOf[union: -> {
3288
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Metadata::UnionMember3
3289
- }]
4066
+ SafetyKit::Internal::Type::ArrayOf[
4067
+ union: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::Metadata::UnionMember3 }
4068
+ ]
3290
4069
  end
3291
4070
 
3292
4071
  # Real-world, account, social, or caller-defined resource used during the event.
@@ -3294,10 +4073,10 @@ module SafetyKit
3294
4073
  extend SafetyKit::Internal::Type::Union
3295
4074
 
3296
4075
  # 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 }
4076
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::EntityIDResource }
3298
4077
 
3299
4078
  # 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 }
4079
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::UnionMember1 }
3301
4080
 
3302
4081
  class EntityIDResource < SafetyKit::Internal::Type::BaseModel
3303
4082
  # @!attribute namespace
@@ -3310,9 +4089,9 @@ module SafetyKit
3310
4089
  # @!attribute type
3311
4090
  # Caller-defined entity identifier resource.
3312
4091
  #
3313
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type]
4092
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::EntityIDResource::Type]
3314
4093
  required :type,
3315
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type }
4094
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::EntityIDResource::Type }
3316
4095
 
3317
4096
  # @!attribute value
3318
4097
  # Identifier value within namespace. SafetyKit stores a normalized hash of the
@@ -3323,7 +4102,7 @@ module SafetyKit
3323
4102
 
3324
4103
  # @!method initialize(namespace:, type:, value:)
3325
4104
  # Some parameter documentations has been truncated, see
3326
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource}
4105
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::EntityIDResource}
3327
4106
  # for more details.
3328
4107
  #
3329
4108
  # Caller-defined stable entity identifier resource. This is equivalent to an id
@@ -3331,13 +4110,13 @@ module SafetyKit
3331
4110
  #
3332
4111
  # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
3333
4112
  #
3334
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
4113
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
3335
4114
  #
3336
4115
  # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
3337
4116
 
3338
4117
  # Caller-defined entity identifier resource.
3339
4118
  #
3340
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource#type
4119
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::EntityIDResource#type
3341
4120
  module Type
3342
4121
  extend SafetyKit::Internal::Type::Enum
3343
4122
 
@@ -3366,7 +4145,7 @@ module SafetyKit
3366
4145
 
3367
4146
  # @!method initialize(type:, value:)
3368
4147
  # Some parameter documentations has been truncated, see
3369
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1}
4148
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::UnionMember1}
3370
4149
  # for more details.
3371
4150
  #
3372
4151
  # Real-world or account resource used during the event, such as an email, phone
@@ -3378,26 +4157,32 @@ module SafetyKit
3378
4157
  end
3379
4158
 
3380
4159
  # @!method self.variants
3381
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1)]
4160
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded::ResourcesUsed::UnionMember1)]
3382
4161
  end
3383
4162
  end
3384
4163
 
3385
- class ContentUploaded < SafetyKit::Internal::Type::BaseModel
4164
+ class ProductChanged < SafetyKit::Internal::Type::BaseModel
3386
4165
  # @!attribute content
3387
4166
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3388
4167
  # listing text, image URLs, and similar content SafetyKit should compare or
3389
4168
  # analyze.
3390
4169
  #
3391
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent>]
4170
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent>]
3392
4171
  required :content,
3393
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content] }
4172
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content] }
3394
4173
 
3395
4174
  # @!attribute event_name
3396
- # Stable, low-cardinality product action name. Use snake_case and put dynamic
3397
- # values in typed fields, content, resources_used, or metadata.
4175
+ # Product action that triggered this event.
3398
4176
  #
3399
- # @return [String]
3400
- required :event_name, String
4177
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::EventName]
4178
+ required :event_name,
4179
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::EventName }
4180
+
4181
+ # @!attribute product
4182
+ # Commerce details for the product involved in this event.
4183
+ #
4184
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product]
4185
+ required :product, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product }
3401
4186
 
3402
4187
  # @!attribute timestamp
3403
4188
  # The time the event occurred in your system, as an ISO 8601 datetime string.
@@ -3407,8 +4192,8 @@ module SafetyKit
3407
4192
 
3408
4193
  # @!attribute type
3409
4194
  #
3410
- # @return [Symbol, :content_uploaded]
3411
- required :type, const: :content_uploaded
4195
+ # @return [Symbol, :product_changed]
4196
+ required :type, const: :product_changed
3412
4197
 
3413
4198
  # @!attribute user_id
3414
4199
  # Your stable canonical identifier for the user or account.
@@ -3420,9 +4205,9 @@ module SafetyKit
3420
4205
  # Client context observed by your backend for the user action that triggered the
3421
4206
  # event.
3422
4207
  #
3423
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ClientInfo, nil]
4208
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ClientInfo, nil]
3424
4209
  optional :client_info,
3425
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ClientInfo }
4210
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ClientInfo }
3426
4211
 
3427
4212
  # @!attribute content_id
3428
4213
  # Your stable identifier for the content involved in this event, such as a
@@ -3444,33 +4229,35 @@ module SafetyKit
3444
4229
  #
3445
4230
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
3446
4231
  optional :metadata,
3447
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Metadata] }
4232
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Metadata] }
3448
4233
 
3449
4234
  # @!attribute resources_used
3450
4235
  # Reusable resources observed during the event. Use this for emails, phone
3451
4236
  # numbers, names, addresses, social handles, URLs, payment identifiers,
3452
4237
  # caller-defined ids, or similar identifiers.
3453
4238
  #
3454
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1>, nil]
4239
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::UnionMember1>, nil]
3455
4240
  optional :resources_used,
3456
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed] }
4241
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed] }
3457
4242
 
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)
4243
+ # @!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)
3459
4244
  # Some parameter documentations has been truncated, see
3460
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded}
4245
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged}
3461
4246
  # for more details.
3462
4247
  #
3463
- # A user posts, uploads, publishes, edits, or replaces content.
4248
+ # A product listing is created, updated, or has a discount added.
3464
4249
  #
3465
- # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
4250
+ # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
3466
4251
  #
3467
- # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
4252
+ # @param event_name [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::EventName] Product action that triggered this event.
4253
+ #
4254
+ # @param product [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product] Commerce details for the product involved in this event.
3468
4255
  #
3469
4256
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
3470
4257
  #
3471
4258
  # @param user_id [String] Your stable canonical identifier for the user or account.
3472
4259
  #
3473
- # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ClientInfo] Client context observed by your backend for the user action that triggered the e
4260
+ # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ClientInfo] Client context observed by your backend for the user action that triggered the e
3474
4261
  #
3475
4262
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
3476
4263
  #
@@ -3478,19 +4265,19 @@ module SafetyKit
3478
4265
  #
3479
4266
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
3480
4267
  #
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
4268
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
3482
4269
  #
3483
- # @param type [Symbol, :content_uploaded]
4270
+ # @param type [Symbol, :product_changed]
3484
4271
 
3485
4272
  # User-authored text content associated with an event.
3486
4273
  module Content
3487
4274
  extend SafetyKit::Internal::Type::Union
3488
4275
 
3489
4276
  # User-authored text content associated with an event.
3490
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent }
4277
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventTextContent }
3491
4278
 
3492
4279
  # User-uploaded image content associated with an event.
3493
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent }
4280
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent }
3494
4281
 
3495
4282
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
3496
4283
  # @!attribute text
@@ -3502,9 +4289,9 @@ module SafetyKit
3502
4289
  # @!attribute type
3503
4290
  # Text content part.
3504
4291
  #
3505
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent::Type]
4292
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventTextContent::Type]
3506
4293
  required :type,
3507
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent::Type }
4294
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventTextContent::Type }
3508
4295
 
3509
4296
  # @!attribute key
3510
4297
  # Stable field key for this content part.
@@ -3517,13 +4304,13 @@ module SafetyKit
3517
4304
  #
3518
4305
  # @param text [String] User-authored text SafetyKit should compare or analyze.
3519
4306
  #
3520
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent::Type] Text content part.
4307
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventTextContent::Type] Text content part.
3521
4308
  #
3522
4309
  # @param key [String] Stable field key for this content part.
3523
4310
 
3524
4311
  # Text content part.
3525
4312
  #
3526
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent#type
4313
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventTextContent#type
3527
4314
  module Type
3528
4315
  extend SafetyKit::Internal::Type::Enum
3529
4316
 
@@ -3538,16 +4325,16 @@ module SafetyKit
3538
4325
  # @!attribute source
3539
4326
  # Image source information.
3540
4327
  #
3541
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source]
4328
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent::Source]
3542
4329
  required :source,
3543
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source }
4330
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent::Source }
3544
4331
 
3545
4332
  # @!attribute type
3546
4333
  # Image content part.
3547
4334
  #
3548
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Type]
4335
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent::Type]
3549
4336
  required :type,
3550
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Type }
4337
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent::Type }
3551
4338
 
3552
4339
  # @!attribute key
3553
4340
  # Stable field key for this content part.
@@ -3558,20 +4345,20 @@ module SafetyKit
3558
4345
  # @!method initialize(source:, type:, key: nil)
3559
4346
  # User-uploaded image content associated with an event.
3560
4347
  #
3561
- # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source] Image source information.
4348
+ # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent::Source] Image source information.
3562
4349
  #
3563
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Type] Image content part.
4350
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent::Type] Image content part.
3564
4351
  #
3565
4352
  # @param key [String] Stable field key for this content part.
3566
4353
 
3567
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent#source
4354
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent#source
3568
4355
  class Source < SafetyKit::Internal::Type::BaseModel
3569
4356
  # @!attribute type
3570
4357
  # URL image source.
3571
4358
  #
3572
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source::Type]
4359
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent::Source::Type]
3573
4360
  required :type,
3574
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source::Type }
4361
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent::Source::Type }
3575
4362
 
3576
4363
  # @!attribute url
3577
4364
  # URL of the image SafetyKit should compare or analyze.
@@ -3582,13 +4369,13 @@ module SafetyKit
3582
4369
  # @!method initialize(type:, url:)
3583
4370
  # Image source information.
3584
4371
  #
3585
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source::Type] URL image source.
4372
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent::Source::Type] URL image source.
3586
4373
  #
3587
4374
  # @param url [String] URL of the image SafetyKit should compare or analyze.
3588
4375
 
3589
4376
  # URL image source.
3590
4377
  #
3591
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source#type
4378
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent::Source#type
3592
4379
  module Type
3593
4380
  extend SafetyKit::Internal::Type::Enum
3594
4381
 
@@ -3601,7 +4388,7 @@ module SafetyKit
3601
4388
 
3602
4389
  # Image content part.
3603
4390
  #
3604
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent#type
4391
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent#type
3605
4392
  module Type
3606
4393
  extend SafetyKit::Internal::Type::Enum
3607
4394
 
@@ -3613,10 +4400,122 @@ module SafetyKit
3613
4400
  end
3614
4401
 
3615
4402
  # @!method self.variants
3616
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent)]
4403
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Content::EventImageContent)]
4404
+ end
4405
+
4406
+ # Product action that triggered this event.
4407
+ #
4408
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged#event_name
4409
+ module EventName
4410
+ extend SafetyKit::Internal::Type::Enum
4411
+
4412
+ PRODUCT_CREATED = :product_created
4413
+ PRODUCT_UPDATED = :product_updated
4414
+
4415
+ # @!method self.values
4416
+ # @return [Array<Symbol>]
4417
+ end
4418
+
4419
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged#product
4420
+ class Product < SafetyKit::Internal::Type::BaseModel
4421
+ # @!attribute price
4422
+ # Current listed price of the product.
4423
+ #
4424
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product::Price]
4425
+ required :price,
4426
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product::Price }
4427
+
4428
+ # @!attribute discounted_price
4429
+ # Discounted price of the product, when a discount applies.
4430
+ #
4431
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product::DiscountedPrice, nil]
4432
+ optional :discounted_price,
4433
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product::DiscountedPrice }
4434
+
4435
+ # @!attribute shipping_info
4436
+ # Shipping details for the product.
4437
+ #
4438
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product::ShippingInfo, nil]
4439
+ optional :shipping_info,
4440
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product::ShippingInfo }
4441
+
4442
+ # @!method initialize(price:, discounted_price: nil, shipping_info: nil)
4443
+ # Commerce details for the product involved in this event.
4444
+ #
4445
+ # @param price [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product::Price] Current listed price of the product.
4446
+ #
4447
+ # @param discounted_price [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product::DiscountedPrice] Discounted price of the product, when a discount applies.
4448
+ #
4449
+ # @param shipping_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product::ShippingInfo] Shipping details for the product.
4450
+
4451
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product#price
4452
+ class Price < SafetyKit::Internal::Type::BaseModel
4453
+ # @!attribute amount
4454
+ # Price amount as a decimal string.
4455
+ #
4456
+ # @return [String]
4457
+ required :amount, String
4458
+
4459
+ # @!attribute currency
4460
+ # ISO 4217 currency code.
4461
+ #
4462
+ # @return [String]
4463
+ required :currency, String
4464
+
4465
+ # @!method initialize(amount:, currency:)
4466
+ # Current listed price of the product.
4467
+ #
4468
+ # @param amount [String] Price amount as a decimal string.
4469
+ #
4470
+ # @param currency [String] ISO 4217 currency code.
4471
+ end
4472
+
4473
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product#discounted_price
4474
+ class DiscountedPrice < SafetyKit::Internal::Type::BaseModel
4475
+ # @!attribute amount
4476
+ # Price amount as a decimal string.
4477
+ #
4478
+ # @return [String]
4479
+ required :amount, String
4480
+
4481
+ # @!attribute currency
4482
+ # ISO 4217 currency code.
4483
+ #
4484
+ # @return [String]
4485
+ required :currency, String
4486
+
4487
+ # @!method initialize(amount:, currency:)
4488
+ # Discounted price of the product, when a discount applies.
4489
+ #
4490
+ # @param amount [String] Price amount as a decimal string.
4491
+ #
4492
+ # @param currency [String] ISO 4217 currency code.
4493
+ end
4494
+
4495
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Product#shipping_info
4496
+ class ShippingInfo < SafetyKit::Internal::Type::BaseModel
4497
+ # @!attribute ships_from
4498
+ # Location the product ships from.
4499
+ #
4500
+ # @return [String]
4501
+ required :ships_from, String
4502
+
4503
+ # @!attribute ships_to
4504
+ # Locations the product ships to.
4505
+ #
4506
+ # @return [Array<String>]
4507
+ required :ships_to, SafetyKit::Internal::Type::ArrayOf[String]
4508
+
4509
+ # @!method initialize(ships_from:, ships_to:)
4510
+ # Shipping details for the product.
4511
+ #
4512
+ # @param ships_from [String] Location the product ships from.
4513
+ #
4514
+ # @param ships_to [Array<String>] Locations the product ships to.
4515
+ end
3617
4516
  end
3618
4517
 
3619
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded#client_info
4518
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged#client_info
3620
4519
  class ClientInfo < SafetyKit::Internal::Type::BaseModel
3621
4520
  # @!attribute ip
3622
4521
  # IP address observed by your backend for the client that triggered the event.
@@ -3640,7 +4539,7 @@ module SafetyKit
3640
4539
 
3641
4540
  variant SafetyKit::Internal::Type::Boolean
3642
4541
 
3643
- variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Metadata::UnionMember3Array }
4542
+ variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Metadata::UnionMember3Array }
3644
4543
 
3645
4544
  module UnionMember3
3646
4545
  extend SafetyKit::Internal::Type::Union
@@ -3661,7 +4560,7 @@ module SafetyKit
3661
4560
  # @type [SafetyKit::Internal::Type::Converter]
3662
4561
  UnionMember3Array =
3663
4562
  SafetyKit::Internal::Type::ArrayOf[
3664
- union: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Metadata::UnionMember3 }
4563
+ union: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::Metadata::UnionMember3 }
3665
4564
  ]
3666
4565
  end
3667
4566
 
@@ -3670,10 +4569,10 @@ module SafetyKit
3670
4569
  extend SafetyKit::Internal::Type::Union
3671
4570
 
3672
4571
  # 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 }
4572
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::EntityIDResource }
3674
4573
 
3675
4574
  # 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 }
4575
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::UnionMember1 }
3677
4576
 
3678
4577
  class EntityIDResource < SafetyKit::Internal::Type::BaseModel
3679
4578
  # @!attribute namespace
@@ -3686,9 +4585,9 @@ module SafetyKit
3686
4585
  # @!attribute type
3687
4586
  # Caller-defined entity identifier resource.
3688
4587
  #
3689
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type]
4588
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::EntityIDResource::Type]
3690
4589
  required :type,
3691
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type }
4590
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::EntityIDResource::Type }
3692
4591
 
3693
4592
  # @!attribute value
3694
4593
  # Identifier value within namespace. SafetyKit stores a normalized hash of the
@@ -3699,7 +4598,7 @@ module SafetyKit
3699
4598
 
3700
4599
  # @!method initialize(namespace:, type:, value:)
3701
4600
  # Some parameter documentations has been truncated, see
3702
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource}
4601
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::EntityIDResource}
3703
4602
  # for more details.
3704
4603
  #
3705
4604
  # Caller-defined stable entity identifier resource. This is equivalent to an id
@@ -3707,13 +4606,13 @@ module SafetyKit
3707
4606
  #
3708
4607
  # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
3709
4608
  #
3710
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
4609
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
3711
4610
  #
3712
4611
  # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
3713
4612
 
3714
4613
  # Caller-defined entity identifier resource.
3715
4614
  #
3716
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource#type
4615
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::EntityIDResource#type
3717
4616
  module Type
3718
4617
  extend SafetyKit::Internal::Type::Enum
3719
4618
 
@@ -3742,7 +4641,7 @@ module SafetyKit
3742
4641
 
3743
4642
  # @!method initialize(type:, value:)
3744
4643
  # Some parameter documentations has been truncated, see
3745
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1}
4644
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::UnionMember1}
3746
4645
  # for more details.
3747
4646
  #
3748
4647
  # Real-world or account resource used during the event, such as an email, phone
@@ -3754,32 +4653,17 @@ module SafetyKit
3754
4653
  end
3755
4654
 
3756
4655
  # @!method self.variants
3757
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1)]
4656
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged::ResourcesUsed::UnionMember1)]
3758
4657
  end
3759
4658
  end
3760
4659
 
3761
- class ProductChanged < SafetyKit::Internal::Type::BaseModel
3762
- # @!attribute content
3763
- # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3764
- # listing text, image URLs, and similar content SafetyKit should compare or
3765
- # analyze.
3766
- #
3767
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent>]
3768
- required :content,
3769
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content] }
3770
-
4660
+ class CreateAccount < SafetyKit::Internal::Type::BaseModel
3771
4661
  # @!attribute event_name
3772
- # Product action that triggered this event.
3773
- #
3774
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::EventName]
3775
- required :event_name,
3776
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::EventName }
3777
-
3778
- # @!attribute product
3779
- # Commerce details for the product involved in this event.
4662
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
4663
+ # values in typed fields, content, resources_used, or metadata.
3780
4664
  #
3781
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product]
3782
- required :product, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product }
4665
+ # @return [String]
4666
+ required :event_name, String
3783
4667
 
3784
4668
  # @!attribute timestamp
3785
4669
  # The time the event occurred in your system, as an ISO 8601 datetime string.
@@ -3789,8 +4673,8 @@ module SafetyKit
3789
4673
 
3790
4674
  # @!attribute type
3791
4675
  #
3792
- # @return [Symbol, :product_changed]
3793
- required :type, const: :product_changed
4676
+ # @return [Symbol, :create_account]
4677
+ required :type, const: :create_account
3794
4678
 
3795
4679
  # @!attribute user_id
3796
4680
  # Your stable canonical identifier for the user or account.
@@ -3802,9 +4686,18 @@ module SafetyKit
3802
4686
  # Client context observed by your backend for the user action that triggered the
3803
4687
  # event.
3804
4688
  #
3805
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ClientInfo, nil]
4689
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ClientInfo, nil]
3806
4690
  optional :client_info,
3807
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ClientInfo }
4691
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ClientInfo }
4692
+
4693
+ # @!attribute content
4694
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
4695
+ # listing text, image URLs, and similar content SafetyKit should compare or
4696
+ # analyze.
4697
+ #
4698
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent>, nil]
4699
+ optional :content,
4700
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content] }
3808
4701
 
3809
4702
  # @!attribute content_id
3810
4703
  # Your stable identifier for the content involved in this event, such as a
@@ -3826,35 +4719,33 @@ module SafetyKit
3826
4719
  #
3827
4720
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
3828
4721
  optional :metadata,
3829
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Metadata] }
4722
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Metadata] }
3830
4723
 
3831
4724
  # @!attribute resources_used
3832
4725
  # Reusable resources observed during the event. Use this for emails, phone
3833
4726
  # numbers, names, addresses, social handles, URLs, payment identifiers,
3834
4727
  # caller-defined ids, or similar identifiers.
3835
4728
  #
3836
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1>, nil]
4729
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::UnionMember1>, nil]
3837
4730
  optional :resources_used,
3838
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed] }
4731
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed] }
3839
4732
 
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)
4733
+ # @!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)
3841
4734
  # Some parameter documentations has been truncated, see
3842
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged}
4735
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount}
3843
4736
  # for more details.
3844
4737
  #
3845
- # A product listing is created, updated, or has a discount added.
3846
- #
3847
- # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
3848
- #
3849
- # @param event_name [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::EventName] Product action that triggered this event.
4738
+ # A user or account is created.
3850
4739
  #
3851
- # @param product [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product] Commerce details for the product involved in this event.
4740
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
3852
4741
  #
3853
4742
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
3854
4743
  #
3855
4744
  # @param user_id [String] Your stable canonical identifier for the user or account.
3856
4745
  #
3857
- # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ClientInfo] Client context observed by your backend for the user action that triggered the e
4746
+ # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ClientInfo] Client context observed by your backend for the user action that triggered the e
4747
+ #
4748
+ # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
3858
4749
  #
3859
4750
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
3860
4751
  #
@@ -3862,19 +4753,34 @@ module SafetyKit
3862
4753
  #
3863
4754
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
3864
4755
  #
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
4756
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
3866
4757
  #
3867
- # @param type [Symbol, :product_changed]
4758
+ # @param type [Symbol, :create_account]
4759
+
4760
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount#client_info
4761
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
4762
+ # @!attribute ip
4763
+ # IP address observed by your backend for the client that triggered the event.
4764
+ #
4765
+ # @return [String, nil]
4766
+ optional :ip, String
4767
+
4768
+ # @!method initialize(ip: nil)
4769
+ # Client context observed by your backend for the user action that triggered the
4770
+ # event.
4771
+ #
4772
+ # @param ip [String] IP address observed by your backend for the client that triggered the event.
4773
+ end
3868
4774
 
3869
4775
  # User-authored text content associated with an event.
3870
4776
  module Content
3871
4777
  extend SafetyKit::Internal::Type::Union
3872
4778
 
3873
4779
  # User-authored text content associated with an event.
3874
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent }
4780
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventTextContent }
3875
4781
 
3876
4782
  # User-uploaded image content associated with an event.
3877
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent }
4783
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent }
3878
4784
 
3879
4785
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
3880
4786
  # @!attribute text
@@ -3886,9 +4792,9 @@ module SafetyKit
3886
4792
  # @!attribute type
3887
4793
  # Text content part.
3888
4794
  #
3889
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent::Type]
4795
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventTextContent::Type]
3890
4796
  required :type,
3891
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent::Type }
4797
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventTextContent::Type }
3892
4798
 
3893
4799
  # @!attribute key
3894
4800
  # Stable field key for this content part.
@@ -3901,13 +4807,13 @@ module SafetyKit
3901
4807
  #
3902
4808
  # @param text [String] User-authored text SafetyKit should compare or analyze.
3903
4809
  #
3904
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent::Type] Text content part.
4810
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventTextContent::Type] Text content part.
3905
4811
  #
3906
4812
  # @param key [String] Stable field key for this content part.
3907
4813
 
3908
4814
  # Text content part.
3909
4815
  #
3910
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent#type
4816
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventTextContent#type
3911
4817
  module Type
3912
4818
  extend SafetyKit::Internal::Type::Enum
3913
4819
 
@@ -3922,16 +4828,16 @@ module SafetyKit
3922
4828
  # @!attribute source
3923
4829
  # Image source information.
3924
4830
  #
3925
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source]
4831
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent::Source]
3926
4832
  required :source,
3927
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source }
4833
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent::Source }
3928
4834
 
3929
4835
  # @!attribute type
3930
4836
  # Image content part.
3931
4837
  #
3932
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Type]
4838
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent::Type]
3933
4839
  required :type,
3934
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Type }
4840
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent::Type }
3935
4841
 
3936
4842
  # @!attribute key
3937
4843
  # Stable field key for this content part.
@@ -3942,20 +4848,20 @@ module SafetyKit
3942
4848
  # @!method initialize(source:, type:, key: nil)
3943
4849
  # User-uploaded image content associated with an event.
3944
4850
  #
3945
- # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source] Image source information.
4851
+ # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent::Source] Image source information.
3946
4852
  #
3947
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Type] Image content part.
4853
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent::Type] Image content part.
3948
4854
  #
3949
4855
  # @param key [String] Stable field key for this content part.
3950
4856
 
3951
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent#source
4857
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent#source
3952
4858
  class Source < SafetyKit::Internal::Type::BaseModel
3953
4859
  # @!attribute type
3954
4860
  # URL image source.
3955
4861
  #
3956
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source::Type]
4862
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent::Source::Type]
3957
4863
  required :type,
3958
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source::Type }
4864
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent::Source::Type }
3959
4865
 
3960
4866
  # @!attribute url
3961
4867
  # URL of the image SafetyKit should compare or analyze.
@@ -3966,13 +4872,13 @@ module SafetyKit
3966
4872
  # @!method initialize(type:, url:)
3967
4873
  # Image source information.
3968
4874
  #
3969
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source::Type] URL image source.
4875
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent::Source::Type] URL image source.
3970
4876
  #
3971
4877
  # @param url [String] URL of the image SafetyKit should compare or analyze.
3972
4878
 
3973
4879
  # URL image source.
3974
4880
  #
3975
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source#type
4881
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent::Source#type
3976
4882
  module Type
3977
4883
  extend SafetyKit::Internal::Type::Enum
3978
4884
 
@@ -3985,7 +4891,7 @@ module SafetyKit
3985
4891
 
3986
4892
  # Image content part.
3987
4893
  #
3988
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent#type
4894
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent#type
3989
4895
  module Type
3990
4896
  extend SafetyKit::Internal::Type::Enum
3991
4897
 
@@ -3997,134 +4903,7 @@ module SafetyKit
3997
4903
  end
3998
4904
 
3999
4905
  # @!method self.variants
4000
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent)]
4001
- end
4002
-
4003
- # Product action that triggered this event.
4004
- #
4005
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged#event_name
4006
- module EventName
4007
- extend SafetyKit::Internal::Type::Enum
4008
-
4009
- PRODUCT_CREATED = :product_created
4010
- PRODUCT_UPDATED = :product_updated
4011
-
4012
- # @!method self.values
4013
- # @return [Array<Symbol>]
4014
- end
4015
-
4016
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged#product
4017
- class Product < SafetyKit::Internal::Type::BaseModel
4018
- # @!attribute price
4019
- # Current listed price of the product.
4020
- #
4021
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::Price]
4022
- required :price,
4023
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::Price }
4024
-
4025
- # @!attribute discounted_price
4026
- # Discounted price of the product, when a discount applies.
4027
- #
4028
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::DiscountedPrice, nil]
4029
- optional :discounted_price,
4030
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::DiscountedPrice }
4031
-
4032
- # @!attribute shipping_info
4033
- # Shipping details for the product.
4034
- #
4035
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::ShippingInfo, nil]
4036
- optional :shipping_info,
4037
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::ShippingInfo }
4038
-
4039
- # @!method initialize(price:, discounted_price: nil, shipping_info: nil)
4040
- # Commerce details for the product involved in this event.
4041
- #
4042
- # @param price [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::Price] Current listed price of the product.
4043
- #
4044
- # @param discounted_price [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::DiscountedPrice] Discounted price of the product, when a discount applies.
4045
- #
4046
- # @param shipping_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::ShippingInfo] Shipping details for the product.
4047
-
4048
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product#price
4049
- class Price < SafetyKit::Internal::Type::BaseModel
4050
- # @!attribute amount
4051
- # Price amount as a decimal string.
4052
- #
4053
- # @return [String]
4054
- required :amount, String
4055
-
4056
- # @!attribute currency
4057
- # ISO 4217 currency code.
4058
- #
4059
- # @return [String]
4060
- required :currency, String
4061
-
4062
- # @!method initialize(amount:, currency:)
4063
- # Current listed price of the product.
4064
- #
4065
- # @param amount [String] Price amount as a decimal string.
4066
- #
4067
- # @param currency [String] ISO 4217 currency code.
4068
- end
4069
-
4070
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product#discounted_price
4071
- class DiscountedPrice < SafetyKit::Internal::Type::BaseModel
4072
- # @!attribute amount
4073
- # Price amount as a decimal string.
4074
- #
4075
- # @return [String]
4076
- required :amount, String
4077
-
4078
- # @!attribute currency
4079
- # ISO 4217 currency code.
4080
- #
4081
- # @return [String]
4082
- required :currency, String
4083
-
4084
- # @!method initialize(amount:, currency:)
4085
- # Discounted price of the product, when a discount applies.
4086
- #
4087
- # @param amount [String] Price amount as a decimal string.
4088
- #
4089
- # @param currency [String] ISO 4217 currency code.
4090
- end
4091
-
4092
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product#shipping_info
4093
- class ShippingInfo < SafetyKit::Internal::Type::BaseModel
4094
- # @!attribute ships_from
4095
- # Location the product ships from.
4096
- #
4097
- # @return [String]
4098
- required :ships_from, String
4099
-
4100
- # @!attribute ships_to
4101
- # Locations the product ships to.
4102
- #
4103
- # @return [Array<String>]
4104
- required :ships_to, SafetyKit::Internal::Type::ArrayOf[String]
4105
-
4106
- # @!method initialize(ships_from:, ships_to:)
4107
- # Shipping details for the product.
4108
- #
4109
- # @param ships_from [String] Location the product ships from.
4110
- #
4111
- # @param ships_to [Array<String>] Locations the product ships to.
4112
- end
4113
- end
4114
-
4115
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged#client_info
4116
- class ClientInfo < SafetyKit::Internal::Type::BaseModel
4117
- # @!attribute ip
4118
- # IP address observed by your backend for the client that triggered the event.
4119
- #
4120
- # @return [String, nil]
4121
- optional :ip, String
4122
-
4123
- # @!method initialize(ip: nil)
4124
- # Client context observed by your backend for the user action that triggered the
4125
- # event.
4126
- #
4127
- # @param ip [String] IP address observed by your backend for the client that triggered the event.
4906
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Content::EventImageContent)]
4128
4907
  end
4129
4908
 
4130
4909
  module Metadata
@@ -4136,7 +4915,7 @@ module SafetyKit
4136
4915
 
4137
4916
  variant SafetyKit::Internal::Type::Boolean
4138
4917
 
4139
- variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Metadata::UnionMember3Array }
4918
+ variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Metadata::UnionMember3Array }
4140
4919
 
4141
4920
  module UnionMember3
4142
4921
  extend SafetyKit::Internal::Type::Union
@@ -4156,9 +4935,9 @@ module SafetyKit
4156
4935
 
4157
4936
  # @type [SafetyKit::Internal::Type::Converter]
4158
4937
  UnionMember3Array =
4159
- SafetyKit::Internal::Type::ArrayOf[
4160
- union: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Metadata::UnionMember3 }
4161
- ]
4938
+ SafetyKit::Internal::Type::ArrayOf[union: -> {
4939
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::Metadata::UnionMember3
4940
+ }]
4162
4941
  end
4163
4942
 
4164
4943
  # Real-world, account, social, or caller-defined resource used during the event.
@@ -4166,10 +4945,10 @@ module SafetyKit
4166
4945
  extend SafetyKit::Internal::Type::Union
4167
4946
 
4168
4947
  # 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 }
4948
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::EntityIDResource }
4170
4949
 
4171
4950
  # 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 }
4951
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::UnionMember1 }
4173
4952
 
4174
4953
  class EntityIDResource < SafetyKit::Internal::Type::BaseModel
4175
4954
  # @!attribute namespace
@@ -4182,9 +4961,9 @@ module SafetyKit
4182
4961
  # @!attribute type
4183
4962
  # Caller-defined entity identifier resource.
4184
4963
  #
4185
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type]
4964
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::EntityIDResource::Type]
4186
4965
  required :type,
4187
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type }
4966
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::EntityIDResource::Type }
4188
4967
 
4189
4968
  # @!attribute value
4190
4969
  # Identifier value within namespace. SafetyKit stores a normalized hash of the
@@ -4195,7 +4974,7 @@ module SafetyKit
4195
4974
 
4196
4975
  # @!method initialize(namespace:, type:, value:)
4197
4976
  # Some parameter documentations has been truncated, see
4198
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource}
4977
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::EntityIDResource}
4199
4978
  # for more details.
4200
4979
  #
4201
4980
  # Caller-defined stable entity identifier resource. This is equivalent to an id
@@ -4203,13 +4982,13 @@ module SafetyKit
4203
4982
  #
4204
4983
  # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
4205
4984
  #
4206
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
4985
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
4207
4986
  #
4208
4987
  # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
4209
4988
 
4210
4989
  # Caller-defined entity identifier resource.
4211
4990
  #
4212
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource#type
4991
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::EntityIDResource#type
4213
4992
  module Type
4214
4993
  extend SafetyKit::Internal::Type::Enum
4215
4994
 
@@ -4238,7 +5017,7 @@ module SafetyKit
4238
5017
 
4239
5018
  # @!method initialize(type:, value:)
4240
5019
  # Some parameter documentations has been truncated, see
4241
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1}
5020
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::UnionMember1}
4242
5021
  # for more details.
4243
5022
  #
4244
5023
  # Real-world or account resource used during the event, such as an email, phone
@@ -4250,11 +5029,11 @@ module SafetyKit
4250
5029
  end
4251
5030
 
4252
5031
  # @!method self.variants
4253
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1)]
5032
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount::ResourcesUsed::UnionMember1)]
4254
5033
  end
4255
5034
  end
4256
5035
 
4257
- class CreateAccount < SafetyKit::Internal::Type::BaseModel
5036
+ class UpdateAccount < SafetyKit::Internal::Type::BaseModel
4258
5037
  # @!attribute event_name
4259
5038
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
4260
5039
  # values in typed fields, content, resources_used, or metadata.
@@ -4270,8 +5049,8 @@ module SafetyKit
4270
5049
 
4271
5050
  # @!attribute type
4272
5051
  #
4273
- # @return [Symbol, :create_account]
4274
- required :type, const: :create_account
5052
+ # @return [Symbol, :update_account]
5053
+ required :type, const: :update_account
4275
5054
 
4276
5055
  # @!attribute user_id
4277
5056
  # Your stable canonical identifier for the user or account.
@@ -4283,18 +5062,18 @@ module SafetyKit
4283
5062
  # Client context observed by your backend for the user action that triggered the
4284
5063
  # event.
4285
5064
  #
4286
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ClientInfo, nil]
5065
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ClientInfo, nil]
4287
5066
  optional :client_info,
4288
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ClientInfo }
5067
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ClientInfo }
4289
5068
 
4290
5069
  # @!attribute content
4291
5070
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
4292
5071
  # listing text, image URLs, and similar content SafetyKit should compare or
4293
5072
  # analyze.
4294
5073
  #
4295
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent>, nil]
5074
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent>, nil]
4296
5075
  optional :content,
4297
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content] }
5076
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content] }
4298
5077
 
4299
5078
  # @!attribute content_id
4300
5079
  # Your stable identifier for the content involved in this event, such as a
@@ -4316,23 +5095,24 @@ module SafetyKit
4316
5095
  #
4317
5096
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
4318
5097
  optional :metadata,
4319
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Metadata] }
5098
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Metadata] }
4320
5099
 
4321
5100
  # @!attribute resources_used
4322
5101
  # Reusable resources observed during the event. Use this for emails, phone
4323
5102
  # numbers, names, addresses, social handles, URLs, payment identifiers,
4324
5103
  # caller-defined ids, or similar identifiers.
4325
5104
  #
4326
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1>, nil]
5105
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::UnionMember1>, nil]
4327
5106
  optional :resources_used,
4328
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed] }
5107
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed] }
4329
5108
 
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)
5109
+ # @!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)
4331
5110
  # Some parameter documentations has been truncated, see
4332
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount}
5111
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount}
4333
5112
  # for more details.
4334
5113
  #
4335
- # A user or account is created.
5114
+ # A user or account profile, contact detail, payment detail, or public bio
5115
+ # changes.
4336
5116
  #
4337
5117
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
4338
5118
  #
@@ -4340,9 +5120,9 @@ module SafetyKit
4340
5120
  #
4341
5121
  # @param user_id [String] Your stable canonical identifier for the user or account.
4342
5122
  #
4343
- # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ClientInfo] Client context observed by your backend for the user action that triggered the e
5123
+ # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ClientInfo] Client context observed by your backend for the user action that triggered the e
4344
5124
  #
4345
- # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
5125
+ # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
4346
5126
  #
4347
5127
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
4348
5128
  #
@@ -4350,11 +5130,11 @@ module SafetyKit
4350
5130
  #
4351
5131
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
4352
5132
  #
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
5133
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
4354
5134
  #
4355
- # @param type [Symbol, :create_account]
5135
+ # @param type [Symbol, :update_account]
4356
5136
 
4357
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount#client_info
5137
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount#client_info
4358
5138
  class ClientInfo < SafetyKit::Internal::Type::BaseModel
4359
5139
  # @!attribute ip
4360
5140
  # IP address observed by your backend for the client that triggered the event.
@@ -4374,10 +5154,10 @@ module SafetyKit
4374
5154
  extend SafetyKit::Internal::Type::Union
4375
5155
 
4376
5156
  # User-authored text content associated with an event.
4377
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent }
5157
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventTextContent }
4378
5158
 
4379
5159
  # User-uploaded image content associated with an event.
4380
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent }
5160
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent }
4381
5161
 
4382
5162
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
4383
5163
  # @!attribute text
@@ -4389,9 +5169,9 @@ module SafetyKit
4389
5169
  # @!attribute type
4390
5170
  # Text content part.
4391
5171
  #
4392
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent::Type]
5172
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventTextContent::Type]
4393
5173
  required :type,
4394
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent::Type }
5174
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventTextContent::Type }
4395
5175
 
4396
5176
  # @!attribute key
4397
5177
  # Stable field key for this content part.
@@ -4404,13 +5184,13 @@ module SafetyKit
4404
5184
  #
4405
5185
  # @param text [String] User-authored text SafetyKit should compare or analyze.
4406
5186
  #
4407
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent::Type] Text content part.
5187
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventTextContent::Type] Text content part.
4408
5188
  #
4409
5189
  # @param key [String] Stable field key for this content part.
4410
5190
 
4411
5191
  # Text content part.
4412
5192
  #
4413
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent#type
5193
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventTextContent#type
4414
5194
  module Type
4415
5195
  extend SafetyKit::Internal::Type::Enum
4416
5196
 
@@ -4425,16 +5205,16 @@ module SafetyKit
4425
5205
  # @!attribute source
4426
5206
  # Image source information.
4427
5207
  #
4428
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source]
5208
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent::Source]
4429
5209
  required :source,
4430
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source }
5210
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent::Source }
4431
5211
 
4432
5212
  # @!attribute type
4433
5213
  # Image content part.
4434
5214
  #
4435
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Type]
5215
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent::Type]
4436
5216
  required :type,
4437
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Type }
5217
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent::Type }
4438
5218
 
4439
5219
  # @!attribute key
4440
5220
  # Stable field key for this content part.
@@ -4445,20 +5225,20 @@ module SafetyKit
4445
5225
  # @!method initialize(source:, type:, key: nil)
4446
5226
  # User-uploaded image content associated with an event.
4447
5227
  #
4448
- # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source] Image source information.
5228
+ # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent::Source] Image source information.
4449
5229
  #
4450
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Type] Image content part.
5230
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent::Type] Image content part.
4451
5231
  #
4452
5232
  # @param key [String] Stable field key for this content part.
4453
5233
 
4454
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent#source
5234
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent#source
4455
5235
  class Source < SafetyKit::Internal::Type::BaseModel
4456
5236
  # @!attribute type
4457
5237
  # URL image source.
4458
5238
  #
4459
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source::Type]
5239
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent::Source::Type]
4460
5240
  required :type,
4461
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source::Type }
5241
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent::Source::Type }
4462
5242
 
4463
5243
  # @!attribute url
4464
5244
  # URL of the image SafetyKit should compare or analyze.
@@ -4469,13 +5249,13 @@ module SafetyKit
4469
5249
  # @!method initialize(type:, url:)
4470
5250
  # Image source information.
4471
5251
  #
4472
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source::Type] URL image source.
5252
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent::Source::Type] URL image source.
4473
5253
  #
4474
5254
  # @param url [String] URL of the image SafetyKit should compare or analyze.
4475
5255
 
4476
5256
  # URL image source.
4477
5257
  #
4478
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source#type
5258
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent::Source#type
4479
5259
  module Type
4480
5260
  extend SafetyKit::Internal::Type::Enum
4481
5261
 
@@ -4488,7 +5268,7 @@ module SafetyKit
4488
5268
 
4489
5269
  # Image content part.
4490
5270
  #
4491
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent#type
5271
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent#type
4492
5272
  module Type
4493
5273
  extend SafetyKit::Internal::Type::Enum
4494
5274
 
@@ -4500,7 +5280,7 @@ module SafetyKit
4500
5280
  end
4501
5281
 
4502
5282
  # @!method self.variants
4503
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent)]
5283
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Content::EventImageContent)]
4504
5284
  end
4505
5285
 
4506
5286
  module Metadata
@@ -4512,7 +5292,7 @@ module SafetyKit
4512
5292
 
4513
5293
  variant SafetyKit::Internal::Type::Boolean
4514
5294
 
4515
- variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Metadata::UnionMember3Array }
5295
+ variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Metadata::UnionMember3Array }
4516
5296
 
4517
5297
  module UnionMember3
4518
5298
  extend SafetyKit::Internal::Type::Union
@@ -4533,7 +5313,7 @@ module SafetyKit
4533
5313
  # @type [SafetyKit::Internal::Type::Converter]
4534
5314
  UnionMember3Array =
4535
5315
  SafetyKit::Internal::Type::ArrayOf[union: -> {
4536
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Metadata::UnionMember3
5316
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::Metadata::UnionMember3
4537
5317
  }]
4538
5318
  end
4539
5319
 
@@ -4542,10 +5322,10 @@ module SafetyKit
4542
5322
  extend SafetyKit::Internal::Type::Union
4543
5323
 
4544
5324
  # 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 }
5325
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::EntityIDResource }
4546
5326
 
4547
5327
  # 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 }
5328
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::UnionMember1 }
4549
5329
 
4550
5330
  class EntityIDResource < SafetyKit::Internal::Type::BaseModel
4551
5331
  # @!attribute namespace
@@ -4558,9 +5338,9 @@ module SafetyKit
4558
5338
  # @!attribute type
4559
5339
  # Caller-defined entity identifier resource.
4560
5340
  #
4561
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type]
5341
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::EntityIDResource::Type]
4562
5342
  required :type,
4563
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type }
5343
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::EntityIDResource::Type }
4564
5344
 
4565
5345
  # @!attribute value
4566
5346
  # Identifier value within namespace. SafetyKit stores a normalized hash of the
@@ -4571,7 +5351,7 @@ module SafetyKit
4571
5351
 
4572
5352
  # @!method initialize(namespace:, type:, value:)
4573
5353
  # Some parameter documentations has been truncated, see
4574
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource}
5354
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::EntityIDResource}
4575
5355
  # for more details.
4576
5356
  #
4577
5357
  # Caller-defined stable entity identifier resource. This is equivalent to an id
@@ -4579,13 +5359,13 @@ module SafetyKit
4579
5359
  #
4580
5360
  # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
4581
5361
  #
4582
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
5362
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
4583
5363
  #
4584
5364
  # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
4585
5365
 
4586
5366
  # Caller-defined entity identifier resource.
4587
5367
  #
4588
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource#type
5368
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::EntityIDResource#type
4589
5369
  module Type
4590
5370
  extend SafetyKit::Internal::Type::Enum
4591
5371
 
@@ -4614,7 +5394,7 @@ module SafetyKit
4614
5394
 
4615
5395
  # @!method initialize(type:, value:)
4616
5396
  # Some parameter documentations has been truncated, see
4617
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1}
5397
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::UnionMember1}
4618
5398
  # for more details.
4619
5399
  #
4620
5400
  # Real-world or account resource used during the event, such as an email, phone
@@ -4626,11 +5406,11 @@ module SafetyKit
4626
5406
  end
4627
5407
 
4628
5408
  # @!method self.variants
4629
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1)]
5409
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount::ResourcesUsed::UnionMember1)]
4630
5410
  end
4631
5411
  end
4632
5412
 
4633
- class UpdateAccount < SafetyKit::Internal::Type::BaseModel
5413
+ class UserReport < SafetyKit::Internal::Type::BaseModel
4634
5414
  # @!attribute event_name
4635
5415
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
4636
5416
  # values in typed fields, content, resources_used, or metadata.
@@ -4638,6 +5418,12 @@ module SafetyKit
4638
5418
  # @return [String]
4639
5419
  required :event_name, String
4640
5420
 
5421
+ # @!attribute labels
5422
+ # One or more label categories supplied with the report or moderation decision.
5423
+ #
5424
+ # @return [Array<String>]
5425
+ required :labels, SafetyKit::Internal::Type::ArrayOf[String]
5426
+
4641
5427
  # @!attribute timestamp
4642
5428
  # The time the event occurred in your system, as an ISO 8601 datetime string.
4643
5429
  #
@@ -4646,8 +5432,8 @@ module SafetyKit
4646
5432
 
4647
5433
  # @!attribute type
4648
5434
  #
4649
- # @return [Symbol, :update_account]
4650
- required :type, const: :update_account
5435
+ # @return [Symbol, :user_report]
5436
+ required :type, const: :user_report
4651
5437
 
4652
5438
  # @!attribute user_id
4653
5439
  # Your stable canonical identifier for the user or account.
@@ -4659,18 +5445,18 @@ module SafetyKit
4659
5445
  # Client context observed by your backend for the user action that triggered the
4660
5446
  # event.
4661
5447
  #
4662
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ClientInfo, nil]
5448
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ClientInfo, nil]
4663
5449
  optional :client_info,
4664
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ClientInfo }
5450
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ClientInfo }
4665
5451
 
4666
5452
  # @!attribute content
4667
5453
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
4668
5454
  # listing text, image URLs, and similar content SafetyKit should compare or
4669
5455
  # analyze.
4670
5456
  #
4671
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent>, nil]
5457
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent>, nil]
4672
5458
  optional :content,
4673
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content] }
5459
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content] }
4674
5460
 
4675
5461
  # @!attribute content_id
4676
5462
  # Your stable identifier for the content involved in this event, such as a
@@ -4692,34 +5478,50 @@ module SafetyKit
4692
5478
  #
4693
5479
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
4694
5480
  optional :metadata,
4695
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Metadata] }
5481
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Metadata] }
4696
5482
 
4697
5483
  # @!attribute resources_used
4698
5484
  # Reusable resources observed during the event. Use this for emails, phone
4699
5485
  # numbers, names, addresses, social handles, URLs, payment identifiers,
4700
5486
  # caller-defined ids, or similar identifiers.
4701
5487
  #
4702
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1>, nil]
5488
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::UnionMember1>, nil]
4703
5489
  optional :resources_used,
4704
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed] }
5490
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed] }
4705
5491
 
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)
5492
+ # @!attribute target_content_id
5493
+ # Your stable identifier for the content being reported.
5494
+ #
5495
+ # @return [String, nil]
5496
+ optional :target_content_id, String
5497
+
5498
+ # @!attribute target_user_id
5499
+ # Your stable canonical identifier for the user being reported.
5500
+ #
5501
+ # @return [String, nil]
5502
+ optional :target_user_id, String
5503
+
5504
+ # @!method initialize(event_name:, labels:, timestamp:, user_id:, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, target_content_id: nil, target_user_id: nil, type: :user_report)
4707
5505
  # Some parameter documentations has been truncated, see
4708
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount}
4709
- # for more details.
5506
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport} for
5507
+ # more details.
4710
5508
  #
4711
- # A user or account profile, contact detail, payment detail, or public bio
4712
- # changes.
5509
+ # A user-submitted report. Use user_id for the reporter. Include target_user_id
5510
+ # when a user is reported, target_content_id when content is reported, and both
5511
+ # when the report is about content associated with a user. Use content and
5512
+ # content_id for the report itself.
4713
5513
  #
4714
5514
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
4715
5515
  #
5516
+ # @param labels [Array<String>] One or more label categories supplied with the report or moderation decision.
5517
+ #
4716
5518
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
4717
5519
  #
4718
5520
  # @param user_id [String] Your stable canonical identifier for the user or account.
4719
5521
  #
4720
- # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ClientInfo] Client context observed by your backend for the user action that triggered the e
5522
+ # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ClientInfo] Client context observed by your backend for the user action that triggered the e
4721
5523
  #
4722
- # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
5524
+ # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
4723
5525
  #
4724
5526
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
4725
5527
  #
@@ -4727,11 +5529,15 @@ module SafetyKit
4727
5529
  #
4728
5530
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
4729
5531
  #
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
5532
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
4731
5533
  #
4732
- # @param type [Symbol, :update_account]
5534
+ # @param target_content_id [String] Your stable identifier for the content being reported.
5535
+ #
5536
+ # @param target_user_id [String] Your stable canonical identifier for the user being reported.
5537
+ #
5538
+ # @param type [Symbol, :user_report]
4733
5539
 
4734
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount#client_info
5540
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport#client_info
4735
5541
  class ClientInfo < SafetyKit::Internal::Type::BaseModel
4736
5542
  # @!attribute ip
4737
5543
  # IP address observed by your backend for the client that triggered the event.
@@ -4751,10 +5557,10 @@ module SafetyKit
4751
5557
  extend SafetyKit::Internal::Type::Union
4752
5558
 
4753
5559
  # User-authored text content associated with an event.
4754
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent }
5560
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventTextContent }
4755
5561
 
4756
5562
  # User-uploaded image content associated with an event.
4757
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent }
5563
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent }
4758
5564
 
4759
5565
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
4760
5566
  # @!attribute text
@@ -4766,9 +5572,9 @@ module SafetyKit
4766
5572
  # @!attribute type
4767
5573
  # Text content part.
4768
5574
  #
4769
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent::Type]
5575
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventTextContent::Type]
4770
5576
  required :type,
4771
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent::Type }
5577
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventTextContent::Type }
4772
5578
 
4773
5579
  # @!attribute key
4774
5580
  # Stable field key for this content part.
@@ -4781,13 +5587,13 @@ module SafetyKit
4781
5587
  #
4782
5588
  # @param text [String] User-authored text SafetyKit should compare or analyze.
4783
5589
  #
4784
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent::Type] Text content part.
5590
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventTextContent::Type] Text content part.
4785
5591
  #
4786
5592
  # @param key [String] Stable field key for this content part.
4787
5593
 
4788
5594
  # Text content part.
4789
5595
  #
4790
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent#type
5596
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventTextContent#type
4791
5597
  module Type
4792
5598
  extend SafetyKit::Internal::Type::Enum
4793
5599
 
@@ -4802,16 +5608,16 @@ module SafetyKit
4802
5608
  # @!attribute source
4803
5609
  # Image source information.
4804
5610
  #
4805
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source]
5611
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent::Source]
4806
5612
  required :source,
4807
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source }
5613
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent::Source }
4808
5614
 
4809
5615
  # @!attribute type
4810
5616
  # Image content part.
4811
5617
  #
4812
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Type]
5618
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent::Type]
4813
5619
  required :type,
4814
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Type }
5620
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent::Type }
4815
5621
 
4816
5622
  # @!attribute key
4817
5623
  # Stable field key for this content part.
@@ -4822,20 +5628,20 @@ module SafetyKit
4822
5628
  # @!method initialize(source:, type:, key: nil)
4823
5629
  # User-uploaded image content associated with an event.
4824
5630
  #
4825
- # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source] Image source information.
5631
+ # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent::Source] Image source information.
4826
5632
  #
4827
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Type] Image content part.
5633
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent::Type] Image content part.
4828
5634
  #
4829
5635
  # @param key [String] Stable field key for this content part.
4830
5636
 
4831
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent#source
5637
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent#source
4832
5638
  class Source < SafetyKit::Internal::Type::BaseModel
4833
5639
  # @!attribute type
4834
5640
  # URL image source.
4835
5641
  #
4836
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source::Type]
5642
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent::Source::Type]
4837
5643
  required :type,
4838
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source::Type }
5644
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent::Source::Type }
4839
5645
 
4840
5646
  # @!attribute url
4841
5647
  # URL of the image SafetyKit should compare or analyze.
@@ -4846,13 +5652,13 @@ module SafetyKit
4846
5652
  # @!method initialize(type:, url:)
4847
5653
  # Image source information.
4848
5654
  #
4849
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source::Type] URL image source.
5655
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent::Source::Type] URL image source.
4850
5656
  #
4851
5657
  # @param url [String] URL of the image SafetyKit should compare or analyze.
4852
5658
 
4853
5659
  # URL image source.
4854
5660
  #
4855
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source#type
5661
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent::Source#type
4856
5662
  module Type
4857
5663
  extend SafetyKit::Internal::Type::Enum
4858
5664
 
@@ -4865,7 +5671,7 @@ module SafetyKit
4865
5671
 
4866
5672
  # Image content part.
4867
5673
  #
4868
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent#type
5674
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent#type
4869
5675
  module Type
4870
5676
  extend SafetyKit::Internal::Type::Enum
4871
5677
 
@@ -4877,7 +5683,7 @@ module SafetyKit
4877
5683
  end
4878
5684
 
4879
5685
  # @!method self.variants
4880
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent)]
5686
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Content::EventImageContent)]
4881
5687
  end
4882
5688
 
4883
5689
  module Metadata
@@ -4889,7 +5695,7 @@ module SafetyKit
4889
5695
 
4890
5696
  variant SafetyKit::Internal::Type::Boolean
4891
5697
 
4892
- variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Metadata::UnionMember3Array }
5698
+ variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Metadata::UnionMember3Array }
4893
5699
 
4894
5700
  module UnionMember3
4895
5701
  extend SafetyKit::Internal::Type::Union
@@ -4910,7 +5716,7 @@ module SafetyKit
4910
5716
  # @type [SafetyKit::Internal::Type::Converter]
4911
5717
  UnionMember3Array =
4912
5718
  SafetyKit::Internal::Type::ArrayOf[union: -> {
4913
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Metadata::UnionMember3
5719
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::Metadata::UnionMember3
4914
5720
  }]
4915
5721
  end
4916
5722
 
@@ -4919,10 +5725,10 @@ module SafetyKit
4919
5725
  extend SafetyKit::Internal::Type::Union
4920
5726
 
4921
5727
  # 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 }
5728
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::EntityIDResource }
4923
5729
 
4924
5730
  # 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 }
5731
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::UnionMember1 }
4926
5732
 
4927
5733
  class EntityIDResource < SafetyKit::Internal::Type::BaseModel
4928
5734
  # @!attribute namespace
@@ -4935,9 +5741,9 @@ module SafetyKit
4935
5741
  # @!attribute type
4936
5742
  # Caller-defined entity identifier resource.
4937
5743
  #
4938
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type]
5744
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::EntityIDResource::Type]
4939
5745
  required :type,
4940
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type }
5746
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::EntityIDResource::Type }
4941
5747
 
4942
5748
  # @!attribute value
4943
5749
  # Identifier value within namespace. SafetyKit stores a normalized hash of the
@@ -4948,7 +5754,7 @@ module SafetyKit
4948
5754
 
4949
5755
  # @!method initialize(namespace:, type:, value:)
4950
5756
  # Some parameter documentations has been truncated, see
4951
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource}
5757
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::EntityIDResource}
4952
5758
  # for more details.
4953
5759
  #
4954
5760
  # Caller-defined stable entity identifier resource. This is equivalent to an id
@@ -4956,13 +5762,13 @@ module SafetyKit
4956
5762
  #
4957
5763
  # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
4958
5764
  #
4959
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
5765
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
4960
5766
  #
4961
5767
  # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
4962
5768
 
4963
5769
  # Caller-defined entity identifier resource.
4964
5770
  #
4965
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource#type
5771
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::EntityIDResource#type
4966
5772
  module Type
4967
5773
  extend SafetyKit::Internal::Type::Enum
4968
5774
 
@@ -4991,7 +5797,7 @@ module SafetyKit
4991
5797
 
4992
5798
  # @!method initialize(type:, value:)
4993
5799
  # Some parameter documentations has been truncated, see
4994
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1}
5800
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::UnionMember1}
4995
5801
  # for more details.
4996
5802
  #
4997
5803
  # Real-world or account resource used during the event, such as an email, phone
@@ -5003,11 +5809,11 @@ module SafetyKit
5003
5809
  end
5004
5810
 
5005
5811
  # @!method self.variants
5006
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1)]
5812
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport::ResourcesUsed::UnionMember1)]
5007
5813
  end
5008
5814
  end
5009
5815
 
5010
- class UserReport < SafetyKit::Internal::Type::BaseModel
5816
+ class Appeal < SafetyKit::Internal::Type::BaseModel
5011
5817
  # @!attribute event_name
5012
5818
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
5013
5819
  # values in typed fields, content, resources_used, or metadata.
@@ -5015,12 +5821,6 @@ module SafetyKit
5015
5821
  # @return [String]
5016
5822
  required :event_name, String
5017
5823
 
5018
- # @!attribute labels
5019
- # One or more label categories supplied with the report or moderation decision.
5020
- #
5021
- # @return [Array<String>]
5022
- required :labels, SafetyKit::Internal::Type::ArrayOf[String]
5023
-
5024
5824
  # @!attribute timestamp
5025
5825
  # The time the event occurred in your system, as an ISO 8601 datetime string.
5026
5826
  #
@@ -5029,8 +5829,8 @@ module SafetyKit
5029
5829
 
5030
5830
  # @!attribute type
5031
5831
  #
5032
- # @return [Symbol, :user_report]
5033
- required :type, const: :user_report
5832
+ # @return [Symbol, :appeal]
5833
+ required :type, const: :appeal
5034
5834
 
5035
5835
  # @!attribute user_id
5036
5836
  # Your stable canonical identifier for the user or account.
@@ -5038,22 +5838,29 @@ module SafetyKit
5038
5838
  # @return [String]
5039
5839
  required :user_id, String
5040
5840
 
5841
+ # @!attribute appealed_decision_id
5842
+ # Your stable identifier for the moderation decision or enforcement action being
5843
+ # appealed, such as the content_id of a moderation_decision event you previously
5844
+ # sent.
5845
+ #
5846
+ # @return [String, nil]
5847
+ optional :appealed_decision_id, String
5848
+
5041
5849
  # @!attribute client_info
5042
5850
  # Client context observed by your backend for the user action that triggered the
5043
5851
  # event.
5044
5852
  #
5045
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ClientInfo, nil]
5046
- optional :client_info,
5047
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ClientInfo }
5853
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ClientInfo, nil]
5854
+ optional :client_info, -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ClientInfo }
5048
5855
 
5049
5856
  # @!attribute content
5050
5857
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
5051
5858
  # listing text, image URLs, and similar content SafetyKit should compare or
5052
5859
  # analyze.
5053
5860
  #
5054
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent>, nil]
5861
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent>, nil]
5055
5862
  optional :content,
5056
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content] }
5863
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content] }
5057
5864
 
5058
5865
  # @!attribute content_id
5059
5866
  # Your stable identifier for the content involved in this event, such as a
@@ -5075,50 +5882,37 @@ module SafetyKit
5075
5882
  #
5076
5883
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
5077
5884
  optional :metadata,
5078
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Metadata] }
5885
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Metadata] }
5079
5886
 
5080
5887
  # @!attribute resources_used
5081
5888
  # Reusable resources observed during the event. Use this for emails, phone
5082
5889
  # numbers, names, addresses, social handles, URLs, payment identifiers,
5083
5890
  # caller-defined ids, or similar identifiers.
5084
5891
  #
5085
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1>, nil]
5892
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::UnionMember1>, nil]
5086
5893
  optional :resources_used,
5087
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed] }
5088
-
5089
- # @!attribute target_content_id
5090
- # Your stable identifier for the content being reported.
5091
- #
5092
- # @return [String, nil]
5093
- optional :target_content_id, String
5094
-
5095
- # @!attribute target_user_id
5096
- # Your stable canonical identifier for the user being reported.
5097
- #
5098
- # @return [String, nil]
5099
- optional :target_user_id, String
5894
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed] }
5100
5895
 
5101
- # @!method initialize(event_name:, labels:, timestamp:, user_id:, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, target_content_id: nil, target_user_id: nil, type: :user_report)
5896
+ # @!method initialize(event_name:, timestamp:, user_id:, appealed_decision_id: nil, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :appeal)
5102
5897
  # Some parameter documentations has been truncated, see
5103
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport} for
5104
- # more details.
5898
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal} for more
5899
+ # details.
5105
5900
  #
5106
- # A user-submitted report. Use user_id for the reporter. Include target_user_id
5107
- # when a user is reported, target_content_id when content is reported, and both
5108
- # when the report is about content associated with a user. Use content and
5109
- # content_id for the report itself.
5901
+ # A user appeals a moderation action taken against them. Use user_id for the
5902
+ # appealing user, appealed_decision_id to reference the decision being appealed,
5903
+ # and content and content_id for the appeal itself.
5110
5904
  #
5111
5905
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
5112
5906
  #
5113
- # @param labels [Array<String>] One or more label categories supplied with the report or moderation decision.
5114
- #
5115
5907
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
5116
5908
  #
5117
5909
  # @param user_id [String] Your stable canonical identifier for the user or account.
5118
5910
  #
5119
- # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ClientInfo] Client context observed by your backend for the user action that triggered the e
5911
+ # @param appealed_decision_id [String] Your stable identifier for the moderation decision or enforcement action being a
5120
5912
  #
5121
- # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
5913
+ # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ClientInfo] Client context observed by your backend for the user action that triggered the e
5914
+ #
5915
+ # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
5122
5916
  #
5123
5917
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
5124
5918
  #
@@ -5126,15 +5920,11 @@ module SafetyKit
5126
5920
  #
5127
5921
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
5128
5922
  #
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
5130
- #
5131
- # @param target_content_id [String] Your stable identifier for the content being reported.
5132
- #
5133
- # @param target_user_id [String] Your stable canonical identifier for the user being reported.
5923
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
5134
5924
  #
5135
- # @param type [Symbol, :user_report]
5925
+ # @param type [Symbol, :appeal]
5136
5926
 
5137
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport#client_info
5927
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal#client_info
5138
5928
  class ClientInfo < SafetyKit::Internal::Type::BaseModel
5139
5929
  # @!attribute ip
5140
5930
  # IP address observed by your backend for the client that triggered the event.
@@ -5154,10 +5944,10 @@ module SafetyKit
5154
5944
  extend SafetyKit::Internal::Type::Union
5155
5945
 
5156
5946
  # User-authored text content associated with an event.
5157
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent }
5947
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventTextContent }
5158
5948
 
5159
5949
  # User-uploaded image content associated with an event.
5160
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent }
5950
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent }
5161
5951
 
5162
5952
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
5163
5953
  # @!attribute text
@@ -5169,9 +5959,9 @@ module SafetyKit
5169
5959
  # @!attribute type
5170
5960
  # Text content part.
5171
5961
  #
5172
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent::Type]
5962
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventTextContent::Type]
5173
5963
  required :type,
5174
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent::Type }
5964
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventTextContent::Type }
5175
5965
 
5176
5966
  # @!attribute key
5177
5967
  # Stable field key for this content part.
@@ -5184,13 +5974,13 @@ module SafetyKit
5184
5974
  #
5185
5975
  # @param text [String] User-authored text SafetyKit should compare or analyze.
5186
5976
  #
5187
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent::Type] Text content part.
5977
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventTextContent::Type] Text content part.
5188
5978
  #
5189
5979
  # @param key [String] Stable field key for this content part.
5190
5980
 
5191
5981
  # Text content part.
5192
5982
  #
5193
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent#type
5983
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventTextContent#type
5194
5984
  module Type
5195
5985
  extend SafetyKit::Internal::Type::Enum
5196
5986
 
@@ -5205,16 +5995,16 @@ module SafetyKit
5205
5995
  # @!attribute source
5206
5996
  # Image source information.
5207
5997
  #
5208
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source]
5998
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent::Source]
5209
5999
  required :source,
5210
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source }
6000
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent::Source }
5211
6001
 
5212
6002
  # @!attribute type
5213
6003
  # Image content part.
5214
6004
  #
5215
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Type]
6005
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent::Type]
5216
6006
  required :type,
5217
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Type }
6007
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent::Type }
5218
6008
 
5219
6009
  # @!attribute key
5220
6010
  # Stable field key for this content part.
@@ -5225,20 +6015,20 @@ module SafetyKit
5225
6015
  # @!method initialize(source:, type:, key: nil)
5226
6016
  # User-uploaded image content associated with an event.
5227
6017
  #
5228
- # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source] Image source information.
6018
+ # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent::Source] Image source information.
5229
6019
  #
5230
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Type] Image content part.
6020
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent::Type] Image content part.
5231
6021
  #
5232
6022
  # @param key [String] Stable field key for this content part.
5233
6023
 
5234
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent#source
6024
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent#source
5235
6025
  class Source < SafetyKit::Internal::Type::BaseModel
5236
6026
  # @!attribute type
5237
6027
  # URL image source.
5238
6028
  #
5239
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source::Type]
6029
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent::Source::Type]
5240
6030
  required :type,
5241
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source::Type }
6031
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent::Source::Type }
5242
6032
 
5243
6033
  # @!attribute url
5244
6034
  # URL of the image SafetyKit should compare or analyze.
@@ -5249,13 +6039,13 @@ module SafetyKit
5249
6039
  # @!method initialize(type:, url:)
5250
6040
  # Image source information.
5251
6041
  #
5252
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source::Type] URL image source.
6042
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent::Source::Type] URL image source.
5253
6043
  #
5254
6044
  # @param url [String] URL of the image SafetyKit should compare or analyze.
5255
6045
 
5256
6046
  # URL image source.
5257
6047
  #
5258
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source#type
6048
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent::Source#type
5259
6049
  module Type
5260
6050
  extend SafetyKit::Internal::Type::Enum
5261
6051
 
@@ -5268,7 +6058,7 @@ module SafetyKit
5268
6058
 
5269
6059
  # Image content part.
5270
6060
  #
5271
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent#type
6061
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent#type
5272
6062
  module Type
5273
6063
  extend SafetyKit::Internal::Type::Enum
5274
6064
 
@@ -5280,7 +6070,7 @@ module SafetyKit
5280
6070
  end
5281
6071
 
5282
6072
  # @!method self.variants
5283
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent)]
6073
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Content::EventImageContent)]
5284
6074
  end
5285
6075
 
5286
6076
  module Metadata
@@ -5292,7 +6082,7 @@ module SafetyKit
5292
6082
 
5293
6083
  variant SafetyKit::Internal::Type::Boolean
5294
6084
 
5295
- variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Metadata::UnionMember3Array }
6085
+ variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Metadata::UnionMember3Array }
5296
6086
 
5297
6087
  module UnionMember3
5298
6088
  extend SafetyKit::Internal::Type::Union
@@ -5313,7 +6103,7 @@ module SafetyKit
5313
6103
  # @type [SafetyKit::Internal::Type::Converter]
5314
6104
  UnionMember3Array =
5315
6105
  SafetyKit::Internal::Type::ArrayOf[union: -> {
5316
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Metadata::UnionMember3
6106
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::Metadata::UnionMember3
5317
6107
  }]
5318
6108
  end
5319
6109
 
@@ -5322,10 +6112,10 @@ module SafetyKit
5322
6112
  extend SafetyKit::Internal::Type::Union
5323
6113
 
5324
6114
  # 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 }
6115
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::EntityIDResource }
5326
6116
 
5327
6117
  # 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 }
6118
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::UnionMember1 }
5329
6119
 
5330
6120
  class EntityIDResource < SafetyKit::Internal::Type::BaseModel
5331
6121
  # @!attribute namespace
@@ -5338,9 +6128,9 @@ module SafetyKit
5338
6128
  # @!attribute type
5339
6129
  # Caller-defined entity identifier resource.
5340
6130
  #
5341
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type]
6131
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::EntityIDResource::Type]
5342
6132
  required :type,
5343
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type }
6133
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::EntityIDResource::Type }
5344
6134
 
5345
6135
  # @!attribute value
5346
6136
  # Identifier value within namespace. SafetyKit stores a normalized hash of the
@@ -5351,7 +6141,7 @@ module SafetyKit
5351
6141
 
5352
6142
  # @!method initialize(namespace:, type:, value:)
5353
6143
  # Some parameter documentations has been truncated, see
5354
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource}
6144
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::EntityIDResource}
5355
6145
  # for more details.
5356
6146
  #
5357
6147
  # Caller-defined stable entity identifier resource. This is equivalent to an id
@@ -5359,13 +6149,13 @@ module SafetyKit
5359
6149
  #
5360
6150
  # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
5361
6151
  #
5362
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
6152
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
5363
6153
  #
5364
6154
  # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
5365
6155
 
5366
6156
  # Caller-defined entity identifier resource.
5367
6157
  #
5368
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource#type
6158
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::EntityIDResource#type
5369
6159
  module Type
5370
6160
  extend SafetyKit::Internal::Type::Enum
5371
6161
 
@@ -5394,7 +6184,7 @@ module SafetyKit
5394
6184
 
5395
6185
  # @!method initialize(type:, value:)
5396
6186
  # Some parameter documentations has been truncated, see
5397
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1}
6187
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::UnionMember1}
5398
6188
  # for more details.
5399
6189
  #
5400
6190
  # Real-world or account resource used during the event, such as an email, phone
@@ -5406,7 +6196,7 @@ module SafetyKit
5406
6196
  end
5407
6197
 
5408
6198
  # @!method self.variants
5409
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1)]
6199
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal::ResourcesUsed::UnionMember1)]
5410
6200
  end
5411
6201
  end
5412
6202
 
@@ -5439,9 +6229,9 @@ module SafetyKit
5439
6229
  # automated model, rules engine, or enforcement workflow), or vendor (an external
5440
6230
  # review or moderation provider).
5441
6231
  #
5442
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::SourceType]
6232
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::SourceType]
5443
6233
  required :source_type,
5444
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::SourceType }
6234
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::SourceType }
5445
6235
 
5446
6236
  # @!attribute timestamp
5447
6237
  # The time the event occurred in your system, as an ISO 8601 datetime string.
@@ -5458,18 +6248,18 @@ module SafetyKit
5458
6248
  # Client context observed by your backend for the user action that triggered the
5459
6249
  # event.
5460
6250
  #
5461
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ClientInfo, nil]
6251
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ClientInfo, nil]
5462
6252
  optional :client_info,
5463
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ClientInfo }
6253
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ClientInfo }
5464
6254
 
5465
6255
  # @!attribute content
5466
6256
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
5467
6257
  # listing text, image URLs, and similar content SafetyKit should compare or
5468
6258
  # analyze.
5469
6259
  #
5470
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent>, nil]
6260
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent>, nil]
5471
6261
  optional :content,
5472
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content] }
6262
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content] }
5473
6263
 
5474
6264
  # @!attribute content_id
5475
6265
  # Your stable identifier for the content involved in this event, such as a
@@ -5491,16 +6281,16 @@ module SafetyKit
5491
6281
  #
5492
6282
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
5493
6283
  optional :metadata,
5494
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Metadata] }
6284
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Metadata] }
5495
6285
 
5496
6286
  # @!attribute resources_used
5497
6287
  # Reusable resources observed during the event. Use this for emails, phone
5498
6288
  # numbers, names, addresses, social handles, URLs, payment identifiers,
5499
6289
  # caller-defined ids, or similar identifiers.
5500
6290
  #
5501
- # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1>, nil]
6291
+ # @return [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::UnionMember1>, nil]
5502
6292
  optional :resources_used,
5503
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed] }
6293
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed] }
5504
6294
 
5505
6295
  # @!attribute target_content_id
5506
6296
  # Your stable identifier for the content being reported.
@@ -5516,7 +6306,7 @@ module SafetyKit
5516
6306
 
5517
6307
  # @!method initialize(event_name:, labels:, source_id:, source_type:, timestamp:, client_info: nil, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, target_content_id: nil, target_user_id: nil, type: :moderation_decision)
5518
6308
  # Some parameter documentations has been truncated, see
5519
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision}
6309
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision}
5520
6310
  # for more details.
5521
6311
  #
5522
6312
  # A moderation label or decision from an automated enforcement system or manual
@@ -5529,13 +6319,13 @@ module SafetyKit
5529
6319
  #
5530
6320
  # @param source_id [String] Stable identifier within source_type. Examples: moderator@example.com or 550e840
5531
6321
  #
5532
- # @param source_type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::SourceType] Coarse attribution category for the moderation decision source. Supported values
6322
+ # @param source_type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::SourceType] Coarse attribution category for the moderation decision source. Supported values
5533
6323
  #
5534
6324
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
5535
6325
  #
5536
- # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ClientInfo] Client context observed by your backend for the user action that triggered the e
6326
+ # @param client_info [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ClientInfo] Client context observed by your backend for the user action that triggered the e
5537
6327
  #
5538
- # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
6328
+ # @param content [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
5539
6329
  #
5540
6330
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
5541
6331
  #
@@ -5543,7 +6333,7 @@ module SafetyKit
5543
6333
  #
5544
6334
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
5545
6335
  #
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
6336
+ # @param resources_used [Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::UnionMember1>] Reusable resources observed during the event. Use this for emails, phone numbers
5547
6337
  #
5548
6338
  # @param target_content_id [String] Your stable identifier for the content being reported.
5549
6339
  #
@@ -5557,7 +6347,7 @@ module SafetyKit
5557
6347
  # automated model, rules engine, or enforcement workflow), or vendor (an external
5558
6348
  # review or moderation provider).
5559
6349
  #
5560
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision#source_type
6350
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision#source_type
5561
6351
  module SourceType
5562
6352
  extend SafetyKit::Internal::Type::Enum
5563
6353
 
@@ -5570,7 +6360,7 @@ module SafetyKit
5570
6360
  # @return [Array<Symbol>]
5571
6361
  end
5572
6362
 
5573
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision#client_info
6363
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision#client_info
5574
6364
  class ClientInfo < SafetyKit::Internal::Type::BaseModel
5575
6365
  # @!attribute ip
5576
6366
  # IP address observed by your backend for the client that triggered the event.
@@ -5590,10 +6380,10 @@ module SafetyKit
5590
6380
  extend SafetyKit::Internal::Type::Union
5591
6381
 
5592
6382
  # User-authored text content associated with an event.
5593
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent }
6383
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventTextContent }
5594
6384
 
5595
6385
  # User-uploaded image content associated with an event.
5596
- variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent }
6386
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent }
5597
6387
 
5598
6388
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
5599
6389
  # @!attribute text
@@ -5605,9 +6395,9 @@ module SafetyKit
5605
6395
  # @!attribute type
5606
6396
  # Text content part.
5607
6397
  #
5608
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent::Type]
6398
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventTextContent::Type]
5609
6399
  required :type,
5610
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent::Type }
6400
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventTextContent::Type }
5611
6401
 
5612
6402
  # @!attribute key
5613
6403
  # Stable field key for this content part.
@@ -5620,13 +6410,13 @@ module SafetyKit
5620
6410
  #
5621
6411
  # @param text [String] User-authored text SafetyKit should compare or analyze.
5622
6412
  #
5623
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent::Type] Text content part.
6413
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventTextContent::Type] Text content part.
5624
6414
  #
5625
6415
  # @param key [String] Stable field key for this content part.
5626
6416
 
5627
6417
  # Text content part.
5628
6418
  #
5629
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent#type
6419
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventTextContent#type
5630
6420
  module Type
5631
6421
  extend SafetyKit::Internal::Type::Enum
5632
6422
 
@@ -5641,16 +6431,16 @@ module SafetyKit
5641
6431
  # @!attribute source
5642
6432
  # Image source information.
5643
6433
  #
5644
- # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source]
6434
+ # @return [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent::Source]
5645
6435
  required :source,
5646
- -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source }
6436
+ -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent::Source }
5647
6437
 
5648
6438
  # @!attribute type
5649
6439
  # Image content part.
5650
6440
  #
5651
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Type]
6441
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent::Type]
5652
6442
  required :type,
5653
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Type }
6443
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent::Type }
5654
6444
 
5655
6445
  # @!attribute key
5656
6446
  # Stable field key for this content part.
@@ -5661,20 +6451,20 @@ module SafetyKit
5661
6451
  # @!method initialize(source:, type:, key: nil)
5662
6452
  # User-uploaded image content associated with an event.
5663
6453
  #
5664
- # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source] Image source information.
6454
+ # @param source [SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent::Source] Image source information.
5665
6455
  #
5666
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Type] Image content part.
6456
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent::Type] Image content part.
5667
6457
  #
5668
6458
  # @param key [String] Stable field key for this content part.
5669
6459
 
5670
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent#source
6460
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent#source
5671
6461
  class Source < SafetyKit::Internal::Type::BaseModel
5672
6462
  # @!attribute type
5673
6463
  # URL image source.
5674
6464
  #
5675
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source::Type]
6465
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent::Source::Type]
5676
6466
  required :type,
5677
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source::Type }
6467
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent::Source::Type }
5678
6468
 
5679
6469
  # @!attribute url
5680
6470
  # URL of the image SafetyKit should compare or analyze.
@@ -5685,13 +6475,13 @@ module SafetyKit
5685
6475
  # @!method initialize(type:, url:)
5686
6476
  # Image source information.
5687
6477
  #
5688
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source::Type] URL image source.
6478
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent::Source::Type] URL image source.
5689
6479
  #
5690
6480
  # @param url [String] URL of the image SafetyKit should compare or analyze.
5691
6481
 
5692
6482
  # URL image source.
5693
6483
  #
5694
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source#type
6484
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent::Source#type
5695
6485
  module Type
5696
6486
  extend SafetyKit::Internal::Type::Enum
5697
6487
 
@@ -5704,7 +6494,7 @@ module SafetyKit
5704
6494
 
5705
6495
  # Image content part.
5706
6496
  #
5707
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent#type
6497
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent#type
5708
6498
  module Type
5709
6499
  extend SafetyKit::Internal::Type::Enum
5710
6500
 
@@ -5716,7 +6506,7 @@ module SafetyKit
5716
6506
  end
5717
6507
 
5718
6508
  # @!method self.variants
5719
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent)]
6509
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventTextContent, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Content::EventImageContent)]
5720
6510
  end
5721
6511
 
5722
6512
  module Metadata
@@ -5728,7 +6518,7 @@ module SafetyKit
5728
6518
 
5729
6519
  variant SafetyKit::Internal::Type::Boolean
5730
6520
 
5731
- variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Metadata::UnionMember3Array }
6521
+ variant -> { SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Metadata::UnionMember3Array }
5732
6522
 
5733
6523
  module UnionMember3
5734
6524
  extend SafetyKit::Internal::Type::Union
@@ -5749,7 +6539,7 @@ module SafetyKit
5749
6539
  # @type [SafetyKit::Internal::Type::Converter]
5750
6540
  UnionMember3Array =
5751
6541
  SafetyKit::Internal::Type::ArrayOf[
5752
- union: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Metadata::UnionMember3 }
6542
+ union: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::Metadata::UnionMember3 }
5753
6543
  ]
5754
6544
  end
5755
6545
 
@@ -5758,10 +6548,10 @@ module SafetyKit
5758
6548
  extend SafetyKit::Internal::Type::Union
5759
6549
 
5760
6550
  # 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 }
6551
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::EntityIDResource }
5762
6552
 
5763
6553
  # 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 }
6554
+ variant -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::UnionMember1 }
5765
6555
 
5766
6556
  class EntityIDResource < SafetyKit::Internal::Type::BaseModel
5767
6557
  # @!attribute namespace
@@ -5774,9 +6564,9 @@ module SafetyKit
5774
6564
  # @!attribute type
5775
6565
  # Caller-defined entity identifier resource.
5776
6566
  #
5777
- # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type]
6567
+ # @return [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::EntityIDResource::Type]
5778
6568
  required :type,
5779
- enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type }
6569
+ enum: -> { SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::EntityIDResource::Type }
5780
6570
 
5781
6571
  # @!attribute value
5782
6572
  # Identifier value within namespace. SafetyKit stores a normalized hash of the
@@ -5787,7 +6577,7 @@ module SafetyKit
5787
6577
 
5788
6578
  # @!method initialize(namespace:, type:, value:)
5789
6579
  # Some parameter documentations has been truncated, see
5790
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource}
6580
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::EntityIDResource}
5791
6581
  # for more details.
5792
6582
  #
5793
6583
  # Caller-defined stable entity identifier resource. This is equivalent to an id
@@ -5795,13 +6585,13 @@ module SafetyKit
5795
6585
  #
5796
6586
  # @param namespace [String] Caller-defined namespace for the identifier. SafetyKit stores this with value as
5797
6587
  #
5798
- # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
6588
+ # @param type [Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::EntityIDResource::Type] Caller-defined entity identifier resource.
5799
6589
  #
5800
6590
  # @param value [String] Identifier value within namespace. SafetyKit stores a normalized hash of the enc
5801
6591
 
5802
6592
  # Caller-defined entity identifier resource.
5803
6593
  #
5804
- # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource#type
6594
+ # @see SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::EntityIDResource#type
5805
6595
  module Type
5806
6596
  extend SafetyKit::Internal::Type::Enum
5807
6597
 
@@ -5830,7 +6620,7 @@ module SafetyKit
5830
6620
 
5831
6621
  # @!method initialize(type:, value:)
5832
6622
  # Some parameter documentations has been truncated, see
5833
- # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1}
6623
+ # {SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::UnionMember1}
5834
6624
  # for more details.
5835
6625
  #
5836
6626
  # Real-world or account resource used during the event, such as an email, phone
@@ -5842,21 +6632,21 @@ module SafetyKit
5842
6632
  end
5843
6633
 
5844
6634
  # @!method self.variants
5845
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1)]
6635
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::EntityIDResource, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision::ResourcesUsed::UnionMember1)]
5846
6636
  end
5847
6637
  end
5848
6638
 
5849
6639
  # @!method self.variants
5850
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision)]
6640
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision)]
5851
6641
  end
5852
6642
 
5853
6643
  # @!method self.variants
5854
- # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision>)]
6644
+ # @return [Array(SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision>)]
5855
6645
 
5856
6646
  # @type [SafetyKit::Internal::Type::Converter]
5857
- UnionMember7Array =
6647
+ UnionMember8Array =
5858
6648
  SafetyKit::Internal::Type::ArrayOf[union: -> {
5859
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7
6649
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember8
5860
6650
  }]
5861
6651
  end
5862
6652
  end