moderation_api 2.9.0 → 2.10.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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/moderation_api/internal/util.rb +31 -0
  5. data/lib/moderation_api/models/action_delete_params.rb +9 -1
  6. data/lib/moderation_api/models/action_retrieve_params.rb +9 -1
  7. data/lib/moderation_api/models/action_update_params.rb +9 -1
  8. data/lib/moderation_api/models/actions/execute_execute_by_id_params.rb +9 -1
  9. data/lib/moderation_api/models/author_delete_params.rb +7 -1
  10. data/lib/moderation_api/models/author_retrieve_params.rb +9 -1
  11. data/lib/moderation_api/models/author_update_params.rb +9 -1
  12. data/lib/moderation_api/models/content_submit_params.rb +27 -3
  13. data/lib/moderation_api/models/queue/item_list_params.rb +9 -1
  14. data/lib/moderation_api/models/queue/item_resolve_params.rb +9 -1
  15. data/lib/moderation_api/models/queue/item_unresolve_params.rb +9 -1
  16. data/lib/moderation_api/models/queue_get_stats_params.rb +9 -1
  17. data/lib/moderation_api/models/queue_retrieve_params.rb +9 -1
  18. data/lib/moderation_api/models/wordlist/word_add_params.rb +9 -1
  19. data/lib/moderation_api/models/wordlist/word_remove_params.rb +9 -1
  20. data/lib/moderation_api/models/wordlist_get_embedding_status_params.rb +9 -1
  21. data/lib/moderation_api/models/wordlist_retrieve_params.rb +9 -1
  22. data/lib/moderation_api/models/wordlist_update_params.rb +9 -1
  23. data/lib/moderation_api/resources/actions.rb +2 -1
  24. data/lib/moderation_api/resources/authors.rb +2 -1
  25. data/lib/moderation_api/resources/content.rb +1 -1
  26. data/lib/moderation_api/resources/queue/items.rb +2 -1
  27. data/lib/moderation_api/resources/queue.rb +2 -1
  28. data/lib/moderation_api/resources/wordlist/words.rb +2 -1
  29. data/lib/moderation_api/version.rb +1 -1
  30. data/rbi/moderation_api/internal/util.rbi +20 -0
  31. data/rbi/moderation_api/models/action_delete_params.rbi +16 -5
  32. data/rbi/moderation_api/models/action_retrieve_params.rbi +16 -5
  33. data/rbi/moderation_api/models/action_update_params.rbi +8 -0
  34. data/rbi/moderation_api/models/actions/execute_execute_by_id_params.rbi +8 -0
  35. data/rbi/moderation_api/models/author_delete_params.rbi +11 -5
  36. data/rbi/moderation_api/models/author_retrieve_params.rbi +16 -5
  37. data/rbi/moderation_api/models/author_update_params.rbi +8 -0
  38. data/rbi/moderation_api/models/content_submit_params.rbi +41 -0
  39. data/rbi/moderation_api/models/queue/item_list_params.rbi +8 -0
  40. data/rbi/moderation_api/models/queue/item_resolve_params.rbi +8 -0
  41. data/rbi/moderation_api/models/queue/item_unresolve_params.rbi +8 -0
  42. data/rbi/moderation_api/models/queue_get_stats_params.rbi +8 -0
  43. data/rbi/moderation_api/models/queue_retrieve_params.rbi +16 -5
  44. data/rbi/moderation_api/models/wordlist/word_add_params.rbi +8 -0
  45. data/rbi/moderation_api/models/wordlist/word_remove_params.rbi +8 -0
  46. data/rbi/moderation_api/models/wordlist_get_embedding_status_params.rbi +16 -5
  47. data/rbi/moderation_api/models/wordlist_retrieve_params.rbi +16 -5
  48. data/rbi/moderation_api/models/wordlist_update_params.rbi +8 -0
  49. data/rbi/moderation_api/resources/content.rbi +1 -0
  50. data/sig/moderation_api/internal/util.rbs +10 -0
  51. data/sig/moderation_api/models/action_delete_params.rbs +11 -3
  52. data/sig/moderation_api/models/action_retrieve_params.rbs +11 -3
  53. data/sig/moderation_api/models/action_update_params.rbs +5 -0
  54. data/sig/moderation_api/models/actions/execute_execute_by_id_params.rbs +5 -0
  55. data/sig/moderation_api/models/author_delete_params.rbs +11 -3
  56. data/sig/moderation_api/models/author_retrieve_params.rbs +11 -3
  57. data/sig/moderation_api/models/author_update_params.rbs +5 -0
  58. data/sig/moderation_api/models/content_submit_params.rbs +21 -0
  59. data/sig/moderation_api/models/queue/item_list_params.rbs +5 -0
  60. data/sig/moderation_api/models/queue/item_resolve_params.rbs +5 -1
  61. data/sig/moderation_api/models/queue/item_unresolve_params.rbs +5 -1
  62. data/sig/moderation_api/models/queue_get_stats_params.rbs +5 -1
  63. data/sig/moderation_api/models/queue_retrieve_params.rbs +11 -3
  64. data/sig/moderation_api/models/wordlist/word_add_params.rbs +5 -1
  65. data/sig/moderation_api/models/wordlist/word_remove_params.rbs +5 -1
  66. data/sig/moderation_api/models/wordlist_get_embedding_status_params.rbs +11 -3
  67. data/sig/moderation_api/models/wordlist_retrieve_params.rbs +11 -3
  68. data/sig/moderation_api/models/wordlist_update_params.rbs +5 -0
  69. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0f3323914772d042544494f2ca1a728d1f0c947e08e2347ec6c36d3372e1251a
4
- data.tar.gz: 16eb59e90c6238533ed014ae94429c92bea53f7da622674b9072ce1ae409ba27
3
+ metadata.gz: 9ecaa983b44a88f39dfad366477b5361384172a287ee9ce5a7c6ad46e00758ac
4
+ data.tar.gz: a85767750e567a3a218b810abed9393fec39c6eea43ef578c45bc91bf433a0e7
5
5
  SHA512:
6
- metadata.gz: 21b0f24c6ff0fd8ca8c5c5427ef1677d992edcd483e91a1b2327d43c8b41699184b6d2486cb1ba600defa60153a40a155aed72fab8c80375dc9b21cf1450a85f
7
- data.tar.gz: cbc24e8553124634c9a0151f081346031177d13c692c4c0d524c29949b85b6636fe5bb3331616eeb99171acd57ff9d2e4de5184d5910d37b876d44b831fec91f
6
+ metadata.gz: 2c8392cecdd5b2da89b63e6bd7e342a05e580ce13fdf6f8e8c562144418e6fe98bd5e9782b65e8823d64c68998c559f0192f47c589bbbc1445812b7b084844e6
7
+ data.tar.gz: 1482b6f51b57b14351bb9785ac853e6a7557fc4f5356e16205e39d7da92cdb8e1463a09fa6fbdcaf69e64d62b5b5c01688f4c8cffbda717d73824aff1a49b0dd
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.10.0 (2026-03-16)
4
+
5
+ Full Changelog: [v2.9.0...v2.10.0](https://github.com/moderation-api/sdk-ruby/compare/v2.9.0...v2.10.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([d94c8d8](https://github.com/moderation-api/sdk-ruby/commit/d94c8d849f906261048e483206e4688307e04a27))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **ci:** add build step ([5c55bf8](https://github.com/moderation-api/sdk-ruby/commit/5c55bf8514f2c832772d10e7b55ba72eae983de2))
15
+ * **ci:** skip uploading artifacts on stainless-internal branches ([3228178](https://github.com/moderation-api/sdk-ruby/commit/3228178bf38e7382080b702b25be5b9007b522ea))
16
+ * **internal:** codegen related update ([1ba0c9c](https://github.com/moderation-api/sdk-ruby/commit/1ba0c9c906772f0ea6e7e06d88ceaf30f0677f84))
17
+ * **internal:** codegen related update ([9f1e242](https://github.com/moderation-api/sdk-ruby/commit/9f1e24274f62d4fb313ca30e267a5496c97a9339))
18
+
3
19
  ## 2.9.0 (2026-03-03)
4
20
 
5
21
  Full Changelog: [v2.8.1...v2.9.0](https://github.com/moderation-api/sdk-ruby/compare/v2.8.1...v2.9.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.9.0"
18
+ gem "moderation_api", "~> 2.10.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -490,6 +490,37 @@ module ModerationAPI
490
490
  JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
491
491
 
492
492
  class << self
493
+ # @api private
494
+ #
495
+ # @param query [Hash{Symbol=>Object}]
496
+ #
497
+ # @return [Hash{Symbol=>Object}]
498
+ def encode_query_params(query)
499
+ out = {}
500
+ query.each { write_query_param_element!(out, _1, _2) }
501
+ out
502
+ end
503
+
504
+ # @api private
505
+ #
506
+ # @param collection [Hash{Symbol=>Object}]
507
+ # @param key [String]
508
+ # @param element [Object]
509
+ #
510
+ # @return [nil]
511
+ private def write_query_param_element!(collection, key, element)
512
+ case element
513
+ in Hash
514
+ element.each do |name, value|
515
+ write_query_param_element!(collection, "#{key}[#{name}]", value)
516
+ end
517
+ in Array
518
+ collection[key] = element.map(&:to_s).join(",")
519
+ else
520
+ collection[key] = element.to_s
521
+ end
522
+ end
523
+
493
524
  # @api private
494
525
  #
495
526
  # @param y [Enumerator::Yielder]
@@ -7,7 +7,15 @@ module ModerationAPI
7
7
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
8
8
  include ModerationAPI::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ # The ID of the action to delete.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!method initialize(id:, request_options: {})
17
+ # @param id [String] The ID of the action to delete.
18
+ #
11
19
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
12
20
  end
13
21
  end
@@ -7,7 +7,15 @@ module ModerationAPI
7
7
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
8
8
  include ModerationAPI::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ # The ID of the action to get.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!method initialize(id:, request_options: {})
17
+ # @param id [String] The ID of the action to get.
18
+ #
11
19
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
12
20
  end
13
21
  end
@@ -7,6 +7,12 @@ module ModerationAPI
7
7
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
8
8
  include ModerationAPI::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute id
11
+ # The ID of the action to update.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
10
16
  # @!attribute built_in
11
17
  # Whether the action is a built-in action or a custom one.
12
18
  #
@@ -92,10 +98,12 @@ module ModerationAPI
92
98
  optional :webhooks,
93
99
  -> { ModerationAPI::Internal::Type::ArrayOf[ModerationAPI::ActionUpdateParams::Webhook] }
94
100
 
95
- # @!method initialize(built_in: nil, description: nil, filter_in_queue_ids: nil, free_text: nil, key: nil, name: nil, position: nil, possible_values: nil, queue_behaviour: nil, type: nil, value_required: nil, webhooks: nil, request_options: {})
101
+ # @!method initialize(id:, built_in: nil, description: nil, filter_in_queue_ids: nil, free_text: nil, key: nil, name: nil, position: nil, possible_values: nil, queue_behaviour: nil, type: nil, value_required: nil, webhooks: nil, request_options: {})
96
102
  # Some parameter documentations has been truncated, see
97
103
  # {ModerationAPI::Models::ActionUpdateParams} for more details.
98
104
  #
105
+ # @param id [String] The ID of the action to update.
106
+ #
99
107
  # @param built_in [Boolean, nil] Whether the action is a built-in action or a custom one.
100
108
  #
101
109
  # @param description [String, nil] The description of the action.
@@ -8,6 +8,12 @@ module ModerationAPI
8
8
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
9
9
  include ModerationAPI::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute action_id
12
+ # The ID or key of the action to execute.
13
+ #
14
+ # @return [String]
15
+ required :action_id, String
16
+
11
17
  # @!attribute author_ids
12
18
  # IDs of the authors to apply the action to
13
19
  #
@@ -32,7 +38,9 @@ module ModerationAPI
32
38
  # @return [String, nil]
33
39
  optional :value, String
34
40
 
35
- # @!method initialize(author_ids: nil, content_ids: nil, queue_id: nil, value: nil, request_options: {})
41
+ # @!method initialize(action_id:, author_ids: nil, content_ids: nil, queue_id: nil, value: nil, request_options: {})
42
+ # @param action_id [String] The ID or key of the action to execute.
43
+ #
36
44
  # @param author_ids [Array<String>] IDs of the authors to apply the action to
37
45
  #
38
46
  # @param content_ids [Array<String>] The IDs of the content items to perform the action on.
@@ -7,7 +7,13 @@ module ModerationAPI
7
7
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
8
8
  include ModerationAPI::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
11
17
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,7 +7,15 @@ module ModerationAPI
7
7
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
8
8
  include ModerationAPI::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ # Either external ID or the ID assigned by moderation API.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!method initialize(id:, request_options: {})
17
+ # @param id [String] Either external ID or the ID assigned by moderation API.
18
+ #
11
19
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
12
20
  end
13
21
  end
@@ -7,6 +7,12 @@ module ModerationAPI
7
7
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
8
8
  include ModerationAPI::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute id
11
+ # Either external ID or the ID assigned by moderation API.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
10
16
  # @!attribute email
11
17
  # Author email address
12
18
  #
@@ -55,10 +61,12 @@ module ModerationAPI
55
61
  # @return [String, nil]
56
62
  optional :profile_picture, String, nil?: true
57
63
 
58
- # @!method initialize(email: nil, external_link: nil, first_seen: nil, last_seen: nil, manual_trust_level: nil, metadata: nil, name: nil, profile_picture: nil, request_options: {})
64
+ # @!method initialize(id:, email: nil, external_link: nil, first_seen: nil, last_seen: nil, manual_trust_level: nil, metadata: nil, name: nil, profile_picture: nil, request_options: {})
59
65
  # Some parameter documentations has been truncated, see
60
66
  # {ModerationAPI::Models::AuthorUpdateParams} for more details.
61
67
  #
68
+ # @param id [String] Either external ID or the ID assigned by moderation API.
69
+ #
62
70
  # @param email [String, nil] Author email address
63
71
  #
64
72
  # @param external_link [String, nil] URL of the author's external profile
@@ -59,7 +59,7 @@ 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::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]
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::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>, nil]
63
63
  optional :policies,
64
64
  -> { ModerationAPI::Internal::Type::ArrayOf[union: ModerationAPI::ContentSubmitParams::Policy] }
65
65
 
@@ -90,7 +90,7 @@ module ModerationAPI
90
90
  #
91
91
  # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated
92
92
  #
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.
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::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>] (Enterprise) override the channel policies for this moderation request only.
94
94
  #
95
95
  # @param timestamp [Float] Unix timestamp (in milliseconds) of when the content was created. Use if content
96
96
  #
@@ -415,6 +415,8 @@ module ModerationAPI
415
415
 
416
416
  variant -> { ModerationAPI::ContentSubmitParams::Policy::URLMasking }
417
417
 
418
+ variant -> { ModerationAPI::ContentSubmitParams::Policy::URLRisk }
419
+
418
420
  variant -> { ModerationAPI::ContentSubmitParams::Policy::Guideline }
419
421
 
420
422
  class Toxicity < ModerationAPI::Internal::Type::BaseModel
@@ -1013,6 +1015,28 @@ module ModerationAPI
1013
1015
  end
1014
1016
  end
1015
1017
 
1018
+ class URLRisk < ModerationAPI::Internal::Type::BaseModel
1019
+ # @!attribute id
1020
+ #
1021
+ # @return [Symbol, :url_risk]
1022
+ required :id, const: :url_risk
1023
+
1024
+ # @!attribute flag
1025
+ #
1026
+ # @return [Boolean]
1027
+ required :flag, ModerationAPI::Internal::Type::Boolean
1028
+
1029
+ # @!attribute threshold
1030
+ #
1031
+ # @return [Float, nil]
1032
+ optional :threshold, Float
1033
+
1034
+ # @!method initialize(flag:, threshold: nil, id: :url_risk)
1035
+ # @param flag [Boolean]
1036
+ # @param threshold [Float]
1037
+ # @param id [Symbol, :url_risk]
1038
+ end
1039
+
1016
1040
  class Guideline < ModerationAPI::Internal::Type::BaseModel
1017
1041
  # @!attribute id
1018
1042
  #
@@ -1048,7 +1072,7 @@ module ModerationAPI
1048
1072
  end
1049
1073
 
1050
1074
  # @!method self.variants
1051
- # @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)]
1075
+ # @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::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline)]
1052
1076
  end
1053
1077
  end
1054
1078
  end
@@ -8,6 +8,12 @@ module ModerationAPI
8
8
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
9
9
  include ModerationAPI::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute id
12
+ # The queue ID
13
+ #
14
+ # @return [String]
15
+ required :id, String
16
+
11
17
  # @!attribute after_date
12
18
  #
13
19
  # @return [String, nil]
@@ -66,7 +72,9 @@ module ModerationAPI
66
72
  # @return [Symbol, ModerationAPI::Models::Queue::ItemListParams::SortField, nil]
67
73
  optional :sort_field, enum: -> { ModerationAPI::Queue::ItemListParams::SortField }
68
74
 
69
- # @!method initialize(after_date: nil, author_id: nil, before_date: nil, conversation_ids: nil, filtered_action_ids: nil, include_resolved: nil, labels: nil, page_number: nil, page_size: nil, sort_direction: nil, sort_field: nil, request_options: {})
75
+ # @!method initialize(id:, after_date: nil, author_id: nil, before_date: nil, conversation_ids: nil, filtered_action_ids: nil, include_resolved: nil, labels: nil, page_number: nil, page_size: nil, sort_direction: nil, sort_field: nil, request_options: {})
76
+ # @param id [String] The queue ID
77
+ #
70
78
  # @param after_date [String]
71
79
  #
72
80
  # @param author_id [String]
@@ -14,15 +14,23 @@ module ModerationAPI
14
14
  # @return [String]
15
15
  required :id, String
16
16
 
17
+ # @!attribute item_id
18
+ # The item ID to resolve
19
+ #
20
+ # @return [String]
21
+ required :item_id, String
22
+
17
23
  # @!attribute comment
18
24
  # Optional comment
19
25
  #
20
26
  # @return [String, nil]
21
27
  optional :comment, String
22
28
 
23
- # @!method initialize(id:, comment: nil, request_options: {})
29
+ # @!method initialize(id:, item_id:, comment: nil, request_options: {})
24
30
  # @param id [String] The queue ID
25
31
  #
32
+ # @param item_id [String] The item ID to resolve
33
+ #
26
34
  # @param comment [String] Optional comment
27
35
  #
28
36
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
@@ -14,15 +14,23 @@ module ModerationAPI
14
14
  # @return [String]
15
15
  required :id, String
16
16
 
17
+ # @!attribute item_id
18
+ # The item ID to unresolve
19
+ #
20
+ # @return [String]
21
+ required :item_id, String
22
+
17
23
  # @!attribute comment
18
24
  # Optional reason for unresolving the item
19
25
  #
20
26
  # @return [String, nil]
21
27
  optional :comment, String
22
28
 
23
- # @!method initialize(id:, comment: nil, request_options: {})
29
+ # @!method initialize(id:, item_id:, comment: nil, request_options: {})
24
30
  # @param id [String] The queue ID
25
31
  #
32
+ # @param item_id [String] The item ID to unresolve
33
+ #
26
34
  # @param comment [String] Optional reason for unresolving the item
27
35
  #
28
36
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
@@ -7,13 +7,21 @@ module ModerationAPI
7
7
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
8
8
  include ModerationAPI::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute id
11
+ # The queue ID
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
10
16
  # @!attribute within_days
11
17
  # Number of days to analyze statistics for
12
18
  #
13
19
  # @return [String, nil]
14
20
  optional :within_days, String
15
21
 
16
- # @!method initialize(within_days: nil, request_options: {})
22
+ # @!method initialize(id:, within_days: nil, request_options: {})
23
+ # @param id [String] The queue ID
24
+ #
17
25
  # @param within_days [String] Number of days to analyze statistics for
18
26
  #
19
27
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
@@ -7,7 +7,15 @@ module ModerationAPI
7
7
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
8
8
  include ModerationAPI::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ # The queue ID
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!method initialize(id:, request_options: {})
17
+ # @param id [String] The queue ID
18
+ #
11
19
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
12
20
  end
13
21
  end
@@ -8,13 +8,21 @@ module ModerationAPI
8
8
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
9
9
  include ModerationAPI::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute id
12
+ # ID of the wordlist to add words to
13
+ #
14
+ # @return [String]
15
+ required :id, String
16
+
11
17
  # @!attribute words
12
18
  # Array of words to add to the wordlist. Duplicate words will be ignored.
13
19
  #
14
20
  # @return [Array<String>]
15
21
  required :words, ModerationAPI::Internal::Type::ArrayOf[String]
16
22
 
17
- # @!method initialize(words:, request_options: {})
23
+ # @!method initialize(id:, words:, request_options: {})
24
+ # @param id [String] ID of the wordlist to add words to
25
+ #
18
26
  # @param words [Array<String>] Array of words to add to the wordlist. Duplicate words will be ignored.
19
27
  #
20
28
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
@@ -8,13 +8,21 @@ module ModerationAPI
8
8
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
9
9
  include ModerationAPI::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute id
12
+ # ID of the wordlist to remove words from
13
+ #
14
+ # @return [String]
15
+ required :id, String
16
+
11
17
  # @!attribute words
12
18
  # Array of words to remove from the wordlist
13
19
  #
14
20
  # @return [Array<String>]
15
21
  required :words, ModerationAPI::Internal::Type::ArrayOf[String]
16
22
 
17
- # @!method initialize(words:, request_options: {})
23
+ # @!method initialize(id:, words:, request_options: {})
24
+ # @param id [String] ID of the wordlist to remove words from
25
+ #
18
26
  # @param words [Array<String>] Array of words to remove from the wordlist
19
27
  #
20
28
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
@@ -7,7 +7,15 @@ module ModerationAPI
7
7
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
8
8
  include ModerationAPI::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ # ID of the wordlist to check embedding status for
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!method initialize(id:, request_options: {})
17
+ # @param id [String] ID of the wordlist to check embedding status for
18
+ #
11
19
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
12
20
  end
13
21
  end
@@ -7,7 +7,15 @@ module ModerationAPI
7
7
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
8
8
  include ModerationAPI::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ # ID of the wordlist to get
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!method initialize(id:, request_options: {})
17
+ # @param id [String] ID of the wordlist to get
18
+ #
11
19
  # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}]
12
20
  end
13
21
  end
@@ -7,6 +7,12 @@ module ModerationAPI
7
7
  extend ModerationAPI::Internal::Type::RequestParameters::Converter
8
8
  include ModerationAPI::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute id
11
+ # ID of the wordlist to update
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
10
16
  # @!attribute description
11
17
  # New description for the wordlist
12
18
  #
@@ -38,10 +44,12 @@ module ModerationAPI
38
44
  # @return [Array<String>, nil]
39
45
  optional :words, ModerationAPI::Internal::Type::ArrayOf[String]
40
46
 
41
- # @!method initialize(description: nil, key: nil, name: nil, strict: nil, words: nil, request_options: {})
47
+ # @!method initialize(id:, description: nil, key: nil, name: nil, strict: nil, words: nil, request_options: {})
42
48
  # Some parameter documentations has been truncated, see
43
49
  # {ModerationAPI::Models::WordlistUpdateParams} for more details.
44
50
  #
51
+ # @param id [String] ID of the wordlist to update
52
+ #
45
53
  # @param description [String] New description for the wordlist
46
54
  #
47
55
  # @param key [String] New key for the wordlist
@@ -134,10 +134,11 @@ module ModerationAPI
134
134
  # @see ModerationAPI::Models::ActionListParams
135
135
  def list(params = {})
136
136
  parsed, options = ModerationAPI::ActionListParams.dump_request(params)
137
+ query = ModerationAPI::Internal::Util.encode_query_params(parsed)
137
138
  @client.request(
138
139
  method: :get,
139
140
  path: "actions",
140
- query: parsed.transform_keys(queue_id: "queueId"),
141
+ query: query.transform_keys(queue_id: "queueId"),
141
142
  model: ModerationAPI::Internal::Type::ArrayOf[ModerationAPI::Models::ActionListResponseItem],
142
143
  options: options
143
144
  )
@@ -132,10 +132,11 @@ module ModerationAPI
132
132
  # @see ModerationAPI::Models::AuthorListParams
133
133
  def list(params = {})
134
134
  parsed, options = ModerationAPI::AuthorListParams.dump_request(params)
135
+ query = ModerationAPI::Internal::Util.encode_query_params(parsed)
135
136
  @client.request(
136
137
  method: :get,
137
138
  path: "authors",
138
- query: parsed.transform_keys(
139
+ query: query.transform_keys(
139
140
  content_types: "contentTypes",
140
141
  last_active_date: "lastActiveDate",
141
142
  member_since_date: "memberSinceDate",
@@ -24,7 +24,7 @@ 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::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.
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::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>] (Enterprise) override the channel policies for this moderation request only.
28
28
  #
29
29
  # @param timestamp [Float] Unix timestamp (in milliseconds) of when the content was created. Use if content
30
30
  #
@@ -39,10 +39,11 @@ module ModerationAPI
39
39
  # @see ModerationAPI::Models::Queue::ItemListParams
40
40
  def list(id, params = {})
41
41
  parsed, options = ModerationAPI::Queue::ItemListParams.dump_request(params)
42
+ query = ModerationAPI::Internal::Util.encode_query_params(parsed)
42
43
  @client.request(
43
44
  method: :get,
44
45
  path: ["queue/%1$s/items", id],
45
- query: parsed.transform_keys(
46
+ query: query.transform_keys(
46
47
  after_date: "afterDate",
47
48
  author_id: "authorId",
48
49
  before_date: "beforeDate",
@@ -42,10 +42,11 @@ module ModerationAPI
42
42
  # @see ModerationAPI::Models::QueueGetStatsParams
43
43
  def get_stats(id, params = {})
44
44
  parsed, options = ModerationAPI::QueueGetStatsParams.dump_request(params)
45
+ query = ModerationAPI::Internal::Util.encode_query_params(parsed)
45
46
  @client.request(
46
47
  method: :get,
47
48
  path: ["queue/%1$s/stats", id],
48
- query: parsed.transform_keys(within_days: "withinDays"),
49
+ query: query.transform_keys(within_days: "withinDays"),
49
50
  model: ModerationAPI::Models::QueueGetStatsResponse,
50
51
  options: options
51
52
  )
@@ -43,10 +43,11 @@ module ModerationAPI
43
43
  # @see ModerationAPI::Models::Wordlist::WordRemoveParams
44
44
  def remove(id, params)
45
45
  parsed, options = ModerationAPI::Wordlist::WordRemoveParams.dump_request(params)
46
+ query = ModerationAPI::Internal::Util.encode_query_params(parsed)
46
47
  @client.request(
47
48
  method: :delete,
48
49
  path: ["wordlist/%1$s/words", id],
49
- query: parsed,
50
+ query: query,
50
51
  model: ModerationAPI::Models::Wordlist::WordRemoveResponse,
51
52
  options: options
52
53
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModerationAPI
4
- VERSION = "2.9.0"
4
+ VERSION = "2.10.0"
5
5
  end