moderation_api 2.24.0 → 2.26.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: 71236456328bd1efad17f5dcb8095f03adfe2fc1762e6927121a9ebc9976f65a
4
- data.tar.gz: e28ae5af162493c8876b52acf8bc3808f2f9252135e67ccc63ef946d61e45104
3
+ metadata.gz: 7bb60d97ebda8246fd8379d0f3f65e5616e39c17b7bdee3a2e363a4f740c9e9f
4
+ data.tar.gz: 300c111be043041069d2048c6a5f6f08119df3ad8956db3a38503a12e19c5921
5
5
  SHA512:
6
- metadata.gz: b46a5a1ddc4315fa52a8b134d4aa7e11530b0eaf9c9b90fc9e056fafcbd61abb3e27e79e23bf7c4a951d0e23d313d282e0352771538e47645c9b7397d6bd39e0
7
- data.tar.gz: b38e7231491e5628976880ca0680c5961e1e93d8217e3784685528352f081d54f92b92703061dbade9e2793b79ecbf60243ee6b27228faebd68d043a05ce5ab6
6
+ metadata.gz: 4edc722604ec4dfc2f045197fa38d38174955cdd8c3bad8479480c3336e2627bec90b92de9a53c3398e1de1bf135313e0b3654d2c0e9bcf7618489d7d61c03e5
7
+ data.tar.gz: 2ab5f840dc47a68fc4323bde58513eee4992677552e335813d8eebab17ed3d88cb96fe5fd1ba5addccc90a0eec5d9c23086cc8200aaa2f7efd8c22d83b0d4fba
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.26.0 (2026-07-20)
4
+
5
+ Full Changelog: [v2.25.0...v2.26.0](https://github.com/moderation-api/sdk-ruby/compare/v2.25.0...v2.26.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([a646112](https://github.com/moderation-api/sdk-ruby/commit/a646112a9e230e28c00ed0a346426ff3e25589df))
10
+
11
+ ## 2.25.0 (2026-07-20)
12
+
13
+ Full Changelog: [v2.24.0...v2.25.0](https://github.com/moderation-api/sdk-ruby/compare/v2.24.0...v2.25.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** api update ([2d2e61c](https://github.com/moderation-api/sdk-ruby/commit/2d2e61c8efde20f1bba72733af9ab5e59a9e694f))
18
+
3
19
  ## 2.24.0 (2026-07-18)
4
20
 
5
21
  Full Changelog: [v2.23.0...v2.24.0](https://github.com/moderation-api/sdk-ruby/compare/v2.23.0...v2.24.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.24.0"
18
+ gem "moderation_api", "~> 2.26.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -71,7 +71,7 @@ module ModerationAPI
71
71
  # @!attribute policies
72
72
  # (Enterprise) override the channel policies for this moderation request only.
73
73
  #
74
- # @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::LowQualityContent, ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection, 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::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>, nil]
74
+ # @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::LowQualityContent, ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::UnicodeSpoofing, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>, nil]
75
75
  optional :policies,
76
76
  -> { ModerationAPI::Internal::Type::ArrayOf[union: ModerationAPI::ContentSubmitParams::Policy] }
77
77
 
@@ -104,7 +104,7 @@ module ModerationAPI
104
104
  #
105
105
  # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated
106
106
  #
107
- # @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::LowQualityContent, ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection, 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::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>] (Enterprise) override the channel policies for this moderation request only.
107
+ # @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::LowQualityContent, ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::UnicodeSpoofing, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>] (Enterprise) override the channel policies for this moderation request only.
108
108
  #
109
109
  # @param timestamp [Float] Unix timestamp (in milliseconds) of when the content was created. Use if content
110
110
  #
@@ -501,6 +501,8 @@ module ModerationAPI
501
501
 
502
502
  variant -> { ModerationAPI::ContentSubmitParams::Policy::CodeAbuse }
503
503
 
504
+ variant -> { ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing }
505
+
504
506
  variant -> { ModerationAPI::ContentSubmitParams::Policy::PiiMasking }
505
507
 
506
508
  variant -> { ModerationAPI::ContentSubmitParams::Policy::URLMasking }
@@ -1112,6 +1114,55 @@ module ModerationAPI
1112
1114
  # @param id [Symbol, :code_abuse]
1113
1115
  end
1114
1116
 
1117
+ class UnicodeSpoofing < ModerationAPI::Internal::Type::BaseModel
1118
+ # @!attribute id
1119
+ #
1120
+ # @return [Symbol, :unicode_spoofing]
1121
+ required :id, const: :unicode_spoofing
1122
+
1123
+ # @!attribute flag
1124
+ #
1125
+ # @return [Boolean]
1126
+ required :flag, ModerationAPI::Internal::Type::Boolean
1127
+
1128
+ # @!attribute signals
1129
+ # Per-signal flag toggles. Omitted signals are enabled. A signal set to { flag:
1130
+ # false } is still detected and reported as a label, but does not by itself flag
1131
+ # the policy.
1132
+ #
1133
+ # @return [Hash{Symbol=>ModerationAPI::Models::ContentSubmitParams::Policy::UnicodeSpoofing::Signal}, nil]
1134
+ optional :signals,
1135
+ -> { ModerationAPI::Internal::Type::HashOf[ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal] }
1136
+
1137
+ # @!attribute threshold
1138
+ #
1139
+ # @return [Float, nil]
1140
+ optional :threshold, Float
1141
+
1142
+ # @!method initialize(flag:, signals: nil, threshold: nil, id: :unicode_spoofing)
1143
+ # Some parameter documentations has been truncated, see
1144
+ # {ModerationAPI::Models::ContentSubmitParams::Policy::UnicodeSpoofing} for more
1145
+ # details.
1146
+ #
1147
+ # @param flag [Boolean]
1148
+ #
1149
+ # @param signals [Hash{Symbol=>ModerationAPI::Models::ContentSubmitParams::Policy::UnicodeSpoofing::Signal}] Per-signal flag toggles. Omitted signals are enabled. A signal set to { flag: fa
1150
+ #
1151
+ # @param threshold [Float]
1152
+ #
1153
+ # @param id [Symbol, :unicode_spoofing]
1154
+
1155
+ class Signal < ModerationAPI::Internal::Type::BaseModel
1156
+ # @!attribute flag
1157
+ #
1158
+ # @return [Boolean, nil]
1159
+ optional :flag, ModerationAPI::Internal::Type::Boolean
1160
+
1161
+ # @!method initialize(flag: nil)
1162
+ # @param flag [Boolean]
1163
+ end
1164
+ end
1165
+
1115
1166
  class PiiMasking < ModerationAPI::Internal::Type::BaseModel
1116
1167
  # @!attribute id
1117
1168
  #
@@ -1298,7 +1349,7 @@ module ModerationAPI
1298
1349
  end
1299
1350
 
1300
1351
  # @!method self.variants
1301
- # @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::LowQualityContent, ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection, 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::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline)]
1352
+ # @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::LowQualityContent, ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::UnicodeSpoofing, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline)]
1302
1353
  end
1303
1354
  end
1304
1355
  end
@@ -201,6 +201,14 @@ module ModerationAPI
201
201
  union: -> { ModerationAPI::Models::ContentSubmitResponse::Content::Modified },
202
202
  nil?: true
203
203
 
204
+ # @!attribute unicode_cleaned
205
+ # Whether Unicode spoofing normalization rewrote the content — confusables folded
206
+ # to their Latin lookalikes, invisible characters and combining-mark abuse
207
+ # stripped.
208
+ #
209
+ # @return [Boolean]
210
+ required :unicode_cleaned, ModerationAPI::Internal::Type::Boolean
211
+
204
212
  # @!attribute transcript
205
213
  # The transcribed text from audio content. Only present when audio moderation is
206
214
  # used and transcript inclusion is enabled on the channel.
@@ -208,7 +216,7 @@ module ModerationAPI
208
216
  # @return [String, nil]
209
217
  optional :transcript, String, nil?: true
210
218
 
211
- # @!method initialize(id:, masked:, modified:, transcript: nil)
219
+ # @!method initialize(id:, masked:, modified:, unicode_cleaned:, transcript: nil)
212
220
  # Some parameter documentations has been truncated, see
213
221
  # {ModerationAPI::Models::ContentSubmitResponse::Content} for more details.
214
222
  #
@@ -220,6 +228,8 @@ module ModerationAPI
220
228
  #
221
229
  # @param modified [String, Hash{Symbol=>Object}, Hash{Symbol=>ModerationAPI::Models::ContentSubmitResponse::Content::Modified::ModifiedNestedObjectContent::Text, ModerationAPI::Models::ContentSubmitResponse::Content::Modified::ModifiedNestedObjectContent::Image, ModerationAPI::Models::ContentSubmitResponse::Content::Modified::ModifiedNestedObjectContent::Video, ModerationAPI::Models::ContentSubmitResponse::Content::Modified::ModifiedNestedObjectContent::Audio}, nil] The modified content, if any.
222
230
  #
231
+ # @param unicode_cleaned [Boolean] Whether Unicode spoofing normalization rewrote the content — confusables folded
232
+ #
223
233
  # @param transcript [String, nil] The transcribed text from audio content. Only present when audio moderation is u
224
234
 
225
235
  # The modified content, if any.
@@ -26,7 +26,7 @@ module ModerationAPI
26
26
  #
27
27
  # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated
28
28
  #
29
- # @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::LowQualityContent, ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection, 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::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>] (Enterprise) override the channel policies for this moderation request only.
29
+ # @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::LowQualityContent, ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::UnicodeSpoofing, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>] (Enterprise) override the channel policies for this moderation request only.
30
30
  #
31
31
  # @param timestamp [Float] Unix timestamp (in milliseconds) of when the content was created. Use if content
32
32
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModerationAPI
4
- VERSION = "2.24.0"
4
+ VERSION = "2.26.0"
5
5
  end
@@ -133,6 +133,7 @@ module ModerationAPI
133
133
  ModerationAPI::ContentSubmitParams::Policy::Political,
134
134
  ModerationAPI::ContentSubmitParams::Policy::Religion,
135
135
  ModerationAPI::ContentSubmitParams::Policy::CodeAbuse,
136
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing,
136
137
  ModerationAPI::ContentSubmitParams::Policy::PiiMasking,
137
138
  ModerationAPI::ContentSubmitParams::Policy::URLMasking,
138
139
  ModerationAPI::ContentSubmitParams::Policy::URLRisk,
@@ -174,6 +175,7 @@ module ModerationAPI
174
175
  ModerationAPI::ContentSubmitParams::Policy::Political::OrHash,
175
176
  ModerationAPI::ContentSubmitParams::Policy::Religion::OrHash,
176
177
  ModerationAPI::ContentSubmitParams::Policy::CodeAbuse::OrHash,
178
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::OrHash,
177
179
  ModerationAPI::ContentSubmitParams::Policy::PiiMasking::OrHash,
178
180
  ModerationAPI::ContentSubmitParams::Policy::URLMasking::OrHash,
179
181
  ModerationAPI::ContentSubmitParams::Policy::URLRisk::OrHash,
@@ -239,6 +241,7 @@ module ModerationAPI
239
241
  ModerationAPI::ContentSubmitParams::Policy::Political::OrHash,
240
242
  ModerationAPI::ContentSubmitParams::Policy::Religion::OrHash,
241
243
  ModerationAPI::ContentSubmitParams::Policy::CodeAbuse::OrHash,
244
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::OrHash,
242
245
  ModerationAPI::ContentSubmitParams::Policy::PiiMasking::OrHash,
243
246
  ModerationAPI::ContentSubmitParams::Policy::URLMasking::OrHash,
244
247
  ModerationAPI::ContentSubmitParams::Policy::URLRisk::OrHash,
@@ -327,6 +330,7 @@ module ModerationAPI
327
330
  ModerationAPI::ContentSubmitParams::Policy::Political,
328
331
  ModerationAPI::ContentSubmitParams::Policy::Religion,
329
332
  ModerationAPI::ContentSubmitParams::Policy::CodeAbuse,
333
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing,
330
334
  ModerationAPI::ContentSubmitParams::Policy::PiiMasking,
331
335
  ModerationAPI::ContentSubmitParams::Policy::URLMasking,
332
336
  ModerationAPI::ContentSubmitParams::Policy::URLRisk,
@@ -1010,6 +1014,7 @@ module ModerationAPI
1010
1014
  ModerationAPI::ContentSubmitParams::Policy::Political,
1011
1015
  ModerationAPI::ContentSubmitParams::Policy::Religion,
1012
1016
  ModerationAPI::ContentSubmitParams::Policy::CodeAbuse,
1017
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing,
1013
1018
  ModerationAPI::ContentSubmitParams::Policy::PiiMasking,
1014
1019
  ModerationAPI::ContentSubmitParams::Policy::URLMasking,
1015
1020
  ModerationAPI::ContentSubmitParams::Policy::URLRisk,
@@ -2029,6 +2034,118 @@ module ModerationAPI
2029
2034
  end
2030
2035
  end
2031
2036
 
2037
+ class UnicodeSpoofing < ModerationAPI::Internal::Type::BaseModel
2038
+ OrHash =
2039
+ T.type_alias do
2040
+ T.any(
2041
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing,
2042
+ ModerationAPI::Internal::AnyHash
2043
+ )
2044
+ end
2045
+
2046
+ sig { returns(Symbol) }
2047
+ attr_accessor :id
2048
+
2049
+ sig { returns(T::Boolean) }
2050
+ attr_accessor :flag
2051
+
2052
+ # Per-signal flag toggles. Omitted signals are enabled. A signal set to { flag:
2053
+ # false } is still detected and reported as a label, but does not by itself flag
2054
+ # the policy.
2055
+ sig do
2056
+ returns(
2057
+ T.nilable(
2058
+ T::Hash[
2059
+ Symbol,
2060
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal
2061
+ ]
2062
+ )
2063
+ )
2064
+ end
2065
+ attr_reader :signals
2066
+
2067
+ sig do
2068
+ params(
2069
+ signals:
2070
+ T::Hash[
2071
+ Symbol,
2072
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal::OrHash
2073
+ ]
2074
+ ).void
2075
+ end
2076
+ attr_writer :signals
2077
+
2078
+ sig { returns(T.nilable(Float)) }
2079
+ attr_reader :threshold
2080
+
2081
+ sig { params(threshold: Float).void }
2082
+ attr_writer :threshold
2083
+
2084
+ sig do
2085
+ params(
2086
+ flag: T::Boolean,
2087
+ signals:
2088
+ T::Hash[
2089
+ Symbol,
2090
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal::OrHash
2091
+ ],
2092
+ threshold: Float,
2093
+ id: Symbol
2094
+ ).returns(T.attached_class)
2095
+ end
2096
+ def self.new(
2097
+ flag:,
2098
+ # Per-signal flag toggles. Omitted signals are enabled. A signal set to { flag:
2099
+ # false } is still detected and reported as a label, but does not by itself flag
2100
+ # the policy.
2101
+ signals: nil,
2102
+ threshold: nil,
2103
+ id: :unicode_spoofing
2104
+ )
2105
+ end
2106
+
2107
+ sig do
2108
+ override.returns(
2109
+ {
2110
+ id: Symbol,
2111
+ flag: T::Boolean,
2112
+ signals:
2113
+ T::Hash[
2114
+ Symbol,
2115
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal
2116
+ ],
2117
+ threshold: Float
2118
+ }
2119
+ )
2120
+ end
2121
+ def to_hash
2122
+ end
2123
+
2124
+ class Signal < ModerationAPI::Internal::Type::BaseModel
2125
+ OrHash =
2126
+ T.type_alias do
2127
+ T.any(
2128
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal,
2129
+ ModerationAPI::Internal::AnyHash
2130
+ )
2131
+ end
2132
+
2133
+ sig { returns(T.nilable(T::Boolean)) }
2134
+ attr_reader :flag
2135
+
2136
+ sig { params(flag: T::Boolean).void }
2137
+ attr_writer :flag
2138
+
2139
+ sig { params(flag: T::Boolean).returns(T.attached_class) }
2140
+ def self.new(flag: nil)
2141
+ end
2142
+
2143
+ sig { override.returns({ flag: T::Boolean }) }
2144
+ def to_hash
2145
+ end
2146
+ end
2147
+ end
2148
+
2032
2149
  class PiiMasking < ModerationAPI::Internal::Type::BaseModel
2033
2150
  OrHash =
2034
2151
  T.type_alias do
@@ -447,6 +447,12 @@ module ModerationAPI
447
447
  end
448
448
  attr_accessor :modified
449
449
 
450
+ # Whether Unicode spoofing normalization rewrote the content — confusables folded
451
+ # to their Latin lookalikes, invisible characters and combining-mark abuse
452
+ # stripped.
453
+ sig { returns(T::Boolean) }
454
+ attr_accessor :unicode_cleaned
455
+
450
456
  # The transcribed text from audio content. Only present when audio moderation is
451
457
  # used and transcript inclusion is enabled on the channel.
452
458
  sig { returns(T.nilable(String)) }
@@ -461,6 +467,7 @@ module ModerationAPI
461
467
  T.nilable(
462
468
  ModerationAPI::Models::ContentSubmitResponse::Content::Modified::Variants
463
469
  ),
470
+ unicode_cleaned: T::Boolean,
464
471
  transcript: T.nilable(String)
465
472
  ).returns(T.attached_class)
466
473
  end
@@ -472,6 +479,10 @@ module ModerationAPI
472
479
  masked:,
473
480
  # The modified content, if any.
474
481
  modified:,
482
+ # Whether Unicode spoofing normalization rewrote the content — confusables folded
483
+ # to their Latin lookalikes, invisible characters and combining-mark abuse
484
+ # stripped.
485
+ unicode_cleaned:,
475
486
  # The transcribed text from audio content. Only present when audio moderation is
476
487
  # used and transcript inclusion is enabled on the channel.
477
488
  transcript: nil
@@ -487,6 +498,7 @@ module ModerationAPI
487
498
  T.nilable(
488
499
  ModerationAPI::Models::ContentSubmitResponse::Content::Modified::Variants
489
500
  ),
501
+ unicode_cleaned: T::Boolean,
490
502
  transcript: T.nilable(String)
491
503
  }
492
504
  )
@@ -50,6 +50,7 @@ module ModerationAPI
50
50
  ModerationAPI::ContentSubmitParams::Policy::Political::OrHash,
51
51
  ModerationAPI::ContentSubmitParams::Policy::Religion::OrHash,
52
52
  ModerationAPI::ContentSubmitParams::Policy::CodeAbuse::OrHash,
53
+ ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::OrHash,
53
54
  ModerationAPI::ContentSubmitParams::Policy::PiiMasking::OrHash,
54
55
  ModerationAPI::ContentSubmitParams::Policy::URLMasking::OrHash,
55
56
  ModerationAPI::ContentSubmitParams::Policy::URLRisk::OrHash,
@@ -373,6 +373,7 @@ module ModerationAPI
373
373
  | ModerationAPI::ContentSubmitParams::Policy::Political
374
374
  | ModerationAPI::ContentSubmitParams::Policy::Religion
375
375
  | ModerationAPI::ContentSubmitParams::Policy::CodeAbuse
376
+ | ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing
376
377
  | ModerationAPI::ContentSubmitParams::Policy::PiiMasking
377
378
  | ModerationAPI::ContentSubmitParams::Policy::URLMasking
378
379
  | ModerationAPI::ContentSubmitParams::Policy::URLRisk
@@ -924,6 +925,56 @@ module ModerationAPI
924
925
  def to_hash: -> { id: :code_abuse, flag: bool, threshold: Float }
925
926
  end
926
927
 
928
+ type unicode_spoofing =
929
+ {
930
+ id: :unicode_spoofing,
931
+ flag: bool,
932
+ signals: ::Hash[Symbol, ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal],
933
+ threshold: Float
934
+ }
935
+
936
+ class UnicodeSpoofing < ModerationAPI::Internal::Type::BaseModel
937
+ attr_accessor id: :unicode_spoofing
938
+
939
+ attr_accessor flag: bool
940
+
941
+ attr_reader signals: ::Hash[Symbol, ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal]?
942
+
943
+ def signals=: (
944
+ ::Hash[Symbol, ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal]
945
+ ) -> ::Hash[Symbol, ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal]
946
+
947
+ attr_reader threshold: Float?
948
+
949
+ def threshold=: (Float) -> Float
950
+
951
+ def initialize: (
952
+ flag: bool,
953
+ ?signals: ::Hash[Symbol, ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal],
954
+ ?threshold: Float,
955
+ ?id: :unicode_spoofing
956
+ ) -> void
957
+
958
+ def to_hash: -> {
959
+ id: :unicode_spoofing,
960
+ flag: bool,
961
+ signals: ::Hash[Symbol, ModerationAPI::ContentSubmitParams::Policy::UnicodeSpoofing::Signal],
962
+ threshold: Float
963
+ }
964
+
965
+ type signal = { flag: bool }
966
+
967
+ class Signal < ModerationAPI::Internal::Type::BaseModel
968
+ attr_reader flag: bool?
969
+
970
+ def flag=: (bool) -> bool
971
+
972
+ def initialize: (?flag: bool) -> void
973
+
974
+ def to_hash: -> { flag: bool }
975
+ end
976
+ end
977
+
927
978
  type pii_masking =
928
979
  {
929
980
  id: :pii,
@@ -133,6 +133,7 @@ module ModerationAPI
133
133
  id: String,
134
134
  masked: bool,
135
135
  modified: ModerationAPI::Models::ContentSubmitResponse::Content::modified?,
136
+ unicode_cleaned: bool,
136
137
  transcript: String?
137
138
  }
138
139
 
@@ -143,12 +144,15 @@ module ModerationAPI
143
144
 
144
145
  attr_accessor modified: ModerationAPI::Models::ContentSubmitResponse::Content::modified?
145
146
 
147
+ attr_accessor unicode_cleaned: bool
148
+
146
149
  attr_accessor transcript: String?
147
150
 
148
151
  def initialize: (
149
152
  id: String,
150
153
  masked: bool,
151
154
  modified: ModerationAPI::Models::ContentSubmitResponse::Content::modified?,
155
+ unicode_cleaned: bool,
152
156
  ?transcript: String?
153
157
  ) -> void
154
158
 
@@ -156,6 +160,7 @@ module ModerationAPI
156
160
  id: String,
157
161
  masked: bool,
158
162
  modified: ModerationAPI::Models::ContentSubmitResponse::Content::modified?,
163
+ unicode_cleaned: bool,
159
164
  transcript: String?
160
165
  }
161
166
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moderation_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.24.0
4
+ version: 2.26.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-07-18 00:00:00.000000000 Z
11
+ date: 2026-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi