safetykit 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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,831 @@ 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
+ 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
1589
1596
 
1590
- discriminator :type
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] }
1591
1603
 
1592
- # A user contacts, transacts with, or otherwise interacts with another user.
1593
- variant :user_contact, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact }
1604
+ # @!attribute source_id
1605
+ # Stable identifier within source_type. For system_auto_ban, use a versioned
1606
+ # system identifier; for manual_review, use the manual reviewer id.
1607
+ #
1608
+ # @return [String]
1609
+ required :source_id, String
1594
1610
 
1595
- # A user posts, uploads, publishes, edits, or replaces content.
1596
- variant :content_uploaded, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded }
1611
+ # @!attribute source_type
1612
+ # Stable snake_case attribution namespace for the decision source, such as
1613
+ # system_auto_ban or manual_review.
1614
+ #
1615
+ # @return [String]
1616
+ required :source_type, String
1597
1617
 
1598
- # A user or account is created.
1599
- variant :create_account, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount }
1618
+ # @!attribute timestamp
1619
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
1620
+ #
1621
+ # @return [Time]
1622
+ required :timestamp, Time
1600
1623
 
1601
- # A user or account profile, contact detail, payment detail, or public bio changes.
1602
- variant :update_account, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount }
1624
+ # @!attribute type
1625
+ #
1626
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type]
1627
+ required :type,
1628
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type }
1603
1629
 
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 }
1630
+ # @!attribute content
1631
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
1632
+ # listing text, image URLs, and similar content SafetyKit should compare or
1633
+ # analyze.
1634
+ #
1635
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent>, nil]
1636
+ optional :content,
1637
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content] }
1606
1638
 
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
1639
+ # @!attribute content_id
1640
+ # Your stable identifier for the content involved in this event, such as a
1641
+ # message, listing, page, post, profile, or uploaded media item.
1642
+ #
1643
+ # @return [String, nil]
1644
+ optional :content_id, String
1614
1645
 
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
1646
+ # @!attribute idempotency_key
1647
+ # Optional caller-provided key used to make retries of this individual event
1648
+ # idempotent. Reuse the same key only for retries of the same logical event.
1649
+ #
1650
+ # @return [String, nil]
1651
+ optional :idempotency_key, String
1621
1652
 
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
1653
+ # @!attribute metadata
1654
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
1655
+ # be strings, numbers, booleans, or arrays of those scalar values.
1656
+ #
1657
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
1658
+ optional :metadata,
1659
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata] }
1627
1660
 
1628
- # @!attribute type
1629
- #
1630
- # @return [Symbol, :user_contact]
1631
- required :type, const: :user_contact
1661
+ # @!attribute resources_used
1662
+ # Reusable resources observed during the event. Use this for emails, phone
1663
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1664
+ # identifiers.
1665
+ #
1666
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed>, nil]
1667
+ optional :resources_used,
1668
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed] }
1632
1669
 
1633
- # @!attribute user_id
1634
- # Your stable canonical identifier for the user or account.
1635
- #
1636
- # @return [String]
1637
- required :user_id, String
1670
+ # @!attribute target_content_id
1671
+ # Your stable identifier for the content being reported.
1672
+ #
1673
+ # @return [String, nil]
1674
+ optional :target_content_id, String
1638
1675
 
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] }
1676
+ # @!attribute target_user_id
1677
+ # Your stable canonical identifier for the user being reported.
1678
+ #
1679
+ # @return [String, nil]
1680
+ optional :target_user_id, String
1647
1681
 
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
1682
+ # @!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)
1683
+ # Some parameter documentations has been truncated, see
1684
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest}
1685
+ # for more details.
1686
+ #
1687
+ # A moderation label or decision from an automated enforcement system or manual
1688
+ # review workflow. Do not send user_id; use source_type and source_id for
1689
+ # attribution.
1690
+ #
1691
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
1692
+ #
1693
+ # @param labels [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Label>] One or more label categories supplied with the report.
1694
+ #
1695
+ # @param source_id [String] Stable identifier within source_type. For system_auto_ban, use a versioned syste
1696
+ #
1697
+ # @param source_type [String] Stable snake*case attribution namespace for the decision source, such as system*
1698
+ #
1699
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
1700
+ #
1701
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type]
1702
+ #
1703
+ # @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,
1704
+ #
1705
+ # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
1706
+ #
1707
+ # @param idempotency_key [String] Optional caller-provided key used to make retries of this individual event idemp
1708
+ #
1709
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
1710
+ #
1711
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
1712
+ #
1713
+ # @param target_content_id [String] Your stable identifier for the content being reported.
1714
+ #
1715
+ # @param target_user_id [String] Your stable canonical identifier for the user being reported.
1654
1716
 
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.
1717
+ class Label < SafetyKit::Internal::Type::BaseModel
1718
+ # @!attribute label
1719
+ # Stable snake_case report label category.
1658
1720
  #
1659
- # @return [String, nil]
1660
- optional :idempotency_key, String
1721
+ # @return [String]
1722
+ required :label, String
1661
1723
 
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.
1724
+ # @!method initialize(label:)
1725
+ # Label category supplied with a user report.
1665
1726
  #
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] }
1727
+ # @param label [String] Stable snake_case report label category.
1728
+ end
1669
1729
 
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.
1674
- #
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] }
1730
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest#type
1731
+ module Type
1732
+ extend SafetyKit::Internal::Type::Enum
1678
1733
 
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
1703
- #
1704
- # @param type [Symbol, :user_contact]
1734
+ MODERATION_DECISION = :moderation_decision
1705
1735
 
1706
- # User-authored text content associated with an event.
1707
- module Content
1708
- extend SafetyKit::Internal::Type::Union
1736
+ # @!method self.values
1737
+ # @return [Array<Symbol>]
1738
+ end
1709
1739
 
1710
- # User-authored text content associated with an event.
1711
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent }
1740
+ # User-authored text content associated with an event.
1741
+ module Content
1742
+ extend SafetyKit::Internal::Type::Union
1712
1743
 
1713
- # User-uploaded image content associated with an event.
1714
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent }
1744
+ # User-authored text content associated with an event.
1745
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent }
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
+ # User-uploaded image content associated with an event.
1748
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent }
1722
1749
 
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 }
1750
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
1751
+ # @!attribute text
1752
+ # User-authored text SafetyKit should compare or analyze.
1753
+ #
1754
+ # @return [String]
1755
+ required :text, String
1729
1756
 
1730
- # @!attribute key
1731
- # Stable field key for this content part.
1732
- #
1733
- # @return [String, nil]
1734
- optional :key, String
1757
+ # @!attribute type
1758
+ # Text content part.
1759
+ #
1760
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type]
1761
+ required :type,
1762
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type }
1735
1763
 
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.
1764
+ # @!attribute key
1765
+ # Stable field key for this content part.
1766
+ #
1767
+ # @return [String, nil]
1768
+ optional :key, String
1744
1769
 
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
1770
+ # @!method initialize(text:, type:, key: nil)
1771
+ # User-authored text content associated with an event.
1772
+ #
1773
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
1774
+ #
1775
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::Type] Text content part.
1776
+ #
1777
+ # @param key [String] Stable field key for this content part.
1750
1778
 
1751
- TEXT = :text
1779
+ # Text content part.
1780
+ #
1781
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent#type
1782
+ module Type
1783
+ extend SafetyKit::Internal::Type::Enum
1752
1784
 
1753
- # @!method self.values
1754
- # @return [Array<Symbol>]
1755
- end
1785
+ TEXT = :text
1786
+
1787
+ # @!method self.values
1788
+ # @return [Array<Symbol>]
1789
+ end
1790
+ end
1791
+
1792
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
1793
+ # @!attribute source
1794
+ # Image source information.
1795
+ #
1796
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source]
1797
+ required :source,
1798
+ -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source }
1799
+
1800
+ # @!attribute type
1801
+ # Image content part.
1802
+ #
1803
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type]
1804
+ required :type,
1805
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type }
1806
+
1807
+ # @!attribute key
1808
+ # Stable field key for this content part.
1809
+ #
1810
+ # @return [String, nil]
1811
+ optional :key, String
1812
+
1813
+ # @!method initialize(source:, type:, key: nil)
1814
+ # User-uploaded image content associated with an event.
1815
+ #
1816
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source] Image source information.
1817
+ #
1818
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Type] Image content part.
1819
+ #
1820
+ # @param key [String] Stable field key for this content part.
1821
+
1822
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent#source
1823
+ class Source < SafetyKit::Internal::Type::BaseModel
1824
+ # @!attribute type
1825
+ # URL image source.
1826
+ #
1827
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type]
1828
+ required :type,
1829
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type }
1830
+
1831
+ # @!attribute url
1832
+ # URL of the image SafetyKit should compare or analyze.
1833
+ #
1834
+ # @return [String]
1835
+ required :url, String
1836
+
1837
+ # @!method initialize(type:, url:)
1838
+ # Image source information.
1839
+ #
1840
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::Type] URL image source.
1841
+ #
1842
+ # @param url [String] URL of the image SafetyKit should compare or analyze.
1843
+
1844
+ # URL image source.
1845
+ #
1846
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source#type
1847
+ module Type
1848
+ extend SafetyKit::Internal::Type::Enum
1849
+
1850
+ URL = :url
1851
+
1852
+ # @!method self.values
1853
+ # @return [Array<Symbol>]
1854
+ end
1855
+ end
1856
+
1857
+ # Image content part.
1858
+ #
1859
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent#type
1860
+ module Type
1861
+ extend SafetyKit::Internal::Type::Enum
1862
+
1863
+ IMAGE = :image
1864
+
1865
+ # @!method self.values
1866
+ # @return [Array<Symbol>]
1867
+ end
1868
+ end
1869
+
1870
+ # @!method self.variants
1871
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Content::EventImageContent)]
1872
+ end
1873
+
1874
+ module Metadata
1875
+ extend SafetyKit::Internal::Type::Union
1876
+
1877
+ variant String
1878
+
1879
+ variant Float
1880
+
1881
+ variant SafetyKit::Internal::Type::Boolean
1882
+
1883
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::UnionMember3Array }
1884
+
1885
+ module UnionMember3
1886
+ extend SafetyKit::Internal::Type::Union
1887
+
1888
+ variant String
1889
+
1890
+ variant Float
1891
+
1892
+ variant SafetyKit::Internal::Type::Boolean
1893
+
1894
+ # @!method self.variants
1895
+ # @return [Array(String, Float, Boolean)]
1896
+ end
1897
+
1898
+ # @!method self.variants
1899
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
1900
+
1901
+ # @type [SafetyKit::Internal::Type::Converter]
1902
+ UnionMember3Array =
1903
+ SafetyKit::Internal::Type::ArrayOf[
1904
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Metadata::UnionMember3 }
1905
+ ]
1906
+ end
1907
+
1908
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1909
+ # @!attribute type
1910
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
1911
+ # youtube, linkedin, or another stable snake_case identifier.
1912
+ #
1913
+ # @return [String]
1914
+ required :type, String
1915
+
1916
+ # @!attribute value
1917
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
1918
+ # value, not the raw value. When type is url, this must be a valid URL.
1919
+ #
1920
+ # @return [String]
1921
+ required :value, String
1922
+
1923
+ # @!method initialize(type:, value:)
1924
+ # Some parameter documentations has been truncated, see
1925
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ResourcesUsed}
1926
+ # for more details.
1927
+ #
1928
+ # Real-world or account resource used during the event, such as an email, phone
1929
+ # number, address, URL, social handle, or payment identifier.
1930
+ #
1931
+ # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
1932
+ #
1933
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
1934
+ end
1935
+ end
1936
+
1937
+ # A user contacts, transacts with, or otherwise interacts with another user.
1938
+ module UnionMember6
1939
+ extend SafetyKit::Internal::Type::Union
1940
+
1941
+ discriminator :type
1942
+
1943
+ # A user contacts, transacts with, or otherwise interacts with another user.
1944
+ variant :user_contact, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact }
1945
+
1946
+ # A user posts, uploads, publishes, edits, or replaces content.
1947
+ variant :content_uploaded, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded }
1948
+
1949
+ # A user or account is created.
1950
+ variant :create_account, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount }
1951
+
1952
+ # A user or account profile, contact detail, payment detail, or public bio changes.
1953
+ variant :update_account, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount }
1954
+
1955
+ # 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.
1956
+ variant :user_report, -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport }
1957
+
1958
+ # 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.
1959
+ variant :moderation_decision,
1960
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision }
1961
+
1962
+ class UserContact < SafetyKit::Internal::Type::BaseModel
1963
+ # @!attribute event_name
1964
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
1965
+ # values in typed fields, content, resources_used, or metadata.
1966
+ #
1967
+ # @return [String]
1968
+ required :event_name, String
1969
+
1970
+ # @!attribute target_user_id
1971
+ # Your stable canonical identifier for the other user in a user-to-user
1972
+ # interaction.
1973
+ #
1974
+ # @return [String]
1975
+ required :target_user_id, String
1976
+
1977
+ # @!attribute timestamp
1978
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
1979
+ #
1980
+ # @return [Time]
1981
+ required :timestamp, Time
1982
+
1983
+ # @!attribute type
1984
+ #
1985
+ # @return [Symbol, :user_contact]
1986
+ required :type, const: :user_contact
1987
+
1988
+ # @!attribute user_id
1989
+ # Your stable canonical identifier for the user or account.
1990
+ #
1991
+ # @return [String]
1992
+ required :user_id, String
1993
+
1994
+ # @!attribute content
1995
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
1996
+ # listing text, image URLs, and similar content SafetyKit should compare or
1997
+ # analyze.
1998
+ #
1999
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent>, nil]
2000
+ optional :content,
2001
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content] }
2002
+
2003
+ # @!attribute content_id
2004
+ # Your stable identifier for the content involved in this event, such as a
2005
+ # message, listing, page, post, profile, or uploaded media item.
2006
+ #
2007
+ # @return [String, nil]
2008
+ optional :content_id, String
2009
+
2010
+ # @!attribute idempotency_key
2011
+ # Optional caller-provided key used to make retries of this individual event
2012
+ # idempotent. Reuse the same key only for retries of the same logical event.
2013
+ #
2014
+ # @return [String, nil]
2015
+ optional :idempotency_key, String
2016
+
2017
+ # @!attribute metadata
2018
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
2019
+ # be strings, numbers, booleans, or arrays of those scalar values.
2020
+ #
2021
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2022
+ optional :metadata,
2023
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata] }
2024
+
2025
+ # @!attribute resources_used
2026
+ # Reusable resources observed during the event. Use this for emails, phone
2027
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2028
+ # identifiers.
2029
+ #
2030
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed>, nil]
2031
+ optional :resources_used,
2032
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed] }
2033
+
2034
+ # @!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)
2035
+ # Some parameter documentations has been truncated, see
2036
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact}
2037
+ # for more details.
2038
+ #
2039
+ # A user contacts, transacts with, or otherwise interacts with another user.
2040
+ #
2041
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2042
+ #
2043
+ # @param target_user_id [String] Your stable canonical identifier for the other user in a user-to-user interactio
2044
+ #
2045
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
2046
+ #
2047
+ # @param user_id [String] Your stable canonical identifier for the user or account.
2048
+ #
2049
+ # @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,
2050
+ #
2051
+ # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
2052
+ #
2053
+ # @param idempotency_key [String] Optional caller-provided key used to make retries of this individual event idemp
2054
+ #
2055
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2056
+ #
2057
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2058
+ #
2059
+ # @param type [Symbol, :user_contact]
2060
+
2061
+ # User-authored text content associated with an event.
2062
+ module Content
2063
+ extend SafetyKit::Internal::Type::Union
2064
+
2065
+ # User-authored text content associated with an event.
2066
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent }
2067
+
2068
+ # User-uploaded image content associated with an event.
2069
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent }
2070
+
2071
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
2072
+ # @!attribute text
2073
+ # User-authored text SafetyKit should compare or analyze.
2074
+ #
2075
+ # @return [String]
2076
+ required :text, String
2077
+
2078
+ # @!attribute type
2079
+ # Text content part.
2080
+ #
2081
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type]
2082
+ required :type,
2083
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type }
2084
+
2085
+ # @!attribute key
2086
+ # Stable field key for this content part.
2087
+ #
2088
+ # @return [String, nil]
2089
+ optional :key, String
2090
+
2091
+ # @!method initialize(text:, type:, key: nil)
2092
+ # User-authored text content associated with an event.
2093
+ #
2094
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
2095
+ #
2096
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent::Type] Text content part.
2097
+ #
2098
+ # @param key [String] Stable field key for this content part.
2099
+
2100
+ # Text content part.
2101
+ #
2102
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent#type
2103
+ module Type
2104
+ extend SafetyKit::Internal::Type::Enum
2105
+
2106
+ TEXT = :text
2107
+
2108
+ # @!method self.values
2109
+ # @return [Array<Symbol>]
2110
+ end
2111
+ end
2112
+
2113
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
2114
+ # @!attribute source
2115
+ # Image source information.
2116
+ #
2117
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source]
2118
+ required :source,
2119
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source }
2120
+
2121
+ # @!attribute type
2122
+ # Image content part.
2123
+ #
2124
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type]
2125
+ required :type,
2126
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type }
2127
+
2128
+ # @!attribute key
2129
+ # Stable field key for this content part.
2130
+ #
2131
+ # @return [String, nil]
2132
+ optional :key, String
2133
+
2134
+ # @!method initialize(source:, type:, key: nil)
2135
+ # User-uploaded image content associated with an event.
2136
+ #
2137
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source] Image source information.
2138
+ #
2139
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Type] Image content part.
2140
+ #
2141
+ # @param key [String] Stable field key for this content part.
2142
+
2143
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent#source
2144
+ class Source < SafetyKit::Internal::Type::BaseModel
2145
+ # @!attribute type
2146
+ # URL image source.
2147
+ #
2148
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type]
2149
+ required :type,
2150
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type }
2151
+
2152
+ # @!attribute url
2153
+ # URL of the image SafetyKit should compare or analyze.
2154
+ #
2155
+ # @return [String]
2156
+ required :url, String
2157
+
2158
+ # @!method initialize(type:, url:)
2159
+ # Image source information.
2160
+ #
2161
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source::Type] URL image source.
2162
+ #
2163
+ # @param url [String] URL of the image SafetyKit should compare or analyze.
2164
+
2165
+ # URL image source.
2166
+ #
2167
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent::Source#type
2168
+ module Type
2169
+ extend SafetyKit::Internal::Type::Enum
2170
+
2171
+ URL = :url
2172
+
2173
+ # @!method self.values
2174
+ # @return [Array<Symbol>]
2175
+ end
2176
+ end
2177
+
2178
+ # Image content part.
2179
+ #
2180
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent#type
2181
+ module Type
2182
+ extend SafetyKit::Internal::Type::Enum
2183
+
2184
+ IMAGE = :image
2185
+
2186
+ # @!method self.values
2187
+ # @return [Array<Symbol>]
2188
+ end
2189
+ end
2190
+
2191
+ # @!method self.variants
2192
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Content::EventImageContent)]
2193
+ end
2194
+
2195
+ module Metadata
2196
+ extend SafetyKit::Internal::Type::Union
2197
+
2198
+ variant String
2199
+
2200
+ variant Float
2201
+
2202
+ variant SafetyKit::Internal::Type::Boolean
2203
+
2204
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::UnionMember3Array }
2205
+
2206
+ module UnionMember3
2207
+ extend SafetyKit::Internal::Type::Union
2208
+
2209
+ variant String
2210
+
2211
+ variant Float
2212
+
2213
+ variant SafetyKit::Internal::Type::Boolean
2214
+
2215
+ # @!method self.variants
2216
+ # @return [Array(String, Float, Boolean)]
2217
+ end
2218
+
2219
+ # @!method self.variants
2220
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
2221
+
2222
+ # @type [SafetyKit::Internal::Type::Converter]
2223
+ UnionMember3Array =
2224
+ SafetyKit::Internal::Type::ArrayOf[union: -> {
2225
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserContact::Metadata::UnionMember3
2226
+ }]
2227
+ end
2228
+
2229
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
2230
+ # @!attribute type
2231
+ # Resource family, such as email, phone, name, address, url, instagram, tiktok,
2232
+ # youtube, linkedin, or another stable snake_case identifier.
2233
+ #
2234
+ # @return [String]
2235
+ required :type, String
2236
+
2237
+ # @!attribute value
2238
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
2239
+ # value, not the raw value. When type is url, this must be a valid URL.
2240
+ #
2241
+ # @return [String]
2242
+ required :value, String
2243
+
2244
+ # @!method initialize(type:, value:)
2245
+ # Some parameter documentations has been truncated, see
2246
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserContact::ResourcesUsed}
2247
+ # for more details.
2248
+ #
2249
+ # Real-world or account resource used during the event, such as an email, phone
2250
+ # number, address, URL, social handle, or payment identifier.
2251
+ #
2252
+ # @param type [String] Resource family, such as email, phone, name, address, url, instagram, tiktok, yo
2253
+ #
2254
+ # @param value [String] Resource value used during the event. SafetyKit stores a normalized hash of this
2255
+ end
2256
+ end
2257
+
2258
+ class ContentUploaded < SafetyKit::Internal::Type::BaseModel
2259
+ # @!attribute content
2260
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2261
+ # listing text, image URLs, and similar content SafetyKit should compare or
2262
+ # analyze.
2263
+ #
2264
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent>]
2265
+ required :content,
2266
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content] }
2267
+
2268
+ # @!attribute event_name
2269
+ # Stable, low-cardinality product action name. Use snake_case and put dynamic
2270
+ # values in typed fields, content, resources_used, or metadata.
2271
+ #
2272
+ # @return [String]
2273
+ required :event_name, String
2274
+
2275
+ # @!attribute timestamp
2276
+ # The time the event occurred in your system, as an ISO 8601 datetime string.
2277
+ #
2278
+ # @return [Time]
2279
+ required :timestamp, Time
2280
+
2281
+ # @!attribute type
2282
+ #
2283
+ # @return [Symbol, :content_uploaded]
2284
+ required :type, const: :content_uploaded
2285
+
2286
+ # @!attribute user_id
2287
+ # Your stable canonical identifier for the user or account.
2288
+ #
2289
+ # @return [String]
2290
+ required :user_id, String
2291
+
2292
+ # @!attribute content_id
2293
+ # Your stable identifier for the content involved in this event, such as a
2294
+ # message, listing, page, post, profile, or uploaded media item.
2295
+ #
2296
+ # @return [String, nil]
2297
+ optional :content_id, String
2298
+
2299
+ # @!attribute idempotency_key
2300
+ # Optional caller-provided key used to make retries of this individual event
2301
+ # idempotent. Reuse the same key only for retries of the same logical event.
2302
+ #
2303
+ # @return [String, nil]
2304
+ optional :idempotency_key, String
2305
+
2306
+ # @!attribute metadata
2307
+ # Non-PII product context for filtering, segmentation, and debugging. Values may
2308
+ # be strings, numbers, booleans, or arrays of those scalar values.
2309
+ #
2310
+ # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2311
+ optional :metadata,
2312
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata] }
2313
+
2314
+ # @!attribute resources_used
2315
+ # Reusable resources observed during the event. Use this for emails, phone
2316
+ # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2317
+ # identifiers.
2318
+ #
2319
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed>, nil]
2320
+ optional :resources_used,
2321
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed] }
2322
+
2323
+ # @!method initialize(content:, event_name:, timestamp:, user_id:, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :content_uploaded)
2324
+ # Some parameter documentations has been truncated, see
2325
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded}
2326
+ # for more details.
2327
+ #
2328
+ # A user posts, uploads, publishes, edits, or replaces content.
2329
+ #
2330
+ # @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,
2331
+ #
2332
+ # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2333
+ #
2334
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
2335
+ #
2336
+ # @param user_id [String] Your stable canonical identifier for the user or account.
2337
+ #
2338
+ # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
2339
+ #
2340
+ # @param idempotency_key [String] Optional caller-provided key used to make retries of this individual event idemp
2341
+ #
2342
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2343
+ #
2344
+ # @param resources_used [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed>] Reusable resources observed during the event. Use this for emails, phone numbers
2345
+ #
2346
+ # @param type [Symbol, :content_uploaded]
2347
+
2348
+ # User-authored text content associated with an event.
2349
+ module Content
2350
+ extend SafetyKit::Internal::Type::Union
2351
+
2352
+ # User-authored text content associated with an event.
2353
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent }
2354
+
2355
+ # User-uploaded image content associated with an event.
2356
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent }
2357
+
2358
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
2359
+ # @!attribute text
2360
+ # User-authored text SafetyKit should compare or analyze.
2361
+ #
2362
+ # @return [String]
2363
+ required :text, String
2364
+
2365
+ # @!attribute type
2366
+ # Text content part.
2367
+ #
2368
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type]
2369
+ required :type,
2370
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type }
2371
+
2372
+ # @!attribute key
2373
+ # Stable field key for this content part.
2374
+ #
2375
+ # @return [String, nil]
2376
+ optional :key, String
2377
+
2378
+ # @!method initialize(text:, type:, key: nil)
2379
+ # User-authored text content associated with an event.
2380
+ #
2381
+ # @param text [String] User-authored text SafetyKit should compare or analyze.
2382
+ #
2383
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent::Type] Text content part.
2384
+ #
2385
+ # @param key [String] Stable field key for this content part.
2386
+
2387
+ # Text content part.
2388
+ #
2389
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent#type
2390
+ module Type
2391
+ extend SafetyKit::Internal::Type::Enum
2392
+
2393
+ TEXT = :text
2394
+
2395
+ # @!method self.values
2396
+ # @return [Array<Symbol>]
2397
+ end
1756
2398
  end
1757
2399
 
1758
2400
  class EventImageContent < SafetyKit::Internal::Type::BaseModel
1759
2401
  # @!attribute source
1760
2402
  # Image source information.
1761
2403
  #
1762
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source]
2404
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source]
1763
2405
  required :source,
1764
- -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source }
2406
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source }
1765
2407
 
1766
2408
  # @!attribute type
1767
2409
  # Image content part.
1768
2410
  #
1769
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type]
2411
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type]
1770
2412
  required :type,
1771
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type }
2413
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type }
1772
2414
 
1773
2415
  # @!attribute key
1774
2416
  # Stable field key for this content part.
@@ -1779,20 +2421,20 @@ module SafetyKit
1779
2421
  # @!method initialize(source:, type:, key: nil)
1780
2422
  # User-uploaded image content associated with an event.
1781
2423
  #
1782
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source] Image source information.
2424
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source] Image source information.
1783
2425
  #
1784
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Type] Image content part.
2426
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Type] Image content part.
1785
2427
  #
1786
2428
  # @param key [String] Stable field key for this content part.
1787
2429
 
1788
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent#source
2430
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent#source
1789
2431
  class Source < SafetyKit::Internal::Type::BaseModel
1790
2432
  # @!attribute type
1791
2433
  # URL image source.
1792
2434
  #
1793
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type]
2435
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type]
1794
2436
  required :type,
1795
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type }
2437
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type }
1796
2438
 
1797
2439
  # @!attribute url
1798
2440
  # URL of the image SafetyKit should compare or analyze.
@@ -1803,13 +2445,13 @@ module SafetyKit
1803
2445
  # @!method initialize(type:, url:)
1804
2446
  # Image source information.
1805
2447
  #
1806
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source::Type] URL image source.
2448
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source::Type] URL image source.
1807
2449
  #
1808
2450
  # @param url [String] URL of the image SafetyKit should compare or analyze.
1809
2451
 
1810
2452
  # URL image source.
1811
2453
  #
1812
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent::Source#type
2454
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent::Source#type
1813
2455
  module Type
1814
2456
  extend SafetyKit::Internal::Type::Enum
1815
2457
 
@@ -1822,7 +2464,7 @@ module SafetyKit
1822
2464
 
1823
2465
  # Image content part.
1824
2466
  #
1825
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent#type
2467
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent#type
1826
2468
  module Type
1827
2469
  extend SafetyKit::Internal::Type::Enum
1828
2470
 
@@ -1834,7 +2476,7 @@ module SafetyKit
1834
2476
  end
1835
2477
 
1836
2478
  # @!method self.variants
1837
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Content::EventImageContent)]
2479
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Content::EventImageContent)]
1838
2480
  end
1839
2481
 
1840
2482
  module Metadata
@@ -1846,7 +2488,7 @@ module SafetyKit
1846
2488
 
1847
2489
  variant SafetyKit::Internal::Type::Boolean
1848
2490
 
1849
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::UnionMember3Array }
2491
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::UnionMember3Array }
1850
2492
 
1851
2493
  module UnionMember3
1852
2494
  extend SafetyKit::Internal::Type::Union
@@ -1866,9 +2508,9 @@ module SafetyKit
1866
2508
 
1867
2509
  # @type [SafetyKit::Internal::Type::Converter]
1868
2510
  UnionMember3Array =
1869
- SafetyKit::Internal::Type::ArrayOf[union: -> {
1870
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserContact::Metadata::UnionMember3
1871
- }]
2511
+ SafetyKit::Internal::Type::ArrayOf[
2512
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::Metadata::UnionMember3 }
2513
+ ]
1872
2514
  end
1873
2515
 
1874
2516
  class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
@@ -1888,7 +2530,7 @@ module SafetyKit
1888
2530
 
1889
2531
  # @!method initialize(type:, value:)
1890
2532
  # Some parameter documentations has been truncated, see
1891
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserContact::ResourcesUsed}
2533
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ContentUploaded::ResourcesUsed}
1892
2534
  # for more details.
1893
2535
  #
1894
2536
  # Real-world or account resource used during the event, such as an email, phone
@@ -1900,16 +2542,7 @@ module SafetyKit
1900
2542
  end
1901
2543
  end
1902
2544
 
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
-
2545
+ class CreateAccount < SafetyKit::Internal::Type::BaseModel
1913
2546
  # @!attribute event_name
1914
2547
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
1915
2548
  # values in typed fields, content, resources_used, or metadata.
@@ -1925,8 +2558,8 @@ module SafetyKit
1925
2558
 
1926
2559
  # @!attribute type
1927
2560
  #
1928
- # @return [Symbol, :content_uploaded]
1929
- required :type, const: :content_uploaded
2561
+ # @return [Symbol, :create_account]
2562
+ required :type, const: :create_account
1930
2563
 
1931
2564
  # @!attribute user_id
1932
2565
  # Your stable canonical identifier for the user or account.
@@ -1934,6 +2567,15 @@ module SafetyKit
1934
2567
  # @return [String]
1935
2568
  required :user_id, String
1936
2569
 
2570
+ # @!attribute content
2571
+ # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2572
+ # listing text, image URLs, and similar content SafetyKit should compare or
2573
+ # analyze.
2574
+ #
2575
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent>, nil]
2576
+ optional :content,
2577
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content] }
2578
+
1937
2579
  # @!attribute content_id
1938
2580
  # Your stable identifier for the content involved in this event, such as a
1939
2581
  # message, listing, page, post, profile, or uploaded media item.
@@ -1954,25 +2596,23 @@ module SafetyKit
1954
2596
  #
1955
2597
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
1956
2598
  optional :metadata,
1957
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata] }
2599
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata] }
1958
2600
 
1959
2601
  # @!attribute resources_used
1960
2602
  # Reusable resources observed during the event. Use this for emails, phone
1961
2603
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1962
2604
  # identifiers.
1963
2605
  #
1964
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed>, nil]
2606
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed>, nil]
1965
2607
  optional :resources_used,
1966
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed] }
2608
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed] }
1967
2609
 
1968
- # @!method initialize(content:, event_name:, timestamp:, user_id:, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :content_uploaded)
2610
+ # @!method initialize(event_name:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :create_account)
1969
2611
  # Some parameter documentations has been truncated, see
1970
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded}
2612
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount}
1971
2613
  # for more details.
1972
2614
  #
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,
2615
+ # A user or account is created.
1976
2616
  #
1977
2617
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
1978
2618
  #
@@ -1980,25 +2620,27 @@ module SafetyKit
1980
2620
  #
1981
2621
  # @param user_id [String] Your stable canonical identifier for the user or account.
1982
2622
  #
2623
+ # @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,
2624
+ #
1983
2625
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
1984
2626
  #
1985
2627
  # @param idempotency_key [String] Optional caller-provided key used to make retries of this individual event idemp
1986
2628
  #
1987
2629
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
1988
2630
  #
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
2631
+ # @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
2632
  #
1991
- # @param type [Symbol, :content_uploaded]
2633
+ # @param type [Symbol, :create_account]
1992
2634
 
1993
2635
  # User-authored text content associated with an event.
1994
2636
  module Content
1995
2637
  extend SafetyKit::Internal::Type::Union
1996
2638
 
1997
2639
  # User-authored text content associated with an event.
1998
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent }
2640
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent }
1999
2641
 
2000
2642
  # User-uploaded image content associated with an event.
2001
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent }
2643
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent }
2002
2644
 
2003
2645
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
2004
2646
  # @!attribute text
@@ -2010,9 +2652,9 @@ module SafetyKit
2010
2652
  # @!attribute type
2011
2653
  # Text content part.
2012
2654
  #
2013
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type]
2655
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type]
2014
2656
  required :type,
2015
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type }
2657
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type }
2016
2658
 
2017
2659
  # @!attribute key
2018
2660
  # Stable field key for this content part.
@@ -2025,13 +2667,13 @@ module SafetyKit
2025
2667
  #
2026
2668
  # @param text [String] User-authored text SafetyKit should compare or analyze.
2027
2669
  #
2028
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent::Type] Text content part.
2670
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent::Type] Text content part.
2029
2671
  #
2030
2672
  # @param key [String] Stable field key for this content part.
2031
2673
 
2032
2674
  # Text content part.
2033
2675
  #
2034
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent#type
2676
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent#type
2035
2677
  module Type
2036
2678
  extend SafetyKit::Internal::Type::Enum
2037
2679
 
@@ -2046,16 +2688,16 @@ module SafetyKit
2046
2688
  # @!attribute source
2047
2689
  # Image source information.
2048
2690
  #
2049
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source]
2691
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source]
2050
2692
  required :source,
2051
- -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source }
2693
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source }
2052
2694
 
2053
2695
  # @!attribute type
2054
2696
  # Image content part.
2055
2697
  #
2056
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type]
2698
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type]
2057
2699
  required :type,
2058
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type }
2700
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type }
2059
2701
 
2060
2702
  # @!attribute key
2061
2703
  # Stable field key for this content part.
@@ -2066,20 +2708,20 @@ module SafetyKit
2066
2708
  # @!method initialize(source:, type:, key: nil)
2067
2709
  # User-uploaded image content associated with an event.
2068
2710
  #
2069
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source] Image source information.
2711
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source] Image source information.
2070
2712
  #
2071
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Type] Image content part.
2713
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Type] Image content part.
2072
2714
  #
2073
2715
  # @param key [String] Stable field key for this content part.
2074
2716
 
2075
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent#source
2717
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent#source
2076
2718
  class Source < SafetyKit::Internal::Type::BaseModel
2077
2719
  # @!attribute type
2078
2720
  # URL image source.
2079
2721
  #
2080
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type]
2722
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type]
2081
2723
  required :type,
2082
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type }
2724
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type }
2083
2725
 
2084
2726
  # @!attribute url
2085
2727
  # URL of the image SafetyKit should compare or analyze.
@@ -2090,13 +2732,13 @@ module SafetyKit
2090
2732
  # @!method initialize(type:, url:)
2091
2733
  # Image source information.
2092
2734
  #
2093
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source::Type] URL image source.
2735
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source::Type] URL image source.
2094
2736
  #
2095
2737
  # @param url [String] URL of the image SafetyKit should compare or analyze.
2096
2738
 
2097
2739
  # URL image source.
2098
2740
  #
2099
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent::Source#type
2741
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent::Source#type
2100
2742
  module Type
2101
2743
  extend SafetyKit::Internal::Type::Enum
2102
2744
 
@@ -2109,7 +2751,7 @@ module SafetyKit
2109
2751
 
2110
2752
  # Image content part.
2111
2753
  #
2112
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent#type
2754
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent#type
2113
2755
  module Type
2114
2756
  extend SafetyKit::Internal::Type::Enum
2115
2757
 
@@ -2121,7 +2763,7 @@ module SafetyKit
2121
2763
  end
2122
2764
 
2123
2765
  # @!method self.variants
2124
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Content::EventImageContent)]
2766
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Content::EventImageContent)]
2125
2767
  end
2126
2768
 
2127
2769
  module Metadata
@@ -2133,7 +2775,7 @@ module SafetyKit
2133
2775
 
2134
2776
  variant SafetyKit::Internal::Type::Boolean
2135
2777
 
2136
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::UnionMember3Array }
2778
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::UnionMember3Array }
2137
2779
 
2138
2780
  module UnionMember3
2139
2781
  extend SafetyKit::Internal::Type::Union
@@ -2154,7 +2796,7 @@ module SafetyKit
2154
2796
  # @type [SafetyKit::Internal::Type::Converter]
2155
2797
  UnionMember3Array =
2156
2798
  SafetyKit::Internal::Type::ArrayOf[
2157
- union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::Metadata::UnionMember3 }
2799
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::Metadata::UnionMember3 }
2158
2800
  ]
2159
2801
  end
2160
2802
 
@@ -2175,7 +2817,7 @@ module SafetyKit
2175
2817
 
2176
2818
  # @!method initialize(type:, value:)
2177
2819
  # Some parameter documentations has been truncated, see
2178
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::ContentUploaded::ResourcesUsed}
2820
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::CreateAccount::ResourcesUsed}
2179
2821
  # for more details.
2180
2822
  #
2181
2823
  # Real-world or account resource used during the event, such as an email, phone
@@ -2187,7 +2829,7 @@ module SafetyKit
2187
2829
  end
2188
2830
  end
2189
2831
 
2190
- class CreateAccount < SafetyKit::Internal::Type::BaseModel
2832
+ class UpdateAccount < SafetyKit::Internal::Type::BaseModel
2191
2833
  # @!attribute event_name
2192
2834
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
2193
2835
  # values in typed fields, content, resources_used, or metadata.
@@ -2203,8 +2845,8 @@ module SafetyKit
2203
2845
 
2204
2846
  # @!attribute type
2205
2847
  #
2206
- # @return [Symbol, :create_account]
2207
- required :type, const: :create_account
2848
+ # @return [Symbol, :update_account]
2849
+ required :type, const: :update_account
2208
2850
 
2209
2851
  # @!attribute user_id
2210
2852
  # Your stable canonical identifier for the user or account.
@@ -2217,9 +2859,9 @@ module SafetyKit
2217
2859
  # listing text, image URLs, and similar content SafetyKit should compare or
2218
2860
  # analyze.
2219
2861
  #
2220
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent>, nil]
2862
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent>, nil]
2221
2863
  optional :content,
2222
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content] }
2864
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content] }
2223
2865
 
2224
2866
  # @!attribute content_id
2225
2867
  # Your stable identifier for the content involved in this event, such as a
@@ -2241,23 +2883,24 @@ module SafetyKit
2241
2883
  #
2242
2884
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2243
2885
  optional :metadata,
2244
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata] }
2886
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata] }
2245
2887
 
2246
2888
  # @!attribute resources_used
2247
2889
  # Reusable resources observed during the event. Use this for emails, phone
2248
2890
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2249
2891
  # identifiers.
2250
2892
  #
2251
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed>, nil]
2893
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed>, nil]
2252
2894
  optional :resources_used,
2253
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed] }
2895
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed] }
2254
2896
 
2255
- # @!method initialize(event_name:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :create_account)
2897
+ # @!method initialize(event_name:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :update_account)
2256
2898
  # Some parameter documentations has been truncated, see
2257
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount}
2899
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount}
2258
2900
  # for more details.
2259
2901
  #
2260
- # A user or account is created.
2902
+ # A user or account profile, contact detail, payment detail, or public bio
2903
+ # changes.
2261
2904
  #
2262
2905
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2263
2906
  #
@@ -2265,7 +2908,7 @@ module SafetyKit
2265
2908
  #
2266
2909
  # @param user_id [String] Your stable canonical identifier for the user or account.
2267
2910
  #
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,
2911
+ # @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
2912
  #
2270
2913
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
2271
2914
  #
@@ -2273,19 +2916,19 @@ module SafetyKit
2273
2916
  #
2274
2917
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2275
2918
  #
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
2919
+ # @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
2920
  #
2278
- # @param type [Symbol, :create_account]
2921
+ # @param type [Symbol, :update_account]
2279
2922
 
2280
2923
  # User-authored text content associated with an event.
2281
2924
  module Content
2282
2925
  extend SafetyKit::Internal::Type::Union
2283
2926
 
2284
2927
  # User-authored text content associated with an event.
2285
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent }
2928
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent }
2286
2929
 
2287
2930
  # User-uploaded image content associated with an event.
2288
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent }
2931
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent }
2289
2932
 
2290
2933
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
2291
2934
  # @!attribute text
@@ -2297,9 +2940,9 @@ module SafetyKit
2297
2940
  # @!attribute type
2298
2941
  # Text content part.
2299
2942
  #
2300
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type]
2943
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type]
2301
2944
  required :type,
2302
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type }
2945
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type }
2303
2946
 
2304
2947
  # @!attribute key
2305
2948
  # Stable field key for this content part.
@@ -2312,13 +2955,13 @@ module SafetyKit
2312
2955
  #
2313
2956
  # @param text [String] User-authored text SafetyKit should compare or analyze.
2314
2957
  #
2315
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent::Type] Text content part.
2958
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent::Type] Text content part.
2316
2959
  #
2317
2960
  # @param key [String] Stable field key for this content part.
2318
2961
 
2319
2962
  # Text content part.
2320
2963
  #
2321
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent#type
2964
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent#type
2322
2965
  module Type
2323
2966
  extend SafetyKit::Internal::Type::Enum
2324
2967
 
@@ -2333,16 +2976,16 @@ module SafetyKit
2333
2976
  # @!attribute source
2334
2977
  # Image source information.
2335
2978
  #
2336
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source]
2979
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source]
2337
2980
  required :source,
2338
- -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source }
2981
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source }
2339
2982
 
2340
2983
  # @!attribute type
2341
2984
  # Image content part.
2342
2985
  #
2343
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type]
2986
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type]
2344
2987
  required :type,
2345
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type }
2988
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type }
2346
2989
 
2347
2990
  # @!attribute key
2348
2991
  # Stable field key for this content part.
@@ -2353,20 +2996,20 @@ module SafetyKit
2353
2996
  # @!method initialize(source:, type:, key: nil)
2354
2997
  # User-uploaded image content associated with an event.
2355
2998
  #
2356
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source] Image source information.
2999
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source] Image source information.
2357
3000
  #
2358
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Type] Image content part.
3001
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Type] Image content part.
2359
3002
  #
2360
3003
  # @param key [String] Stable field key for this content part.
2361
3004
 
2362
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent#source
3005
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent#source
2363
3006
  class Source < SafetyKit::Internal::Type::BaseModel
2364
3007
  # @!attribute type
2365
3008
  # URL image source.
2366
3009
  #
2367
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type]
3010
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type]
2368
3011
  required :type,
2369
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type }
3012
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type }
2370
3013
 
2371
3014
  # @!attribute url
2372
3015
  # URL of the image SafetyKit should compare or analyze.
@@ -2377,13 +3020,13 @@ module SafetyKit
2377
3020
  # @!method initialize(type:, url:)
2378
3021
  # Image source information.
2379
3022
  #
2380
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source::Type] URL image source.
3023
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source::Type] URL image source.
2381
3024
  #
2382
3025
  # @param url [String] URL of the image SafetyKit should compare or analyze.
2383
3026
 
2384
3027
  # URL image source.
2385
3028
  #
2386
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent::Source#type
3029
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent::Source#type
2387
3030
  module Type
2388
3031
  extend SafetyKit::Internal::Type::Enum
2389
3032
 
@@ -2396,7 +3039,7 @@ module SafetyKit
2396
3039
 
2397
3040
  # Image content part.
2398
3041
  #
2399
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent#type
3042
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent#type
2400
3043
  module Type
2401
3044
  extend SafetyKit::Internal::Type::Enum
2402
3045
 
@@ -2408,7 +3051,7 @@ module SafetyKit
2408
3051
  end
2409
3052
 
2410
3053
  # @!method self.variants
2411
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Content::EventImageContent)]
3054
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Content::EventImageContent)]
2412
3055
  end
2413
3056
 
2414
3057
  module Metadata
@@ -2420,7 +3063,7 @@ module SafetyKit
2420
3063
 
2421
3064
  variant SafetyKit::Internal::Type::Boolean
2422
3065
 
2423
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::UnionMember3Array }
3066
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::UnionMember3Array }
2424
3067
 
2425
3068
  module UnionMember3
2426
3069
  extend SafetyKit::Internal::Type::Union
@@ -2441,7 +3084,7 @@ module SafetyKit
2441
3084
  # @type [SafetyKit::Internal::Type::Converter]
2442
3085
  UnionMember3Array =
2443
3086
  SafetyKit::Internal::Type::ArrayOf[
2444
- union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::Metadata::UnionMember3 }
3087
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::Metadata::UnionMember3 }
2445
3088
  ]
2446
3089
  end
2447
3090
 
@@ -2462,7 +3105,7 @@ module SafetyKit
2462
3105
 
2463
3106
  # @!method initialize(type:, value:)
2464
3107
  # Some parameter documentations has been truncated, see
2465
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::CreateAccount::ResourcesUsed}
3108
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UpdateAccount::ResourcesUsed}
2466
3109
  # for more details.
2467
3110
  #
2468
3111
  # Real-world or account resource used during the event, such as an email, phone
@@ -2474,7 +3117,7 @@ module SafetyKit
2474
3117
  end
2475
3118
  end
2476
3119
 
2477
- class UpdateAccount < SafetyKit::Internal::Type::BaseModel
3120
+ class UserReport < SafetyKit::Internal::Type::BaseModel
2478
3121
  # @!attribute event_name
2479
3122
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
2480
3123
  # values in typed fields, content, resources_used, or metadata.
@@ -2482,6 +3125,13 @@ module SafetyKit
2482
3125
  # @return [String]
2483
3126
  required :event_name, String
2484
3127
 
3128
+ # @!attribute labels
3129
+ # One or more label categories supplied with the report.
3130
+ #
3131
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Label>]
3132
+ required :labels,
3133
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Label] }
3134
+
2485
3135
  # @!attribute timestamp
2486
3136
  # The time the event occurred in your system, as an ISO 8601 datetime string.
2487
3137
  #
@@ -2490,8 +3140,8 @@ module SafetyKit
2490
3140
 
2491
3141
  # @!attribute type
2492
3142
  #
2493
- # @return [Symbol, :update_account]
2494
- required :type, const: :update_account
3143
+ # @return [Symbol, :user_report]
3144
+ required :type, const: :user_report
2495
3145
 
2496
3146
  # @!attribute user_id
2497
3147
  # Your stable canonical identifier for the user or account.
@@ -2504,9 +3154,9 @@ module SafetyKit
2504
3154
  # listing text, image URLs, and similar content SafetyKit should compare or
2505
3155
  # analyze.
2506
3156
  #
2507
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent>, nil]
3157
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent>, nil]
2508
3158
  optional :content,
2509
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content] }
3159
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content] }
2510
3160
 
2511
3161
  # @!attribute content_id
2512
3162
  # Your stable identifier for the content involved in this event, such as a
@@ -2528,32 +3178,48 @@ module SafetyKit
2528
3178
  #
2529
3179
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2530
3180
  optional :metadata,
2531
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata] }
3181
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata] }
2532
3182
 
2533
3183
  # @!attribute resources_used
2534
3184
  # Reusable resources observed during the event. Use this for emails, phone
2535
3185
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2536
3186
  # identifiers.
2537
3187
  #
2538
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed>, nil]
3188
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed>, nil]
2539
3189
  optional :resources_used,
2540
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed] }
3190
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed] }
2541
3191
 
2542
- # @!method initialize(event_name:, timestamp:, user_id:, content: nil, content_id: nil, idempotency_key: nil, metadata: nil, resources_used: nil, type: :update_account)
3192
+ # @!attribute target_content_id
3193
+ # Your stable identifier for the content being reported.
3194
+ #
3195
+ # @return [String, nil]
3196
+ optional :target_content_id, String
3197
+
3198
+ # @!attribute target_user_id
3199
+ # Your stable canonical identifier for the user being reported.
3200
+ #
3201
+ # @return [String, nil]
3202
+ optional :target_user_id, String
3203
+
3204
+ # @!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
3205
  # Some parameter documentations has been truncated, see
2544
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount}
2545
- # for more details.
3206
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport} for
3207
+ # more details.
2546
3208
  #
2547
- # A user or account profile, contact detail, payment detail, or public bio
2548
- # changes.
3209
+ # A user-submitted report. Use user_id for the reporter. Include target_user_id
3210
+ # when a user is reported, target_content_id when content is reported, and both
3211
+ # when the report is about content associated with a user. Use content and
3212
+ # content_id for the report itself.
2549
3213
  #
2550
3214
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2551
3215
  #
3216
+ # @param labels [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Label>] One or more label categories supplied with the report.
3217
+ #
2552
3218
  # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
2553
3219
  #
2554
3220
  # @param user_id [String] Your stable canonical identifier for the user or account.
2555
3221
  #
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,
3222
+ # @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
3223
  #
2558
3224
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
2559
3225
  #
@@ -2561,19 +3227,36 @@ module SafetyKit
2561
3227
  #
2562
3228
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2563
3229
  #
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
3230
+ # @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
3231
  #
2566
- # @param type [Symbol, :update_account]
3232
+ # @param target_content_id [String] Your stable identifier for the content being reported.
3233
+ #
3234
+ # @param target_user_id [String] Your stable canonical identifier for the user being reported.
3235
+ #
3236
+ # @param type [Symbol, :user_report]
3237
+
3238
+ class Label < SafetyKit::Internal::Type::BaseModel
3239
+ # @!attribute label
3240
+ # Stable snake_case report label category.
3241
+ #
3242
+ # @return [String]
3243
+ required :label, String
3244
+
3245
+ # @!method initialize(label:)
3246
+ # Label category supplied with a user report.
3247
+ #
3248
+ # @param label [String] Stable snake_case report label category.
3249
+ end
2567
3250
 
2568
3251
  # User-authored text content associated with an event.
2569
3252
  module Content
2570
3253
  extend SafetyKit::Internal::Type::Union
2571
3254
 
2572
3255
  # User-authored text content associated with an event.
2573
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent }
3256
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent }
2574
3257
 
2575
3258
  # User-uploaded image content associated with an event.
2576
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent }
3259
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent }
2577
3260
 
2578
3261
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
2579
3262
  # @!attribute text
@@ -2585,9 +3268,9 @@ module SafetyKit
2585
3268
  # @!attribute type
2586
3269
  # Text content part.
2587
3270
  #
2588
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type]
3271
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type]
2589
3272
  required :type,
2590
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type }
3273
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type }
2591
3274
 
2592
3275
  # @!attribute key
2593
3276
  # Stable field key for this content part.
@@ -2600,13 +3283,13 @@ module SafetyKit
2600
3283
  #
2601
3284
  # @param text [String] User-authored text SafetyKit should compare or analyze.
2602
3285
  #
2603
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent::Type] Text content part.
3286
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent::Type] Text content part.
2604
3287
  #
2605
3288
  # @param key [String] Stable field key for this content part.
2606
3289
 
2607
3290
  # Text content part.
2608
3291
  #
2609
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent#type
3292
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent#type
2610
3293
  module Type
2611
3294
  extend SafetyKit::Internal::Type::Enum
2612
3295
 
@@ -2621,16 +3304,16 @@ module SafetyKit
2621
3304
  # @!attribute source
2622
3305
  # Image source information.
2623
3306
  #
2624
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source]
3307
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source]
2625
3308
  required :source,
2626
- -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source }
3309
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source }
2627
3310
 
2628
3311
  # @!attribute type
2629
3312
  # Image content part.
2630
3313
  #
2631
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type]
3314
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type]
2632
3315
  required :type,
2633
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type }
3316
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type }
2634
3317
 
2635
3318
  # @!attribute key
2636
3319
  # Stable field key for this content part.
@@ -2641,20 +3324,20 @@ module SafetyKit
2641
3324
  # @!method initialize(source:, type:, key: nil)
2642
3325
  # User-uploaded image content associated with an event.
2643
3326
  #
2644
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source] Image source information.
3327
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source] Image source information.
2645
3328
  #
2646
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Type] Image content part.
3329
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Type] Image content part.
2647
3330
  #
2648
3331
  # @param key [String] Stable field key for this content part.
2649
3332
 
2650
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent#source
3333
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent#source
2651
3334
  class Source < SafetyKit::Internal::Type::BaseModel
2652
3335
  # @!attribute type
2653
3336
  # URL image source.
2654
3337
  #
2655
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type]
3338
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type]
2656
3339
  required :type,
2657
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type }
3340
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type }
2658
3341
 
2659
3342
  # @!attribute url
2660
3343
  # URL of the image SafetyKit should compare or analyze.
@@ -2665,13 +3348,13 @@ module SafetyKit
2665
3348
  # @!method initialize(type:, url:)
2666
3349
  # Image source information.
2667
3350
  #
2668
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source::Type] URL image source.
3351
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source::Type] URL image source.
2669
3352
  #
2670
3353
  # @param url [String] URL of the image SafetyKit should compare or analyze.
2671
3354
 
2672
3355
  # URL image source.
2673
3356
  #
2674
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent::Source#type
3357
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent::Source#type
2675
3358
  module Type
2676
3359
  extend SafetyKit::Internal::Type::Enum
2677
3360
 
@@ -2684,7 +3367,7 @@ module SafetyKit
2684
3367
 
2685
3368
  # Image content part.
2686
3369
  #
2687
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent#type
3370
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent#type
2688
3371
  module Type
2689
3372
  extend SafetyKit::Internal::Type::Enum
2690
3373
 
@@ -2696,7 +3379,7 @@ module SafetyKit
2696
3379
  end
2697
3380
 
2698
3381
  # @!method self.variants
2699
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Content::EventImageContent)]
3382
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Content::EventImageContent)]
2700
3383
  end
2701
3384
 
2702
3385
  module Metadata
@@ -2708,7 +3391,7 @@ module SafetyKit
2708
3391
 
2709
3392
  variant SafetyKit::Internal::Type::Boolean
2710
3393
 
2711
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::UnionMember3Array }
3394
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::UnionMember3Array }
2712
3395
 
2713
3396
  module UnionMember3
2714
3397
  extend SafetyKit::Internal::Type::Union
@@ -2728,9 +3411,9 @@ module SafetyKit
2728
3411
 
2729
3412
  # @type [SafetyKit::Internal::Type::Converter]
2730
3413
  UnionMember3Array =
2731
- SafetyKit::Internal::Type::ArrayOf[
2732
- union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::Metadata::UnionMember3 }
2733
- ]
3414
+ SafetyKit::Internal::Type::ArrayOf[union: -> {
3415
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6::UserReport::Metadata::UnionMember3
3416
+ }]
2734
3417
  end
2735
3418
 
2736
3419
  class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
@@ -2750,7 +3433,7 @@ module SafetyKit
2750
3433
 
2751
3434
  # @!method initialize(type:, value:)
2752
3435
  # Some parameter documentations has been truncated, see
2753
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UpdateAccount::ResourcesUsed}
3436
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::UserReport::ResourcesUsed}
2754
3437
  # for more details.
2755
3438
  #
2756
3439
  # Real-world or account resource used during the event, such as an email, phone
@@ -2762,7 +3445,7 @@ module SafetyKit
2762
3445
  end
2763
3446
  end
2764
3447
 
2765
- class UserReport < SafetyKit::Internal::Type::BaseModel
3448
+ class ModerationDecision < SafetyKit::Internal::Type::BaseModel
2766
3449
  # @!attribute event_name
2767
3450
  # Stable, low-cardinality product action name. Use snake_case and put dynamic
2768
3451
  # values in typed fields, content, resources_used, or metadata.
@@ -2773,9 +3456,23 @@ module SafetyKit
2773
3456
  # @!attribute labels
2774
3457
  # One or more label categories supplied with the report.
2775
3458
  #
2776
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Label>]
3459
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Label>]
2777
3460
  required :labels,
2778
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Label] }
3461
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Label] }
3462
+
3463
+ # @!attribute source_id
3464
+ # Stable identifier within source_type. For system_auto_ban, use a versioned
3465
+ # system identifier; for manual_review, use the manual reviewer id.
3466
+ #
3467
+ # @return [String]
3468
+ required :source_id, String
3469
+
3470
+ # @!attribute source_type
3471
+ # Stable snake_case attribution namespace for the decision source, such as
3472
+ # system_auto_ban or manual_review.
3473
+ #
3474
+ # @return [String]
3475
+ required :source_type, String
2779
3476
 
2780
3477
  # @!attribute timestamp
2781
3478
  # The time the event occurred in your system, as an ISO 8601 datetime string.
@@ -2785,23 +3482,17 @@ module SafetyKit
2785
3482
 
2786
3483
  # @!attribute type
2787
3484
  #
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
3485
+ # @return [Symbol, :moderation_decision]
3486
+ required :type, const: :moderation_decision
2796
3487
 
2797
3488
  # @!attribute content
2798
3489
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2799
3490
  # listing text, image URLs, and similar content SafetyKit should compare or
2800
3491
  # analyze.
2801
3492
  #
2802
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent>, nil]
3493
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent>, nil]
2803
3494
  optional :content,
2804
- -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content] }
3495
+ -> { SafetyKit::Internal::Type::ArrayOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content] }
2805
3496
 
2806
3497
  # @!attribute content_id
2807
3498
  # Your stable identifier for the content involved in this event, such as a
@@ -2823,16 +3514,16 @@ module SafetyKit
2823
3514
  #
2824
3515
  # @return [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}, nil]
2825
3516
  optional :metadata,
2826
- -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata] }
3517
+ -> { SafetyKit::Internal::Type::HashOf[union: SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata] }
2827
3518
 
2828
3519
  # @!attribute resources_used
2829
3520
  # Reusable resources observed during the event. Use this for emails, phone
2830
3521
  # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2831
3522
  # identifiers.
2832
3523
  #
2833
- # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed>, nil]
3524
+ # @return [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed>, nil]
2834
3525
  optional :resources_used,
2835
- -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed] }
3526
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed] }
2836
3527
 
2837
3528
  # @!attribute target_content_id
2838
3529
  # Your stable identifier for the content being reported.
@@ -2846,25 +3537,26 @@ module SafetyKit
2846
3537
  # @return [String, nil]
2847
3538
  optional :target_user_id, String
2848
3539
 
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)
3540
+ # @!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
3541
  # Some parameter documentations has been truncated, see
2851
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport} for
2852
- # more details.
3542
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision}
3543
+ # for more details.
2853
3544
  #
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.
3545
+ # A moderation label or decision from an automated enforcement system or manual
3546
+ # review workflow. Do not send user_id; use source_type and source_id for
3547
+ # attribution.
2858
3548
  #
2859
3549
  # @param event_name [String] Stable, low-cardinality product action name. Use snake_case and put dynamic valu
2860
3550
  #
2861
- # @param labels [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Label>] One or more label categories supplied with the report.
3551
+ # @param labels [Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Label>] One or more label categories supplied with the report.
2862
3552
  #
2863
- # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
3553
+ # @param source_id [String] Stable identifier within source_type. For system_auto_ban, use a versioned syste
2864
3554
  #
2865
- # @param user_id [String] Your stable canonical identifier for the user or account.
3555
+ # @param source_type [String] Stable snake*case attribution namespace for the decision source, such as system*
3556
+ #
3557
+ # @param timestamp [Time] The time the event occurred in your system, as an ISO 8601 datetime string.
2866
3558
  #
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,
3559
+ # @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
3560
  #
2869
3561
  # @param content_id [String] Your stable identifier for the content involved in this event, such as a message
2870
3562
  #
@@ -2872,13 +3564,13 @@ module SafetyKit
2872
3564
  #
2873
3565
  # @param metadata [Hash{Symbol=>String, Float, Boolean, Array<String, Float, Boolean>}] Non-PII product context for filtering, segmentation, and debugging. Values may b
2874
3566
  #
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
3567
+ # @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
3568
  #
2877
3569
  # @param target_content_id [String] Your stable identifier for the content being reported.
2878
3570
  #
2879
3571
  # @param target_user_id [String] Your stable canonical identifier for the user being reported.
2880
3572
  #
2881
- # @param type [Symbol, :user_report]
3573
+ # @param type [Symbol, :moderation_decision]
2882
3574
 
2883
3575
  class Label < SafetyKit::Internal::Type::BaseModel
2884
3576
  # @!attribute label
@@ -2898,10 +3590,10 @@ module SafetyKit
2898
3590
  extend SafetyKit::Internal::Type::Union
2899
3591
 
2900
3592
  # User-authored text content associated with an event.
2901
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent }
3593
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent }
2902
3594
 
2903
3595
  # User-uploaded image content associated with an event.
2904
- variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent }
3596
+ variant -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent }
2905
3597
 
2906
3598
  class EventTextContent < SafetyKit::Internal::Type::BaseModel
2907
3599
  # @!attribute text
@@ -2913,9 +3605,9 @@ module SafetyKit
2913
3605
  # @!attribute type
2914
3606
  # Text content part.
2915
3607
  #
2916
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type]
3608
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type]
2917
3609
  required :type,
2918
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type }
3610
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type }
2919
3611
 
2920
3612
  # @!attribute key
2921
3613
  # Stable field key for this content part.
@@ -2928,13 +3620,13 @@ module SafetyKit
2928
3620
  #
2929
3621
  # @param text [String] User-authored text SafetyKit should compare or analyze.
2930
3622
  #
2931
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent::Type] Text content part.
3623
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent::Type] Text content part.
2932
3624
  #
2933
3625
  # @param key [String] Stable field key for this content part.
2934
3626
 
2935
3627
  # Text content part.
2936
3628
  #
2937
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent#type
3629
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent#type
2938
3630
  module Type
2939
3631
  extend SafetyKit::Internal::Type::Enum
2940
3632
 
@@ -2949,16 +3641,16 @@ module SafetyKit
2949
3641
  # @!attribute source
2950
3642
  # Image source information.
2951
3643
  #
2952
- # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source]
3644
+ # @return [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source]
2953
3645
  required :source,
2954
- -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source }
3646
+ -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source }
2955
3647
 
2956
3648
  # @!attribute type
2957
3649
  # Image content part.
2958
3650
  #
2959
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type]
3651
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type]
2960
3652
  required :type,
2961
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type }
3653
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type }
2962
3654
 
2963
3655
  # @!attribute key
2964
3656
  # Stable field key for this content part.
@@ -2969,20 +3661,20 @@ module SafetyKit
2969
3661
  # @!method initialize(source:, type:, key: nil)
2970
3662
  # User-uploaded image content associated with an event.
2971
3663
  #
2972
- # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source] Image source information.
3664
+ # @param source [SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source] Image source information.
2973
3665
  #
2974
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Type] Image content part.
3666
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Type] Image content part.
2975
3667
  #
2976
3668
  # @param key [String] Stable field key for this content part.
2977
3669
 
2978
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent#source
3670
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent#source
2979
3671
  class Source < SafetyKit::Internal::Type::BaseModel
2980
3672
  # @!attribute type
2981
3673
  # URL image source.
2982
3674
  #
2983
- # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type]
3675
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type]
2984
3676
  required :type,
2985
- enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type }
3677
+ enum: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type }
2986
3678
 
2987
3679
  # @!attribute url
2988
3680
  # URL of the image SafetyKit should compare or analyze.
@@ -2993,13 +3685,13 @@ module SafetyKit
2993
3685
  # @!method initialize(type:, url:)
2994
3686
  # Image source information.
2995
3687
  #
2996
- # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source::Type] URL image source.
3688
+ # @param type [Symbol, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source::Type] URL image source.
2997
3689
  #
2998
3690
  # @param url [String] URL of the image SafetyKit should compare or analyze.
2999
3691
 
3000
3692
  # URL image source.
3001
3693
  #
3002
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent::Source#type
3694
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent::Source#type
3003
3695
  module Type
3004
3696
  extend SafetyKit::Internal::Type::Enum
3005
3697
 
@@ -3012,7 +3704,7 @@ module SafetyKit
3012
3704
 
3013
3705
  # Image content part.
3014
3706
  #
3015
- # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent#type
3707
+ # @see SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent#type
3016
3708
  module Type
3017
3709
  extend SafetyKit::Internal::Type::Enum
3018
3710
 
@@ -3024,7 +3716,7 @@ module SafetyKit
3024
3716
  end
3025
3717
 
3026
3718
  # @!method self.variants
3027
- # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Content::EventImageContent)]
3719
+ # @return [Array(SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventTextContent, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Content::EventImageContent)]
3028
3720
  end
3029
3721
 
3030
3722
  module Metadata
@@ -3036,7 +3728,7 @@ module SafetyKit
3036
3728
 
3037
3729
  variant SafetyKit::Internal::Type::Boolean
3038
3730
 
3039
- variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::UnionMember3Array }
3731
+ variant -> { SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::UnionMember3Array }
3040
3732
 
3041
3733
  module UnionMember3
3042
3734
  extend SafetyKit::Internal::Type::Union
@@ -3056,9 +3748,9 @@ module SafetyKit
3056
3748
 
3057
3749
  # @type [SafetyKit::Internal::Type::Converter]
3058
3750
  UnionMember3Array =
3059
- SafetyKit::Internal::Type::ArrayOf[union: -> {
3060
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5::UserReport::Metadata::UnionMember3
3061
- }]
3751
+ SafetyKit::Internal::Type::ArrayOf[
3752
+ union: -> { SafetyKit::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::Metadata::UnionMember3 }
3753
+ ]
3062
3754
  end
3063
3755
 
3064
3756
  class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
@@ -3078,7 +3770,7 @@ module SafetyKit
3078
3770
 
3079
3771
  # @!method initialize(type:, value:)
3080
3772
  # Some parameter documentations has been truncated, see
3081
- # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember5::UserReport::ResourcesUsed}
3773
+ # {SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember6::ModerationDecision::ResourcesUsed}
3082
3774
  # for more details.
3083
3775
  #
3084
3776
  # Real-world or account resource used during the event, such as an email, phone
@@ -3091,16 +3783,16 @@ module SafetyKit
3091
3783
  end
3092
3784
 
3093
3785
  # @!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)]
3786
+ # @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
3787
  end
3096
3788
 
3097
3789
  # @!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>)]
3790
+ # @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
3791
 
3100
3792
  # @type [SafetyKit::Internal::Type::Converter]
3101
- UnionMember5Array =
3793
+ UnionMember6Array =
3102
3794
  SafetyKit::Internal::Type::ArrayOf[union: -> {
3103
- SafetyKit::Beta::EventCreateParams::Body::UnionMember5
3795
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember6
3104
3796
  }]
3105
3797
  end
3106
3798
  end