From 99151aa7336b11514ce4c78f1dabd55418c45c3a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 11 Sep 2026 15:58:12 +0000 Subject: [PATCH 1/3] feat(api): api update --- .stats.yml | 4 +- .../models/content_submit_params.rb | 30 ++++++++++++-- lib/moderation_api/resources/content.rb | 2 +- .../models/content_submit_params.rbi | 41 +++++++++++++++++++ rbi/moderation_api/resources/content.rbi | 1 + .../models/content_submit_params.rbs | 22 ++++++++++ 6 files changed, 94 insertions(+), 6 deletions(-) diff --git a/.stats.yml b/.stats.yml index 7564488..12d701e 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 34 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api/moderation-api-4e324c5b209f6b1e2451e0fbafd20b35ba5fe2b57e3c70dd082faad332c3b779.yml -openapi_spec_hash: e974a7107729bb684c55008102a17754 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api/moderation-api-8aa8b467e498d92aa60d850a8f68c543143dfff638b970d366b62d7cac2b714f.yml +openapi_spec_hash: 6eae6b3bc43c06e205a3f156bf187a3a config_hash: 6e090a71f4d354167d93b4534a0e7f05 diff --git a/lib/moderation_api/models/content_submit_params.rb b/lib/moderation_api/models/content_submit_params.rb index c58caf0..5b7fa6b 100644 --- a/lib/moderation_api/models/content_submit_params.rb +++ b/lib/moderation_api/models/content_submit_params.rb @@ -71,7 +71,7 @@ class ContentSubmitParams < ModerationAPI::Internal::Type::BaseModel # @!attribute policies # (Enterprise) override the channel policies for this moderation request only. # - # @return [Array, nil] + # @return [Array, nil] optional :policies, -> { ModerationAPI::Internal::Type::ArrayOf[union: ModerationAPI::ContentSubmitParams::Policy] } @@ -104,7 +104,7 @@ class ContentSubmitParams < ModerationAPI::Internal::Type::BaseModel # # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated # - # @param policies [Array] (Enterprise) override the channel policies for this moderation request only. + # @param policies [Array] (Enterprise) override the channel policies for this moderation request only. # # @param timestamp [Float] Unix timestamp (in milliseconds) of when the content was created. Use if content # @@ -479,6 +479,8 @@ module Policy variant -> { ModerationAPI::ContentSubmitParams::Policy::Sexual } + variant -> { ModerationAPI::ContentSubmitParams::Policy::SexualMinors } + variant -> { ModerationAPI::ContentSubmitParams::Policy::Flirtation } variant -> { ModerationAPI::ContentSubmitParams::Policy::Profanity } @@ -819,6 +821,28 @@ class Sexual < ModerationAPI::Internal::Type::BaseModel # @param id [Symbol, :sexual] end + class SexualMinors < ModerationAPI::Internal::Type::BaseModel + # @!attribute id + # + # @return [Symbol, :sexual_minors] + required :id, const: :sexual_minors + + # @!attribute flag + # + # @return [Boolean] + required :flag, ModerationAPI::Internal::Type::Boolean + + # @!attribute threshold + # + # @return [Float, nil] + optional :threshold, Float + + # @!method initialize(flag:, threshold: nil, id: :sexual_minors) + # @param flag [Boolean] + # @param threshold [Float] + # @param id [Symbol, :sexual_minors] + end + class Flirtation < ModerationAPI::Internal::Type::BaseModel # @!attribute id # @@ -1350,7 +1374,7 @@ class Guideline < ModerationAPI::Internal::Type::BaseModel end # @!method self.variants - # @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)] + # @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::SexualMinors, 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)] end end end diff --git a/lib/moderation_api/resources/content.rb b/lib/moderation_api/resources/content.rb index 4c61a68..421d13a 100644 --- a/lib/moderation_api/resources/content.rb +++ b/lib/moderation_api/resources/content.rb @@ -68,7 +68,7 @@ def stream(params) # # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated # - # @param policies [Array] (Enterprise) override the channel policies for this moderation request only. + # @param policies [Array] (Enterprise) override the channel policies for this moderation request only. # # @param timestamp [Float] Unix timestamp (in milliseconds) of when the content was created. Use if content # diff --git a/rbi/moderation_api/models/content_submit_params.rbi b/rbi/moderation_api/models/content_submit_params.rbi index 35ce856..d444fdd 100644 --- a/rbi/moderation_api/models/content_submit_params.rbi +++ b/rbi/moderation_api/models/content_submit_params.rbi @@ -122,6 +122,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::Adult, ModerationAPI::ContentSubmitParams::Policy::Crypto, ModerationAPI::ContentSubmitParams::Policy::Sexual, + ModerationAPI::ContentSubmitParams::Policy::SexualMinors, ModerationAPI::ContentSubmitParams::Policy::Flirtation, ModerationAPI::ContentSubmitParams::Policy::Profanity, ModerationAPI::ContentSubmitParams::Policy::Violence, @@ -164,6 +165,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::Adult::OrHash, ModerationAPI::ContentSubmitParams::Policy::Crypto::OrHash, ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash, + ModerationAPI::ContentSubmitParams::Policy::SexualMinors::OrHash, ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash, ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash, ModerationAPI::ContentSubmitParams::Policy::Violence::OrHash, @@ -230,6 +232,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::Adult::OrHash, ModerationAPI::ContentSubmitParams::Policy::Crypto::OrHash, ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash, + ModerationAPI::ContentSubmitParams::Policy::SexualMinors::OrHash, ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash, ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash, ModerationAPI::ContentSubmitParams::Policy::Violence::OrHash, @@ -319,6 +322,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::Adult, ModerationAPI::ContentSubmitParams::Policy::Crypto, ModerationAPI::ContentSubmitParams::Policy::Sexual, + ModerationAPI::ContentSubmitParams::Policy::SexualMinors, ModerationAPI::ContentSubmitParams::Policy::Flirtation, ModerationAPI::ContentSubmitParams::Policy::Profanity, ModerationAPI::ContentSubmitParams::Policy::Violence, @@ -1003,6 +1007,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::Adult, ModerationAPI::ContentSubmitParams::Policy::Crypto, ModerationAPI::ContentSubmitParams::Policy::Sexual, + ModerationAPI::ContentSubmitParams::Policy::SexualMinors, ModerationAPI::ContentSubmitParams::Policy::Flirtation, ModerationAPI::ContentSubmitParams::Policy::Profanity, ModerationAPI::ContentSubmitParams::Policy::Violence, @@ -1526,6 +1531,42 @@ module ModerationAPI end end + class SexualMinors < ModerationAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + ModerationAPI::ContentSubmitParams::Policy::SexualMinors, + ModerationAPI::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :id + + sig { returns(T::Boolean) } + attr_accessor :flag + + sig { returns(T.nilable(Float)) } + attr_reader :threshold + + sig { params(threshold: Float).void } + attr_writer :threshold + + sig do + params(flag: T::Boolean, threshold: Float, id: Symbol).returns( + T.attached_class + ) + end + def self.new(flag:, threshold: nil, id: :sexual_minors) + end + + sig do + override.returns({ id: Symbol, flag: T::Boolean, threshold: Float }) + end + def to_hash + end + end + class Flirtation < ModerationAPI::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/moderation_api/resources/content.rbi b/rbi/moderation_api/resources/content.rbi index 98fb6ae..7fa348d 100644 --- a/rbi/moderation_api/resources/content.rbi +++ b/rbi/moderation_api/resources/content.rbi @@ -73,6 +73,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::Adult::OrHash, ModerationAPI::ContentSubmitParams::Policy::Crypto::OrHash, ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash, + ModerationAPI::ContentSubmitParams::Policy::SexualMinors::OrHash, ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash, ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash, ModerationAPI::ContentSubmitParams::Policy::Violence::OrHash, diff --git a/sig/moderation_api/models/content_submit_params.rbs b/sig/moderation_api/models/content_submit_params.rbs index 8958d91..a997e82 100644 --- a/sig/moderation_api/models/content_submit_params.rbs +++ b/sig/moderation_api/models/content_submit_params.rbs @@ -362,6 +362,7 @@ module ModerationAPI | ModerationAPI::ContentSubmitParams::Policy::Adult | ModerationAPI::ContentSubmitParams::Policy::Crypto | ModerationAPI::ContentSubmitParams::Policy::Sexual + | ModerationAPI::ContentSubmitParams::Policy::SexualMinors | ModerationAPI::ContentSubmitParams::Policy::Flirtation | ModerationAPI::ContentSubmitParams::Policy::Profanity | ModerationAPI::ContentSubmitParams::Policy::Violence @@ -661,6 +662,27 @@ module ModerationAPI def to_hash: -> { id: :sexual, flag: bool, threshold: Float } end + type sexual_minors = + { id: :sexual_minors, flag: bool, threshold: Float } + + class SexualMinors < ModerationAPI::Internal::Type::BaseModel + attr_accessor id: :sexual_minors + + attr_accessor flag: bool + + attr_reader threshold: Float? + + def threshold=: (Float) -> Float + + def initialize: ( + flag: bool, + ?threshold: Float, + ?id: :sexual_minors + ) -> void + + def to_hash: -> { id: :sexual_minors, flag: bool, threshold: Float } + end + type flirtation = { id: :flirtation, flag: bool, threshold: Float } class Flirtation < ModerationAPI::Internal::Type::BaseModel From 0bd8a67acc01c28b5d95cf976b9a573e779ec249 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 12 Sep 2026 12:15:53 +0000 Subject: [PATCH 2/3] feat(api): api update --- .stats.yml | 4 ++-- lib/moderation_api/models/author_delete_params.rb | 4 +++- lib/moderation_api/resources/authors.rb | 7 +++++-- rbi/moderation_api/models/author_delete_params.rbi | 7 ++++++- rbi/moderation_api/resources/authors.rbi | 10 ++++++++-- 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/.stats.yml b/.stats.yml index 12d701e..ac64174 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 34 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api/moderation-api-8aa8b467e498d92aa60d850a8f68c543143dfff638b970d366b62d7cac2b714f.yml -openapi_spec_hash: 6eae6b3bc43c06e205a3f156bf187a3a +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api/moderation-api-a4c5163e3271601b36a74223b756d304ce8246f832f8c531d53cdd30f9ee4c68.yml +openapi_spec_hash: fd9fe8a54c1c46032bd5fccb995f04b8 config_hash: 6e090a71f4d354167d93b4534a0e7f05 diff --git a/lib/moderation_api/models/author_delete_params.rb b/lib/moderation_api/models/author_delete_params.rb index ffc5924..5510c9e 100644 --- a/lib/moderation_api/models/author_delete_params.rb +++ b/lib/moderation_api/models/author_delete_params.rb @@ -8,12 +8,14 @@ class AuthorDeleteParams < ModerationAPI::Internal::Type::BaseModel include ModerationAPI::Internal::Type::RequestParameters # @!attribute id + # Either external ID or the ID assigned by moderation API. # # @return [String] required :id, String # @!method initialize(id:, request_options: {}) - # @param id [String] + # @param id [String] Either external ID or the ID assigned by moderation API. + # # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}] end end diff --git a/lib/moderation_api/resources/authors.rb b/lib/moderation_api/resources/authors.rb index 26b1593..e6a5359 100644 --- a/lib/moderation_api/resources/authors.rb +++ b/lib/moderation_api/resources/authors.rb @@ -154,11 +154,14 @@ def list(params = {}) ) end - # Delete a specific author + # Delete a specific author. This resets the author: status, blocks, trust level, + # metrics and action history are removed. The author is created again with a clean + # record the next time content is moderated for the same ID. # # @overload delete(id, request_options: {}) # - # @param id [String] + # @param id [String] Either external ID or the ID assigned by moderation API. + # # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil] # # @return [ModerationAPI::Models::AuthorDeleteResponse] diff --git a/rbi/moderation_api/models/author_delete_params.rbi b/rbi/moderation_api/models/author_delete_params.rbi index c80a215..0c3e374 100644 --- a/rbi/moderation_api/models/author_delete_params.rbi +++ b/rbi/moderation_api/models/author_delete_params.rbi @@ -14,6 +14,7 @@ module ModerationAPI ) end + # Either external ID or the ID assigned by moderation API. sig { returns(String) } attr_accessor :id @@ -23,7 +24,11 @@ module ModerationAPI request_options: ModerationAPI::RequestOptions::OrHash ).returns(T.attached_class) end - def self.new(id:, request_options: {}) + def self.new( + # Either external ID or the ID assigned by moderation API. + id:, + request_options: {} + ) end sig do diff --git a/rbi/moderation_api/resources/authors.rbi b/rbi/moderation_api/resources/authors.rbi index 5d92ae8..e8eca33 100644 --- a/rbi/moderation_api/resources/authors.rbi +++ b/rbi/moderation_api/resources/authors.rbi @@ -130,14 +130,20 @@ module ModerationAPI ) end - # Delete a specific author + # Delete a specific author. This resets the author: status, blocks, trust level, + # metrics and action history are removed. The author is created again with a clean + # record the next time content is moderated for the same ID. sig do params( id: String, request_options: ModerationAPI::RequestOptions::OrHash ).returns(ModerationAPI::Models::AuthorDeleteResponse) end - def delete(id, request_options: {}) + def delete( + # Either external ID or the ID assigned by moderation API. + id, + request_options: {} + ) end # @api private From b6868e295ea64e476ce3c8052f2159de0e27f49f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 14 Sep 2026 23:49:54 +0000 Subject: [PATCH 3/3] release: 2.41.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 9 +++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/moderation_api/version.rb | 2 +- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 69efe8f..29ad411 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.40.0" + ".": "2.41.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 52e81c9..0369496 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 2.41.0 (2026-09-14) + +Full Changelog: [v2.40.0...v2.41.0](https://github.com/moderation-api/sdk-ruby/compare/v2.40.0...v2.41.0) + +### Features + +* **api:** api update ([0bd8a67](https://github.com/moderation-api/sdk-ruby/commit/0bd8a67acc01c28b5d95cf976b9a573e779ec249)) +* **api:** api update ([99151aa](https://github.com/moderation-api/sdk-ruby/commit/99151aa7336b11514ce4c78f1dabd55418c45c3a)) + ## 2.40.0 (2026-08-28) Full Changelog: [v2.39.0...v2.40.0](https://github.com/moderation-api/sdk-ruby/compare/v2.39.0...v2.40.0) diff --git a/Gemfile.lock b/Gemfile.lock index a56e56e..b438c48 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - moderation_api (2.40.0) + moderation_api (2.41.0) cgi connection_pool diff --git a/README.md b/README.md index a2770b5..d36e69d 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "moderation_api", "~> 2.40.0" +gem "moderation_api", "~> 2.41.0" ``` diff --git a/lib/moderation_api/version.rb b/lib/moderation_api/version.rb index 6e07454..0dfb555 100644 --- a/lib/moderation_api/version.rb +++ b/lib/moderation_api/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module ModerationAPI - VERSION = "2.40.0" + VERSION = "2.41.0" end