safetykit 0.19.0 → 0.21.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.
@@ -13,14 +13,14 @@ module SafetyKit
13
13
  # your server after an action has happened in your product. Do not send these
14
14
  # events directly from a browser or mobile client.
15
15
  #
16
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UserReportEventRequest, Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport>]
16
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UserReportEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision>]
17
17
  required :body, union: -> { SafetyKit::Beta::EventCreateParams::Body }
18
18
 
19
19
  # @!method initialize(body:, request_options: {})
20
20
  # Some parameter documentations has been truncated, see
21
21
  # {SafetyKit::Models::Beta::EventCreateParams} for more details.
22
22
  #
23
- # @param body [SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UserReportEventRequest, Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport>] Backend event or ordered batch of events to send to SafetyKit. Send events from
23
+ # @param body [SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UserReportEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision>] Backend event or ordered batch of events to send to SafetyKit. Send events from
24
24
  #
25
25
  # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
26
26
 
@@ -45,7 +45,10 @@ module SafetyKit
45
45
  # 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.
46
46
  variant -> { SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest }
47
47
 
48
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5Array }
48
+ # 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.
49
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest }
50
+
51
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6Array }
49
52
 
50
53
  class UserContactEventRequest < SafetyKit::Internal::Type::BaseModel
51
54
  # @!attribute event_name
@@ -1583,192 +1586,848 @@ module SafetyKit
1583
1586
  end
1584
1587
  end
1585
1588
 
1586
- # A user contacts, transacts with, or otherwise interacts with another user.
1587
- module UnionMember5
1588
- extend SafetyKit::Internal::Type::Union
1589
-
1590
- discriminator :type
1591
-
1592
- # A user contacts, transacts with, or otherwise interacts with another user.
1593
- variant :user_contact, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact }
1589
+ class ModerationDecisionEventRequest < SafetyKit::Internal::Type::BaseModel
1590
+ # @!attribute event_name
1591
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
1592
+ # values in typed fields, content, resources_used, or metadata.
1593
+ #
1594
+ # @return [String]
1595
+ required :event_name, String
1594
1596
 
1595
- # A user posts, uploads, publishes, edits, or replaces content.
1596
- variant :content_uploaded, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded }
1597
+ # @!attribute labels
1598
+ # One or more label categories supplied with the report.
1599
+ #
1600
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Label>]
1601
+ required :labels,
1602
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Label] }
1597
1603
 
1598
- # A user or account is created.
1599
- variant :create_account, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount }
1604
+ # @!attribute source_id
1605
+ # Stable identifier within source_type. For automation, use a versioned system
1606
+ # identifier; for human_moderator, use the manual reviewer id.
1607
+ #
1608
+ # @return [String]
1609
+ required :source_id, String
1600
1610
 
1601
- # A user or account profile, contact detail, payment detail, or public bio changes.
1602
- variant :update_account, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount }
1611
+ # @!attribute source_type
1612
+ # Coarse attribution category for the decision source. Use one of human_moderator,
1613
+ # expert_labeler, automation, or vendor.
1614
+ #
1615
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::SourceType]
1616
+ required :source_type,
1617
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::SourceType }
1603
1618
 
1604
- # 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.
1605
- variant :user_report, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport }
1619
+ # @!attribute timestamp
1620
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
1621
+ #
1622
+ # @return [Time]
1623
+ required :timestamp, Time
1606
1624
 
1607
- class UserContact < SafetyKit::Internal::Type::BaseModel
1608
- # @!attribute event_name
1609
- # Stable, low-cardinality product action name. Use snake_case and put dynamic
1610
- # values in typed fields, content, resources_used, or metadata.
1611
- #
1612
- # @return [String]
1613
- required :event_name, String
1625
+ # @!attribute type
1626
+ #
1627
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type]
1628
+ required :type,
1629
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type }
1614
1630
 
1615
- # @!attribute target_user_id
1616
- # Your stable canonical identifier for the other user in a user-to-user
1617
- # interaction.
1618
- #
1619
- # @return [String]
1620
- required :target_user_id, String
1631
+ # @!attribute content
1632
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
1633
+ # listing text, image URLs, and similar content SafetyKit should compare or
1634
+ # analyze.
1635
+ #
1636
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent>, nil]
1637
+ optional :content,
1638
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content] }
1621
1639
 
1622
- # @!attribute timestamp
1623
- # The time the event occurred in your system, as an ISO 8601 datetime string.
1624
- #
1625
- # @return [Time]
1626
- required :timestamp, Time
1640
+ # @!attribute content_id
1641
+ # Your stable identifier for the content involved in this event, such as a
1642
+ # message, listing, page, post, profile, or uploaded media item.
1643
+ #
1644
+ # @return [String, nil]
1645
+ optional :content_id, String
1627
1646
 
1628
- # @!attribute type
1629
- #
1630
- # @return [Symbol, :user_contact]
1631
- required :type, const: :user_contact
1647
+ # @!attribute idempotency_key
1648
+ # Optional caller-provided key used to make retries of this individual event
1649
+ # idempotent. Reuse the same key only for retries of the same logical event.
1650
+ #
1651
+ # @return [String, nil]
1652
+ optional :idempotency_key, String
1632
1653
 
1633
- # @!attribute user_id
1634
- # Your stable canonical identifier for the user or account.
1635
- #
1636
- # @return [String]
1637
- required :user_id, String
1654
+ # @!attribute metadata
1655
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
1656
+ # be strings, numbers, booleans, or arrays of those scalar values.
1657
+ #
1658
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
1659
+ optional :metadata,
1660
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata] }
1638
1661
 
1639
- # @!attribute content
1640
- # User-authored or user-uploaded content parts. Use this for message bodies, bios,
1641
- # listing text, image URLs, and similar content SafetyKit should compare or
1642
- # analyze.
1643
- #
1644
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent>, nil]
1645
- optional :content,
1646
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content] }
1662
+ # @!attribute resources_used
1663
+ # Reusable resources observed during the event. Use this for emails, phone
1664
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1665
+ # identifiers.
1666
+ #
1667
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed>, nil]
1668
+ optional :resources_used,
1669
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed] }
1647
1670
 
1648
- # @!attribute content_id
1649
- # Your stable identifier for the content involved in this event, such as a
1650
- # message, listing, page, post, profile, or uploaded media item.
1651
- #
1652
- # @return [String, nil]
1653
- optional :content_id, String
1671
+ # @!attribute target_content_id
1672
+ # Your stable identifier for the content being reported.
1673
+ #
1674
+ # @return [String, nil]
1675
+ optional :target_content_id, String
1654
1676
 
1655
- # @!attribute idempotency_key
1656
- # Optional caller-provided key used to make retries of this individual event
1657
- # idempotent. Reuse the same key only for retries of the same logical event.
1658
- #
1659
- # @return [String, nil]
1660
- optional :idempotency_key, String
1677
+ # @!attribute target_user_id
1678
+ # Your stable canonical identifier for the user being reported.
1679
+ #
1680
+ # @return [String, nil]
1681
+ optional :target_user_id, String
1661
1682
 
1662
- # @!attribute metadata
1663
- # Non-PII product context for filtering, segmentation, and debugging. Values may
1664
- # be strings, numbers, booleans, or arrays of those scalar values.
1665
- #
1666
- # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
1667
- optional :metadata,
1668
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata] }
1683
+ # @!method initialize(event_name:, labels:, source_id:, source_type:, timestamp:, type:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, target_content_id: nil, target_user_id: nil)
1684
+ # Some parameter documentations has been truncated, see
1685
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest}
1686
+ # for more details.
1687
+ #
1688
+ # A moderation label or decision from an automated enforcement system or manual
1689
+ # review workflow. Do not send user_id; use source_type and source_id for
1690
+ # attribution.
1691
+ #
1692
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
1693
+ #
1694
+ # @param labels [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Label>] One or more label categories supplied with the report.
1695
+ #
1696
+ # @param source_id [String] Stable identifier within source_type. For automation, use a versioned system ide
1697
+ #
1698
+ # @param source_type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::SourceType] Coarse attribution category for the decision source. Use one of human_moderator,
1699
+ #
1700
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
1701
+ #
1702
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type]
1703
+ #
1704
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
1705
+ #
1706
+ # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
1707
+ #
1708
+ # @param idempotency_key [String] Optional caller-provided key used to make retries of this individual event idemp
1709
+ #
1710
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
1711
+ #
1712
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
1713
+ #
1714
+ # @param target_content_id [String] Your stable identifier for the content being reported.
1715
+ #
1716
+ # @param target_user_id [String] Your stable canonical identifier for the user being reported.
1669
1717
 
1670
- # @!attribute resources_used
1671
- # Reusable resources observed during the event. Use this for emails, phone
1672
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1673
- # identifiers.
1718
+ class Label < SafetyKit::Internal::Type::BaseModel
1719
+ # @!attribute label
1720
+ # Stable snake_case report label category.
1674
1721
  #
1675
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::ResourcesUsed>, nil]
1676
- optional :resources_used,
1677
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::ResourcesUsed] }
1722
+ # @return [String]
1723
+ required :label, String
1678
1724
 
1679
- # @!method initialize(event_name:, target_user_id:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :user_contact)
1680
- # Some parameter documentations has been truncated, see
1681
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact}
1682
- # for more details.
1683
- #
1684
- # A user contacts, transacts with, or otherwise interacts with another user.
1685
- #
1686
- # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
1687
- #
1688
- # @param target_user_id [String] Your stable canonical identifier for the other user in a user-to-user interactio
1689
- #
1690
- # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
1691
- #
1692
- # @param user_id [String] Your stable canonical identifier for the user or account.
1693
- #
1694
- # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
1695
- #
1696
- # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
1697
- #
1698
- # @param idempotency_key [String] Optional caller-provided key used to make retries of this individual event idemp
1699
- #
1700
- # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
1701
- #
1702
- # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
1725
+ # @!method initialize(label:)
1726
+ # Label category supplied with a user report.
1703
1727
  #
1704
- # @param type [Symbol, :user_contact]
1728
+ # @param label [String] Stable snake_case report label category.
1729
+ end
1705
1730
 
1706
- # User-authored text content associated with an event.
1707
- module Content
1708
- extend SafetyKit::Internal::Type::Union
1731
+ # Coarse attribution category for the decision source. Use one of human_moderator,
1732
+ # expert_labeler, automation, or vendor.
1733
+ #
1734
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest#source_type
1735
+ module SourceType
1736
+ extend SafetyKit::Internal::Type::Enum
1709
1737
 
1710
- # User-authored text content associated with an event.
1711
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent }
1738
+ HUMAN_MODERATOR = :human_moderator
1739
+ EXPERT_LABELER = :expert_labeler
1740
+ AUTOMATION = :automation
1741
+ VENDOR = :vendor
1712
1742
 
1713
- # User-uploaded image content associated with an event.
1714
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent }
1743
+ # @!method self.values
1744
+ # @return [Array<Symbol>]
1745
+ end
1715
1746
 
1716
- class EventTextContent < SafetyKit::Internal::Type::BaseModel
1717
- # @!attribute text
1718
- # User-authored text SafetyKit should compare or analyze.
1719
- #
1720
- # @return [String]
1721
- required :text, String
1747
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest#type
1748
+ module Type
1749
+ extend SafetyKit::Internal::Type::Enum
1722
1750
 
1723
- # @!attribute type
1724
- # Text content part.
1725
- #
1726
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent::Type]
1727
- required :type,
1728
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent::Type }
1751
+ MODERATION_DECISION = :moderation_decision
1729
1752
 
1730
- # @!attribute key
1731
- # Stable field key for this content part.
1732
- #
1733
- # @return [String, nil]
1734
- optional :key, String
1753
+ # @!method self.values
1754
+ # @return [Array<Symbol>]
1755
+ end
1735
1756
 
1736
- # @!method initialize(text:, type:, key: nil)
1737
- # User-authored text content associated with an event.
1738
- #
1739
- # @param text [String] User-authored text SafetyKit should compare or analyze.
1740
- #
1741
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent::Type] Text content part.
1742
- #
1743
- # @param key [String] Stable field key for this content part.
1757
+ # User-authored text content associated with an event.
1758
+ module Content
1759
+ extend SafetyKit::Internal::Type::Union
1744
1760
 
1745
- # Text content part.
1746
- #
1747
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent#type
1748
- module Type
1749
- extend SafetyKit::Internal::Type::Enum
1761
+ # User-authored text content associated with an event.
1762
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent }
1750
1763
 
1751
- TEXT = :text
1764
+ # User-uploaded image content associated with an event.
1765
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent }
1752
1766
 
1753
- # @!method self.values
1754
- # @return [Array<Symbol>]
1755
- end
1756
- end
1767
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
1768
+ # @!attribute text
1769
+ # User-authored text SafetyKit should compare or analyze.
1770
+ #
1771
+ # @return [String]
1772
+ required :text, String
1757
1773
 
1758
- class EventImageContent < SafetyKit::Internal::Type::BaseModel
1759
- # @!attribute source
1760
- # Image source information.
1761
- #
1762
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source]
1763
- required :source,
1764
- -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source }
1774
+ # @!attribute type
1775
+ # Text content part.
1776
+ #
1777
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type]
1778
+ required :type,
1779
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type }
1765
1780
 
1766
- # @!attribute type
1767
- # Image content part.
1768
- #
1769
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type]
1770
- required :type,
1771
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type }
1781
+ # @!attribute key
1782
+ # Stable field key for this content part.
1783
+ #
1784
+ # @return [String, nil]
1785
+ optional :key, String
1786
+
1787
+ # @!method initialize(text:, type:, key: nil)
1788
+ # User-authored text content associated with an event.
1789
+ #
1790
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
1791
+ #
1792
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type] Text content part.
1793
+ #
1794
+ # @param key [String] Stable field key for this content part.
1795
+
1796
+ # Text content part.
1797
+ #
1798
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent#type
1799
+ module Type
1800
+ extend SafetyKit::Internal::Type::Enum
1801
+
1802
+ TEXT = :text
1803
+
1804
+ # @!method self.values
1805
+ # @return [Array<Symbol>]
1806
+ end
1807
+ end
1808
+
1809
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
1810
+ # @!attribute source
1811
+ # Image source information.
1812
+ #
1813
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source]
1814
+ required :source,
1815
+ -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source }
1816
+
1817
+ # @!attribute type
1818
+ # Image content part.
1819
+ #
1820
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type]
1821
+ required :type,
1822
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type }
1823
+
1824
+ # @!attribute key
1825
+ # Stable field key for this content part.
1826
+ #
1827
+ # @return [String, nil]
1828
+ optional :key, String
1829
+
1830
+ # @!method initialize(source:, type:, key: nil)
1831
+ # User-uploaded image content associated with an event.
1832
+ #
1833
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source] Image source information.
1834
+ #
1835
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type] Image content part.
1836
+ #
1837
+ # @param key [String] Stable field key for this content part.
1838
+
1839
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent#source
1840
+ class Source < SafetyKit::Internal::Type::BaseModel
1841
+ # @!attribute type
1842
+ # URL image source.
1843
+ #
1844
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type]
1845
+ required :type,
1846
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type }
1847
+
1848
+ # @!attribute url
1849
+ # URL of the image SafetyKit should compare or analyze.
1850
+ #
1851
+ # @return [String]
1852
+ required :url, String
1853
+
1854
+ # @!method initialize(type:, url:)
1855
+ # Image source information.
1856
+ #
1857
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type] URL image source.
1858
+ #
1859
+ # @param url [String] URL of the image SafetyKit should compare or analyze.
1860
+
1861
+ # URL image source.
1862
+ #
1863
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source#type
1864
+ module Type
1865
+ extend SafetyKit::Internal::Type::Enum
1866
+
1867
+ URL = :url
1868
+
1869
+ # @!method self.values
1870
+ # @return [Array<Symbol>]
1871
+ end
1872
+ end
1873
+
1874
+ # Image content part.
1875
+ #
1876
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent#type
1877
+ module Type
1878
+ extend SafetyKit::Internal::Type::Enum
1879
+
1880
+ IMAGE = :image
1881
+
1882
+ # @!method self.values
1883
+ # @return [Array<Symbol>]
1884
+ end
1885
+ end
1886
+
1887
+ # @!method self.variants
1888
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent)]
1889
+ end
1890
+
1891
+ module Metadata
1892
+ extend SafetyKit::Internal::Type::Union
1893
+
1894
+ variant String
1895
+
1896
+ variant Float
1897
+
1898
+ variant SafetyKit::Internal::Type::Boolean
1899
+
1900
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::UnionMember3Array }
1901
+
1902
+ module UnionMember3
1903
+ extend SafetyKit::Internal::Type::Union
1904
+
1905
+ variant String
1906
+
1907
+ variant Float
1908
+
1909
+ variant SafetyKit::Internal::Type::Boolean
1910
+
1911
+ # @!method self.variants
1912
+ # @return [Array(String, Float, Boolean)]
1913
+ end
1914
+
1915
+ # @!method self.variants
1916
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
1917
+
1918
+ # @type [SafetyKit::Internal::Type::Converter]
1919
+ UnionMember3Array =
1920
+ SafetyKit::Internal::Type::ArrayOf[
1921
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::UnionMember3 }
1922
+ ]
1923
+ end
1924
+
1925
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1926
+ # @!attribute type
1927
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
1928
+ # youtube, linkedin, or another stable snake_case identifier.
1929
+ #
1930
+ # @return [String]
1931
+ required :type, String
1932
+
1933
+ # @!attribute value
1934
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
1935
+ # value, not the raw value. When type is url, this must be a valid URL.
1936
+ #
1937
+ # @return [String]
1938
+ required :value, String
1939
+
1940
+ # @!method initialize(type:, value:)
1941
+ # Some parameter documentations has been truncated, see
1942
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed}
1943
+ # for more details.
1944
+ #
1945
+ # Real-world or account resource used during the event, such as an email, phone
1946
+ # number, address, URL, social handle, or payment identifier.
1947
+ #
1948
+ # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
1949
+ #
1950
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
1951
+ end
1952
+ end
1953
+
1954
+ # A user contacts, transacts with, or otherwise interacts with another user.
1955
+ module UnionMember6
1956
+ extend SafetyKit::Internal::Type::Union
1957
+
1958
+ discriminator :type
1959
+
1960
+ # A user contacts, transacts with, or otherwise interacts with another user.
1961
+ variant :user_contact, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact }
1962
+
1963
+ # A user posts, uploads, publishes, edits, or replaces content.
1964
+ variant :content_uploaded, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded }
1965
+
1966
+ # A user or account is created.
1967
+ variant :create_account, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount }
1968
+
1969
+ # A user or account profile, contact detail, payment detail, or public bio changes.
1970
+ variant :update_account, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount }
1971
+
1972
+ # 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.
1973
+ variant :user_report, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport }
1974
+
1975
+ # 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.
1976
+ variant :moderation_decision,
1977
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision }
1978
+
1979
+ class UserContact < SafetyKit::Internal::Type::BaseModel
1980
+ # @!attribute event_name
1981
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
1982
+ # values in typed fields, content, resources_used, or metadata.
1983
+ #
1984
+ # @return [String]
1985
+ required :event_name, String
1986
+
1987
+ # @!attribute target_user_id
1988
+ # Your stable canonical identifier for the other user in a user-to-user
1989
+ # interaction.
1990
+ #
1991
+ # @return [String]
1992
+ required :target_user_id, String
1993
+
1994
+ # @!attribute timestamp
1995
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
1996
+ #
1997
+ # @return [Time]
1998
+ required :timestamp, Time
1999
+
2000
+ # @!attribute type
2001
+ #
2002
+ # @return [Symbol, :user_contact]
2003
+ required :type, const: :user_contact
2004
+
2005
+ # @!attribute user_id
2006
+ # Your stable canonical identifier for the user or account.
2007
+ #
2008
+ # @return [String]
2009
+ required :user_id, String
2010
+
2011
+ # @!attribute content
2012
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2013
+ # listing text, image URLs, and similar content SafetyKit should compare or
2014
+ # analyze.
2015
+ #
2016
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent>, nil]
2017
+ optional :content,
2018
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content] }
2019
+
2020
+ # @!attribute content_id
2021
+ # Your stable identifier for the content involved in this event, such as a
2022
+ # message, listing, page, post, profile, or uploaded media item.
2023
+ #
2024
+ # @return [String, nil]
2025
+ optional :content_id, String
2026
+
2027
+ # @!attribute idempotency_key
2028
+ # Optional caller-provided key used to make retries of this individual event
2029
+ # idempotent. Reuse the same key only for retries of the same logical event.
2030
+ #
2031
+ # @return [String, nil]
2032
+ optional :idempotency_key, String
2033
+
2034
+ # @!attribute metadata
2035
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
2036
+ # be strings, numbers, booleans, or arrays of those scalar values.
2037
+ #
2038
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2039
+ optional :metadata,
2040
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata] }
2041
+
2042
+ # @!attribute resources_used
2043
+ # Reusable resources observed during the event. Use this for emails, phone
2044
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2045
+ # identifiers.
2046
+ #
2047
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed>, nil]
2048
+ optional :resources_used,
2049
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed] }
2050
+
2051
+ # @!method initialize(event_name:, target_user_id:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :user_contact)
2052
+ # Some parameter documentations has been truncated, see
2053
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact}
2054
+ # for more details.
2055
+ #
2056
+ # A user contacts, transacts with, or otherwise interacts with another user.
2057
+ #
2058
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2059
+ #
2060
+ # @param target_user_id [String] Your stable canonical identifier for the other user in a user-to-user interactio
2061
+ #
2062
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
2063
+ #
2064
+ # @param user_id [String] Your stable canonical identifier for the user or account.
2065
+ #
2066
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
2067
+ #
2068
+ # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
2069
+ #
2070
+ # @param idempotency_key [String] Optional caller-provided key used to make retries of this individual event idemp
2071
+ #
2072
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2073
+ #
2074
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2075
+ #
2076
+ # @param type [Symbol, :user_contact]
2077
+
2078
+ # User-authored text content associated with an event.
2079
+ module Content
2080
+ extend SafetyKit::Internal::Type::Union
2081
+
2082
+ # User-authored text content associated with an event.
2083
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent }
2084
+
2085
+ # User-uploaded image content associated with an event.
2086
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent }
2087
+
2088
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
2089
+ # @!attribute text
2090
+ # User-authored text SafetyKit should compare or analyze.
2091
+ #
2092
+ # @return [String]
2093
+ required :text, String
2094
+
2095
+ # @!attribute type
2096
+ # Text content part.
2097
+ #
2098
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type]
2099
+ required :type,
2100
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type }
2101
+
2102
+ # @!attribute key
2103
+ # Stable field key for this content part.
2104
+ #
2105
+ # @return [String, nil]
2106
+ optional :key, String
2107
+
2108
+ # @!method initialize(text:, type:, key: nil)
2109
+ # User-authored text content associated with an event.
2110
+ #
2111
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
2112
+ #
2113
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type] Text content part.
2114
+ #
2115
+ # @param key [String] Stable field key for this content part.
2116
+
2117
+ # Text content part.
2118
+ #
2119
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent#type
2120
+ module Type
2121
+ extend SafetyKit::Internal::Type::Enum
2122
+
2123
+ TEXT = :text
2124
+
2125
+ # @!method self.values
2126
+ # @return [Array<Symbol>]
2127
+ end
2128
+ end
2129
+
2130
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
2131
+ # @!attribute source
2132
+ # Image source information.
2133
+ #
2134
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source]
2135
+ required :source,
2136
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source }
2137
+
2138
+ # @!attribute type
2139
+ # Image content part.
2140
+ #
2141
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type]
2142
+ required :type,
2143
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type }
2144
+
2145
+ # @!attribute key
2146
+ # Stable field key for this content part.
2147
+ #
2148
+ # @return [String, nil]
2149
+ optional :key, String
2150
+
2151
+ # @!method initialize(source:, type:, key: nil)
2152
+ # User-uploaded image content associated with an event.
2153
+ #
2154
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source] Image source information.
2155
+ #
2156
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type] Image content part.
2157
+ #
2158
+ # @param key [String] Stable field key for this content part.
2159
+
2160
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent#source
2161
+ class Source < SafetyKit::Internal::Type::BaseModel
2162
+ # @!attribute type
2163
+ # URL image source.
2164
+ #
2165
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type]
2166
+ required :type,
2167
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type }
2168
+
2169
+ # @!attribute url
2170
+ # URL of the image SafetyKit should compare or analyze.
2171
+ #
2172
+ # @return [String]
2173
+ required :url, String
2174
+
2175
+ # @!method initialize(type:, url:)
2176
+ # Image source information.
2177
+ #
2178
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type] URL image source.
2179
+ #
2180
+ # @param url [String] URL of the image SafetyKit should compare or analyze.
2181
+
2182
+ # URL image source.
2183
+ #
2184
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source#type
2185
+ module Type
2186
+ extend SafetyKit::Internal::Type::Enum
2187
+
2188
+ URL = :url
2189
+
2190
+ # @!method self.values
2191
+ # @return [Array<Symbol>]
2192
+ end
2193
+ end
2194
+
2195
+ # Image content part.
2196
+ #
2197
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent#type
2198
+ module Type
2199
+ extend SafetyKit::Internal::Type::Enum
2200
+
2201
+ IMAGE = :image
2202
+
2203
+ # @!method self.values
2204
+ # @return [Array<Symbol>]
2205
+ end
2206
+ end
2207
+
2208
+ # @!method self.variants
2209
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent)]
2210
+ end
2211
+
2212
+ module Metadata
2213
+ extend SafetyKit::Internal::Type::Union
2214
+
2215
+ variant String
2216
+
2217
+ variant Float
2218
+
2219
+ variant SafetyKit::Internal::Type::Boolean
2220
+
2221
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::UnionMember3Array }
2222
+
2223
+ module UnionMember3
2224
+ extend SafetyKit::Internal::Type::Union
2225
+
2226
+ variant String
2227
+
2228
+ variant Float
2229
+
2230
+ variant SafetyKit::Internal::Type::Boolean
2231
+
2232
+ # @!method self.variants
2233
+ # @return [Array(String, Float, Boolean)]
2234
+ end
2235
+
2236
+ # @!method self.variants
2237
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
2238
+
2239
+ # @type [SafetyKit::Internal::Type::Converter]
2240
+ UnionMember3Array =
2241
+ SafetyKit::Internal::Type::ArrayOf[union: -> {
2242
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::UnionMember3
2243
+ }]
2244
+ end
2245
+
2246
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
2247
+ # @!attribute type
2248
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
2249
+ # youtube, linkedin, or another stable snake_case identifier.
2250
+ #
2251
+ # @return [String]
2252
+ required :type, String
2253
+
2254
+ # @!attribute value
2255
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
2256
+ # value, not the raw value. When type is url, this must be a valid URL.
2257
+ #
2258
+ # @return [String]
2259
+ required :value, String
2260
+
2261
+ # @!method initialize(type:, value:)
2262
+ # Some parameter documentations has been truncated, see
2263
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed}
2264
+ # for more details.
2265
+ #
2266
+ # Real-world or account resource used during the event, such as an email, phone
2267
+ # number, address, URL, social handle, or payment identifier.
2268
+ #
2269
+ # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
2270
+ #
2271
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
2272
+ end
2273
+ end
2274
+
2275
+ class ContentUploaded < SafetyKit::Internal::Type::BaseModel
2276
+ # @!attribute content
2277
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2278
+ # listing text, image URLs, and similar content SafetyKit should compare or
2279
+ # analyze.
2280
+ #
2281
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent>]
2282
+ required :content,
2283
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content] }
2284
+
2285
+ # @!attribute event_name
2286
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
2287
+ # values in typed fields, content, resources_used, or metadata.
2288
+ #
2289
+ # @return [String]
2290
+ required :event_name, String
2291
+
2292
+ # @!attribute timestamp
2293
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
2294
+ #
2295
+ # @return [Time]
2296
+ required :timestamp, Time
2297
+
2298
+ # @!attribute type
2299
+ #
2300
+ # @return [Symbol, :content_uploaded]
2301
+ required :type, const: :content_uploaded
2302
+
2303
+ # @!attribute user_id
2304
+ # Your stable canonical identifier for the user or account.
2305
+ #
2306
+ # @return [String]
2307
+ required :user_id, String
2308
+
2309
+ # @!attribute content_id
2310
+ # Your stable identifier for the content involved in this event, such as a
2311
+ # message, listing, page, post, profile, or uploaded media item.
2312
+ #
2313
+ # @return [String, nil]
2314
+ optional :content_id, String
2315
+
2316
+ # @!attribute idempotency_key
2317
+ # Optional caller-provided key used to make retries of this individual event
2318
+ # idempotent. Reuse the same key only for retries of the same logical event.
2319
+ #
2320
+ # @return [String, nil]
2321
+ optional :idempotency_key, String
2322
+
2323
+ # @!attribute metadata
2324
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
2325
+ # be strings, numbers, booleans, or arrays of those scalar values.
2326
+ #
2327
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2328
+ optional :metadata,
2329
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata] }
2330
+
2331
+ # @!attribute resources_used
2332
+ # Reusable resources observed during the event. Use this for emails, phone
2333
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2334
+ # identifiers.
2335
+ #
2336
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed>, nil]
2337
+ optional :resources_used,
2338
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed] }
2339
+
2340
+ # @!method initialize(content:, event_name:, timestamp:, user_id:, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :content_uploaded)
2341
+ # Some parameter documentations has been truncated, see
2342
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded}
2343
+ # for more details.
2344
+ #
2345
+ # A user posts, uploads, publishes, edits, or replaces content.
2346
+ #
2347
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
2348
+ #
2349
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2350
+ #
2351
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
2352
+ #
2353
+ # @param user_id [String] Your stable canonical identifier for the user or account.
2354
+ #
2355
+ # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
2356
+ #
2357
+ # @param idempotency_key [String] Optional caller-provided key used to make retries of this individual event idemp
2358
+ #
2359
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2360
+ #
2361
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2362
+ #
2363
+ # @param type [Symbol, :content_uploaded]
2364
+
2365
+ # User-authored text content associated with an event.
2366
+ module Content
2367
+ extend SafetyKit::Internal::Type::Union
2368
+
2369
+ # User-authored text content associated with an event.
2370
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent }
2371
+
2372
+ # User-uploaded image content associated with an event.
2373
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent }
2374
+
2375
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
2376
+ # @!attribute text
2377
+ # User-authored text SafetyKit should compare or analyze.
2378
+ #
2379
+ # @return [String]
2380
+ required :text, String
2381
+
2382
+ # @!attribute type
2383
+ # Text content part.
2384
+ #
2385
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type]
2386
+ required :type,
2387
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type }
2388
+
2389
+ # @!attribute key
2390
+ # Stable field key for this content part.
2391
+ #
2392
+ # @return [String, nil]
2393
+ optional :key, String
2394
+
2395
+ # @!method initialize(text:, type:, key: nil)
2396
+ # User-authored text content associated with an event.
2397
+ #
2398
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
2399
+ #
2400
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type] Text content part.
2401
+ #
2402
+ # @param key [String] Stable field key for this content part.
2403
+
2404
+ # Text content part.
2405
+ #
2406
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent#type
2407
+ module Type
2408
+ extend SafetyKit::Internal::Type::Enum
2409
+
2410
+ TEXT = :text
2411
+
2412
+ # @!method self.values
2413
+ # @return [Array<Symbol>]
2414
+ end
2415
+ end
2416
+
2417
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
2418
+ # @!attribute source
2419
+ # Image source information.
2420
+ #
2421
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source]
2422
+ required :source,
2423
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source }
2424
+
2425
+ # @!attribute type
2426
+ # Image content part.
2427
+ #
2428
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type]
2429
+ required :type,
2430
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type }
1772
2431
 
1773
2432
  # @!attribute key
1774
2433
  # Stable field key for this content part.
@@ -1779,20 +2438,20 @@ module SafetyKit
1779
2438
  # @!method initialize(source:, type:, key: nil)
1780
2439
  # User-uploaded image content associated with an event.
1781
2440
  #
1782
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source] Image source information.
2441
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source] Image source information.
1783
2442
  #
1784
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type] Image content part.
2443
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type] Image content part.
1785
2444
  #
1786
2445
  # @param key [String] Stable field key for this content part.
1787
2446
 
1788
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent#source
2447
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent#source
1789
2448
  class Source < SafetyKit::Internal::Type::BaseModel
1790
2449
  # @!attribute type
1791
2450
  # URL image source.
1792
2451
  #
1793
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type]
2452
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type]
1794
2453
  required :type,
1795
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type }
2454
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type }
1796
2455
 
1797
2456
  # @!attribute url
1798
2457
  # URL of the image SafetyKit should compare or analyze.
@@ -1803,13 +2462,13 @@ module SafetyKit
1803
2462
  # @!method initialize(type:, url:)
1804
2463
  # Image source information.
1805
2464
  #
1806
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type] URL image source.
2465
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type] URL image source.
1807
2466
  #
1808
2467
  # @param url [String] URL of the image SafetyKit should compare or analyze.
1809
2468
 
1810
2469
  # URL image source.
1811
2470
  #
1812
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source#type
2471
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source#type
1813
2472
  module Type
1814
2473
  extend SafetyKit::Internal::Type::Enum
1815
2474
 
@@ -1822,7 +2481,7 @@ module SafetyKit
1822
2481
 
1823
2482
  # Image content part.
1824
2483
  #
1825
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent#type
2484
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent#type
1826
2485
  module Type
1827
2486
  extend SafetyKit::Internal::Type::Enum
1828
2487
 
@@ -1834,7 +2493,7 @@ module SafetyKit
1834
2493
  end
1835
2494
 
1836
2495
  # @!method self.variants
1837
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent)]
2496
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent)]
1838
2497
  end
1839
2498
 
1840
2499
  module Metadata
@@ -1846,7 +2505,7 @@ module SafetyKit
1846
2505
 
1847
2506
  variant SafetyKit::Internal::Type::Boolean
1848
2507
 
1849
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::UnionMember3Array }
2508
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::UnionMember3Array }
1850
2509
 
1851
2510
  module UnionMember3
1852
2511
  extend SafetyKit::Internal::Type::Union
@@ -1866,9 +2525,9 @@ module SafetyKit
1866
2525
 
1867
2526
  # @type [SafetyKit::Internal::Type::Converter]
1868
2527
  UnionMember3Array =
1869
- SafetyKit::Internal::Type::ArrayOf[union: -> {
1870
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::UnionMember3
1871
- }]
2528
+ SafetyKit::Internal::Type::ArrayOf[
2529
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::UnionMember3 }
2530
+ ]
1872
2531
  end
1873
2532
 
1874
2533
  class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
@@ -1888,7 +2547,7 @@ module SafetyKit
1888
2547
 
1889
2548
  # @!method initialize(type:, value:)
1890
2549
  # Some parameter documentations has been truncated, see
1891
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::ResourcesUsed}
2550
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed}
1892
2551
  # for more details.
1893
2552
  #
1894
2553
  # Real-world or account resource used during the event, such as an email, phone
@@ -1900,16 +2559,7 @@ module SafetyKit
1900
2559
  end
1901
2560
  end
1902
2561
 
1903
- class ContentUploaded < SafetyKit::Internal::Type::BaseModel
1904
- # @!attribute content
1905
- # User-authored or user-uploaded content parts. Use this for message bodies, bios,
1906
- # listing text, image URLs, and similar content SafetyKit should compare or
1907
- # analyze.
1908
- #
1909
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent>]
1910
- required :content,
1911
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content] }
1912
-
2562
+ class CreateAccount < SafetyKit::Internal::Type::BaseModel
1913
2563
  # @!attribute event_name
1914
2564
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
1915
2565
  # values in typed fields, content, resources_used, or metadata.
@@ -1925,8 +2575,8 @@ module SafetyKit
1925
2575
 
1926
2576
  # @!attribute type
1927
2577
  #
1928
- # @return [Symbol, :content_uploaded]
1929
- required :type, const: :content_uploaded
2578
+ # @return [Symbol, :create_account]
2579
+ required :type, const: :create_account
1930
2580
 
1931
2581
  # @!attribute user_id
1932
2582
  # Your stable canonical identifier for the user or account.
@@ -1934,6 +2584,15 @@ module SafetyKit
1934
2584
  # @return [String]
1935
2585
  required :user_id, String
1936
2586
 
2587
+ # @!attribute content
2588
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2589
+ # listing text, image URLs, and similar content SafetyKit should compare or
2590
+ # analyze.
2591
+ #
2592
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent>, nil]
2593
+ optional :content,
2594
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content] }
2595
+
1937
2596
  # @!attribute content_id
1938
2597
  # Your stable identifier for the content involved in this event, such as a
1939
2598
  # message, listing, page, post, profile, or uploaded media item.
@@ -1954,25 +2613,23 @@ module SafetyKit
1954
2613
  #
1955
2614
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
1956
2615
  optional :metadata,
1957
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata] }
2616
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata] }
1958
2617
 
1959
2618
  # @!attribute resources_used
1960
2619
  # Reusable resources observed during the event. Use this for emails, phone
1961
2620
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1962
2621
  # identifiers.
1963
2622
  #
1964
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed>, nil]
2623
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed>, nil]
1965
2624
  optional :resources_used,
1966
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed] }
2625
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed] }
1967
2626
 
1968
- # @!method initialize(content:, event_name:, timestamp:, user_id:, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :content_uploaded)
2627
+ # @!method initialize(event_name:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :create_account)
1969
2628
  # Some parameter documentations has been truncated, see
1970
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded}
2629
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount}
1971
2630
  # for more details.
1972
2631
  #
1973
- # A user posts, uploads, publishes, edits, or replaces content.
1974
- #
1975
- # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
2632
+ # A user or account is created.
1976
2633
  #
1977
2634
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
1978
2635
  #
@@ -1980,25 +2637,27 @@ module SafetyKit
1980
2637
  #
1981
2638
  # @param user_id [String] Your stable canonical identifier for the user or account.
1982
2639
  #
2640
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
2641
+ #
1983
2642
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
1984
2643
  #
1985
2644
  # @param idempotency_key [String] Optional caller-provided key used to make retries of this individual event idemp
1986
2645
  #
1987
2646
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
1988
2647
  #
1989
- # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2648
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
1990
2649
  #
1991
- # @param type [Symbol, :content_uploaded]
2650
+ # @param type [Symbol, :create_account]
1992
2651
 
1993
2652
  # User-authored text content associated with an event.
1994
2653
  module Content
1995
2654
  extend SafetyKit::Internal::Type::Union
1996
2655
 
1997
2656
  # User-authored text content associated with an event.
1998
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent }
2657
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent }
1999
2658
 
2000
2659
  # User-uploaded image content associated with an event.
2001
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent }
2660
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent }
2002
2661
 
2003
2662
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
2004
2663
  # @!attribute text
@@ -2010,9 +2669,9 @@ module SafetyKit
2010
2669
  # @!attribute type
2011
2670
  # Text content part.
2012
2671
  #
2013
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type]
2672
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type]
2014
2673
  required :type,
2015
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type }
2674
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type }
2016
2675
 
2017
2676
  # @!attribute key
2018
2677
  # Stable field key for this content part.
@@ -2025,13 +2684,13 @@ module SafetyKit
2025
2684
  #
2026
2685
  # @param text [String] User-authored text SafetyKit should compare or analyze.
2027
2686
  #
2028
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type] Text content part.
2687
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type] Text content part.
2029
2688
  #
2030
2689
  # @param key [String] Stable field key for this content part.
2031
2690
 
2032
2691
  # Text content part.
2033
2692
  #
2034
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent#type
2693
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent#type
2035
2694
  module Type
2036
2695
  extend SafetyKit::Internal::Type::Enum
2037
2696
 
@@ -2046,16 +2705,16 @@ module SafetyKit
2046
2705
  # @!attribute source
2047
2706
  # Image source information.
2048
2707
  #
2049
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source]
2708
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source]
2050
2709
  required :source,
2051
- -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source }
2710
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source }
2052
2711
 
2053
2712
  # @!attribute type
2054
2713
  # Image content part.
2055
2714
  #
2056
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type]
2715
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type]
2057
2716
  required :type,
2058
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type }
2717
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type }
2059
2718
 
2060
2719
  # @!attribute key
2061
2720
  # Stable field key for this content part.
@@ -2066,20 +2725,20 @@ module SafetyKit
2066
2725
  # @!method initialize(source:, type:, key: nil)
2067
2726
  # User-uploaded image content associated with an event.
2068
2727
  #
2069
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source] Image source information.
2728
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source] Image source information.
2070
2729
  #
2071
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type] Image content part.
2730
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type] Image content part.
2072
2731
  #
2073
2732
  # @param key [String] Stable field key for this content part.
2074
2733
 
2075
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent#source
2734
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent#source
2076
2735
  class Source < SafetyKit::Internal::Type::BaseModel
2077
2736
  # @!attribute type
2078
2737
  # URL image source.
2079
2738
  #
2080
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type]
2739
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type]
2081
2740
  required :type,
2082
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type }
2741
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type }
2083
2742
 
2084
2743
  # @!attribute url
2085
2744
  # URL of the image SafetyKit should compare or analyze.
@@ -2090,13 +2749,13 @@ module SafetyKit
2090
2749
  # @!method initialize(type:, url:)
2091
2750
  # Image source information.
2092
2751
  #
2093
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type] URL image source.
2752
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type] URL image source.
2094
2753
  #
2095
2754
  # @param url [String] URL of the image SafetyKit should compare or analyze.
2096
2755
 
2097
2756
  # URL image source.
2098
2757
  #
2099
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source#type
2758
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source#type
2100
2759
  module Type
2101
2760
  extend SafetyKit::Internal::Type::Enum
2102
2761
 
@@ -2109,7 +2768,7 @@ module SafetyKit
2109
2768
 
2110
2769
  # Image content part.
2111
2770
  #
2112
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent#type
2771
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent#type
2113
2772
  module Type
2114
2773
  extend SafetyKit::Internal::Type::Enum
2115
2774
 
@@ -2121,7 +2780,7 @@ module SafetyKit
2121
2780
  end
2122
2781
 
2123
2782
  # @!method self.variants
2124
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent)]
2783
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent)]
2125
2784
  end
2126
2785
 
2127
2786
  module Metadata
@@ -2133,7 +2792,7 @@ module SafetyKit
2133
2792
 
2134
2793
  variant SafetyKit::Internal::Type::Boolean
2135
2794
 
2136
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::UnionMember3Array }
2795
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::UnionMember3Array }
2137
2796
 
2138
2797
  module UnionMember3
2139
2798
  extend SafetyKit::Internal::Type::Union
@@ -2154,7 +2813,7 @@ module SafetyKit
2154
2813
  # @type [SafetyKit::Internal::Type::Converter]
2155
2814
  UnionMember3Array =
2156
2815
  SafetyKit::Internal::Type::ArrayOf[
2157
- union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::UnionMember3 }
2816
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::UnionMember3 }
2158
2817
  ]
2159
2818
  end
2160
2819
 
@@ -2175,7 +2834,7 @@ module SafetyKit
2175
2834
 
2176
2835
  # @!method initialize(type:, value:)
2177
2836
  # Some parameter documentations has been truncated, see
2178
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed}
2837
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed}
2179
2838
  # for more details.
2180
2839
  #
2181
2840
  # Real-world or account resource used during the event, such as an email, phone
@@ -2187,7 +2846,7 @@ module SafetyKit
2187
2846
  end
2188
2847
  end
2189
2848
 
2190
- class CreateAccount < SafetyKit::Internal::Type::BaseModel
2849
+ class UpdateAccount < SafetyKit::Internal::Type::BaseModel
2191
2850
  # @!attribute event_name
2192
2851
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
2193
2852
  # values in typed fields, content, resources_used, or metadata.
@@ -2203,8 +2862,8 @@ module SafetyKit
2203
2862
 
2204
2863
  # @!attribute type
2205
2864
  #
2206
- # @return [Symbol, :create_account]
2207
- required :type, const: :create_account
2865
+ # @return [Symbol, :update_account]
2866
+ required :type, const: :update_account
2208
2867
 
2209
2868
  # @!attribute user_id
2210
2869
  # Your stable canonical identifier for the user or account.
@@ -2217,9 +2876,9 @@ module SafetyKit
2217
2876
  # listing text, image URLs, and similar content SafetyKit should compare or
2218
2877
  # analyze.
2219
2878
  #
2220
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent>, nil]
2879
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent>, nil]
2221
2880
  optional :content,
2222
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content] }
2881
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content] }
2223
2882
 
2224
2883
  # @!attribute content_id
2225
2884
  # Your stable identifier for the content involved in this event, such as a
@@ -2241,23 +2900,24 @@ module SafetyKit
2241
2900
  #
2242
2901
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2243
2902
  optional :metadata,
2244
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata] }
2903
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata] }
2245
2904
 
2246
2905
  # @!attribute resources_used
2247
2906
  # Reusable resources observed during the event. Use this for emails, phone
2248
2907
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2249
2908
  # identifiers.
2250
2909
  #
2251
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed>, nil]
2910
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed>, nil]
2252
2911
  optional :resources_used,
2253
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed] }
2912
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed] }
2254
2913
 
2255
- # @!method initialize(event_name:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :create_account)
2914
+ # @!method initialize(event_name:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :update_account)
2256
2915
  # Some parameter documentations has been truncated, see
2257
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount}
2916
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount}
2258
2917
  # for more details.
2259
2918
  #
2260
- # A user or account is created.
2919
+ # A user or account profile, contact detail, payment detail, or public bio
2920
+ # changes.
2261
2921
  #
2262
2922
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2263
2923
  #
@@ -2265,7 +2925,7 @@ module SafetyKit
2265
2925
  #
2266
2926
  # @param user_id [String] Your stable canonical identifier for the user or account.
2267
2927
  #
2268
- # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
2928
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
2269
2929
  #
2270
2930
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
2271
2931
  #
@@ -2273,19 +2933,19 @@ module SafetyKit
2273
2933
  #
2274
2934
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2275
2935
  #
2276
- # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2936
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2277
2937
  #
2278
- # @param type [Symbol, :create_account]
2938
+ # @param type [Symbol, :update_account]
2279
2939
 
2280
2940
  # User-authored text content associated with an event.
2281
2941
  module Content
2282
2942
  extend SafetyKit::Internal::Type::Union
2283
2943
 
2284
2944
  # User-authored text content associated with an event.
2285
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent }
2945
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent }
2286
2946
 
2287
2947
  # User-uploaded image content associated with an event.
2288
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent }
2948
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent }
2289
2949
 
2290
2950
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
2291
2951
  # @!attribute text
@@ -2297,9 +2957,9 @@ module SafetyKit
2297
2957
  # @!attribute type
2298
2958
  # Text content part.
2299
2959
  #
2300
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type]
2960
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type]
2301
2961
  required :type,
2302
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type }
2962
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type }
2303
2963
 
2304
2964
  # @!attribute key
2305
2965
  # Stable field key for this content part.
@@ -2312,13 +2972,13 @@ module SafetyKit
2312
2972
  #
2313
2973
  # @param text [String] User-authored text SafetyKit should compare or analyze.
2314
2974
  #
2315
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type] Text content part.
2975
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type] Text content part.
2316
2976
  #
2317
2977
  # @param key [String] Stable field key for this content part.
2318
2978
 
2319
2979
  # Text content part.
2320
2980
  #
2321
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent#type
2981
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent#type
2322
2982
  module Type
2323
2983
  extend SafetyKit::Internal::Type::Enum
2324
2984
 
@@ -2333,16 +2993,16 @@ module SafetyKit
2333
2993
  # @!attribute source
2334
2994
  # Image source information.
2335
2995
  #
2336
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source]
2996
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source]
2337
2997
  required :source,
2338
- -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source }
2998
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source }
2339
2999
 
2340
3000
  # @!attribute type
2341
3001
  # Image content part.
2342
3002
  #
2343
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type]
3003
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type]
2344
3004
  required :type,
2345
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type }
3005
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type }
2346
3006
 
2347
3007
  # @!attribute key
2348
3008
  # Stable field key for this content part.
@@ -2353,20 +3013,20 @@ module SafetyKit
2353
3013
  # @!method initialize(source:, type:, key: nil)
2354
3014
  # User-uploaded image content associated with an event.
2355
3015
  #
2356
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source] Image source information.
3016
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source] Image source information.
2357
3017
  #
2358
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type] Image content part.
3018
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type] Image content part.
2359
3019
  #
2360
3020
  # @param key [String] Stable field key for this content part.
2361
3021
 
2362
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent#source
3022
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent#source
2363
3023
  class Source < SafetyKit::Internal::Type::BaseModel
2364
3024
  # @!attribute type
2365
3025
  # URL image source.
2366
3026
  #
2367
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type]
3027
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type]
2368
3028
  required :type,
2369
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type }
3029
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type }
2370
3030
 
2371
3031
  # @!attribute url
2372
3032
  # URL of the image SafetyKit should compare or analyze.
@@ -2377,13 +3037,13 @@ module SafetyKit
2377
3037
  # @!method initialize(type:, url:)
2378
3038
  # Image source information.
2379
3039
  #
2380
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type] URL image source.
3040
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type] URL image source.
2381
3041
  #
2382
3042
  # @param url [String] URL of the image SafetyKit should compare or analyze.
2383
3043
 
2384
3044
  # URL image source.
2385
3045
  #
2386
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source#type
3046
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source#type
2387
3047
  module Type
2388
3048
  extend SafetyKit::Internal::Type::Enum
2389
3049
 
@@ -2396,7 +3056,7 @@ module SafetyKit
2396
3056
 
2397
3057
  # Image content part.
2398
3058
  #
2399
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent#type
3059
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent#type
2400
3060
  module Type
2401
3061
  extend SafetyKit::Internal::Type::Enum
2402
3062
 
@@ -2408,7 +3068,7 @@ module SafetyKit
2408
3068
  end
2409
3069
 
2410
3070
  # @!method self.variants
2411
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent)]
3071
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent)]
2412
3072
  end
2413
3073
 
2414
3074
  module Metadata
@@ -2420,7 +3080,7 @@ module SafetyKit
2420
3080
 
2421
3081
  variant SafetyKit::Internal::Type::Boolean
2422
3082
 
2423
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::UnionMember3Array }
3083
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::UnionMember3Array }
2424
3084
 
2425
3085
  module UnionMember3
2426
3086
  extend SafetyKit::Internal::Type::Union
@@ -2441,7 +3101,7 @@ module SafetyKit
2441
3101
  # @type [SafetyKit::Internal::Type::Converter]
2442
3102
  UnionMember3Array =
2443
3103
  SafetyKit::Internal::Type::ArrayOf[
2444
- union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::UnionMember3 }
3104
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::UnionMember3 }
2445
3105
  ]
2446
3106
  end
2447
3107
 
@@ -2462,7 +3122,7 @@ module SafetyKit
2462
3122
 
2463
3123
  # @!method initialize(type:, value:)
2464
3124
  # Some parameter documentations has been truncated, see
2465
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed}
3125
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed}
2466
3126
  # for more details.
2467
3127
  #
2468
3128
  # Real-world or account resource used during the event, such as an email, phone
@@ -2474,7 +3134,7 @@ module SafetyKit
2474
3134
  end
2475
3135
  end
2476
3136
 
2477
- class UpdateAccount < SafetyKit::Internal::Type::BaseModel
3137
+ class UserReport < SafetyKit::Internal::Type::BaseModel
2478
3138
  # @!attribute event_name
2479
3139
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
2480
3140
  # values in typed fields, content, resources_used, or metadata.
@@ -2482,6 +3142,13 @@ module SafetyKit
2482
3142
  # @return [String]
2483
3143
  required :event_name, String
2484
3144
 
3145
+ # @!attribute labels
3146
+ # One or more label categories supplied with the report.
3147
+ #
3148
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Label>]
3149
+ required :labels,
3150
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Label] }
3151
+
2485
3152
  # @!attribute timestamp
2486
3153
  # The time the event occurred in your system, as an ISO 8601 datetime string.
2487
3154
  #
@@ -2490,8 +3157,8 @@ module SafetyKit
2490
3157
 
2491
3158
  # @!attribute type
2492
3159
  #
2493
- # @return [Symbol, :update_account]
2494
- required :type, const: :update_account
3160
+ # @return [Symbol, :user_report]
3161
+ required :type, const: :user_report
2495
3162
 
2496
3163
  # @!attribute user_id
2497
3164
  # Your stable canonical identifier for the user or account.
@@ -2504,9 +3171,9 @@ module SafetyKit
2504
3171
  # listing text, image URLs, and similar content SafetyKit should compare or
2505
3172
  # analyze.
2506
3173
  #
2507
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent>, nil]
3174
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent>, nil]
2508
3175
  optional :content,
2509
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content] }
3176
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content] }
2510
3177
 
2511
3178
  # @!attribute content_id
2512
3179
  # Your stable identifier for the content involved in this event, such as a
@@ -2528,32 +3195,48 @@ module SafetyKit
2528
3195
  #
2529
3196
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2530
3197
  optional :metadata,
2531
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata] }
3198
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata] }
2532
3199
 
2533
3200
  # @!attribute resources_used
2534
3201
  # Reusable resources observed during the event. Use this for emails, phone
2535
3202
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2536
3203
  # identifiers.
2537
3204
  #
2538
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed>, nil]
3205
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed>, nil]
2539
3206
  optional :resources_used,
2540
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed] }
3207
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed] }
2541
3208
 
2542
- # @!method initialize(event_name:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :update_account)
3209
+ # @!attribute target_content_id
3210
+ # Your stable identifier for the content being reported.
3211
+ #
3212
+ # @return [String, nil]
3213
+ optional :target_content_id, String
3214
+
3215
+ # @!attribute target_user_id
3216
+ # Your stable canonical identifier for the user being reported.
3217
+ #
3218
+ # @return [String, nil]
3219
+ optional :target_user_id, String
3220
+
3221
+ # @!method initialize(event_name:, labels:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, target_content_id: nil, target_user_id: nil, type: :user_report)
2543
3222
  # Some parameter documentations has been truncated, see
2544
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount}
2545
- # for more details.
3223
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport} for
3224
+ # more details.
2546
3225
  #
2547
- # A user or account profile, contact detail, payment detail, or public bio
2548
- # changes.
3226
+ # A user-submitted report. Use user_id for the reporter. Include target_user_id
3227
+ # when a user is reported, target_content_id when content is reported, and both
3228
+ # when the report is about content associated with a user. Use content and
3229
+ # content_id for the report itself.
2549
3230
  #
2550
3231
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2551
3232
  #
3233
+ # @param labels [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Label>] One or more label categories supplied with the report.
3234
+ #
2552
3235
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
2553
3236
  #
2554
3237
  # @param user_id [String] Your stable canonical identifier for the user or account.
2555
3238
  #
2556
- # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
3239
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
2557
3240
  #
2558
3241
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
2559
3242
  #
@@ -2561,19 +3244,36 @@ module SafetyKit
2561
3244
  #
2562
3245
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2563
3246
  #
2564
- # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
3247
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2565
3248
  #
2566
- # @param type [Symbol, :update_account]
3249
+ # @param target_content_id [String] Your stable identifier for the content being reported.
3250
+ #
3251
+ # @param target_user_id [String] Your stable canonical identifier for the user being reported.
3252
+ #
3253
+ # @param type [Symbol, :user_report]
3254
+
3255
+ class Label < SafetyKit::Internal::Type::BaseModel
3256
+ # @!attribute label
3257
+ # Stable snake_case report label category.
3258
+ #
3259
+ # @return [String]
3260
+ required :label, String
3261
+
3262
+ # @!method initialize(label:)
3263
+ # Label category supplied with a user report.
3264
+ #
3265
+ # @param label [String] Stable snake_case report label category.
3266
+ end
2567
3267
 
2568
3268
  # User-authored text content associated with an event.
2569
3269
  module Content
2570
3270
  extend SafetyKit::Internal::Type::Union
2571
3271
 
2572
3272
  # User-authored text content associated with an event.
2573
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent }
3273
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent }
2574
3274
 
2575
3275
  # User-uploaded image content associated with an event.
2576
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent }
3276
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent }
2577
3277
 
2578
3278
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
2579
3279
  # @!attribute text
@@ -2585,9 +3285,9 @@ module SafetyKit
2585
3285
  # @!attribute type
2586
3286
  # Text content part.
2587
3287
  #
2588
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type]
3288
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type]
2589
3289
  required :type,
2590
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type }
3290
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type }
2591
3291
 
2592
3292
  # @!attribute key
2593
3293
  # Stable field key for this content part.
@@ -2600,13 +3300,13 @@ module SafetyKit
2600
3300
  #
2601
3301
  # @param text [String] User-authored text SafetyKit should compare or analyze.
2602
3302
  #
2603
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type] Text content part.
3303
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type] Text content part.
2604
3304
  #
2605
3305
  # @param key [String] Stable field key for this content part.
2606
3306
 
2607
3307
  # Text content part.
2608
3308
  #
2609
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent#type
3309
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent#type
2610
3310
  module Type
2611
3311
  extend SafetyKit::Internal::Type::Enum
2612
3312
 
@@ -2621,16 +3321,16 @@ module SafetyKit
2621
3321
  # @!attribute source
2622
3322
  # Image source information.
2623
3323
  #
2624
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source]
3324
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source]
2625
3325
  required :source,
2626
- -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source }
3326
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source }
2627
3327
 
2628
3328
  # @!attribute type
2629
3329
  # Image content part.
2630
3330
  #
2631
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type]
3331
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type]
2632
3332
  required :type,
2633
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type }
3333
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type }
2634
3334
 
2635
3335
  # @!attribute key
2636
3336
  # Stable field key for this content part.
@@ -2641,20 +3341,20 @@ module SafetyKit
2641
3341
  # @!method initialize(source:, type:, key: nil)
2642
3342
  # User-uploaded image content associated with an event.
2643
3343
  #
2644
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source] Image source information.
3344
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source] Image source information.
2645
3345
  #
2646
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type] Image content part.
3346
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type] Image content part.
2647
3347
  #
2648
3348
  # @param key [String] Stable field key for this content part.
2649
3349
 
2650
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent#source
3350
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent#source
2651
3351
  class Source < SafetyKit::Internal::Type::BaseModel
2652
3352
  # @!attribute type
2653
3353
  # URL image source.
2654
3354
  #
2655
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type]
3355
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type]
2656
3356
  required :type,
2657
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type }
3357
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type }
2658
3358
 
2659
3359
  # @!attribute url
2660
3360
  # URL of the image SafetyKit should compare or analyze.
@@ -2665,13 +3365,13 @@ module SafetyKit
2665
3365
  # @!method initialize(type:, url:)
2666
3366
  # Image source information.
2667
3367
  #
2668
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type] URL image source.
3368
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type] URL image source.
2669
3369
  #
2670
3370
  # @param url [String] URL of the image SafetyKit should compare or analyze.
2671
3371
 
2672
3372
  # URL image source.
2673
3373
  #
2674
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source#type
3374
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source#type
2675
3375
  module Type
2676
3376
  extend SafetyKit::Internal::Type::Enum
2677
3377
 
@@ -2684,7 +3384,7 @@ module SafetyKit
2684
3384
 
2685
3385
  # Image content part.
2686
3386
  #
2687
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent#type
3387
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent#type
2688
3388
  module Type
2689
3389
  extend SafetyKit::Internal::Type::Enum
2690
3390
 
@@ -2696,7 +3396,7 @@ module SafetyKit
2696
3396
  end
2697
3397
 
2698
3398
  # @!method self.variants
2699
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent)]
3399
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent)]
2700
3400
  end
2701
3401
 
2702
3402
  module Metadata
@@ -2708,7 +3408,7 @@ module SafetyKit
2708
3408
 
2709
3409
  variant SafetyKit::Internal::Type::Boolean
2710
3410
 
2711
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::UnionMember3Array }
3411
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::UnionMember3Array }
2712
3412
 
2713
3413
  module UnionMember3
2714
3414
  extend SafetyKit::Internal::Type::Union
@@ -2728,9 +3428,9 @@ module SafetyKit
2728
3428
 
2729
3429
  # @type [SafetyKit::Internal::Type::Converter]
2730
3430
  UnionMember3Array =
2731
- SafetyKit::Internal::Type::ArrayOf[
2732
- union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::UnionMember3 }
2733
- ]
3431
+ SafetyKit::Internal::Type::ArrayOf[union: -> {
3432
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::UnionMember3
3433
+ }]
2734
3434
  end
2735
3435
 
2736
3436
  class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
@@ -2750,7 +3450,7 @@ module SafetyKit
2750
3450
 
2751
3451
  # @!method initialize(type:, value:)
2752
3452
  # Some parameter documentations has been truncated, see
2753
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed}
3453
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed}
2754
3454
  # for more details.
2755
3455
  #
2756
3456
  # Real-world or account resource used during the event, such as an email, phone
@@ -2762,7 +3462,7 @@ module SafetyKit
2762
3462
  end
2763
3463
  end
2764
3464
 
2765
- class UserReport < SafetyKit::Internal::Type::BaseModel
3465
+ class ModerationDecision < SafetyKit::Internal::Type::BaseModel
2766
3466
  # @!attribute event_name
2767
3467
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
2768
3468
  # values in typed fields, content, resources_used, or metadata.
@@ -2773,9 +3473,24 @@ module SafetyKit
2773
3473
  # @!attribute labels
2774
3474
  # One or more label categories supplied with the report.
2775
3475
  #
2776
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Label>]
3476
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Label>]
2777
3477
  required :labels,
2778
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Label] }
3478
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Label] }
3479
+
3480
+ # @!attribute source_id
3481
+ # Stable identifier within source_type. For automation, use a versioned system
3482
+ # identifier; for human_moderator, use the manual reviewer id.
3483
+ #
3484
+ # @return [String]
3485
+ required :source_id, String
3486
+
3487
+ # @!attribute source_type
3488
+ # Coarse attribution category for the decision source. Use one of human_moderator,
3489
+ # expert_labeler, automation, or vendor.
3490
+ #
3491
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::SourceType]
3492
+ required :source_type,
3493
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::SourceType }
2779
3494
 
2780
3495
  # @!attribute timestamp
2781
3496
  # The time the event occurred in your system, as an ISO 8601 datetime string.
@@ -2785,23 +3500,17 @@ module SafetyKit
2785
3500
 
2786
3501
  # @!attribute type
2787
3502
  #
2788
- # @return [Symbol, :user_report]
2789
- required :type, const: :user_report
2790
-
2791
- # @!attribute user_id
2792
- # Your stable canonical identifier for the user or account.
2793
- #
2794
- # @return [String]
2795
- required :user_id, String
3503
+ # @return [Symbol, :moderation_decision]
3504
+ required :type, const: :moderation_decision
2796
3505
 
2797
3506
  # @!attribute content
2798
3507
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2799
3508
  # listing text, image URLs, and similar content SafetyKit should compare or
2800
3509
  # analyze.
2801
3510
  #
2802
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent>, nil]
3511
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent>, nil]
2803
3512
  optional :content,
2804
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content] }
3513
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content] }
2805
3514
 
2806
3515
  # @!attribute content_id
2807
3516
  # Your stable identifier for the content involved in this event, such as a
@@ -2823,16 +3532,16 @@ module SafetyKit
2823
3532
  #
2824
3533
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2825
3534
  optional :metadata,
2826
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata] }
3535
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata] }
2827
3536
 
2828
3537
  # @!attribute resources_used
2829
3538
  # Reusable resources observed during the event. Use this for emails, phone
2830
3539
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2831
3540
  # identifiers.
2832
3541
  #
2833
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed>, nil]
3542
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed>, nil]
2834
3543
  optional :resources_used,
2835
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed] }
3544
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed] }
2836
3545
 
2837
3546
  # @!attribute target_content_id
2838
3547
  # Your stable identifier for the content being reported.
@@ -2846,25 +3555,26 @@ module SafetyKit
2846
3555
  # @return [String, nil]
2847
3556
  optional :target_user_id, String
2848
3557
 
2849
- # @!method initialize(event_name:, labels:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, target_content_id: nil, target_user_id: nil, type: :user_report)
3558
+ # @!method initialize(event_name:, labels:, source_id:, source_type:, timestamp:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, target_content_id: nil, target_user_id: nil, type: :moderation_decision)
2850
3559
  # Some parameter documentations has been truncated, see
2851
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport} for
2852
- # more details.
3560
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision}
3561
+ # for more details.
2853
3562
  #
2854
- # A user-submitted report. Use user_id for the reporter. Include target_user_id
2855
- # when a user is reported, target_content_id when content is reported, and both
2856
- # when the report is about content associated with a user. Use content and
2857
- # content_id for the report itself.
3563
+ # A moderation label or decision from an automated enforcement system or manual
3564
+ # review workflow. Do not send user_id; use source_type and source_id for
3565
+ # attribution.
2858
3566
  #
2859
3567
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2860
3568
  #
2861
- # @param labels [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Label>] One or more label categories supplied with the report.
3569
+ # @param labels [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Label>] One or more label categories supplied with the report.
2862
3570
  #
2863
- # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
3571
+ # @param source_id [String] Stable identifier within source_type. For automation, use a versioned system ide
2864
3572
  #
2865
- # @param user_id [String] Your stable canonical identifier for the user or account.
3573
+ # @param source_type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::SourceType] Coarse attribution category for the decision source. Use one of human_moderator,
2866
3574
  #
2867
- # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
3575
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
3576
+ #
3577
+ # @param content [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent>] User-authored or user-uploaded content parts. Use this for message bodies, bios,
2868
3578
  #
2869
3579
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
2870
3580
  #
@@ -2872,13 +3582,13 @@ module SafetyKit
2872
3582
  #
2873
3583
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2874
3584
  #
2875
- # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
3585
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2876
3586
  #
2877
3587
  # @param target_content_id [String] Your stable identifier for the content being reported.
2878
3588
  #
2879
3589
  # @param target_user_id [String] Your stable canonical identifier for the user being reported.
2880
3590
  #
2881
- # @param type [Symbol, :user_report]
3591
+ # @param type [Symbol, :moderation_decision]
2882
3592
 
2883
3593
  class Label < SafetyKit::Internal::Type::BaseModel
2884
3594
  # @!attribute label
@@ -2893,15 +3603,31 @@ module SafetyKit
2893
3603
  # @param label [String] Stable snake_case report label category.
2894
3604
  end
2895
3605
 
3606
+ # Coarse attribution category for the decision source. Use one of human_moderator,
3607
+ # expert_labeler, automation, or vendor.
3608
+ #
3609
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision#source_type
3610
+ module SourceType
3611
+ extend SafetyKit::Internal::Type::Enum
3612
+
3613
+ HUMAN_MODERATOR = :human_moderator
3614
+ EXPERT_LABELER = :expert_labeler
3615
+ AUTOMATION = :automation
3616
+ VENDOR = :vendor
3617
+
3618
+ # @!method self.values
3619
+ # @return [Array<Symbol>]
3620
+ end
3621
+
2896
3622
  # User-authored text content associated with an event.
2897
3623
  module Content
2898
3624
  extend SafetyKit::Internal::Type::Union
2899
3625
 
2900
3626
  # User-authored text content associated with an event.
2901
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent }
3627
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent }
2902
3628
 
2903
3629
  # User-uploaded image content associated with an event.
2904
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent }
3630
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent }
2905
3631
 
2906
3632
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
2907
3633
  # @!attribute text
@@ -2913,9 +3639,9 @@ module SafetyKit
2913
3639
  # @!attribute type
2914
3640
  # Text content part.
2915
3641
  #
2916
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type]
3642
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type]
2917
3643
  required :type,
2918
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type }
3644
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type }
2919
3645
 
2920
3646
  # @!attribute key
2921
3647
  # Stable field key for this content part.
@@ -2928,13 +3654,13 @@ module SafetyKit
2928
3654
  #
2929
3655
  # @param text [String] User-authored text SafetyKit should compare or analyze.
2930
3656
  #
2931
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type] Text content part.
3657
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type] Text content part.
2932
3658
  #
2933
3659
  # @param key [String] Stable field key for this content part.
2934
3660
 
2935
3661
  # Text content part.
2936
3662
  #
2937
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent#type
3663
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent#type
2938
3664
  module Type
2939
3665
  extend SafetyKit::Internal::Type::Enum
2940
3666
 
@@ -2949,16 +3675,16 @@ module SafetyKit
2949
3675
  # @!attribute source
2950
3676
  # Image source information.
2951
3677
  #
2952
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source]
3678
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source]
2953
3679
  required :source,
2954
- -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source }
3680
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source }
2955
3681
 
2956
3682
  # @!attribute type
2957
3683
  # Image content part.
2958
3684
  #
2959
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type]
3685
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type]
2960
3686
  required :type,
2961
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type }
3687
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type }
2962
3688
 
2963
3689
  # @!attribute key
2964
3690
  # Stable field key for this content part.
@@ -2969,20 +3695,20 @@ module SafetyKit
2969
3695
  # @!method initialize(source:, type:, key: nil)
2970
3696
  # User-uploaded image content associated with an event.
2971
3697
  #
2972
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source] Image source information.
3698
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source] Image source information.
2973
3699
  #
2974
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type] Image content part.
3700
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type] Image content part.
2975
3701
  #
2976
3702
  # @param key [String] Stable field key for this content part.
2977
3703
 
2978
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent#source
3704
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent#source
2979
3705
  class Source < SafetyKit::Internal::Type::BaseModel
2980
3706
  # @!attribute type
2981
3707
  # URL image source.
2982
3708
  #
2983
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type]
3709
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type]
2984
3710
  required :type,
2985
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type }
3711
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type }
2986
3712
 
2987
3713
  # @!attribute url
2988
3714
  # URL of the image SafetyKit should compare or analyze.
@@ -2993,13 +3719,13 @@ module SafetyKit
2993
3719
  # @!method initialize(type:, url:)
2994
3720
  # Image source information.
2995
3721
  #
2996
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type] URL image source.
3722
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type] URL image source.
2997
3723
  #
2998
3724
  # @param url [String] URL of the image SafetyKit should compare or analyze.
2999
3725
 
3000
3726
  # URL image source.
3001
3727
  #
3002
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source#type
3728
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source#type
3003
3729
  module Type
3004
3730
  extend SafetyKit::Internal::Type::Enum
3005
3731
 
@@ -3012,7 +3738,7 @@ module SafetyKit
3012
3738
 
3013
3739
  # Image content part.
3014
3740
  #
3015
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent#type
3741
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent#type
3016
3742
  module Type
3017
3743
  extend SafetyKit::Internal::Type::Enum
3018
3744
 
@@ -3024,7 +3750,7 @@ module SafetyKit
3024
3750
  end
3025
3751
 
3026
3752
  # @!method self.variants
3027
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent)]
3753
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent)]
3028
3754
  end
3029
3755
 
3030
3756
  module Metadata
@@ -3036,7 +3762,7 @@ module SafetyKit
3036
3762
 
3037
3763
  variant SafetyKit::Internal::Type::Boolean
3038
3764
 
3039
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::UnionMember3Array }
3765
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::UnionMember3Array }
3040
3766
 
3041
3767
  module UnionMember3
3042
3768
  extend SafetyKit::Internal::Type::Union
@@ -3056,9 +3782,9 @@ module SafetyKit
3056
3782
 
3057
3783
  # @type [SafetyKit::Internal::Type::Converter]
3058
3784
  UnionMember3Array =
3059
- SafetyKit::Internal::Type::ArrayOf[union: -> {
3060
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::UnionMember3
3061
- }]
3785
+ SafetyKit::Internal::Type::ArrayOf[
3786
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::UnionMember3 }
3787
+ ]
3062
3788
  end
3063
3789
 
3064
3790
  class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
@@ -3078,7 +3804,7 @@ module SafetyKit
3078
3804
 
3079
3805
  # @!method initialize(type:, value:)
3080
3806
  # Some parameter documentations has been truncated, see
3081
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed}
3807
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed}
3082
3808
  # for more details.
3083
3809
  #
3084
3810
  # Real-world or account resource used during the event, such as an email, phone
@@ -3091,16 +3817,16 @@ module SafetyKit
3091
3817
  end
3092
3818
 
3093
3819
  # @!method self.variants
3094
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport)]
3820
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision)]
3095
3821
  end
3096
3822
 
3097
3823
  # @!method self.variants
3098
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UserReportEventRequest, Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport>)]
3824
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UserReportEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision>)]
3099
3825
 
3100
3826
  # @type [SafetyKit::Internal::Type::Converter]
3101
- UnionMember5Array =
3827
+ UnionMember6Array =
3102
3828
  SafetyKit::Internal::Type::ArrayOf[union: -> {
3103
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5
3829
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6
3104
3830
  }]
3105
3831
  end
3106
3832
  end