moderation_api 3.0.0 → 3.1.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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moderation_api/account.rb +10 -4
  3. data/lib/moderation_api/actions.rb +39 -20
  4. data/lib/moderation_api/authors.rb +27 -15
  5. data/lib/moderation_api/content.rb +10 -5
  6. data/lib/moderation_api/items.rb +13 -8
  7. data/lib/moderation_api/models/components/badrequesterror_code.rb +2 -0
  8. data/lib/moderation_api/models/components/permissiondeniederror_code.rb +0 -2
  9. data/lib/moderation_api/models/errors/badrequesterror.rb +1 -0
  10. data/lib/moderation_api/models/errors/permissiondeniederror.rb +0 -1
  11. data/lib/moderation_api/models/operations/addwordlistwords_request.rb +13 -2
  12. data/lib/moderation_api/models/operations/addwordlistwords_request.rbi +6 -0
  13. data/lib/moderation_api/models/operations/createaction_request.rb +10 -132
  14. data/lib/moderation_api/models/operations/createaction_request.rbi +4 -58
  15. data/lib/moderation_api/models/operations/createaction_requestbody.rb +160 -0
  16. data/lib/moderation_api/models/operations/createaction_requestbody.rbi +74 -0
  17. data/lib/moderation_api/models/operations/createauthor_request.rb +10 -104
  18. data/lib/moderation_api/models/operations/createauthor_request.rbi +4 -52
  19. data/lib/moderation_api/models/operations/createauthor_requestbody.rb +132 -0
  20. data/lib/moderation_api/models/operations/createauthor_requestbody.rbi +68 -0
  21. data/lib/moderation_api/models/operations/createwebhook_request.rb +10 -35
  22. data/lib/moderation_api/models/operations/createwebhook_request.rbi +4 -16
  23. data/lib/moderation_api/models/operations/createwebhook_requestbody.rb +63 -0
  24. data/lib/moderation_api/models/operations/createwebhook_requestbody.rbi +32 -0
  25. data/lib/moderation_api/models/operations/deleteaction_request.rb +10 -2
  26. data/lib/moderation_api/models/operations/deleteaction_request.rbi +6 -0
  27. data/lib/moderation_api/models/operations/deleteauthor_request.rb +10 -2
  28. data/lib/moderation_api/models/operations/deleteauthor_request.rbi +6 -0
  29. data/lib/moderation_api/models/operations/deletewebhook_request.rb +10 -2
  30. data/lib/moderation_api/models/operations/deletewebhook_request.rbi +6 -0
  31. data/lib/moderation_api/models/operations/executeaction_request.rb +11 -58
  32. data/lib/moderation_api/models/operations/executeaction_request.rbi +4 -28
  33. data/lib/moderation_api/models/operations/executeaction_requestbody.rb +85 -0
  34. data/lib/moderation_api/models/operations/executeaction_requestbody.rbi +44 -0
  35. data/lib/moderation_api/models/operations/getaccount_request.rb +35 -0
  36. data/lib/moderation_api/models/operations/getaccount_request.rbi +14 -0
  37. data/lib/moderation_api/models/operations/getaction_request.rb +10 -2
  38. data/lib/moderation_api/models/operations/getaction_request.rbi +6 -0
  39. data/lib/moderation_api/models/operations/getauthor_request.rb +10 -2
  40. data/lib/moderation_api/models/operations/getauthor_request.rbi +6 -0
  41. data/lib/moderation_api/models/operations/getqueue_request.rb +10 -2
  42. data/lib/moderation_api/models/operations/getqueue_request.rbi +6 -0
  43. data/lib/moderation_api/models/operations/getqueuestats_request.rb +10 -2
  44. data/lib/moderation_api/models/operations/getqueuestats_request.rbi +6 -0
  45. data/lib/moderation_api/models/operations/getwebhook_request.rb +10 -2
  46. data/lib/moderation_api/models/operations/getwebhook_request.rbi +6 -0
  47. data/lib/moderation_api/models/operations/getwebhooksecret_request.rb +35 -0
  48. data/lib/moderation_api/models/operations/getwebhooksecret_request.rbi +14 -0
  49. data/lib/moderation_api/models/operations/getwordlist_request.rb +10 -2
  50. data/lib/moderation_api/models/operations/getwordlist_request.rbi +6 -0
  51. data/lib/moderation_api/models/operations/getwordlistembeddingstatus_request.rb +10 -2
  52. data/lib/moderation_api/models/operations/getwordlistembeddingstatus_request.rbi +6 -0
  53. data/lib/moderation_api/models/operations/listactions_request.rb +18 -2
  54. data/lib/moderation_api/models/operations/listactions_request.rbi +6 -0
  55. data/lib/moderation_api/models/operations/listauthors_request.rb +10 -0
  56. data/lib/moderation_api/models/operations/listauthors_request.rbi +6 -0
  57. data/lib/moderation_api/models/operations/listqueueitems_request.rb +10 -0
  58. data/lib/moderation_api/models/operations/listqueueitems_request.rbi +6 -0
  59. data/lib/moderation_api/models/operations/listwebhooks_request.rb +13 -2
  60. data/lib/moderation_api/models/operations/listwebhooks_request.rbi +6 -0
  61. data/lib/moderation_api/models/operations/listwordlists_request.rb +13 -2
  62. data/lib/moderation_api/models/operations/listwordlists_request.rbi +6 -0
  63. data/lib/moderation_api/models/operations/removewordlistwords_request.rb +10 -2
  64. data/lib/moderation_api/models/operations/removewordlistwords_request.rbi +6 -0
  65. data/lib/moderation_api/models/operations/resolvequeueitem_request.rb +18 -2
  66. data/lib/moderation_api/models/operations/resolvequeueitem_request.rbi +6 -0
  67. data/lib/moderation_api/models/operations/submitcontent_request.rb +10 -231
  68. data/lib/moderation_api/models/operations/submitcontent_request.rbi +4 -58
  69. data/lib/moderation_api/models/operations/submitcontent_requestbody.rb +259 -0
  70. data/lib/moderation_api/models/operations/submitcontent_requestbody.rbi +74 -0
  71. data/lib/moderation_api/models/operations/unresolvequeueitem_request.rb +18 -2
  72. data/lib/moderation_api/models/operations/unresolvequeueitem_request.rbi +6 -0
  73. data/lib/moderation_api/models/operations/updateaction_request.rb +12 -2
  74. data/lib/moderation_api/models/operations/updateaction_request.rbi +6 -0
  75. data/lib/moderation_api/models/operations/updateauthor_request.rb +12 -2
  76. data/lib/moderation_api/models/operations/updateauthor_request.rbi +6 -0
  77. data/lib/moderation_api/models/operations/updatewebhook_request.rb +12 -2
  78. data/lib/moderation_api/models/operations/updatewebhook_request.rbi +6 -0
  79. data/lib/moderation_api/models/operations/updatewordlist_request.rb +13 -2
  80. data/lib/moderation_api/models/operations/updatewordlist_request.rbi +6 -0
  81. data/lib/moderation_api/models/operations.rb +7 -0
  82. data/lib/moderation_api/queue.rb +10 -6
  83. data/lib/moderation_api/sdkconfiguration.rb +2 -2
  84. data/lib/moderation_api/webhooks.rb +30 -16
  85. data/lib/moderation_api/webhooksecret.rb +10 -4
  86. data/lib/moderation_api/wordlist.rb +21 -12
  87. data/lib/moderation_api/words.rb +10 -6
  88. metadata +15 -1
@@ -0,0 +1,259 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module ModerationApi
7
+ module Models
8
+ module Operations
9
+
10
+ class SubmitContentRequestBody
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # The content sent for moderation
15
+ field(
16
+ :content,
17
+ Crystalline::Union.new(
18
+ Models::Operations::TextRequest,
19
+ Models::Operations::ImageRequest,
20
+ Models::Operations::VideoRequest,
21
+ Models::Operations::AudioRequest,
22
+ Models::Operations::Object
23
+ ),
24
+ {
25
+ 'format_json': {'letter_case': ::ModerationApi::Utils.field_name("content"), required: true},
26
+ 'discriminator': "type",
27
+ 'discriminator_mapping': {
28
+ "text" => Models::Operations::TextRequest,
29
+ "image" => Models::Operations::ImageRequest,
30
+ "video" => Models::Operations::VideoRequest,
31
+ "audio" => Models::Operations::AudioRequest,
32
+ "object" => Models::Operations::Object
33
+ }
34
+ }
35
+ )
36
+ # Unix timestamp (in milliseconds) of when the content was created. Use if content is not submitted in real-time.
37
+ field(
38
+ :timestamp,
39
+ Crystalline::Nilable.new(::Float),
40
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("timestamp")}}
41
+ )
42
+ # Provide a channel ID or key. Will use the project's default channel if not provided.
43
+ field(
44
+ :channel,
45
+ Crystalline::Nilable.new(::String),
46
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("channel")}}
47
+ )
48
+ # The unique ID of the content in your database.
49
+ field(
50
+ :content_id,
51
+ Crystalline::Nilable.new(::String),
52
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("contentId")}}
53
+ )
54
+ # The meta type of content being moderated
55
+ field(
56
+ :meta_type,
57
+ Crystalline::Nilable.new(Models::Operations::MetaType),
58
+ {
59
+ 'format_json': {
60
+ 'letter_case': ::ModerationApi::Utils.field_name("metaType"),
61
+ 'decoder': ::ModerationApi::Utils.enum_from_string(Models::Operations::MetaType, true)
62
+ }
63
+ }
64
+ )
65
+ # The author of the content.
66
+ field(
67
+ :author_id,
68
+ Crystalline::Nilable.new(::String),
69
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("authorId")}}
70
+ )
71
+ # For example the ID of a chat room or a post
72
+ field(
73
+ :conversation_id,
74
+ Crystalline::Nilable.new(::String),
75
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("conversationId")}}
76
+ )
77
+ # Any metadata you want to store with the content
78
+ field(
79
+ :metadata,
80
+ Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)),
81
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("metadata")}}
82
+ )
83
+ # A recommendation from your own client-side flagging (e.g. a banned-IP list or a third-party tool). Feeds the rules engine and can escalate or override the recommended action. Does not change whether our analysis flagged the content.
84
+ field(
85
+ :client_action,
86
+ Crystalline::Nilable.new(Models::Operations::ClientAction),
87
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("clientAction")}}
88
+ )
89
+ # Do not store the content. The content won't enter the review queue
90
+ field(
91
+ :do_not_store,
92
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
93
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("doNotStore")}}
94
+ )
95
+ # (Enterprise) override the channel policies for this moderation request only.
96
+ field(
97
+ :policies,
98
+ Crystalline::Nilable.new(
99
+ Crystalline::Array.new(
100
+ Crystalline::Union.new(
101
+ Models::Operations::Toxicity,
102
+ Models::Operations::PersonalInformation,
103
+ Models::Operations::Hate,
104
+ Models::Operations::Illicit,
105
+ Models::Operations::IllicitDrugs,
106
+ Models::Operations::IllicitAlcohol,
107
+ Models::Operations::IllicitFirearms,
108
+ Models::Operations::IllicitTobacco,
109
+ Models::Operations::IllicitGambling,
110
+ Models::Operations::Cannabis,
111
+ Models::Operations::Adult,
112
+ Models::Operations::Crypto,
113
+ Models::Operations::Sexual,
114
+ Models::Operations::SexualMinors,
115
+ Models::Operations::Profanity,
116
+ Models::Operations::Violence,
117
+ Models::Operations::SelfHarm,
118
+ Models::Operations::Spam,
119
+ Models::Operations::LowQualityContent,
120
+ Models::Operations::FaceDetection,
121
+ Models::Operations::SelfPromotion,
122
+ Models::Operations::Political,
123
+ Models::Operations::Religion,
124
+ Models::Operations::Threat,
125
+ Models::Operations::SexualSolicitation,
126
+ Models::Operations::ChannelCircumvention,
127
+ Models::Operations::IllegalTrade,
128
+ Models::Operations::Alcohol,
129
+ Models::Operations::Drugs,
130
+ Models::Operations::Gambling,
131
+ Models::Operations::Tobacco,
132
+ Models::Operations::Weapons,
133
+ Models::Operations::Promotion,
134
+ Models::Operations::Extremism,
135
+ Models::Operations::CodeAbuse,
136
+ Models::Operations::UnicodeSpoofing,
137
+ Models::Operations::PIIMasking,
138
+ Models::Operations::URLMasking,
139
+ Models::Operations::URLRisk,
140
+ Models::Operations::Guideline
141
+ )
142
+ )
143
+ ),
144
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("policies")}}
145
+ )
146
+
147
+ sig {
148
+ params(
149
+ content: T.any(
150
+ Models::Operations::TextRequest,
151
+ Models::Operations::ImageRequest,
152
+ Models::Operations::VideoRequest,
153
+ Models::Operations::AudioRequest,
154
+ Models::Operations::Object
155
+ ),
156
+ timestamp: T.nilable(::Float),
157
+ channel: T.nilable(::String),
158
+ content_id: T.nilable(::String),
159
+ meta_type: T.nilable(Models::Operations::MetaType),
160
+ author_id: T.nilable(::String),
161
+ conversation_id: T.nilable(::String),
162
+ metadata: T.nilable(T::Hash[Symbol, ::Object]),
163
+ client_action: T.nilable(Models::Operations::ClientAction),
164
+ do_not_store: T.nilable(T::Boolean),
165
+ policies: T.nilable(
166
+ T::Array[
167
+ T.any(
168
+ Models::Operations::Toxicity,
169
+ Models::Operations::PersonalInformation,
170
+ Models::Operations::Hate,
171
+ Models::Operations::Illicit,
172
+ Models::Operations::IllicitDrugs,
173
+ Models::Operations::IllicitAlcohol,
174
+ Models::Operations::IllicitFirearms,
175
+ Models::Operations::IllicitTobacco,
176
+ Models::Operations::IllicitGambling,
177
+ Models::Operations::Cannabis,
178
+ Models::Operations::Adult,
179
+ Models::Operations::Crypto,
180
+ Models::Operations::Sexual,
181
+ Models::Operations::SexualMinors,
182
+ Models::Operations::Profanity,
183
+ Models::Operations::Violence,
184
+ Models::Operations::SelfHarm,
185
+ Models::Operations::Spam,
186
+ Models::Operations::LowQualityContent,
187
+ Models::Operations::FaceDetection,
188
+ Models::Operations::SelfPromotion,
189
+ Models::Operations::Political,
190
+ Models::Operations::Religion,
191
+ Models::Operations::Threat,
192
+ Models::Operations::SexualSolicitation,
193
+ Models::Operations::ChannelCircumvention,
194
+ Models::Operations::IllegalTrade,
195
+ Models::Operations::Alcohol,
196
+ Models::Operations::Drugs,
197
+ Models::Operations::Gambling,
198
+ Models::Operations::Tobacco,
199
+ Models::Operations::Weapons,
200
+ Models::Operations::Promotion,
201
+ Models::Operations::Extremism,
202
+ Models::Operations::CodeAbuse,
203
+ Models::Operations::UnicodeSpoofing,
204
+ Models::Operations::PIIMasking,
205
+ Models::Operations::URLMasking,
206
+ Models::Operations::URLRisk,
207
+ Models::Operations::Guideline
208
+ )
209
+ ]
210
+ )
211
+ )
212
+ .void
213
+ }
214
+ def initialize(
215
+ content:,
216
+ timestamp: nil,
217
+ channel: nil,
218
+ content_id: nil,
219
+ meta_type: nil,
220
+ author_id: nil,
221
+ conversation_id: nil,
222
+ metadata: nil,
223
+ client_action: nil,
224
+ do_not_store: nil,
225
+ policies: nil
226
+ )
227
+ @content = content
228
+ @timestamp = timestamp
229
+ @channel = channel
230
+ @content_id = content_id
231
+ @meta_type = meta_type
232
+ @author_id = author_id
233
+ @conversation_id = conversation_id
234
+ @metadata = metadata
235
+ @client_action = client_action
236
+ @do_not_store = do_not_store
237
+ @policies = policies
238
+ end
239
+
240
+ sig { params(other: T.untyped).returns(T::Boolean) }
241
+ def ==(other)
242
+ return false unless other.is_a?(self.class)
243
+ return false unless @content == other.content
244
+ return false unless @timestamp == other.timestamp
245
+ return false unless @channel == other.channel
246
+ return false unless @content_id == other.content_id
247
+ return false unless @meta_type == other.meta_type
248
+ return false unless @author_id == other.author_id
249
+ return false unless @conversation_id == other.conversation_id
250
+ return false unless @metadata == other.metadata
251
+ return false unless @client_action == other.client_action
252
+ return false unless @do_not_store == other.do_not_store
253
+ return false unless @policies == other.policies
254
+ true
255
+ end
256
+ end
257
+ end
258
+ end
259
+ end
@@ -0,0 +1,74 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class ModerationApi::Models::Operations::SubmitContentRequestBody
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class ModerationApi::Models::Operations::SubmitContentRequestBody
9
+ def content
10
+ end
11
+
12
+ def content=(str_)
13
+ end
14
+
15
+ def timestamp
16
+ end
17
+
18
+ def timestamp=(str_)
19
+ end
20
+
21
+ def channel
22
+ end
23
+
24
+ def channel=(str_)
25
+ end
26
+
27
+ def content_id
28
+ end
29
+
30
+ def content_id=(str_)
31
+ end
32
+
33
+ def meta_type
34
+ end
35
+
36
+ def meta_type=(str_)
37
+ end
38
+
39
+ def author_id
40
+ end
41
+
42
+ def author_id=(str_)
43
+ end
44
+
45
+ def conversation_id
46
+ end
47
+
48
+ def conversation_id=(str_)
49
+ end
50
+
51
+ def metadata
52
+ end
53
+
54
+ def metadata=(str_)
55
+ end
56
+
57
+ def client_action
58
+ end
59
+
60
+ def client_action=(str_)
61
+ end
62
+
63
+ def do_not_store
64
+ end
65
+
66
+ def do_not_store=(str_)
67
+ end
68
+
69
+ def policies
70
+ end
71
+
72
+ def policies=(str_)
73
+ end
74
+ end
@@ -17,12 +17,27 @@ module ModerationApi
17
17
  field :item_id, ::String, {'path_param': {'field_name': "itemId", 'style': "simple", 'explode': false}}
18
18
 
19
19
  field :body, Models::Operations::UnresolveQueueItemRequestBody, {'request': {'media_type': "application/json"}}
20
+ # The project to act on, when you call with an organization key. Optional when the organization has one project. A project key acts on its own project: naming another one is an error.
21
+ field(
22
+ :project_id,
23
+ Crystalline::Nilable.new(::String),
24
+ {'header': {'field_name': "Project-Id", 'style': "simple", 'explode': false}}
25
+ )
20
26
 
21
- sig { params(id: ::String, item_id: ::String, body: Models::Operations::UnresolveQueueItemRequestBody).void }
22
- def initialize(id:, item_id:, body:)
27
+ sig {
28
+ params(
29
+ id: ::String,
30
+ item_id: ::String,
31
+ body: Models::Operations::UnresolveQueueItemRequestBody,
32
+ project_id: T.nilable(::String)
33
+ )
34
+ .void
35
+ }
36
+ def initialize(id:, item_id:, body:, project_id: nil)
23
37
  @id = id
24
38
  @item_id = item_id
25
39
  @body = body
40
+ @project_id = project_id
26
41
  end
27
42
 
28
43
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -31,6 +46,7 @@ module ModerationApi
31
46
  return false unless @id == other.id
32
47
  return false unless @item_id == other.item_id
33
48
  return false unless @body == other.body
49
+ return false unless @project_id == other.project_id
34
50
  true
35
51
  end
36
52
  end
@@ -23,4 +23,10 @@ class ModerationApi::Models::Operations::UnresolveQueueItemRequest
23
23
 
24
24
  def body=(str_)
25
25
  end
26
+
27
+ def project_id
28
+ end
29
+
30
+ def project_id=(str_)
31
+ end
26
32
  end
@@ -15,11 +15,20 @@ module ModerationApi
15
15
  field :id, ::String, {'path_param': {'field_name': "id", 'style': "simple", 'explode': false}}
16
16
 
17
17
  field :body, Models::Operations::UpdateActionRequestBody, {'request': {'media_type': "application/json"}}
18
+ # The project to act on, when you call with an organization key. Optional when the organization has one project. A project key acts on its own project: naming another one is an error.
19
+ field(
20
+ :project_id,
21
+ Crystalline::Nilable.new(::String),
22
+ {'header': {'field_name': "Project-Id", 'style': "simple", 'explode': false}}
23
+ )
18
24
 
19
- sig { params(id: ::String, body: Models::Operations::UpdateActionRequestBody).void }
20
- def initialize(id:, body:)
25
+ sig {
26
+ params(id: ::String, body: Models::Operations::UpdateActionRequestBody, project_id: T.nilable(::String)).void
27
+ }
28
+ def initialize(id:, body:, project_id: nil)
21
29
  @id = id
22
30
  @body = body
31
+ @project_id = project_id
23
32
  end
24
33
 
25
34
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -27,6 +36,7 @@ module ModerationApi
27
36
  return false unless other.is_a?(self.class)
28
37
  return false unless @id == other.id
29
38
  return false unless @body == other.body
39
+ return false unless @project_id == other.project_id
30
40
  true
31
41
  end
32
42
  end
@@ -17,4 +17,10 @@ class ModerationApi::Models::Operations::UpdateActionRequest
17
17
 
18
18
  def body=(str_)
19
19
  end
20
+
21
+ def project_id
22
+ end
23
+
24
+ def project_id=(str_)
25
+ end
20
26
  end
@@ -15,11 +15,20 @@ module ModerationApi
15
15
  field :id, ::String, {'path_param': {'field_name': "id", 'style': "simple", 'explode': false}}
16
16
 
17
17
  field :body, Models::Operations::UpdateAuthorRequestBody, {'request': {'media_type': "application/json"}}
18
+ # The project to act on, when you call with an organization key. Optional when the organization has one project. A project key acts on its own project: naming another one is an error.
19
+ field(
20
+ :project_id,
21
+ Crystalline::Nilable.new(::String),
22
+ {'header': {'field_name': "Project-Id", 'style': "simple", 'explode': false}}
23
+ )
18
24
 
19
- sig { params(id: ::String, body: Models::Operations::UpdateAuthorRequestBody).void }
20
- def initialize(id:, body:)
25
+ sig {
26
+ params(id: ::String, body: Models::Operations::UpdateAuthorRequestBody, project_id: T.nilable(::String)).void
27
+ }
28
+ def initialize(id:, body:, project_id: nil)
21
29
  @id = id
22
30
  @body = body
31
+ @project_id = project_id
23
32
  end
24
33
 
25
34
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -27,6 +36,7 @@ module ModerationApi
27
36
  return false unless other.is_a?(self.class)
28
37
  return false unless @id == other.id
29
38
  return false unless @body == other.body
39
+ return false unless @project_id == other.project_id
30
40
  true
31
41
  end
32
42
  end
@@ -17,4 +17,10 @@ class ModerationApi::Models::Operations::UpdateAuthorRequest
17
17
 
18
18
  def body=(str_)
19
19
  end
20
+
21
+ def project_id
22
+ end
23
+
24
+ def project_id=(str_)
25
+ end
20
26
  end
@@ -15,11 +15,20 @@ module ModerationApi
15
15
  field :id, ::String, {'path_param': {'field_name': "id", 'style': "simple", 'explode': false}}
16
16
 
17
17
  field :body, Models::Operations::UpdateWebhookRequestBody, {'request': {'media_type': "application/json"}}
18
+ # The project to act on, when you call with an organization key. Optional when the organization has one project. A project key acts on its own project: naming another one is an error.
19
+ field(
20
+ :project_id,
21
+ Crystalline::Nilable.new(::String),
22
+ {'header': {'field_name': "Project-Id", 'style': "simple", 'explode': false}}
23
+ )
18
24
 
19
- sig { params(id: ::String, body: Models::Operations::UpdateWebhookRequestBody).void }
20
- def initialize(id:, body:)
25
+ sig {
26
+ params(id: ::String, body: Models::Operations::UpdateWebhookRequestBody, project_id: T.nilable(::String)).void
27
+ }
28
+ def initialize(id:, body:, project_id: nil)
21
29
  @id = id
22
30
  @body = body
31
+ @project_id = project_id
23
32
  end
24
33
 
25
34
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -27,6 +36,7 @@ module ModerationApi
27
36
  return false unless other.is_a?(self.class)
28
37
  return false unless @id == other.id
29
38
  return false unless @body == other.body
39
+ return false unless @project_id == other.project_id
30
40
  true
31
41
  end
32
42
  end
@@ -17,4 +17,10 @@ class ModerationApi::Models::Operations::UpdateWebhookRequest
17
17
 
18
18
  def body=(str_)
19
19
  end
20
+
21
+ def project_id
22
+ end
23
+
24
+ def project_id=(str_)
25
+ end
20
26
  end
@@ -15,11 +15,21 @@ module ModerationApi
15
15
  field :id, ::String, {'path_param': {'field_name': "id", 'style': "simple", 'explode': false}}
16
16
 
17
17
  field :body, Models::Operations::UpdateWordlistRequestBody, {'request': {'media_type': "application/json"}}
18
+ # The project to act on, when you call with an organization key. Optional when the organization has one project. A project key acts on its own project: naming another one is an error.
19
+ field(
20
+ :project_id,
21
+ Crystalline::Nilable.new(::String),
22
+ {'header': {'field_name': "Project-Id", 'style': "simple", 'explode': false}}
23
+ )
18
24
 
19
- sig { params(id: ::String, body: Models::Operations::UpdateWordlistRequestBody).void }
20
- def initialize(id:, body:)
25
+ sig {
26
+ params(id: ::String, body: Models::Operations::UpdateWordlistRequestBody, project_id: T.nilable(::String))
27
+ .void
28
+ }
29
+ def initialize(id:, body:, project_id: nil)
21
30
  @id = id
22
31
  @body = body
32
+ @project_id = project_id
23
33
  end
24
34
 
25
35
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -27,6 +37,7 @@ module ModerationApi
27
37
  return false unless other.is_a?(self.class)
28
38
  return false unless @id == other.id
29
39
  return false unless @body == other.body
40
+ return false unless @project_id == other.project_id
30
41
  true
31
42
  end
32
43
  end
@@ -17,4 +17,10 @@ class ModerationApi::Models::Operations::UpdateWordlistRequest
17
17
 
18
18
  def body=(str_)
19
19
  end
20
+
21
+ def project_id
22
+ end
23
+
24
+ def project_id=(str_)
25
+ end
20
26
  end
@@ -84,6 +84,7 @@ module ModerationApi
84
84
  autoload :Comparator, "moderation_api/models/operations/comparator.rb"
85
85
  autoload :ContentRequest, "moderation_api/models/operations/content_request.rb"
86
86
  autoload :ContentResponse, "moderation_api/models/operations/content_response.rb"
87
+ autoload :CreateActionRequestBody, "moderation_api/models/operations/createaction_requestbody.rb"
87
88
  autoload :CreateActionResponseBody, "moderation_api/models/operations/createaction_responsebody.rb"
88
89
  autoload :CreateActionPositionRequest, "moderation_api/models/operations/createaction_position_request.rb"
89
90
  autoload :CreateActionPositionResponse, "moderation_api/models/operations/createaction_position_response.rb"
@@ -107,6 +108,7 @@ module ModerationApi
107
108
  autoload :CreateActionResponse, "moderation_api/models/operations/createaction_response.rb"
108
109
  autoload :CreateActionTypeRequest, "moderation_api/models/operations/createaction_type_request.rb"
109
110
  autoload :CreateActionTypeResponse, "moderation_api/models/operations/createaction_type_response.rb"
111
+ autoload :CreateAuthorRequestBody, "moderation_api/models/operations/createauthor_requestbody.rb"
110
112
  autoload :CreateAuthorMetadata, "moderation_api/models/operations/createauthor_metadata.rb"
111
113
  autoload :CreateAuthorRequest, "moderation_api/models/operations/createauthor_request.rb"
112
114
  autoload :CreateAuthorResponse, "moderation_api/models/operations/createauthor_response.rb"
@@ -116,6 +118,7 @@ module ModerationApi
116
118
  autoload :CreateChannelResponse, "moderation_api/models/operations/createchannel_response.rb"
117
119
  autoload :CreateProjectRequest, "moderation_api/models/operations/createproject_request.rb"
118
120
  autoload :CreateProjectResponse, "moderation_api/models/operations/createproject_response.rb"
121
+ autoload :CreateWebhookRequestBody, "moderation_api/models/operations/createwebhook_requestbody.rb"
119
122
  autoload :CreateWebhookResponseBody, "moderation_api/models/operations/createwebhook_responsebody.rb"
120
123
  autoload :CreateWebhookEventTypeRequest, "moderation_api/models/operations/createwebhook_eventtype_request.rb"
121
124
  autoload :CreateWebhookEventTypeResponse, "moderation_api/models/operations/createwebhook_eventtype_response.rb"
@@ -153,6 +156,7 @@ module ModerationApi
153
156
  autoload :Entities2, "moderation_api/models/operations/entities_2.rb"
154
157
  autoload :Error, "moderation_api/models/operations/error.rb"
155
158
  autoload :Evaluation, "moderation_api/models/operations/evaluation.rb"
159
+ autoload :ExecuteActionRequestBody, "moderation_api/models/operations/executeaction_requestbody.rb"
156
160
  autoload :ExecuteActionResponseBody, "moderation_api/models/operations/executeaction_responsebody.rb"
157
161
  autoload :ExecuteActionRequest, "moderation_api/models/operations/executeaction_request.rb"
158
162
  autoload :ExecuteActionResponse, "moderation_api/models/operations/executeaction_response.rb"
@@ -161,6 +165,7 @@ module ModerationApi
161
165
  autoload :FlaggedContentTrend, "moderation_api/models/operations/flaggedcontenttrend.rb"
162
166
  autoload :FlaggingMode, "moderation_api/models/operations/flaggingmode.rb"
163
167
  autoload :GetAccountResponseBody, "moderation_api/models/operations/getaccount_responsebody.rb"
168
+ autoload :GetAccountRequest, "moderation_api/models/operations/getaccount_request.rb"
164
169
  autoload :GetAccountResponse, "moderation_api/models/operations/getaccount_response.rb"
165
170
  autoload :GetActionResponseBody, "moderation_api/models/operations/getaction_responsebody.rb"
166
171
  autoload :GetActionPosition, "moderation_api/models/operations/getaction_position.rb"
@@ -185,6 +190,7 @@ module ModerationApi
185
190
  autoload :GetQueueResponse, "moderation_api/models/operations/getqueue_response.rb"
186
191
  autoload :GetQueueType, "moderation_api/models/operations/getqueue_type.rb"
187
192
  autoload :GetWebhookSecretResponseBody, "moderation_api/models/operations/getwebhooksecret_responsebody.rb"
193
+ autoload :GetWebhookSecretRequest, "moderation_api/models/operations/getwebhooksecret_request.rb"
188
194
  autoload :GetWebhookSecretResponse, "moderation_api/models/operations/getwebhooksecret_response.rb"
189
195
  autoload :GetWebhookResponseBody, "moderation_api/models/operations/getwebhook_responsebody.rb"
190
196
  autoload :GetWebhookEventType, "moderation_api/models/operations/getwebhook_eventtype.rb"
@@ -273,6 +279,7 @@ module ModerationApi
273
279
  autoload :SignalsResponse, "moderation_api/models/operations/signals_response.rb"
274
280
  autoload :SortBy, "moderation_api/models/operations/sortby.rb"
275
281
  autoload :SortField, "moderation_api/models/operations/sortfield.rb"
282
+ autoload :SubmitContentRequestBody, "moderation_api/models/operations/submitcontent_requestbody.rb"
276
283
  autoload :SubmitContentResponseBody, "moderation_api/models/operations/submitcontent_responsebody.rb"
277
284
  autoload :SubmitContentLabel, "moderation_api/models/operations/submitcontent_label.rb"
278
285
  autoload(
@@ -47,16 +47,18 @@ module ModerationApi
47
47
  sig {
48
48
  params(
49
49
  id: ::String,
50
+ project_id: T.nilable(::String),
50
51
  timeout_ms: T.nilable(Integer),
51
52
  http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
52
53
  )
53
54
  .returns(Models::Operations::GetQueueResponse)
54
55
  }
55
- def retrieve(id:, timeout_ms: nil, http_headers: nil)
56
+ def retrieve(id:, project_id: nil, timeout_ms: nil, http_headers: nil)
56
57
  # retrieve - Get a queue
57
58
  # Get a queue
58
59
  request = Models::Operations::GetQueueRequest.new(
59
- id: id
60
+ id: id,
61
+ project_id: project_id
60
62
  )
61
63
  url, params = @sdk_configuration.get_server_details
62
64
  base_url = Utils.template_url(url, params)
@@ -66,7 +68,7 @@ module ModerationApi
66
68
  "/queue/{id}",
67
69
  request
68
70
  )
69
- headers = {}
71
+ headers = Utils.get_headers(request)
70
72
  headers = T.cast(headers, T::Hash[String, String])
71
73
  headers["Accept"] = "application/json"
72
74
  headers["user-agent"] = @sdk_configuration.user_agent
@@ -328,17 +330,19 @@ module ModerationApi
328
330
  params(
329
331
  id: ::String,
330
332
  within_days: T.nilable(::Integer),
333
+ project_id: T.nilable(::String),
331
334
  timeout_ms: T.nilable(Integer),
332
335
  http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
333
336
  )
334
337
  .returns(Models::Operations::GetQueueStatsResponse)
335
338
  }
336
- def get_stats(id:, within_days: nil, timeout_ms: nil, http_headers: nil)
339
+ def get_stats(id:, within_days: nil, project_id: nil, timeout_ms: nil, http_headers: nil)
337
340
  # get_stats - Get queue statistics
338
341
  # Get detailed statistics about a moderation queue including review times, action counts, and trends
339
342
  request = Models::Operations::GetQueueStatsRequest.new(
340
343
  id: id,
341
- within_days: within_days
344
+ within_days: within_days,
345
+ project_id: project_id
342
346
  )
343
347
  url, params = @sdk_configuration.get_server_details
344
348
  base_url = Utils.template_url(url, params)
@@ -348,7 +352,7 @@ module ModerationApi
348
352
  "/queue/{id}/stats",
349
353
  request
350
354
  )
351
- headers = {}
355
+ headers = Utils.get_headers(request)
352
356
  headers = T.cast(headers, T::Hash[String, String])
353
357
  query_params = Utils.get_query_params(Models::Operations::GetQueueStatsRequest, request, nil)
354
358
  headers["Accept"] = "application/json"