moderation_api 2.3.0 → 2.4.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: f1b69f757e3da0801ba5b2d3c7aa6c0574e50d46e6cfa5d425f6b0aab262d126
4
+ data.tar.gz: e521e2d93df65cbadd921d998de6b79985d97332cc6adc9329cc440698daaa27
5
5
  SHA512:
6
- metadata.gz: 61bb662509e3f7f6b96784354f5d274cb3e5d30d2b968b1ba0404d407858c6223b6efc73005b0c8797a25584cd5845dd123a7827a9195bd5a64c28431d94de12
7
- data.tar.gz: 34e429e1a34a595aae07dbb843a1c1e6062a5bc6d7cbfb33a8ecb2df26ec98fe97ebb682ad5c39630e9bd391422131b687b7a824ebce1fd0000466ac29b2ac6c
6
+ metadata.gz: e1801b13713e8a812251a2305457363607a8725426dfb0d6769575a8e954be163101cf03a2f1fe27ce0542c421c2c66ec7406a93305482f5b6b8e71ff125f014
7
+ data.tar.gz: dbc35cd9eb0aa0419b5e91b7fc7297bcbcd83eafd924656ceb1d4a55c32933d2ad19d68f9070f04a87b8c70c2ab71e083c840472740793abce07c6f1d0b74d94
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.4.0 (2026-01-28)
4
+
5
+ Full Changelog: [v2.3.0...v2.4.0](https://github.com/moderation-api/sdk-ruby/compare/v2.3.0...v2.4.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([6f59d50](https://github.com/moderation-api/sdk-ruby/commit/6f59d503d5316ea4989dc7f2826a760599a9cc0d))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **internal:** update `actions/checkout` version ([6debb55](https://github.com/moderation-api/sdk-ruby/commit/6debb5528f54ceaefc72ffa445a69aa4f30bc4e7))
15
+ * move `cgi` into dependencies for ruby 4 ([6aab585](https://github.com/moderation-api/sdk-ruby/commit/6aab585a91f2ac47f2bae66f1e21d03eb6b5b475))
16
+
3
17
  ## 2.3.0 (2026-01-02)
4
18
 
5
19
  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.4.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::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::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,8 @@ module ModerationAPI
351
360
 
352
361
  variant -> { ModerationAPI::ContentSubmitParams::Policy::IllicitGambling }
353
362
 
363
+ variant -> { ModerationAPI::ContentSubmitParams::Policy::Cannabis }
364
+
354
365
  variant -> { ModerationAPI::ContentSubmitParams::Policy::Sexual }
355
366
 
356
367
  variant -> { ModerationAPI::ContentSubmitParams::Policy::Flirtation }
@@ -597,6 +608,28 @@ module ModerationAPI
597
608
  # @param id [Symbol, :illicit_gambling]
598
609
  end
599
610
 
611
+ class Cannabis < ModerationAPI::Internal::Type::BaseModel
612
+ # @!attribute id
613
+ #
614
+ # @return [Symbol, :cannabis]
615
+ required :id, const: :cannabis
616
+
617
+ # @!attribute flag
618
+ #
619
+ # @return [Boolean]
620
+ required :flag, ModerationAPI::Internal::Type::Boolean
621
+
622
+ # @!attribute threshold
623
+ #
624
+ # @return [Float, nil]
625
+ optional :threshold, Float
626
+
627
+ # @!method initialize(flag:, threshold: nil, id: :cannabis)
628
+ # @param flag [Boolean]
629
+ # @param threshold [Float]
630
+ # @param id [Symbol, :cannabis]
631
+ end
632
+
600
633
  class Sexual < ModerationAPI::Internal::Type::BaseModel
601
634
  # @!attribute id
602
635
  #
@@ -942,7 +975,7 @@ module ModerationAPI
942
975
  end
943
976
 
944
977
  # @!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)]
978
+ # @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::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
979
  end
947
980
  end
948
981
  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::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.4.0"
5
5
  end
@@ -102,6 +102,7 @@ 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,
105
106
  ModerationAPI::ContentSubmitParams::Policy::Sexual,
106
107
  ModerationAPI::ContentSubmitParams::Policy::Flirtation,
107
108
  ModerationAPI::ContentSubmitParams::Policy::Profanity,
@@ -137,6 +138,7 @@ module ModerationAPI
137
138
  ModerationAPI::ContentSubmitParams::Policy::IllicitFirearms::OrHash,
138
139
  ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco::OrHash,
139
140
  ModerationAPI::ContentSubmitParams::Policy::IllicitGambling::OrHash,
141
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis::OrHash,
140
142
  ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash,
141
143
  ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash,
142
144
  ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash,
@@ -156,6 +158,14 @@ module ModerationAPI
156
158
  end
157
159
  attr_writer :policies
158
160
 
161
+ # Unix timestamp (in milliseconds) of when the content was created. Use if content
162
+ # is not submitted in real-time.
163
+ sig { returns(T.nilable(Float)) }
164
+ attr_reader :timestamp
165
+
166
+ sig { params(timestamp: Float).void }
167
+ attr_writer :timestamp
168
+
159
169
  sig do
160
170
  params(
161
171
  content:
@@ -186,6 +196,7 @@ module ModerationAPI
186
196
  ModerationAPI::ContentSubmitParams::Policy::IllicitFirearms::OrHash,
187
197
  ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco::OrHash,
188
198
  ModerationAPI::ContentSubmitParams::Policy::IllicitGambling::OrHash,
199
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis::OrHash,
189
200
  ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash,
190
201
  ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash,
191
202
  ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash,
@@ -201,6 +212,7 @@ module ModerationAPI
201
212
  ModerationAPI::ContentSubmitParams::Policy::Guideline::OrHash
202
213
  )
203
214
  ],
215
+ timestamp: Float,
204
216
  request_options: ModerationAPI::RequestOptions::OrHash
205
217
  ).returns(T.attached_class)
206
218
  end
@@ -224,6 +236,9 @@ module ModerationAPI
224
236
  meta_type: nil,
225
237
  # (Enterprise) override the channel policies for this moderation request only.
226
238
  policies: nil,
239
+ # Unix timestamp (in milliseconds) of when the content was created. Use if content
240
+ # is not submitted in real-time.
241
+ timestamp: nil,
227
242
  request_options: {}
228
243
  )
229
244
  end
@@ -259,6 +274,7 @@ module ModerationAPI
259
274
  ModerationAPI::ContentSubmitParams::Policy::IllicitFirearms,
260
275
  ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco,
261
276
  ModerationAPI::ContentSubmitParams::Policy::IllicitGambling,
277
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis,
262
278
  ModerationAPI::ContentSubmitParams::Policy::Sexual,
263
279
  ModerationAPI::ContentSubmitParams::Policy::Flirtation,
264
280
  ModerationAPI::ContentSubmitParams::Policy::Profanity,
@@ -274,6 +290,7 @@ module ModerationAPI
274
290
  ModerationAPI::ContentSubmitParams::Policy::Guideline
275
291
  )
276
292
  ],
293
+ timestamp: Float,
277
294
  request_options: ModerationAPI::RequestOptions
278
295
  }
279
296
  )
@@ -726,6 +743,7 @@ module ModerationAPI
726
743
  ModerationAPI::ContentSubmitParams::Policy::IllicitFirearms,
727
744
  ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco,
728
745
  ModerationAPI::ContentSubmitParams::Policy::IllicitGambling,
746
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis,
729
747
  ModerationAPI::ContentSubmitParams::Policy::Sexual,
730
748
  ModerationAPI::ContentSubmitParams::Policy::Flirtation,
731
749
  ModerationAPI::ContentSubmitParams::Policy::Profanity,
@@ -1102,6 +1120,42 @@ module ModerationAPI
1102
1120
  end
1103
1121
  end
1104
1122
 
1123
+ class Cannabis < ModerationAPI::Internal::Type::BaseModel
1124
+ OrHash =
1125
+ T.type_alias do
1126
+ T.any(
1127
+ ModerationAPI::ContentSubmitParams::Policy::Cannabis,
1128
+ ModerationAPI::Internal::AnyHash
1129
+ )
1130
+ end
1131
+
1132
+ sig { returns(Symbol) }
1133
+ attr_accessor :id
1134
+
1135
+ sig { returns(T::Boolean) }
1136
+ attr_accessor :flag
1137
+
1138
+ sig { returns(T.nilable(Float)) }
1139
+ attr_reader :threshold
1140
+
1141
+ sig { params(threshold: Float).void }
1142
+ attr_writer :threshold
1143
+
1144
+ sig do
1145
+ params(flag: T::Boolean, threshold: Float, id: Symbol).returns(
1146
+ T.attached_class
1147
+ )
1148
+ end
1149
+ def self.new(flag:, threshold: nil, id: :cannabis)
1150
+ end
1151
+
1152
+ sig do
1153
+ override.returns({ id: Symbol, flag: T::Boolean, threshold: Float })
1154
+ end
1155
+ def to_hash
1156
+ end
1157
+ end
1158
+
1105
1159
  class Sexual < ModerationAPI::Internal::Type::BaseModel
1106
1160
  OrHash =
1107
1161
  T.type_alias do
@@ -33,6 +33,7 @@ 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,
36
37
  ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash,
37
38
  ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash,
38
39
  ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash,
@@ -48,6 +49,7 @@ module ModerationAPI
48
49
  ModerationAPI::ContentSubmitParams::Policy::Guideline::OrHash
49
50
  )
50
51
  ],
52
+ timestamp: Float,
51
53
  request_options: ModerationAPI::RequestOptions::OrHash
52
54
  ).returns(ModerationAPI::Models::ContentSubmitResponse)
53
55
  end
@@ -71,6 +73,9 @@ module ModerationAPI
71
73
  meta_type: nil,
72
74
  # (Enterprise) override the channel policies for this moderation request only.
73
75
  policies: nil,
76
+ # Unix timestamp (in milliseconds) of when the content was created. Use if content
77
+ # is not submitted in real-time.
78
+ timestamp: nil,
74
79
  request_options: {}
75
80
  )
76
81
  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,7 @@ 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
264
272
  | ModerationAPI::ContentSubmitParams::Policy::Sexual
265
273
  | ModerationAPI::ContentSubmitParams::Policy::Flirtation
266
274
  | ModerationAPI::ContentSubmitParams::Policy::Profanity
@@ -489,6 +497,26 @@ module ModerationAPI
489
497
  }
490
498
  end
491
499
 
500
+ type cannabis = { id: :cannabis, flag: bool, threshold: Float }
501
+
502
+ class Cannabis < ModerationAPI::Internal::Type::BaseModel
503
+ attr_accessor id: :cannabis
504
+
505
+ attr_accessor flag: bool
506
+
507
+ attr_reader threshold: Float?
508
+
509
+ def threshold=: (Float) -> Float
510
+
511
+ def initialize: (
512
+ flag: bool,
513
+ ?threshold: Float,
514
+ ?id: :cannabis
515
+ ) -> void
516
+
517
+ def to_hash: -> { id: :cannabis, flag: bool, threshold: Float }
518
+ end
519
+
492
520
  type sexual = { id: :sexual, flag: bool, threshold: Float }
493
521
 
494
522
  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.4.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