moderation_api 2.3.0 → 2.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac22b1ef7b071735a94c53e58a4bb89df6b5f420ae9e9b82da20a5d667e772b4
4
- data.tar.gz: 43a6a5afd2a9c6ac7cfca75f7699d99f032aea7cfb1839b8e9d4d2db94a05aa9
3
+ metadata.gz: 4da2393a0dc444367f36cd6636553143d6f86bb08e64c30a05c3855373105390
4
+ data.tar.gz: 030303362113354f37346217060b7853dabe827d03de86fe3b8c7a5c1d041cb7
5
5
  SHA512:
6
- metadata.gz: 61bb662509e3f7f6b96784354f5d274cb3e5d30d2b968b1ba0404d407858c6223b6efc73005b0c8797a25584cd5845dd123a7827a9195bd5a64c28431d94de12
7
- data.tar.gz: 34e429e1a34a595aae07dbb843a1c1e6062a5bc6d7cbfb33a8ecb2df26ec98fe97ebb682ad5c39630e9bd391422131b687b7a824ebce1fd0000466ac29b2ac6c
6
+ metadata.gz: 401af59bb36f9a7fb382ea217a0d32adaf42a920cc12257c0ee1c363f6be0afe152bbee19139d823a80df3c8c44935b2c7618c992cbf06508e31a490ea1f7882
7
+ data.tar.gz: b687d3f5d2097143a50fafc0cdcaba8d1fa49943404509dc07add034afe00d8054df67b446e7d40956d4bf47c9d10c18a2da0ae6a6ae00d2184316658d02941b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.5.0 (2026-01-28)
4
+
5
+ Full Changelog: [v2.4.0...v2.5.0](https://github.com/moderation-api/sdk-ruby/compare/v2.4.0...v2.5.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([ebed85c](https://github.com/moderation-api/sdk-ruby/commit/ebed85ca0318e4c4643525430666cec73ef9b8c1))
10
+
11
+ ## 2.4.0 (2026-01-28)
12
+
13
+ Full Changelog: [v2.3.0...v2.4.0](https://github.com/moderation-api/sdk-ruby/compare/v2.3.0...v2.4.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** api update ([6f59d50](https://github.com/moderation-api/sdk-ruby/commit/6f59d503d5316ea4989dc7f2826a760599a9cc0d))
18
+
19
+
20
+ ### Chores
21
+
22
+ * **internal:** update `actions/checkout` version ([6debb55](https://github.com/moderation-api/sdk-ruby/commit/6debb5528f54ceaefc72ffa445a69aa4f30bc4e7))
23
+ * move `cgi` into dependencies for ruby 4 ([6aab585](https://github.com/moderation-api/sdk-ruby/commit/6aab585a91f2ac47f2bae66f1e21d03eb6b5b475))
24
+
3
25
  ## 2.3.0 (2026-01-02)
4
26
 
5
27
  Full Changelog: [v2.2.1...v2.3.0](https://github.com/moderation-api/sdk-ruby/compare/v2.2.1...v2.3.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "moderation_api", "~> 2.3.0"
18
+ gem "moderation_api", "~> 2.5.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -59,11 +59,18 @@ module ModerationAPI
59
59
  # @!attribute policies
60
60
  # (Enterprise) override the channel policies for this moderation request only.
61
61
  #
62
- # @return [Array<ModerationAPI::Models::ContentSubmitParams::Policy::Toxicity, ModerationAPI::Models::ContentSubmitParams::Policy::PersonalInformation, ModerationAPI::Models::ContentSubmitParams::Policy::ToxicitySevere, ModerationAPI::Models::ContentSubmitParams::Policy::Hate, ModerationAPI::Models::ContentSubmitParams::Policy::Illicit, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitDrugs, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitAlcohol, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitFirearms, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::Models::ContentSubmitParams::Policy::Sexual, ModerationAPI::Models::ContentSubmitParams::Policy::Flirtation, ModerationAPI::Models::ContentSubmitParams::Policy::Profanity, ModerationAPI::Models::ContentSubmitParams::Policy::Violence, ModerationAPI::Models::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::Models::ContentSubmitParams::Policy::Spam, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>, nil]
62
+ # @return [Array<ModerationAPI::Models::ContentSubmitParams::Policy::Toxicity, ModerationAPI::Models::ContentSubmitParams::Policy::PersonalInformation, ModerationAPI::Models::ContentSubmitParams::Policy::ToxicitySevere, ModerationAPI::Models::ContentSubmitParams::Policy::Hate, ModerationAPI::Models::ContentSubmitParams::Policy::Illicit, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitDrugs, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitAlcohol, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitFirearms, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::Models::ContentSubmitParams::Policy::Cannabis, ModerationAPI::Models::ContentSubmitParams::Policy::Adult, ModerationAPI::Models::ContentSubmitParams::Policy::Crypto, ModerationAPI::Models::ContentSubmitParams::Policy::Sexual, ModerationAPI::Models::ContentSubmitParams::Policy::Flirtation, ModerationAPI::Models::ContentSubmitParams::Policy::Profanity, ModerationAPI::Models::ContentSubmitParams::Policy::Violence, ModerationAPI::Models::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::Models::ContentSubmitParams::Policy::Spam, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>, nil]
63
63
  optional :policies,
64
64
  -> { ModerationAPI::Internal::Type::ArrayOf[union: ModerationAPI::ContentSubmitParams::Policy] }
65
65
 
66
- # @!method initialize(content:, author_id: nil, channel: nil, content_id: nil, conversation_id: nil, do_not_store: nil, metadata: nil, meta_type: nil, policies: nil, request_options: {})
66
+ # @!attribute timestamp
67
+ # Unix timestamp (in milliseconds) of when the content was created. Use if content
68
+ # is not submitted in real-time.
69
+ #
70
+ # @return [Float, nil]
71
+ optional :timestamp, Float
72
+
73
+ # @!method initialize(content:, author_id: nil, channel: nil, content_id: nil, conversation_id: nil, do_not_store: nil, metadata: nil, meta_type: nil, policies: nil, timestamp: nil, request_options: {})
67
74
  # Some parameter documentations has been truncated, see
68
75
  # {ModerationAPI::Models::ContentSubmitParams} for more details.
69
76
  #
@@ -83,7 +90,9 @@ module ModerationAPI
83
90
  #
84
91
  # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated
85
92
  #
86
- # @param policies [Array<ModerationAPI::Models::ContentSubmitParams::Policy::Toxicity, ModerationAPI::Models::ContentSubmitParams::Policy::PersonalInformation, ModerationAPI::Models::ContentSubmitParams::Policy::ToxicitySevere, ModerationAPI::Models::ContentSubmitParams::Policy::Hate, ModerationAPI::Models::ContentSubmitParams::Policy::Illicit, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitDrugs, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitAlcohol, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitFirearms, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::Models::ContentSubmitParams::Policy::Sexual, ModerationAPI::Models::ContentSubmitParams::Policy::Flirtation, ModerationAPI::Models::ContentSubmitParams::Policy::Profanity, ModerationAPI::Models::ContentSubmitParams::Policy::Violence, ModerationAPI::Models::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::Models::ContentSubmitParams::Policy::Spam, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>] (Enterprise) override the channel policies for this moderation request only.
93
+ # @param policies [Array<ModerationAPI::Models::ContentSubmitParams::Policy::Toxicity, ModerationAPI::Models::ContentSubmitParams::Policy::PersonalInformation, ModerationAPI::Models::ContentSubmitParams::Policy::ToxicitySevere, ModerationAPI::Models::ContentSubmitParams::Policy::Hate, ModerationAPI::Models::ContentSubmitParams::Policy::Illicit, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitDrugs, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitAlcohol, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitFirearms, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::Models::ContentSubmitParams::Policy::Cannabis, ModerationAPI::Models::ContentSubmitParams::Policy::Adult, ModerationAPI::Models::ContentSubmitParams::Policy::Crypto, ModerationAPI::Models::ContentSubmitParams::Policy::Sexual, ModerationAPI::Models::ContentSubmitParams::Policy::Flirtation, ModerationAPI::Models::ContentSubmitParams::Policy::Profanity, ModerationAPI::Models::ContentSubmitParams::Policy::Violence, ModerationAPI::Models::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::Models::ContentSubmitParams::Policy::Spam, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>] (Enterprise) override the channel policies for this moderation request only.
94
+ #
95
+ # @param timestamp [Float] Unix timestamp (in milliseconds) of when the content was created. Use if content
87
96
  #
88
97
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
89
98
 
@@ -351,6 +360,12 @@ module ModerationAPI
351
360
 
352
361
  variant -> { ModerationAPI::ContentSubmitParams::Policy::IllicitGambling }
353
362
 
363
+ variant -> { ModerationAPI::ContentSubmitParams::Policy::Cannabis }
364
+
365
+ variant -> { ModerationAPI::ContentSubmitParams::Policy::Adult }
366
+
367
+ variant -> { ModerationAPI::ContentSubmitParams::Policy::Crypto }
368
+
354
369
  variant -> { ModerationAPI::ContentSubmitParams::Policy::Sexual }
355
370
 
356
371
  variant -> { ModerationAPI::ContentSubmitParams::Policy::Flirtation }
@@ -597,6 +612,72 @@ module ModerationAPI
597
612
  # @param id [Symbol, :illicit_gambling]
598
613
  end
599
614
 
615
+ class Cannabis < ModerationAPI::Internal::Type::BaseModel
616
+ # @!attribute id
617
+ #
618
+ # @return [Symbol, :cannabis]
619
+ required :id, const: :cannabis
620
+
621
+ # @!attribute flag
622
+ #
623
+ # @return [Boolean]
624
+ required :flag, ModerationAPI::Internal::Type::Boolean
625
+
626
+ # @!attribute threshold
627
+ #
628
+ # @return [Float, nil]
629
+ optional :threshold, Float
630
+
631
+ # @!method initialize(flag:, threshold: nil, id: :cannabis)
632
+ # @param flag [Boolean]
633
+ # @param threshold [Float]
634
+ # @param id [Symbol, :cannabis]
635
+ end
636
+
637
+ class Adult < ModerationAPI::Internal::Type::BaseModel
638
+ # @!attribute id
639
+ #
640
+ # @return [Symbol, :adult]
641
+ required :id, const: :adult
642
+
643
+ # @!attribute flag
644
+ #
645
+ # @return [Boolean]
646
+ required :flag, ModerationAPI::Internal::Type::Boolean
647
+
648
+ # @!attribute threshold
649
+ #
650
+ # @return [Float, nil]
651
+ optional :threshold, Float
652
+
653
+ # @!method initialize(flag:, threshold: nil, id: :adult)
654
+ # @param flag [Boolean]
655
+ # @param threshold [Float]
656
+ # @param id [Symbol, :adult]
657
+ end
658
+
659
+ class Crypto < ModerationAPI::Internal::Type::BaseModel
660
+ # @!attribute id
661
+ #
662
+ # @return [Symbol, :crypto]
663
+ required :id, const: :crypto
664
+
665
+ # @!attribute flag
666
+ #
667
+ # @return [Boolean]
668
+ required :flag, ModerationAPI::Internal::Type::Boolean
669
+
670
+ # @!attribute threshold
671
+ #
672
+ # @return [Float, nil]
673
+ optional :threshold, Float
674
+
675
+ # @!method initialize(flag:, threshold: nil, id: :crypto)
676
+ # @param flag [Boolean]
677
+ # @param threshold [Float]
678
+ # @param id [Symbol, :crypto]
679
+ end
680
+
600
681
  class Sexual < ModerationAPI::Internal::Type::BaseModel
601
682
  # @!attribute id
602
683
  #
@@ -942,7 +1023,7 @@ module ModerationAPI
942
1023
  end
943
1024
 
944
1025
  # @!method self.variants
945
- # @return [Array(ModerationAPI::Models::ContentSubmitParams::Policy::Toxicity, ModerationAPI::Models::ContentSubmitParams::Policy::PersonalInformation, ModerationAPI::Models::ContentSubmitParams::Policy::ToxicitySevere, ModerationAPI::Models::ContentSubmitParams::Policy::Hate, ModerationAPI::Models::ContentSubmitParams::Policy::Illicit, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitDrugs, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitAlcohol, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitFirearms, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::Models::ContentSubmitParams::Policy::Sexual, ModerationAPI::Models::ContentSubmitParams::Policy::Flirtation, ModerationAPI::Models::ContentSubmitParams::Policy::Profanity, ModerationAPI::Models::ContentSubmitParams::Policy::Violence, ModerationAPI::Models::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::Models::ContentSubmitParams::Policy::Spam, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline)]
1026
+ # @return [Array(ModerationAPI::Models::ContentSubmitParams::Policy::Toxicity, ModerationAPI::Models::ContentSubmitParams::Policy::PersonalInformation, ModerationAPI::Models::ContentSubmitParams::Policy::ToxicitySevere, ModerationAPI::Models::ContentSubmitParams::Policy::Hate, ModerationAPI::Models::ContentSubmitParams::Policy::Illicit, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitDrugs, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitAlcohol, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitFirearms, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::Models::ContentSubmitParams::Policy::Cannabis, ModerationAPI::Models::ContentSubmitParams::Policy::Adult, ModerationAPI::Models::ContentSubmitParams::Policy::Crypto, ModerationAPI::Models::ContentSubmitParams::Policy::Sexual, ModerationAPI::Models::ContentSubmitParams::Policy::Flirtation, ModerationAPI::Models::ContentSubmitParams::Policy::Profanity, ModerationAPI::Models::ContentSubmitParams::Policy::Violence, ModerationAPI::Models::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::Models::ContentSubmitParams::Policy::Spam, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline)]
946
1027
  end
947
1028
  end
948
1029
  end
@@ -6,7 +6,7 @@ module ModerationAPI
6
6
  # Some parameter documentations has been truncated, see
7
7
  # {ModerationAPI::Models::ContentSubmitParams} for more details.
8
8
  #
9
- # @overload submit(content:, author_id: nil, channel: nil, content_id: nil, conversation_id: nil, do_not_store: nil, metadata: nil, meta_type: nil, policies: nil, request_options: {})
9
+ # @overload submit(content:, author_id: nil, channel: nil, content_id: nil, conversation_id: nil, do_not_store: nil, metadata: nil, meta_type: nil, policies: nil, timestamp: nil, request_options: {})
10
10
  #
11
11
  # @param content [ModerationAPI::Models::ContentSubmitParams::Content::Text, ModerationAPI::Models::ContentSubmitParams::Content::Image, ModerationAPI::Models::ContentSubmitParams::Content::Video, ModerationAPI::Models::ContentSubmitParams::Content::Audio, ModerationAPI::Models::ContentSubmitParams::Content::Object] The content sent for moderation
12
12
  #
@@ -24,7 +24,9 @@ module ModerationAPI
24
24
  #
25
25
  # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated
26
26
  #
27
- # @param policies [Array<ModerationAPI::Models::ContentSubmitParams::Policy::Toxicity, ModerationAPI::Models::ContentSubmitParams::Policy::PersonalInformation, ModerationAPI::Models::ContentSubmitParams::Policy::ToxicitySevere, ModerationAPI::Models::ContentSubmitParams::Policy::Hate, ModerationAPI::Models::ContentSubmitParams::Policy::Illicit, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitDrugs, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitAlcohol, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitFirearms, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::Models::ContentSubmitParams::Policy::Sexual, ModerationAPI::Models::ContentSubmitParams::Policy::Flirtation, ModerationAPI::Models::ContentSubmitParams::Policy::Profanity, ModerationAPI::Models::ContentSubmitParams::Policy::Violence, ModerationAPI::Models::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::Models::ContentSubmitParams::Policy::Spam, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>] (Enterprise) override the channel policies for this moderation request only.
27
+ # @param policies [Array<ModerationAPI::Models::ContentSubmitParams::Policy::Toxicity, ModerationAPI::Models::ContentSubmitParams::Policy::PersonalInformation, ModerationAPI::Models::ContentSubmitParams::Policy::ToxicitySevere, ModerationAPI::Models::ContentSubmitParams::Policy::Hate, ModerationAPI::Models::ContentSubmitParams::Policy::Illicit, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitDrugs, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitAlcohol, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitFirearms, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::Models::ContentSubmitParams::Policy::Cannabis, ModerationAPI::Models::ContentSubmitParams::Policy::Adult, ModerationAPI::Models::ContentSubmitParams::Policy::Crypto, ModerationAPI::Models::ContentSubmitParams::Policy::Sexual, ModerationAPI::Models::ContentSubmitParams::Policy::Flirtation, ModerationAPI::Models::ContentSubmitParams::Policy::Profanity, ModerationAPI::Models::ContentSubmitParams::Policy::Violence, ModerationAPI::Models::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::Models::ContentSubmitParams::Policy::Spam, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>] (Enterprise) override the channel policies for this moderation request only.
28
+ #
29
+ # @param timestamp [Float] Unix timestamp (in milliseconds) of when the content was created. Use if content
28
30
  #
29
31
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
30
32
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModerationAPI
4
- VERSION = "2.3.0"
4
+ VERSION = "2.5.0"
5
5
  end
@@ -102,6 +102,9 @@ module ModerationAPI
102
102
  ModerationAPI::ContentSubmitParams::Policy::IllicitFirearms,
103
103
  ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco,
104
104
  ModerationAPI::ContentSubmitParams::Policy::IllicitGambling,
105
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis,
106
+ ModerationAPI::ContentSubmitParams::Policy::Adult,
107
+ ModerationAPI::ContentSubmitParams::Policy::Crypto,
105
108
  ModerationAPI::ContentSubmitParams::Policy::Sexual,
106
109
  ModerationAPI::ContentSubmitParams::Policy::Flirtation,
107
110
  ModerationAPI::ContentSubmitParams::Policy::Profanity,
@@ -137,6 +140,9 @@ module ModerationAPI
137
140
  ModerationAPI::ContentSubmitParams::Policy::IllicitFirearms::OrHash,
138
141
  ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco::OrHash,
139
142
  ModerationAPI::ContentSubmitParams::Policy::IllicitGambling::OrHash,
143
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis::OrHash,
144
+ ModerationAPI::ContentSubmitParams::Policy::Adult::OrHash,
145
+ ModerationAPI::ContentSubmitParams::Policy::Crypto::OrHash,
140
146
  ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash,
141
147
  ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash,
142
148
  ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash,
@@ -156,6 +162,14 @@ module ModerationAPI
156
162
  end
157
163
  attr_writer :policies
158
164
 
165
+ # Unix timestamp (in milliseconds) of when the content was created. Use if content
166
+ # is not submitted in real-time.
167
+ sig { returns(T.nilable(Float)) }
168
+ attr_reader :timestamp
169
+
170
+ sig { params(timestamp: Float).void }
171
+ attr_writer :timestamp
172
+
159
173
  sig do
160
174
  params(
161
175
  content:
@@ -186,6 +200,9 @@ module ModerationAPI
186
200
  ModerationAPI::ContentSubmitParams::Policy::IllicitFirearms::OrHash,
187
201
  ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco::OrHash,
188
202
  ModerationAPI::ContentSubmitParams::Policy::IllicitGambling::OrHash,
203
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis::OrHash,
204
+ ModerationAPI::ContentSubmitParams::Policy::Adult::OrHash,
205
+ ModerationAPI::ContentSubmitParams::Policy::Crypto::OrHash,
189
206
  ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash,
190
207
  ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash,
191
208
  ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash,
@@ -201,6 +218,7 @@ module ModerationAPI
201
218
  ModerationAPI::ContentSubmitParams::Policy::Guideline::OrHash
202
219
  )
203
220
  ],
221
+ timestamp: Float,
204
222
  request_options: ModerationAPI::RequestOptions::OrHash
205
223
  ).returns(T.attached_class)
206
224
  end
@@ -224,6 +242,9 @@ module ModerationAPI
224
242
  meta_type: nil,
225
243
  # (Enterprise) override the channel policies for this moderation request only.
226
244
  policies: nil,
245
+ # Unix timestamp (in milliseconds) of when the content was created. Use if content
246
+ # is not submitted in real-time.
247
+ timestamp: nil,
227
248
  request_options: {}
228
249
  )
229
250
  end
@@ -259,6 +280,9 @@ module ModerationAPI
259
280
  ModerationAPI::ContentSubmitParams::Policy::IllicitFirearms,
260
281
  ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco,
261
282
  ModerationAPI::ContentSubmitParams::Policy::IllicitGambling,
283
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis,
284
+ ModerationAPI::ContentSubmitParams::Policy::Adult,
285
+ ModerationAPI::ContentSubmitParams::Policy::Crypto,
262
286
  ModerationAPI::ContentSubmitParams::Policy::Sexual,
263
287
  ModerationAPI::ContentSubmitParams::Policy::Flirtation,
264
288
  ModerationAPI::ContentSubmitParams::Policy::Profanity,
@@ -274,6 +298,7 @@ module ModerationAPI
274
298
  ModerationAPI::ContentSubmitParams::Policy::Guideline
275
299
  )
276
300
  ],
301
+ timestamp: Float,
277
302
  request_options: ModerationAPI::RequestOptions
278
303
  }
279
304
  )
@@ -726,6 +751,9 @@ module ModerationAPI
726
751
  ModerationAPI::ContentSubmitParams::Policy::IllicitFirearms,
727
752
  ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco,
728
753
  ModerationAPI::ContentSubmitParams::Policy::IllicitGambling,
754
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis,
755
+ ModerationAPI::ContentSubmitParams::Policy::Adult,
756
+ ModerationAPI::ContentSubmitParams::Policy::Crypto,
729
757
  ModerationAPI::ContentSubmitParams::Policy::Sexual,
730
758
  ModerationAPI::ContentSubmitParams::Policy::Flirtation,
731
759
  ModerationAPI::ContentSubmitParams::Policy::Profanity,
@@ -1102,6 +1130,114 @@ module ModerationAPI
1102
1130
  end
1103
1131
  end
1104
1132
 
1133
+ class Cannabis < ModerationAPI::Internal::Type::BaseModel
1134
+ OrHash =
1135
+ T.type_alias do
1136
+ T.any(
1137
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis,
1138
+ ModerationAPI::Internal::AnyHash
1139
+ )
1140
+ end
1141
+
1142
+ sig { returns(Symbol) }
1143
+ attr_accessor :id
1144
+
1145
+ sig { returns(T::Boolean) }
1146
+ attr_accessor :flag
1147
+
1148
+ sig { returns(T.nilable(Float)) }
1149
+ attr_reader :threshold
1150
+
1151
+ sig { params(threshold: Float).void }
1152
+ attr_writer :threshold
1153
+
1154
+ sig do
1155
+ params(flag: T::Boolean, threshold: Float, id: Symbol).returns(
1156
+ T.attached_class
1157
+ )
1158
+ end
1159
+ def self.new(flag:, threshold: nil, id: :cannabis)
1160
+ end
1161
+
1162
+ sig do
1163
+ override.returns({ id: Symbol, flag: T::Boolean, threshold: Float })
1164
+ end
1165
+ def to_hash
1166
+ end
1167
+ end
1168
+
1169
+ class Adult < ModerationAPI::Internal::Type::BaseModel
1170
+ OrHash =
1171
+ T.type_alias do
1172
+ T.any(
1173
+ ModerationAPI::ContentSubmitParams::Policy::Adult,
1174
+ ModerationAPI::Internal::AnyHash
1175
+ )
1176
+ end
1177
+
1178
+ sig { returns(Symbol) }
1179
+ attr_accessor :id
1180
+
1181
+ sig { returns(T::Boolean) }
1182
+ attr_accessor :flag
1183
+
1184
+ sig { returns(T.nilable(Float)) }
1185
+ attr_reader :threshold
1186
+
1187
+ sig { params(threshold: Float).void }
1188
+ attr_writer :threshold
1189
+
1190
+ sig do
1191
+ params(flag: T::Boolean, threshold: Float, id: Symbol).returns(
1192
+ T.attached_class
1193
+ )
1194
+ end
1195
+ def self.new(flag:, threshold: nil, id: :adult)
1196
+ end
1197
+
1198
+ sig do
1199
+ override.returns({ id: Symbol, flag: T::Boolean, threshold: Float })
1200
+ end
1201
+ def to_hash
1202
+ end
1203
+ end
1204
+
1205
+ class Crypto < ModerationAPI::Internal::Type::BaseModel
1206
+ OrHash =
1207
+ T.type_alias do
1208
+ T.any(
1209
+ ModerationAPI::ContentSubmitParams::Policy::Crypto,
1210
+ ModerationAPI::Internal::AnyHash
1211
+ )
1212
+ end
1213
+
1214
+ sig { returns(Symbol) }
1215
+ attr_accessor :id
1216
+
1217
+ sig { returns(T::Boolean) }
1218
+ attr_accessor :flag
1219
+
1220
+ sig { returns(T.nilable(Float)) }
1221
+ attr_reader :threshold
1222
+
1223
+ sig { params(threshold: Float).void }
1224
+ attr_writer :threshold
1225
+
1226
+ sig do
1227
+ params(flag: T::Boolean, threshold: Float, id: Symbol).returns(
1228
+ T.attached_class
1229
+ )
1230
+ end
1231
+ def self.new(flag:, threshold: nil, id: :crypto)
1232
+ end
1233
+
1234
+ sig do
1235
+ override.returns({ id: Symbol, flag: T::Boolean, threshold: Float })
1236
+ end
1237
+ def to_hash
1238
+ end
1239
+ end
1240
+
1105
1241
  class Sexual < ModerationAPI::Internal::Type::BaseModel
1106
1242
  OrHash =
1107
1243
  T.type_alias do
@@ -33,6 +33,9 @@ module ModerationAPI
33
33
  ModerationAPI::ContentSubmitParams::Policy::IllicitFirearms::OrHash,
34
34
  ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco::OrHash,
35
35
  ModerationAPI::ContentSubmitParams::Policy::IllicitGambling::OrHash,
36
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis::OrHash,
37
+ ModerationAPI::ContentSubmitParams::Policy::Adult::OrHash,
38
+ ModerationAPI::ContentSubmitParams::Policy::Crypto::OrHash,
36
39
  ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash,
37
40
  ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash,
38
41
  ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash,
@@ -48,6 +51,7 @@ module ModerationAPI
48
51
  ModerationAPI::ContentSubmitParams::Policy::Guideline::OrHash
49
52
  )
50
53
  ],
54
+ timestamp: Float,
51
55
  request_options: ModerationAPI::RequestOptions::OrHash
52
56
  ).returns(ModerationAPI::Models::ContentSubmitResponse)
53
57
  end
@@ -71,6 +75,9 @@ module ModerationAPI
71
75
  meta_type: nil,
72
76
  # (Enterprise) override the channel policies for this moderation request only.
73
77
  policies: nil,
78
+ # Unix timestamp (in milliseconds) of when the content was created. Use if content
79
+ # is not submitted in real-time.
80
+ timestamp: nil,
74
81
  request_options: {}
75
82
  )
76
83
  end
@@ -10,7 +10,8 @@ module ModerationAPI
10
10
  do_not_store: bool,
11
11
  metadata: ::Hash[Symbol, top],
12
12
  meta_type: ModerationAPI::Models::ContentSubmitParams::meta_type,
13
- policies: ::Array[ModerationAPI::Models::ContentSubmitParams::policy]
13
+ policies: ::Array[ModerationAPI::Models::ContentSubmitParams::policy],
14
+ timestamp: Float
14
15
  }
15
16
  & ModerationAPI::Internal::Type::request_parameters
16
17
 
@@ -56,6 +57,10 @@ module ModerationAPI
56
57
  ::Array[ModerationAPI::Models::ContentSubmitParams::policy]
57
58
  ) -> ::Array[ModerationAPI::Models::ContentSubmitParams::policy]
58
59
 
60
+ attr_reader timestamp: Float?
61
+
62
+ def timestamp=: (Float) -> Float
63
+
59
64
  def initialize: (
60
65
  content: ModerationAPI::Models::ContentSubmitParams::content,
61
66
  ?author_id: String,
@@ -66,6 +71,7 @@ module ModerationAPI
66
71
  ?metadata: ::Hash[Symbol, top],
67
72
  ?meta_type: ModerationAPI::Models::ContentSubmitParams::meta_type,
68
73
  ?policies: ::Array[ModerationAPI::Models::ContentSubmitParams::policy],
74
+ ?timestamp: Float,
69
75
  ?request_options: ModerationAPI::request_opts
70
76
  ) -> void
71
77
 
@@ -79,6 +85,7 @@ module ModerationAPI
79
85
  metadata: ::Hash[Symbol, top],
80
86
  meta_type: ModerationAPI::Models::ContentSubmitParams::meta_type,
81
87
  policies: ::Array[ModerationAPI::Models::ContentSubmitParams::policy],
88
+ timestamp: Float,
82
89
  request_options: ModerationAPI::RequestOptions
83
90
  }
84
91
 
@@ -261,6 +268,9 @@ module ModerationAPI
261
268
  | ModerationAPI::ContentSubmitParams::Policy::IllicitFirearms
262
269
  | ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco
263
270
  | ModerationAPI::ContentSubmitParams::Policy::IllicitGambling
271
+ | ModerationAPI::ContentSubmitParams::Policy::Cannabis
272
+ | ModerationAPI::ContentSubmitParams::Policy::Adult
273
+ | ModerationAPI::ContentSubmitParams::Policy::Crypto
264
274
  | ModerationAPI::ContentSubmitParams::Policy::Sexual
265
275
  | ModerationAPI::ContentSubmitParams::Policy::Flirtation
266
276
  | ModerationAPI::ContentSubmitParams::Policy::Profanity
@@ -489,6 +499,58 @@ module ModerationAPI
489
499
  }
490
500
  end
491
501
 
502
+ type cannabis = { id: :cannabis, flag: bool, threshold: Float }
503
+
504
+ class Cannabis < ModerationAPI::Internal::Type::BaseModel
505
+ attr_accessor id: :cannabis
506
+
507
+ attr_accessor flag: bool
508
+
509
+ attr_reader threshold: Float?
510
+
511
+ def threshold=: (Float) -> Float
512
+
513
+ def initialize: (
514
+ flag: bool,
515
+ ?threshold: Float,
516
+ ?id: :cannabis
517
+ ) -> void
518
+
519
+ def to_hash: -> { id: :cannabis, flag: bool, threshold: Float }
520
+ end
521
+
522
+ type adult = { id: :adult, flag: bool, threshold: Float }
523
+
524
+ class Adult < ModerationAPI::Internal::Type::BaseModel
525
+ attr_accessor id: :adult
526
+
527
+ attr_accessor flag: bool
528
+
529
+ attr_reader threshold: Float?
530
+
531
+ def threshold=: (Float) -> Float
532
+
533
+ def initialize: (flag: bool, ?threshold: Float, ?id: :adult) -> void
534
+
535
+ def to_hash: -> { id: :adult, flag: bool, threshold: Float }
536
+ end
537
+
538
+ type crypto = { id: :crypto, flag: bool, threshold: Float }
539
+
540
+ class Crypto < ModerationAPI::Internal::Type::BaseModel
541
+ attr_accessor id: :crypto
542
+
543
+ attr_accessor flag: bool
544
+
545
+ attr_reader threshold: Float?
546
+
547
+ def threshold=: (Float) -> Float
548
+
549
+ def initialize: (flag: bool, ?threshold: Float, ?id: :crypto) -> void
550
+
551
+ def to_hash: -> { id: :crypto, flag: bool, threshold: Float }
552
+ end
553
+
492
554
  type sexual = { id: :sexual, flag: bool, threshold: Float }
493
555
 
494
556
  class Sexual < ModerationAPI::Internal::Type::BaseModel
@@ -11,6 +11,7 @@ module ModerationAPI
11
11
  ?metadata: ::Hash[Symbol, top],
12
12
  ?meta_type: ModerationAPI::Models::ContentSubmitParams::meta_type,
13
13
  ?policies: ::Array[ModerationAPI::Models::ContentSubmitParams::policy],
14
+ ?timestamp: Float,
14
15
  ?request_options: ModerationAPI::request_opts
15
16
  ) -> ModerationAPI::Models::ContentSubmitResponse
16
17
 
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moderation_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Moderation API
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-01-02 00:00:00.000000000 Z
11
+ date: 2026-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: cgi
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: connection_pool
15
29
  requirement: !ruby/object:Gem::Requirement