moderation_api 3.1.1 → 3.2.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 (282) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moderation_api/analytics.rb +1746 -0
  3. data/lib/moderation_api/apikeys.rb +313 -0
  4. data/lib/moderation_api/authors.rb +1 -2
  5. data/lib/moderation_api/feedback.rb +264 -0
  6. data/lib/moderation_api/items.rb +275 -31
  7. data/lib/moderation_api/models/components/badrequesterror_code.rb +3 -1
  8. data/lib/moderation_api/models/components/label.rb +85 -0
  9. data/lib/moderation_api/models/components/label.rbi +44 -0
  10. data/lib/moderation_api/models/components/notfounderror_code.rb +2 -0
  11. data/lib/moderation_api/models/components/projectapikey.rb +65 -0
  12. data/lib/moderation_api/models/components/projectapikey.rbi +38 -0
  13. data/lib/moderation_api/models/components/publicauthor.rb +3 -3
  14. data/lib/moderation_api/models/components/{status.rb → publicauthor_status.rb} +2 -2
  15. data/lib/moderation_api/models/components/publicauthor_status.rbi +9 -0
  16. data/lib/moderation_api/models/components/queue.rb +55 -0
  17. data/lib/moderation_api/models/components/queue.rbi +32 -0
  18. data/lib/moderation_api/models/{operations/listqueueitems_data.rb → components/queueitem.rb} +76 -37
  19. data/lib/moderation_api/models/{operations/listqueueitems_data.rbi → components/queueitem.rbi} +16 -10
  20. data/lib/moderation_api/models/components/queueitem_audio.rb +43 -0
  21. data/lib/moderation_api/models/components/queueitem_audio.rbi +20 -0
  22. data/lib/moderation_api/models/components/queueitem_brand_impersonation.rb +42 -0
  23. data/lib/moderation_api/models/components/queueitem_brand_impersonation.rbi +20 -0
  24. data/lib/moderation_api/models/components/queueitem_content.rb +25 -0
  25. data/lib/moderation_api/models/components/queueitem_content.rbi +9 -0
  26. data/lib/moderation_api/models/components/queueitem_content_leaf.rb +25 -0
  27. data/lib/moderation_api/models/components/queueitem_content_leaf.rbi +9 -0
  28. data/lib/moderation_api/models/components/queueitem_content_leaf_audio.rb +43 -0
  29. data/lib/moderation_api/models/components/queueitem_content_leaf_audio.rbi +20 -0
  30. data/lib/moderation_api/models/components/queueitem_content_leaf_image.rb +54 -0
  31. data/lib/moderation_api/models/components/queueitem_content_leaf_image.rbi +26 -0
  32. data/lib/moderation_api/models/components/queueitem_content_leaf_text.rb +47 -0
  33. data/lib/moderation_api/models/components/queueitem_content_leaf_text.rbi +20 -0
  34. data/lib/moderation_api/models/components/queueitem_content_leaf_video.rb +43 -0
  35. data/lib/moderation_api/models/components/queueitem_content_leaf_video.rbi +20 -0
  36. data/lib/moderation_api/models/components/queueitem_image.rb +54 -0
  37. data/lib/moderation_api/models/components/queueitem_image.rbi +26 -0
  38. data/lib/moderation_api/models/components/queueitem_match.rb +122 -0
  39. data/lib/moderation_api/models/components/queueitem_match.rbi +62 -0
  40. data/lib/moderation_api/models/components/queueitem_object.rb +72 -0
  41. data/lib/moderation_api/models/components/queueitem_object.rbi +20 -0
  42. data/lib/moderation_api/models/components/queueitem_signals.rb +126 -0
  43. data/lib/moderation_api/models/components/queueitem_signals.rbi +62 -0
  44. data/lib/moderation_api/models/{operations/casebookagreement.rb → components/queueitem_status.rb} +5 -6
  45. data/lib/moderation_api/models/components/queueitem_status.rbi +9 -0
  46. data/lib/moderation_api/models/components/queueitem_text.rb +47 -0
  47. data/lib/moderation_api/models/components/queueitem_text.rbi +20 -0
  48. data/lib/moderation_api/models/components/queueitem_video.rb +43 -0
  49. data/lib/moderation_api/models/components/queueitem_video.rbi +20 -0
  50. data/lib/moderation_api/models/{operations/queue.rb → components/queuewithcounts.rb} +32 -31
  51. data/lib/moderation_api/models/{operations/queue.rbi → components/queuewithcounts.rbi} +10 -10
  52. data/lib/moderation_api/models/components.rb +21 -1
  53. data/lib/moderation_api/models/errors/badrequesterror.rb +2 -1
  54. data/lib/moderation_api/models/errors/notfounderror.rb +1 -0
  55. data/lib/moderation_api/models/operations/{getqueue_recommendationaction.rb → action_response.rb} +2 -2
  56. data/lib/moderation_api/models/operations/action_response.rbi +9 -0
  57. data/lib/moderation_api/models/operations/addwordlistwords_request.rb +1 -1
  58. data/lib/moderation_api/models/operations/{checkstatus.rb → bucket.rb} +4 -5
  59. data/lib/moderation_api/models/{components/status.rbi → operations/bucket.rbi} +2 -2
  60. data/lib/moderation_api/models/operations/{listqueueitems_action.rb → channel.rb} +23 -32
  61. data/lib/moderation_api/models/operations/channel.rbi +38 -0
  62. data/lib/moderation_api/models/operations/classifier_output.rb +2 -2
  63. data/lib/moderation_api/models/operations/createaction_request.rb +1 -1
  64. data/lib/moderation_api/models/operations/createauthor_request.rb +1 -1
  65. data/lib/moderation_api/models/operations/createfeedback_request.rb +38 -0
  66. data/lib/moderation_api/models/operations/createfeedback_request.rbi +20 -0
  67. data/lib/moderation_api/models/operations/createfeedback_requestbody.rb +82 -0
  68. data/lib/moderation_api/models/operations/createfeedback_requestbody.rbi +32 -0
  69. data/lib/moderation_api/models/operations/createfeedback_response.rb +51 -0
  70. data/lib/moderation_api/models/operations/createfeedback_response.rbi +32 -0
  71. data/lib/moderation_api/models/operations/createfeedback_responsebody.rb +43 -0
  72. data/lib/moderation_api/models/operations/createfeedback_responsebody.rbi +20 -0
  73. data/lib/moderation_api/models/operations/createfeedback_type.rb +19 -0
  74. data/lib/moderation_api/models/operations/createfeedback_type.rbi +9 -0
  75. data/lib/moderation_api/models/operations/createprojectapikey_request.rb +35 -0
  76. data/lib/moderation_api/models/operations/createprojectapikey_request.rbi +20 -0
  77. data/lib/moderation_api/models/operations/{resolvequeueitem_requestbody.rb → createprojectapikey_requestbody.rb} +8 -8
  78. data/lib/moderation_api/models/operations/createprojectapikey_requestbody.rbi +14 -0
  79. data/lib/moderation_api/models/operations/createprojectapikey_response.rb +51 -0
  80. data/lib/moderation_api/models/operations/createprojectapikey_response.rbi +32 -0
  81. data/lib/moderation_api/models/operations/createwebhook_request.rb +1 -1
  82. data/lib/moderation_api/models/operations/createwordlist_request.rb +38 -0
  83. data/lib/moderation_api/models/operations/createwordlist_request.rbi +20 -0
  84. data/lib/moderation_api/models/operations/createwordlist_requestbody.rb +67 -0
  85. data/lib/moderation_api/models/operations/createwordlist_requestbody.rbi +32 -0
  86. data/lib/moderation_api/models/operations/createwordlist_response.rb +51 -0
  87. data/lib/moderation_api/models/operations/createwordlist_response.rbi +32 -0
  88. data/lib/moderation_api/models/operations/createwordlist_responsebody.rb +90 -0
  89. data/lib/moderation_api/models/operations/createwordlist_responsebody.rbi +50 -0
  90. data/lib/moderation_api/models/operations/dailyreviewcount.rb +4 -4
  91. data/lib/moderation_api/models/operations/deleteaction_request.rb +1 -1
  92. data/lib/moderation_api/models/operations/deleteauthor_request.rb +1 -1
  93. data/lib/moderation_api/models/operations/deletewebhook_request.rb +1 -1
  94. data/lib/moderation_api/models/operations/executeaction_request.rb +1 -1
  95. data/lib/moderation_api/models/operations/flagratespike.rb +76 -0
  96. data/lib/moderation_api/models/operations/flagratespike.rbi +38 -0
  97. data/lib/moderation_api/models/operations/getaccount_request.rb +1 -1
  98. data/lib/moderation_api/models/operations/getaction_request.rb +1 -1
  99. data/lib/moderation_api/models/operations/getanalyticsauthors_author.rb +51 -0
  100. data/lib/moderation_api/models/operations/getanalyticsauthors_author.rbi +26 -0
  101. data/lib/moderation_api/models/operations/getanalyticsauthors_queryparam_range.rb +20 -0
  102. data/lib/moderation_api/models/operations/getanalyticsauthors_queryparam_range.rbi +9 -0
  103. data/lib/moderation_api/models/operations/{casebookanswer.rb → getanalyticsauthors_range_response.rb} +6 -6
  104. data/lib/moderation_api/models/operations/getanalyticsauthors_range_response.rbi +9 -0
  105. data/lib/moderation_api/models/operations/getanalyticsauthors_request.rb +71 -0
  106. data/lib/moderation_api/models/operations/getanalyticsauthors_request.rbi +32 -0
  107. data/lib/moderation_api/models/operations/getanalyticsauthors_response.rb +51 -0
  108. data/lib/moderation_api/models/operations/getanalyticsauthors_response.rbi +32 -0
  109. data/lib/moderation_api/models/operations/getanalyticsauthors_responsebody.rb +67 -0
  110. data/lib/moderation_api/models/operations/getanalyticsauthors_responsebody.rbi +26 -0
  111. data/lib/moderation_api/models/operations/getanalyticsautomation_queryparam_range.rb +20 -0
  112. data/lib/moderation_api/models/operations/getanalyticsautomation_queryparam_range.rbi +9 -0
  113. data/lib/moderation_api/models/operations/getanalyticsautomation_range_response.rb +23 -0
  114. data/lib/moderation_api/models/operations/getanalyticsautomation_range_response.rbi +9 -0
  115. data/lib/moderation_api/models/operations/getanalyticsautomation_request.rb +61 -0
  116. data/lib/moderation_api/models/operations/getanalyticsautomation_request.rbi +26 -0
  117. data/lib/moderation_api/models/operations/getanalyticsautomation_response.rb +51 -0
  118. data/lib/moderation_api/models/operations/getanalyticsautomation_response.rbi +32 -0
  119. data/lib/moderation_api/models/operations/getanalyticsautomation_responsebody.rb +186 -0
  120. data/lib/moderation_api/models/operations/getanalyticsautomation_responsebody.rbi +92 -0
  121. data/lib/moderation_api/models/operations/getanalyticschannels_queryparam_range.rb +20 -0
  122. data/lib/moderation_api/models/operations/getanalyticschannels_queryparam_range.rbi +9 -0
  123. data/lib/moderation_api/models/operations/getanalyticschannels_range_response.rb +23 -0
  124. data/lib/moderation_api/models/operations/getanalyticschannels_range_response.rbi +9 -0
  125. data/lib/moderation_api/models/operations/getanalyticschannels_request.rb +49 -0
  126. data/lib/moderation_api/models/operations/getanalyticschannels_request.rbi +20 -0
  127. data/lib/moderation_api/models/operations/getanalyticschannels_response.rb +51 -0
  128. data/lib/moderation_api/models/operations/getanalyticschannels_response.rbi +32 -0
  129. data/lib/moderation_api/models/operations/getanalyticschannels_responsebody.rb +58 -0
  130. data/lib/moderation_api/models/operations/getanalyticschannels_responsebody.rbi +20 -0
  131. data/lib/moderation_api/models/operations/{listqueueitems_label.rb → getanalyticspolicies_policy.rb} +14 -14
  132. data/lib/moderation_api/models/operations/{listqueueitems_label.rbi → getanalyticspolicies_policy.rbi} +6 -6
  133. data/lib/moderation_api/models/operations/getanalyticspolicies_queryparam_range.rb +20 -0
  134. data/lib/moderation_api/models/operations/getanalyticspolicies_queryparam_range.rbi +9 -0
  135. data/lib/moderation_api/models/operations/getanalyticspolicies_range_response.rb +23 -0
  136. data/lib/moderation_api/models/operations/getanalyticspolicies_range_response.rbi +9 -0
  137. data/lib/moderation_api/models/operations/getanalyticspolicies_request.rb +71 -0
  138. data/lib/moderation_api/models/operations/getanalyticspolicies_request.rbi +32 -0
  139. data/lib/moderation_api/models/operations/getanalyticspolicies_response.rb +51 -0
  140. data/lib/moderation_api/models/operations/getanalyticspolicies_response.rbi +32 -0
  141. data/lib/moderation_api/models/operations/getanalyticspolicies_responsebody.rb +67 -0
  142. data/lib/moderation_api/models/operations/getanalyticspolicies_responsebody.rbi +26 -0
  143. data/lib/moderation_api/models/operations/getanalyticssummary_queryparam_range.rb +20 -0
  144. data/lib/moderation_api/models/operations/getanalyticssummary_queryparam_range.rbi +9 -0
  145. data/lib/moderation_api/models/operations/getanalyticssummary_range_response.rb +23 -0
  146. data/lib/moderation_api/models/operations/getanalyticssummary_range_response.rbi +9 -0
  147. data/lib/moderation_api/models/operations/getanalyticssummary_request.rb +61 -0
  148. data/lib/moderation_api/models/operations/getanalyticssummary_request.rbi +26 -0
  149. data/lib/moderation_api/models/operations/getanalyticssummary_response.rb +51 -0
  150. data/lib/moderation_api/models/operations/getanalyticssummary_response.rbi +32 -0
  151. data/lib/moderation_api/models/operations/getanalyticssummary_responsebody.rb +94 -0
  152. data/lib/moderation_api/models/operations/getanalyticssummary_responsebody.rbi +44 -0
  153. data/lib/moderation_api/models/operations/getanalyticsvolumes_queryparam_range.rb +20 -0
  154. data/lib/moderation_api/models/operations/getanalyticsvolumes_queryparam_range.rbi +9 -0
  155. data/lib/moderation_api/models/operations/getanalyticsvolumes_range_response.rb +23 -0
  156. data/lib/moderation_api/models/operations/getanalyticsvolumes_range_response.rbi +9 -0
  157. data/lib/moderation_api/models/operations/getanalyticsvolumes_request.rb +61 -0
  158. data/lib/moderation_api/models/operations/getanalyticsvolumes_request.rbi +26 -0
  159. data/lib/moderation_api/models/operations/getanalyticsvolumes_response.rb +51 -0
  160. data/lib/moderation_api/models/operations/getanalyticsvolumes_response.rbi +32 -0
  161. data/lib/moderation_api/models/operations/getanalyticsvolumes_responsebody.rb +82 -0
  162. data/lib/moderation_api/models/operations/getanalyticsvolumes_responsebody.rbi +32 -0
  163. data/lib/moderation_api/models/operations/getauthor_request.rb +1 -1
  164. data/lib/moderation_api/models/operations/getqueue_request.rb +2 -2
  165. data/lib/moderation_api/models/operations/getqueue_responsebody.rb +2 -2
  166. data/lib/moderation_api/models/operations/getqueuestats_request.rb +2 -2
  167. data/lib/moderation_api/models/operations/getqueuestats_responsebody.rb +2 -11
  168. data/lib/moderation_api/models/operations/getqueuestats_responsebody.rbi +0 -6
  169. data/lib/moderation_api/models/operations/getwebhook_request.rb +1 -1
  170. data/lib/moderation_api/models/operations/getwebhooksecret_request.rb +1 -1
  171. data/lib/moderation_api/models/operations/getwordlist_request.rb +1 -1
  172. data/lib/moderation_api/models/operations/getwordlistembeddingstatus_request.rb +1 -1
  173. data/lib/moderation_api/models/operations/{submitcontent_label.rb → label.rb} +1 -1
  174. data/lib/moderation_api/models/operations/{submitcontent_label.rbi → label.rbi} +2 -2
  175. data/lib/moderation_api/models/operations/listactions_request.rb +1 -1
  176. data/lib/moderation_api/models/operations/listauthors_request.rb +4 -14
  177. data/lib/moderation_api/models/operations/listauthors_request.rbi +0 -6
  178. data/lib/moderation_api/models/operations/listqueueitems_request.rb +39 -49
  179. data/lib/moderation_api/models/operations/listqueueitems_request.rbi +16 -22
  180. data/lib/moderation_api/models/operations/listqueueitems_responsebody.rb +2 -5
  181. data/lib/moderation_api/models/operations/listqueues_request.rb +53 -0
  182. data/lib/moderation_api/models/operations/listqueues_request.rbi +26 -0
  183. data/lib/moderation_api/models/operations/listqueues_response.rb +63 -0
  184. data/lib/moderation_api/models/operations/listqueues_response.rbi +32 -0
  185. data/lib/moderation_api/models/operations/listqueues_responsebody.rb +43 -0
  186. data/lib/moderation_api/models/operations/listqueues_responsebody.rbi +20 -0
  187. data/lib/moderation_api/models/operations/listwebhooks_request.rb +1 -1
  188. data/lib/moderation_api/models/operations/listwordlists_request.rb +1 -1
  189. data/lib/moderation_api/models/operations/previousperiod.rb +112 -0
  190. data/lib/moderation_api/models/operations/previousperiod.rbi +56 -0
  191. data/lib/moderation_api/models/operations/recommendation.rb +3 -6
  192. data/lib/moderation_api/models/operations/removewordlistwords_request.rb +1 -1
  193. data/lib/moderation_api/models/operations/resolvequeueitem_request.rb +5 -17
  194. data/lib/moderation_api/models/operations/resolvequeueitem_request.rbi +0 -6
  195. data/lib/moderation_api/models/operations/resolvequeueitem_responsebody.rb +3 -11
  196. data/lib/moderation_api/models/operations/resolvequeueitem_responsebody.rbi +0 -6
  197. data/lib/moderation_api/models/operations/resolvequeueitems_request.rb +46 -0
  198. data/lib/moderation_api/models/operations/resolvequeueitems_request.rbi +26 -0
  199. data/lib/moderation_api/models/operations/{unresolvequeueitem_requestbody.rb → resolvequeueitems_requestbody.rb} +9 -9
  200. data/lib/moderation_api/models/operations/resolvequeueitems_requestbody.rbi +14 -0
  201. data/lib/moderation_api/models/operations/resolvequeueitems_response.rb +51 -0
  202. data/lib/moderation_api/models/operations/resolvequeueitems_response.rbi +32 -0
  203. data/lib/moderation_api/models/operations/resolvequeueitems_responsebody.rb +43 -0
  204. data/lib/moderation_api/models/operations/resolvequeueitems_responsebody.rbi +20 -0
  205. data/lib/moderation_api/models/operations/reviewstats.rb +6 -14
  206. data/lib/moderation_api/models/operations/reviewstats.rbi +0 -6
  207. data/lib/moderation_api/models/operations/{flaggedcontenttrend.rb → rule.rb} +14 -14
  208. data/lib/moderation_api/models/operations/rule.rbi +20 -0
  209. data/lib/moderation_api/models/operations/{listqueueitems_sortdirection.rb → sort.rb} +6 -4
  210. data/lib/moderation_api/models/operations/{mediatype.rbi → sort.rbi} +2 -2
  211. data/lib/moderation_api/models/operations/sortby.rb +0 -1
  212. data/lib/moderation_api/models/operations/{listauthors_sortdirection.rb → sortdirection.rb} +2 -2
  213. data/lib/moderation_api/models/operations/sortdirection.rbi +9 -0
  214. data/lib/moderation_api/models/operations/source.rb +20 -0
  215. data/lib/moderation_api/models/operations/{isflagged.rbi → source.rbi} +2 -2
  216. data/lib/moderation_api/models/operations/{author.rb → submitcontent_author.rb} +1 -1
  217. data/lib/moderation_api/models/operations/{author.rbi → submitcontent_author.rbi} +2 -2
  218. data/lib/moderation_api/models/operations/{policy_response.rb → submitcontent_policy_response.rb} +1 -1
  219. data/lib/moderation_api/models/operations/submitcontent_policy_response.rbi +9 -0
  220. data/lib/moderation_api/models/operations/submitcontent_request.rb +1 -1
  221. data/lib/moderation_api/models/operations/submitcontent_requestbody.rb +1 -1
  222. data/lib/moderation_api/models/operations/submitcontent_responsebody.rb +2 -2
  223. data/lib/moderation_api/models/operations/topreviewer.rb +14 -48
  224. data/lib/moderation_api/models/operations/topreviewer.rbi +4 -22
  225. data/lib/moderation_api/models/operations/totals.rb +122 -0
  226. data/lib/moderation_api/models/operations/totals.rbi +62 -0
  227. data/lib/moderation_api/models/operations/trends.rb +3 -16
  228. data/lib/moderation_api/models/operations/trends.rbi +0 -6
  229. data/lib/moderation_api/models/operations/unresolvequeueitem_request.rb +5 -17
  230. data/lib/moderation_api/models/operations/unresolvequeueitem_request.rbi +0 -6
  231. data/lib/moderation_api/models/operations/unresolvequeueitem_responsebody.rb +17 -5
  232. data/lib/moderation_api/models/operations/{listqueueitems_status.rb → unresolvequeueitem_status.rb} +2 -2
  233. data/lib/moderation_api/models/operations/unresolvequeueitem_status.rbi +9 -0
  234. data/lib/moderation_api/models/operations/updateaction_request.rb +1 -1
  235. data/lib/moderation_api/models/operations/updateauthor_request.rb +1 -1
  236. data/lib/moderation_api/models/operations/updatewebhook_request.rb +1 -1
  237. data/lib/moderation_api/models/operations/updatewordlist_request.rb +1 -1
  238. data/lib/moderation_api/models/operations/updatewordlist_requestbody.rb +1 -1
  239. data/lib/moderation_api/models/operations/volume.rb +76 -0
  240. data/lib/moderation_api/models/operations/volume.rbi +38 -0
  241. data/lib/moderation_api/models/operations.rb +111 -32
  242. data/lib/moderation_api/moderationapi.rb +4 -0
  243. data/lib/moderation_api/projects.rb +7 -0
  244. data/lib/moderation_api/queue.rb +319 -2
  245. data/lib/moderation_api/sdkconfiguration.rb +2 -2
  246. data/lib/moderation_api/wordlist.rb +225 -1
  247. data/lib/moderation_api.rb +3 -0
  248. metadata +179 -62
  249. data/lib/moderation_api/models/operations/actionstat.rb +0 -59
  250. data/lib/moderation_api/models/operations/actionstat.rbi +0 -32
  251. data/lib/moderation_api/models/operations/casebookagreement.rbi +0 -9
  252. data/lib/moderation_api/models/operations/casebookanswer.rbi +0 -9
  253. data/lib/moderation_api/models/operations/checkstatus.rbi +0 -9
  254. data/lib/moderation_api/models/operations/filter.rb +0 -306
  255. data/lib/moderation_api/models/operations/filter.rbi +0 -158
  256. data/lib/moderation_api/models/operations/filterlabel.rb +0 -72
  257. data/lib/moderation_api/models/operations/filterlabel.rbi +0 -32
  258. data/lib/moderation_api/models/operations/flaggedcontenttrend.rbi +0 -20
  259. data/lib/moderation_api/models/operations/getqueue_contenttype.rb +0 -28
  260. data/lib/moderation_api/models/operations/getqueue_contenttype.rbi +0 -9
  261. data/lib/moderation_api/models/operations/getqueue_recommendationaction.rbi +0 -9
  262. data/lib/moderation_api/models/operations/getqueue_type.rb +0 -23
  263. data/lib/moderation_api/models/operations/getqueue_type.rbi +0 -9
  264. data/lib/moderation_api/models/operations/isflagged.rb +0 -23
  265. data/lib/moderation_api/models/operations/listauthors_sortdirection.rbi +0 -9
  266. data/lib/moderation_api/models/operations/listqueueitems_action.rbi +0 -38
  267. data/lib/moderation_api/models/operations/listqueueitems_sortdirection.rbi +0 -9
  268. data/lib/moderation_api/models/operations/listqueueitems_status.rbi +0 -9
  269. data/lib/moderation_api/models/operations/mediatype.rb +0 -24
  270. data/lib/moderation_api/models/operations/metadatafilter.rb +0 -38
  271. data/lib/moderation_api/models/operations/metadatafilter.rbi +0 -20
  272. data/lib/moderation_api/models/operations/policy_response.rbi +0 -9
  273. data/lib/moderation_api/models/operations/resolvequeueitem_requestbody.rbi +0 -14
  274. data/lib/moderation_api/models/operations/sortfield.rb +0 -19
  275. data/lib/moderation_api/models/operations/sortfield.rbi +0 -9
  276. data/lib/moderation_api/models/operations/submitcontent_recommendation_action.rb +0 -22
  277. data/lib/moderation_api/models/operations/submitcontent_recommendation_action.rbi +0 -9
  278. data/lib/moderation_api/models/operations/topaction.rb +0 -51
  279. data/lib/moderation_api/models/operations/topaction.rbi +0 -26
  280. data/lib/moderation_api/models/operations/unresolvequeueitem_requestbody.rbi +0 -14
  281. data/lib/moderation_api/models/operations/withinunit.rb +0 -25
  282. data/lib/moderation_api/models/operations/withinunit.rbi +0 -9
@@ -7,6 +7,7 @@ require "faraday"
7
7
  require "faraday/multipart"
8
8
  require "faraday/retry"
9
9
  require "sorbet-runtime"
10
+ require "janeway"
10
11
 
11
12
  require_relative "sdk_hooks/hooks"
12
13
  require_relative "utils/retries"
@@ -44,6 +45,322 @@ module ModerationApi
44
45
  return Utils.template_url(base_url, url_variables)
45
46
  end
46
47
 
48
+ sig {
49
+ params(
50
+ page: T.nilable(::Integer),
51
+ page_size: T.nilable(::Integer),
52
+ project_id: T.nilable(::String),
53
+ timeout_ms: T.nilable(Integer),
54
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
55
+ )
56
+ .returns(Models::Operations::ListQueuesResponse)
57
+ }
58
+ def list(page: nil, page_size: nil, project_id: nil, timeout_ms: nil, http_headers: nil)
59
+ # list - List queues
60
+ # List the review queues of the project. The default queue comes first. The list is paginated. To get the item counts of a queue, use `GET /queue/{id}`.
61
+ request = Models::Operations::ListQueuesRequest.new(
62
+ page: page,
63
+ page_size: page_size,
64
+ project_id: project_id
65
+ )
66
+ url, params = @sdk_configuration.get_server_details
67
+ base_url = Utils.template_url(url, params)
68
+ url = "#{base_url}/queue"
69
+ headers = Utils.get_headers(request)
70
+ headers = T.cast(headers, T::Hash[String, String])
71
+ query_params = Utils.get_query_params(Models::Operations::ListQueuesRequest, request, nil)
72
+ headers["Accept"] = "application/json"
73
+ headers["user-agent"] = @sdk_configuration.user_agent
74
+
75
+ security = @sdk_configuration.security_source&.call
76
+
77
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
78
+ timeout ||= @sdk_configuration.timeout
79
+
80
+ connection = @sdk_configuration.client
81
+
82
+ hook_ctx = SDKHooks::HookContext.new(
83
+ config: @sdk_configuration,
84
+ base_url: base_url,
85
+ oauth2_scopes: nil,
86
+ operation_id: "listQueues",
87
+ security_source: @sdk_configuration.security_source
88
+ )
89
+
90
+ error = T.let(nil, T.nilable(StandardError))
91
+ http_response = T.let(nil, T.nilable(Faraday::Response))
92
+
93
+ begin
94
+ http_response = T.must(connection).get(url) do |req|
95
+ req.headers.merge!(headers)
96
+ req.options.timeout = timeout unless timeout.nil?
97
+ req.params = query_params
98
+ Utils.configure_request_security(req, security)
99
+ http_headers&.each do |key, value|
100
+ req.headers[key.to_s] = value
101
+ end
102
+
103
+ @sdk_configuration.hooks.before_request(
104
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
105
+ hook_ctx: hook_ctx
106
+ ),
107
+ request: req
108
+ )
109
+ end
110
+
111
+ rescue StandardError => e
112
+ error = e
113
+ ensure
114
+ if http_response.nil? || Utils.error_status?(http_response.status)
115
+ http_response = @sdk_configuration.hooks.after_error(
116
+ error: error,
117
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
118
+ hook_ctx: hook_ctx
119
+ ),
120
+ response: http_response
121
+ )
122
+ else
123
+ http_response = @sdk_configuration.hooks.after_success(
124
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
125
+ hook_ctx: hook_ctx
126
+ ),
127
+ response: http_response
128
+ )
129
+ end
130
+
131
+ if http_response.nil?
132
+ raise error if !error.nil?
133
+ raise "no response"
134
+ end
135
+ end
136
+
137
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
138
+ if Utils.match_status_code(http_response.status, ["200"])
139
+ if Utils.match_content_type(content_type, "application/json")
140
+ http_response = @sdk_configuration.hooks.after_success(
141
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
142
+ hook_ctx: hook_ctx
143
+ ),
144
+ response: http_response
145
+ )
146
+ response_data = http_response.env.response_body
147
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::ListQueuesResponseBody)
148
+ response = Models::Operations::ListQueuesResponse.new(
149
+ status_code: http_response.status,
150
+ content_type: content_type,
151
+ raw_response: http_response,
152
+ object: T.unsafe(obj)
153
+ )
154
+ sdk = self
155
+
156
+ response.next_page = proc do
157
+ request_page = T.must(!request.page.nil? ? request.page : 1)
158
+ next_page = request_page + 1
159
+ num_pages = Janeway.enum_for("$.pagination.totalPages", JSON.parse(response_data)).search
160
+ if num_pages.nil? || num_pages[0] <= request_page
161
+ next nil
162
+ end
163
+
164
+ if !response_data
165
+ next nil
166
+ end
167
+
168
+ results = Janeway.enum_for("$.data", JSON.parse(response_data)).search
169
+ if results.is_a?(Array)
170
+ results = results[0]
171
+ end
172
+
173
+ if results.count.zero?
174
+ next nil
175
+ end
176
+
177
+ request_limit = !request.page_size.nil? ? request.page_size : 20
178
+ if results.count < request_limit
179
+ next nil
180
+ end
181
+
182
+ sdk.list(
183
+ page: next_page,
184
+ page_size: request.page_size,
185
+ project_id: request.project_id,
186
+ http_headers: http_headers
187
+ )
188
+ end
189
+
190
+ return response
191
+ else
192
+ raise(
193
+ ::ModerationApi::Models::Errors::APIError.new(
194
+ status_code: http_response.status,
195
+ body: http_response.env.response_body,
196
+ raw_response: http_response
197
+ ),
198
+ "Unknown content type received"
199
+ )
200
+ end
201
+ elsif Utils.match_status_code(http_response.status, ["400"])
202
+ if Utils.match_content_type(content_type, "application/json")
203
+ http_response = @sdk_configuration.hooks.after_success(
204
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
205
+ hook_ctx: hook_ctx
206
+ ),
207
+ response: http_response
208
+ )
209
+ response_data = http_response.env.response_body
210
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
211
+ obj.raw_response = http_response
212
+ raise obj
213
+ else
214
+ raise(
215
+ ::ModerationApi::Models::Errors::APIError.new(
216
+ status_code: http_response.status,
217
+ body: http_response.env.response_body,
218
+ raw_response: http_response
219
+ ),
220
+ "Unknown content type received"
221
+ )
222
+ end
223
+ elsif Utils.match_status_code(http_response.status, ["401"])
224
+ if Utils.match_content_type(content_type, "application/json")
225
+ http_response = @sdk_configuration.hooks.after_success(
226
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
227
+ hook_ctx: hook_ctx
228
+ ),
229
+ response: http_response
230
+ )
231
+ response_data = http_response.env.response_body
232
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
233
+ obj.raw_response = http_response
234
+ raise obj
235
+ else
236
+ raise(
237
+ ::ModerationApi::Models::Errors::APIError.new(
238
+ status_code: http_response.status,
239
+ body: http_response.env.response_body,
240
+ raw_response: http_response
241
+ ),
242
+ "Unknown content type received"
243
+ )
244
+ end
245
+ elsif Utils.match_status_code(http_response.status, ["403"])
246
+ if Utils.match_content_type(content_type, "application/json")
247
+ http_response = @sdk_configuration.hooks.after_success(
248
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
249
+ hook_ctx: hook_ctx
250
+ ),
251
+ response: http_response
252
+ )
253
+ response_data = http_response.env.response_body
254
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
255
+ obj.raw_response = http_response
256
+ raise obj
257
+ else
258
+ raise(
259
+ ::ModerationApi::Models::Errors::APIError.new(
260
+ status_code: http_response.status,
261
+ body: http_response.env.response_body,
262
+ raw_response: http_response
263
+ ),
264
+ "Unknown content type received"
265
+ )
266
+ end
267
+ elsif Utils.match_status_code(http_response.status, ["404"])
268
+ if Utils.match_content_type(content_type, "application/json")
269
+ http_response = @sdk_configuration.hooks.after_success(
270
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
271
+ hook_ctx: hook_ctx
272
+ ),
273
+ response: http_response
274
+ )
275
+ response_data = http_response.env.response_body
276
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
277
+ obj.raw_response = http_response
278
+ raise obj
279
+ else
280
+ raise(
281
+ ::ModerationApi::Models::Errors::APIError.new(
282
+ status_code: http_response.status,
283
+ body: http_response.env.response_body,
284
+ raw_response: http_response
285
+ ),
286
+ "Unknown content type received"
287
+ )
288
+ end
289
+ elsif Utils.match_status_code(http_response.status, ["429"])
290
+ if Utils.match_content_type(content_type, "application/json")
291
+ http_response = @sdk_configuration.hooks.after_success(
292
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
293
+ hook_ctx: hook_ctx
294
+ ),
295
+ response: http_response
296
+ )
297
+ response_data = http_response.env.response_body
298
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
299
+ obj.raw_response = http_response
300
+ raise obj
301
+ else
302
+ raise(
303
+ ::ModerationApi::Models::Errors::APIError.new(
304
+ status_code: http_response.status,
305
+ body: http_response.env.response_body,
306
+ raw_response: http_response
307
+ ),
308
+ "Unknown content type received"
309
+ )
310
+ end
311
+ elsif Utils.match_status_code(http_response.status, ["500"])
312
+ if Utils.match_content_type(content_type, "application/json")
313
+ http_response = @sdk_configuration.hooks.after_success(
314
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
315
+ hook_ctx: hook_ctx
316
+ ),
317
+ response: http_response
318
+ )
319
+ response_data = http_response.env.response_body
320
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InternalServerError)
321
+ obj.raw_response = http_response
322
+ raise obj
323
+ else
324
+ raise(
325
+ ::ModerationApi::Models::Errors::APIError.new(
326
+ status_code: http_response.status,
327
+ body: http_response.env.response_body,
328
+ raw_response: http_response
329
+ ),
330
+ "Unknown content type received"
331
+ )
332
+ end
333
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
334
+ raise(
335
+ ::ModerationApi::Models::Errors::APIError.new(
336
+ status_code: http_response.status,
337
+ body: http_response.env.response_body,
338
+ raw_response: http_response
339
+ ),
340
+ "API error occurred"
341
+ )
342
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
343
+ raise(
344
+ ::ModerationApi::Models::Errors::APIError.new(
345
+ status_code: http_response.status,
346
+ body: http_response.env.response_body,
347
+ raw_response: http_response
348
+ ),
349
+ "API error occurred"
350
+ )
351
+ else
352
+ raise(
353
+ ::ModerationApi::Models::Errors::APIError.new(
354
+ status_code: http_response.status,
355
+ body: http_response.env.response_body,
356
+ raw_response: http_response
357
+ ),
358
+ "Unknown status code received"
359
+ )
360
+
361
+ end
362
+ end
363
+
47
364
  sig {
48
365
  params(
49
366
  id: ::String,
@@ -55,7 +372,7 @@ module ModerationApi
55
372
  }
56
373
  def retrieve(id:, project_id: nil, timeout_ms: nil, http_headers: nil)
57
374
  # retrieve - Get a queue
58
- # Get a queue
375
+ # Get a review queue with its item counts. The counts use the filters and the date window of the queue, the same as the dashboard.
59
376
  request = Models::Operations::GetQueueRequest.new(
60
377
  id: id,
61
378
  project_id: project_id
@@ -338,7 +655,7 @@ module ModerationApi
338
655
  }
339
656
  def get_stats(id:, within_days: nil, project_id: nil, timeout_ms: nil, http_headers: nil)
340
657
  # get_stats - Get queue statistics
341
- # Get detailed statistics about a moderation queue including review times, action counts, and trends
658
+ # Get review statistics of a queue for a period: resolved and pending items, the top reviewers and the resolved items per day.
342
659
  request = Models::Operations::GetQueueStatsRequest.new(
343
660
  id: id,
344
661
  within_days: within_days,
@@ -93,9 +93,9 @@ module ModerationApi
93
93
 
94
94
  @language = "ruby"
95
95
  @openapi_doc_version = "1.1.0"
96
- @sdk_version = "3.1.1"
96
+ @sdk_version = "3.2.0"
97
97
  @gen_version = "internal"
98
- @user_agent = "speakeasy-sdk/ruby 3.1.1 internal 1.1.0 moderation_api"
98
+ @user_agent = "speakeasy-sdk/ruby 3.2.0 internal 1.1.0 moderation_api"
99
99
  end
100
100
 
101
101
  sig { returns([String, T::Hash[Symbol, String]]) }
@@ -361,6 +361,230 @@ module ModerationApi
361
361
  end
362
362
  end
363
363
 
364
+ sig {
365
+ params(
366
+ body: Models::Operations::CreateWordlistRequestBody,
367
+ project_id: T.nilable(::String),
368
+ timeout_ms: T.nilable(Integer),
369
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
370
+ )
371
+ .returns(Models::Operations::CreateWordlistResponse)
372
+ }
373
+ def create(body:, project_id: nil, timeout_ms: nil, http_headers: nil)
374
+ # create - Create wordlist
375
+ # Create a wordlist in the organization. You can add words now or later. Each word is embedded in the background for similarity matching. Use the embedding status endpoint to follow the progress. To use the wordlist in moderation, add it to a policy.
376
+ request = Models::Operations::CreateWordlistRequest.new(
377
+ body: body,
378
+ project_id: project_id
379
+ )
380
+ url, params = @sdk_configuration.get_server_details
381
+ base_url = Utils.template_url(url, params)
382
+ url = "#{base_url}/wordlist"
383
+ headers = Utils.get_headers(request)
384
+ headers = T.cast(headers, T::Hash[String, String])
385
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
386
+ headers["content-type"] = req_content_type
387
+ raise StandardError, "request body is required" if data.nil? && form.nil?
388
+
389
+ if form && !form.empty?
390
+ body = Utils.encode_form(form)
391
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
392
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
393
+ else
394
+ body = data
395
+ end
396
+
397
+ headers["Accept"] = "application/json"
398
+ headers["user-agent"] = @sdk_configuration.user_agent
399
+
400
+ security = @sdk_configuration.security_source&.call
401
+
402
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
403
+ timeout ||= @sdk_configuration.timeout
404
+
405
+ connection = @sdk_configuration.client
406
+
407
+ hook_ctx = SDKHooks::HookContext.new(
408
+ config: @sdk_configuration,
409
+ base_url: base_url,
410
+ oauth2_scopes: nil,
411
+ operation_id: "createWordlist",
412
+ security_source: @sdk_configuration.security_source
413
+ )
414
+
415
+ error = T.let(nil, T.nilable(StandardError))
416
+ http_response = T.let(nil, T.nilable(Faraday::Response))
417
+
418
+ begin
419
+ http_response = T.must(connection).post(url) do |req|
420
+ req.body = body
421
+ req.headers.merge!(headers)
422
+ req.options.timeout = timeout unless timeout.nil?
423
+ Utils.configure_request_security(req, security)
424
+ http_headers&.each do |key, value|
425
+ req.headers[key.to_s] = value
426
+ end
427
+
428
+ @sdk_configuration.hooks.before_request(
429
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
430
+ hook_ctx: hook_ctx
431
+ ),
432
+ request: req
433
+ )
434
+ end
435
+
436
+ rescue StandardError => e
437
+ error = e
438
+ ensure
439
+ if http_response.nil? || Utils.error_status?(http_response.status)
440
+ http_response = @sdk_configuration.hooks.after_error(
441
+ error: error,
442
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
443
+ hook_ctx: hook_ctx
444
+ ),
445
+ response: http_response
446
+ )
447
+ else
448
+ http_response = @sdk_configuration.hooks.after_success(
449
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
450
+ hook_ctx: hook_ctx
451
+ ),
452
+ response: http_response
453
+ )
454
+ end
455
+
456
+ if http_response.nil?
457
+ raise error if !error.nil?
458
+ raise "no response"
459
+ end
460
+ end
461
+
462
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
463
+ if Utils.match_status_code(http_response.status, ["200"])
464
+ if Utils.match_content_type(content_type, "application/json")
465
+ http_response = @sdk_configuration.hooks.after_success(
466
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
467
+ hook_ctx: hook_ctx
468
+ ),
469
+ response: http_response
470
+ )
471
+ response_data = http_response.env.response_body
472
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::CreateWordlistResponseBody)
473
+ response = Models::Operations::CreateWordlistResponse.new(
474
+ status_code: http_response.status,
475
+ content_type: content_type,
476
+ raw_response: http_response,
477
+ object: T.unsafe(obj)
478
+ )
479
+
480
+ return response
481
+ else
482
+ raise(
483
+ ::ModerationApi::Models::Errors::APIError.new(
484
+ status_code: http_response.status,
485
+ body: http_response.env.response_body,
486
+ raw_response: http_response
487
+ ),
488
+ "Unknown content type received"
489
+ )
490
+ end
491
+ elsif Utils.match_status_code(http_response.status, ["400"])
492
+ if Utils.match_content_type(content_type, "application/json")
493
+ http_response = @sdk_configuration.hooks.after_success(
494
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
495
+ hook_ctx: hook_ctx
496
+ ),
497
+ response: http_response
498
+ )
499
+ response_data = http_response.env.response_body
500
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
501
+ obj.raw_response = http_response
502
+ raise obj
503
+ else
504
+ raise(
505
+ ::ModerationApi::Models::Errors::APIError.new(
506
+ status_code: http_response.status,
507
+ body: http_response.env.response_body,
508
+ raw_response: http_response
509
+ ),
510
+ "Unknown content type received"
511
+ )
512
+ end
513
+ elsif Utils.match_status_code(http_response.status, ["401"])
514
+ if Utils.match_content_type(content_type, "application/json")
515
+ http_response = @sdk_configuration.hooks.after_success(
516
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
517
+ hook_ctx: hook_ctx
518
+ ),
519
+ response: http_response
520
+ )
521
+ response_data = http_response.env.response_body
522
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
523
+ obj.raw_response = http_response
524
+ raise obj
525
+ else
526
+ raise(
527
+ ::ModerationApi::Models::Errors::APIError.new(
528
+ status_code: http_response.status,
529
+ body: http_response.env.response_body,
530
+ raw_response: http_response
531
+ ),
532
+ "Unknown content type received"
533
+ )
534
+ end
535
+ elsif Utils.match_status_code(http_response.status, ["429"])
536
+ if Utils.match_content_type(content_type, "application/json")
537
+ http_response = @sdk_configuration.hooks.after_success(
538
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
539
+ hook_ctx: hook_ctx
540
+ ),
541
+ response: http_response
542
+ )
543
+ response_data = http_response.env.response_body
544
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
545
+ obj.raw_response = http_response
546
+ raise obj
547
+ else
548
+ raise(
549
+ ::ModerationApi::Models::Errors::APIError.new(
550
+ status_code: http_response.status,
551
+ body: http_response.env.response_body,
552
+ raw_response: http_response
553
+ ),
554
+ "Unknown content type received"
555
+ )
556
+ end
557
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
558
+ raise(
559
+ ::ModerationApi::Models::Errors::APIError.new(
560
+ status_code: http_response.status,
561
+ body: http_response.env.response_body,
562
+ raw_response: http_response
563
+ ),
564
+ "API error occurred"
565
+ )
566
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
567
+ raise(
568
+ ::ModerationApi::Models::Errors::APIError.new(
569
+ status_code: http_response.status,
570
+ body: http_response.env.response_body,
571
+ raw_response: http_response
572
+ ),
573
+ "API error occurred"
574
+ )
575
+ else
576
+ raise(
577
+ ::ModerationApi::Models::Errors::APIError.new(
578
+ status_code: http_response.status,
579
+ body: http_response.env.response_body,
580
+ raw_response: http_response
581
+ ),
582
+ "Unknown status code received"
583
+ )
584
+
585
+ end
586
+ end
587
+
364
588
  sig {
365
589
  params(
366
590
  id: ::String,
@@ -655,7 +879,7 @@ module ModerationApi
655
879
  }
656
880
  def update(body:, id:, project_id: nil, timeout_ms: nil, http_headers: nil)
657
881
  # update - Update wordlist
658
- # Update a wordlist
882
+ # Update a wordlist. Fields that you do not send stay the same. If you send words, they replace all existing words, and the embeddings are updated in the background.
659
883
  request = Models::Operations::UpdateWordlistRequest.new(
660
884
  id: id,
661
885
  body: body,
@@ -5,7 +5,9 @@
5
5
 
6
6
  module ModerationApi
7
7
  autoload :ModerationApi, "moderation_api/moderationapi"
8
+ autoload :Analytics, "moderation_api/analytics"
8
9
  autoload :Authors, "moderation_api/authors"
10
+ autoload :Feedback, "moderation_api/feedback"
9
11
  autoload :Queue, "moderation_api/queue"
10
12
  autoload :Items, "moderation_api/items"
11
13
  autoload :Actions, "moderation_api/actions"
@@ -16,6 +18,7 @@ module ModerationApi
16
18
  autoload :Words, "moderation_api/words"
17
19
  autoload :Content, "moderation_api/content"
18
20
  autoload :Projects, "moderation_api/projects"
21
+ autoload :ApiKeys, "moderation_api/apikeys"
19
22
  autoload :Channels, "moderation_api/channels"
20
23
 
21
24
  module Models