mencoro 1.0.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 (401) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +304 -0
  4. data/Rakefile +10 -0
  5. data/docs/AcceptedJobResource.md +22 -0
  6. data/docs/AccountApi.md +141 -0
  7. data/docs/AiResponseReportResource.md +28 -0
  8. data/docs/AiResponseResource.md +36 -0
  9. data/docs/AnalyticsApi.md +1320 -0
  10. data/docs/ApplyClusteringJobOutcome.md +26 -0
  11. data/docs/ApplyClusteringJobOutcomeClustersInner.md +22 -0
  12. data/docs/ApplyClusteringJobOutcomeFailedInner.md +22 -0
  13. data/docs/ApplyClusteringJobOutcomeSkippedClustersInner.md +20 -0
  14. data/docs/ApplyClusteringJobOutcomeSuccessfulInner.md +20 -0
  15. data/docs/AsyncJobResource.md +24 -0
  16. data/docs/BatchChangeTrackedQueryCheckFrequencyRequestData.md +20 -0
  17. data/docs/BatchChangeTrackedQueryPassesRequestData.md +20 -0
  18. data/docs/BatchCreateQueryClustersOutcome.md +20 -0
  19. data/docs/BatchCreateQueryClustersOutcomeFailedInner.md +22 -0
  20. data/docs/BatchCreateQueryClustersOutcomeSuccessfulInner.md +20 -0
  21. data/docs/BatchCreateQueryClustersRequestData.md +18 -0
  22. data/docs/BatchCreateTrackedQueriesRequestData.md +30 -0
  23. data/docs/BatchCreateTrackedQueriesResultResource.md +20 -0
  24. data/docs/BatchCreateTrackedQueriesResultResourceFailedInner.md +26 -0
  25. data/docs/BatchCreateTrackedQueriesResultResourceSuccessfulInner.md +24 -0
  26. data/docs/BatchForceCheckTrackedQueries200Response.md +20 -0
  27. data/docs/BatchForceCheckTrackedQueries200ResponseFailedInner.md +22 -0
  28. data/docs/BatchPauseTrackedQueries200Response.md +20 -0
  29. data/docs/BatchPauseTrackedQueries200ResponseFailedInner.md +22 -0
  30. data/docs/BatchPauseTrackedQueries200ResponseSuccessfulInner.md +18 -0
  31. data/docs/BatchResumeTrackedQueries200Response.md +20 -0
  32. data/docs/BatchTargetsRequestData.md +18 -0
  33. data/docs/BatchWriteOutcome.md +20 -0
  34. data/docs/BatchWriteOutcomeFailedInner.md +22 -0
  35. data/docs/BillingApi.md +77 -0
  36. data/docs/BrandProfileResource.md +24 -0
  37. data/docs/BulkAddClustersToTrackedQueries200Response.md +20 -0
  38. data/docs/BulkAddClustersToTrackedQueriesRequest.md +20 -0
  39. data/docs/BulkRemoveClustersFromTrackedQueries200Response.md +20 -0
  40. data/docs/BulkRemoveClustersFromTrackedQueriesRequest.md +20 -0
  41. data/docs/CapturesApi.md +267 -0
  42. data/docs/ChangeMemberRoleRequest.md +18 -0
  43. data/docs/ChangeTrackedQueryCheckFrequencyRequestData.md +18 -0
  44. data/docs/ChangeTrackedQueryPassesRequestData.md +18 -0
  45. data/docs/CitationResource.md +36 -0
  46. data/docs/ClusterMembershipRequestData.md +18 -0
  47. data/docs/ClustersApi.md +465 -0
  48. data/docs/CompetitorResource.md +24 -0
  49. data/docs/CreateCompetitorRequest.md +22 -0
  50. data/docs/CreateInvitation200Response.md +22 -0
  51. data/docs/CreateInvitation201Response.md +32 -0
  52. data/docs/CreateInvitationRequest.md +20 -0
  53. data/docs/CreateOrganization201Response.md +22 -0
  54. data/docs/CreateOrganizationRequest.md +18 -0
  55. data/docs/CreateProjectRequest.md +24 -0
  56. data/docs/CreateProjectRequestCompetitorsInner.md +22 -0
  57. data/docs/CreateQueryCluster409Response.md +22 -0
  58. data/docs/CreateQueryClusterRequest.md +18 -0
  59. data/docs/DeleteQueryCluster200Response.md +22 -0
  60. data/docs/DiscoveryApi.md +311 -0
  61. data/docs/EntitlementsResource.md +38 -0
  62. data/docs/GetAvailableFilters200Response.md +22 -0
  63. data/docs/GetAvailableFilters200ResponseClustersInner.md +20 -0
  64. data/docs/GetMeStats200Response.md +20 -0
  65. data/docs/GetMeStats200ResponseOrganizations.md +18 -0
  66. data/docs/GetMeStats200ResponseProjects.md +20 -0
  67. data/docs/GetMembershipStats200Response.md +30 -0
  68. data/docs/GetMentionSamples400Response.md +24 -0
  69. data/docs/GetMentionSamples400ResponseDetailsValueInner.md +22 -0
  70. data/docs/GetMetricGlossary200Response.md +18 -0
  71. data/docs/GetMetricGlossary200ResponseMetricsInner.md +30 -0
  72. data/docs/GetOrganizationOverview200Response.md +20 -0
  73. data/docs/GetOrganizationOverview200ResponseAggregate.md +30 -0
  74. data/docs/GetOrganizationOverview200ResponseProjectsInner.md +32 -0
  75. data/docs/GetOrganizationStats200Response.md +22 -0
  76. data/docs/GetOrganizationStats200ResponseInvitations.md +18 -0
  77. data/docs/GetOrganizationStats200ResponseMembers.md +18 -0
  78. data/docs/GetOrganizationStats200ResponseProjects.md +20 -0
  79. data/docs/GetShareOfVoiceFormula200Response.md +24 -0
  80. data/docs/GetTrackingCoverage200Response.md +30 -0
  81. data/docs/GetTrackingCoverage200ResponseSampleInner.md +28 -0
  82. data/docs/InvitationResource.md +30 -0
  83. data/docs/InvitationsApi.md +243 -0
  84. data/docs/JobsApi.md +79 -0
  85. data/docs/KeywordListingResource.md +88 -0
  86. data/docs/KeywordListingResourceMentionTypeCounts.md +26 -0
  87. data/docs/ListAiResponses200Response.md +20 -0
  88. data/docs/ListCompetitors200Response.md +20 -0
  89. data/docs/ListInvitations200Response.md +20 -0
  90. data/docs/ListKeywordListings200Response.md +24 -0
  91. data/docs/ListMembers200Response.md +20 -0
  92. data/docs/ListOrganizations200Response.md +20 -0
  93. data/docs/ListProjects200Response.md +20 -0
  94. data/docs/ListQueryClusters200Response.md +20 -0
  95. data/docs/ListSearchSnapshots200Response.md +20 -0
  96. data/docs/ListShoppingSnapshots200Response.md +20 -0
  97. data/docs/MeResource.md +34 -0
  98. data/docs/MemberResource.md +28 -0
  99. data/docs/MembersApi.md +391 -0
  100. data/docs/OperationEffect.md +22 -0
  101. data/docs/OrganizationOperationsApi.md +77 -0
  102. data/docs/OrganizationResource.md +32 -0
  103. data/docs/OrganizationsApi.md +807 -0
  104. data/docs/PreviewOrganizationOperation200Response.md +34 -0
  105. data/docs/PreviewOrganizationOperation200ResponseOrganization.md +20 -0
  106. data/docs/PreviewOrganizationOperationRequest.md +24 -0
  107. data/docs/ProjectDetailResource.md +32 -0
  108. data/docs/ProjectDetailResourceCompetitorsInner.md +24 -0
  109. data/docs/ProjectResource.md +50 -0
  110. data/docs/ProjectedMonthlyChecksResource.md +20 -0
  111. data/docs/ProjectsApi.md +999 -0
  112. data/docs/QueryClusterResource.md +22 -0
  113. data/docs/ReportAiResponseRequest.md +22 -0
  114. data/docs/SearchResultResource.md +32 -0
  115. data/docs/SearchSnapshotResource.md +28 -0
  116. data/docs/SearchTrackedQueries200Response.md +20 -0
  117. data/docs/ShoppingOfferResource.md +38 -0
  118. data/docs/ShoppingSnapshotResource.md +28 -0
  119. data/docs/StartBrandDiscoveryJobRequest.md +20 -0
  120. data/docs/StartBrandNameSuggestionJobRequest.md +24 -0
  121. data/docs/StartClusteringJobRequestData.md +22 -0
  122. data/docs/StartKeywordDiscoveryJobRequest.md +24 -0
  123. data/docs/StartPromptDiscoveryJobRequest.md +24 -0
  124. data/docs/SubmittedChecksResource.md +20 -0
  125. data/docs/SubscriptionResource.md +42 -0
  126. data/docs/TrackedQueriesApi.md +1549 -0
  127. data/docs/TrackedQueryCountResource.md +20 -0
  128. data/docs/TrackedQueryDetailResource.md +38 -0
  129. data/docs/TrackedQueryResource.md +52 -0
  130. data/docs/TrackedQueryUsageResource.md +18 -0
  131. data/docs/UpdateOrganizationRequest.md +22 -0
  132. data/docs/UpdateProjectBrandProfileRequest.md +20 -0
  133. data/docs/UpdateProjectRequest.md +18 -0
  134. data/git_push.sh +57 -0
  135. data/lib/mencoro/api/account_api.rb +136 -0
  136. data/lib/mencoro/api/analytics_api.rb +1555 -0
  137. data/lib/mencoro/api/billing_api.rb +85 -0
  138. data/lib/mencoro/api/captures_api.rb +338 -0
  139. data/lib/mencoro/api/clusters_api.rb +548 -0
  140. data/lib/mencoro/api/discovery_api.rb +360 -0
  141. data/lib/mencoro/api/invitations_api.rb +302 -0
  142. data/lib/mencoro/api/jobs_api.rb +91 -0
  143. data/lib/mencoro/api/members_api.rb +453 -0
  144. data/lib/mencoro/api/organization_operations_api.rb +90 -0
  145. data/lib/mencoro/api/organizations_api.rb +835 -0
  146. data/lib/mencoro/api/projects_api.rb +1158 -0
  147. data/lib/mencoro/api/tracked_queries_api.rb +1792 -0
  148. data/lib/mencoro/api_client.rb +441 -0
  149. data/lib/mencoro/api_error.rb +58 -0
  150. data/lib/mencoro/api_model_base.rb +88 -0
  151. data/lib/mencoro/configuration.rb +392 -0
  152. data/lib/mencoro/models/accepted_job_resource.rb +220 -0
  153. data/lib/mencoro/models/ai_response_report_resource.rb +311 -0
  154. data/lib/mencoro/models/ai_response_resource.rb +412 -0
  155. data/lib/mencoro/models/apply_clustering_job_outcome.rb +199 -0
  156. data/lib/mencoro/models/apply_clustering_job_outcome_clusters_inner.rb +165 -0
  157. data/lib/mencoro/models/apply_clustering_job_outcome_failed_inner.rb +165 -0
  158. data/lib/mencoro/models/apply_clustering_job_outcome_skipped_clusters_inner.rb +156 -0
  159. data/lib/mencoro/models/apply_clustering_job_outcome_successful_inner.rb +158 -0
  160. data/lib/mencoro/models/async_job_resource.rb +256 -0
  161. data/lib/mencoro/models/batch_change_tracked_query_check_frequency_request_data.rb +237 -0
  162. data/lib/mencoro/models/batch_change_tracked_query_passes_request_data.rb +231 -0
  163. data/lib/mencoro/models/batch_create_query_clusters_outcome.rb +163 -0
  164. data/lib/mencoro/models/batch_create_query_clusters_outcome_failed_inner.rb +165 -0
  165. data/lib/mencoro/models/batch_create_query_clusters_outcome_successful_inner.rb +156 -0
  166. data/lib/mencoro/models/batch_create_query_clusters_request_data.rb +186 -0
  167. data/lib/mencoro/models/batch_create_tracked_queries_request_data.rb +399 -0
  168. data/lib/mencoro/models/batch_create_tracked_queries_result_resource.rb +163 -0
  169. data/lib/mencoro/models/batch_create_tracked_queries_result_resource_failed_inner.rb +183 -0
  170. data/lib/mencoro/models/batch_create_tracked_queries_result_resource_successful_inner.rb +174 -0
  171. data/lib/mencoro/models/batch_force_check_tracked_queries200_response.rb +162 -0
  172. data/lib/mencoro/models/batch_force_check_tracked_queries200_response_failed_inner.rb +165 -0
  173. data/lib/mencoro/models/batch_pause_tracked_queries200_response.rb +162 -0
  174. data/lib/mencoro/models/batch_pause_tracked_queries200_response_failed_inner.rb +165 -0
  175. data/lib/mencoro/models/batch_pause_tracked_queries200_response_successful_inner.rb +147 -0
  176. data/lib/mencoro/models/batch_resume_tracked_queries200_response.rb +162 -0
  177. data/lib/mencoro/models/batch_targets_request_data.rb +186 -0
  178. data/lib/mencoro/models/batch_write_outcome.rb +163 -0
  179. data/lib/mencoro/models/batch_write_outcome_failed_inner.rb +166 -0
  180. data/lib/mencoro/models/brand_profile_resource.rb +235 -0
  181. data/lib/mencoro/models/bulk_add_clusters_to_tracked_queries200_response.rb +162 -0
  182. data/lib/mencoro/models/bulk_add_clusters_to_tracked_queries_request.rb +218 -0
  183. data/lib/mencoro/models/bulk_remove_clusters_from_tracked_queries200_response.rb +162 -0
  184. data/lib/mencoro/models/bulk_remove_clusters_from_tracked_queries_request.rb +218 -0
  185. data/lib/mencoro/models/change_member_role_request.rb +181 -0
  186. data/lib/mencoro/models/change_tracked_query_check_frequency_request_data.rb +190 -0
  187. data/lib/mencoro/models/change_tracked_query_passes_request_data.rb +184 -0
  188. data/lib/mencoro/models/citation_resource.rb +306 -0
  189. data/lib/mencoro/models/cluster_membership_request_data.rb +186 -0
  190. data/lib/mencoro/models/competitor_resource.rb +250 -0
  191. data/lib/mencoro/models/create_competitor_request.rb +247 -0
  192. data/lib/mencoro/models/create_invitation200_response.rb +202 -0
  193. data/lib/mencoro/models/create_invitation201_response.rb +347 -0
  194. data/lib/mencoro/models/create_invitation_request.rb +192 -0
  195. data/lib/mencoro/models/create_organization201_response.rb +166 -0
  196. data/lib/mencoro/models/create_organization_request.rb +175 -0
  197. data/lib/mencoro/models/create_project_request.rb +307 -0
  198. data/lib/mencoro/models/create_project_request_competitors_inner.rb +256 -0
  199. data/lib/mencoro/models/create_query_cluster409_response.rb +165 -0
  200. data/lib/mencoro/models/create_query_cluster_request.rb +167 -0
  201. data/lib/mencoro/models/delete_query_cluster200_response.rb +168 -0
  202. data/lib/mencoro/models/entitlements_resource.rb +328 -0
  203. data/lib/mencoro/models/get_available_filters200_response.rb +173 -0
  204. data/lib/mencoro/models/get_available_filters200_response_clusters_inner.rb +157 -0
  205. data/lib/mencoro/models/get_me_stats200_response.rb +156 -0
  206. data/lib/mencoro/models/get_me_stats200_response_organizations.rb +167 -0
  207. data/lib/mencoro/models/get_me_stats200_response_projects.rb +196 -0
  208. data/lib/mencoro/models/get_membership_stats200_response.rb +322 -0
  209. data/lib/mencoro/models/get_mention_samples400_response.rb +231 -0
  210. data/lib/mencoro/models/get_mention_samples400_response_details_value_inner.rb +168 -0
  211. data/lib/mencoro/models/get_metric_glossary200_response.rb +149 -0
  212. data/lib/mencoro/models/get_metric_glossary200_response_metrics_inner.rb +240 -0
  213. data/lib/mencoro/models/get_organization_overview200_response.rb +158 -0
  214. data/lib/mencoro/models/get_organization_overview200_response_aggregate.rb +209 -0
  215. data/lib/mencoro/models/get_organization_overview200_response_projects_inner.rb +218 -0
  216. data/lib/mencoro/models/get_organization_stats200_response.rb +165 -0
  217. data/lib/mencoro/models/get_organization_stats200_response_invitations.rb +167 -0
  218. data/lib/mencoro/models/get_organization_stats200_response_members.rb +167 -0
  219. data/lib/mencoro/models/get_organization_stats200_response_projects.rb +196 -0
  220. data/lib/mencoro/models/get_share_of_voice_formula200_response.rb +182 -0
  221. data/lib/mencoro/models/get_tracking_coverage200_response.rb +209 -0
  222. data/lib/mencoro/models/get_tracking_coverage200_response_sample_inner.rb +229 -0
  223. data/lib/mencoro/models/invitation_resource.rb +331 -0
  224. data/lib/mencoro/models/keyword_listing_resource.rb +798 -0
  225. data/lib/mencoro/models/keyword_listing_resource_mention_type_counts.rb +184 -0
  226. data/lib/mencoro/models/list_ai_responses200_response.rb +159 -0
  227. data/lib/mencoro/models/list_competitors200_response.rb +159 -0
  228. data/lib/mencoro/models/list_invitations200_response.rb +158 -0
  229. data/lib/mencoro/models/list_keyword_listings200_response.rb +180 -0
  230. data/lib/mencoro/models/list_members200_response.rb +158 -0
  231. data/lib/mencoro/models/list_organizations200_response.rb +158 -0
  232. data/lib/mencoro/models/list_projects200_response.rb +159 -0
  233. data/lib/mencoro/models/list_query_clusters200_response.rb +159 -0
  234. data/lib/mencoro/models/list_search_snapshots200_response.rb +159 -0
  235. data/lib/mencoro/models/list_shopping_snapshots200_response.rb +159 -0
  236. data/lib/mencoro/models/me_resource.rb +394 -0
  237. data/lib/mencoro/models/member_resource.rb +322 -0
  238. data/lib/mencoro/models/operation_effect.rb +204 -0
  239. data/lib/mencoro/models/organization_resource.rb +326 -0
  240. data/lib/mencoro/models/preview_organization_operation200_response.rb +236 -0
  241. data/lib/mencoro/models/preview_organization_operation200_response_organization.rb +158 -0
  242. data/lib/mencoro/models/preview_organization_operation_request.rb +213 -0
  243. data/lib/mencoro/models/project_detail_resource.rb +380 -0
  244. data/lib/mencoro/models/project_detail_resource_competitors_inner.rb +178 -0
  245. data/lib/mencoro/models/project_resource.rb +422 -0
  246. data/lib/mencoro/models/projected_monthly_checks_resource.rb +211 -0
  247. data/lib/mencoro/models/query_cluster_resource.rb +229 -0
  248. data/lib/mencoro/models/report_ai_response_request.rb +227 -0
  249. data/lib/mencoro/models/search_result_resource.rb +284 -0
  250. data/lib/mencoro/models/search_snapshot_resource.rb +302 -0
  251. data/lib/mencoro/models/search_tracked_queries200_response.rb +158 -0
  252. data/lib/mencoro/models/shopping_offer_resource.rb +381 -0
  253. data/lib/mencoro/models/shopping_snapshot_resource.rb +302 -0
  254. data/lib/mencoro/models/start_brand_discovery_job_request.rb +185 -0
  255. data/lib/mencoro/models/start_brand_name_suggestion_job_request.rb +287 -0
  256. data/lib/mencoro/models/start_clustering_job_request_data.rb +249 -0
  257. data/lib/mencoro/models/start_keyword_discovery_job_request.rb +266 -0
  258. data/lib/mencoro/models/start_prompt_discovery_job_request.rb +276 -0
  259. data/lib/mencoro/models/submitted_checks_resource.rb +195 -0
  260. data/lib/mencoro/models/subscription_resource.rb +362 -0
  261. data/lib/mencoro/models/tracked_query_count_resource.rb +193 -0
  262. data/lib/mencoro/models/tracked_query_detail_resource.rb +440 -0
  263. data/lib/mencoro/models/tracked_query_resource.rb +492 -0
  264. data/lib/mencoro/models/tracked_query_usage_resource.rb +175 -0
  265. data/lib/mencoro/models/update_organization_request.rb +195 -0
  266. data/lib/mencoro/models/update_project_brand_profile_request.rb +218 -0
  267. data/lib/mencoro/models/update_project_request.rb +182 -0
  268. data/lib/mencoro/version.rb +15 -0
  269. data/lib/mencoro.rb +169 -0
  270. data/mencoro.gemspec +41 -0
  271. data/spec/api/account_api_spec.rb +57 -0
  272. data/spec/api/analytics_api_spec.rb +318 -0
  273. data/spec/api/billing_api_spec.rb +47 -0
  274. data/spec/api/captures_api_spec.rb +93 -0
  275. data/spec/api/clusters_api_spec.rb +126 -0
  276. data/spec/api/discovery_api_spec.rb +94 -0
  277. data/spec/api/invitations_api_spec.rb +83 -0
  278. data/spec/api/jobs_api_spec.rb +48 -0
  279. data/spec/api/members_api_spec.rb +111 -0
  280. data/spec/api/organization_operations_api_spec.rb +47 -0
  281. data/spec/api/organizations_api_spec.rb +181 -0
  282. data/spec/api/projects_api_spec.rb +229 -0
  283. data/spec/api/tracked_queries_api_spec.rb +344 -0
  284. data/spec/models/accepted_job_resource_spec.rb +48 -0
  285. data/spec/models/ai_response_report_resource_spec.rb +70 -0
  286. data/spec/models/ai_response_resource_spec.rb +90 -0
  287. data/spec/models/apply_clustering_job_outcome_clusters_inner_spec.rb +48 -0
  288. data/spec/models/apply_clustering_job_outcome_failed_inner_spec.rb +48 -0
  289. data/spec/models/apply_clustering_job_outcome_skipped_clusters_inner_spec.rb +42 -0
  290. data/spec/models/apply_clustering_job_outcome_spec.rb +60 -0
  291. data/spec/models/apply_clustering_job_outcome_successful_inner_spec.rb +42 -0
  292. data/spec/models/async_job_resource_spec.rb +62 -0
  293. data/spec/models/batch_change_tracked_query_check_frequency_request_data_spec.rb +46 -0
  294. data/spec/models/batch_change_tracked_query_passes_request_data_spec.rb +42 -0
  295. data/spec/models/batch_create_query_clusters_outcome_failed_inner_spec.rb +48 -0
  296. data/spec/models/batch_create_query_clusters_outcome_spec.rb +42 -0
  297. data/spec/models/batch_create_query_clusters_outcome_successful_inner_spec.rb +42 -0
  298. data/spec/models/batch_create_query_clusters_request_data_spec.rb +36 -0
  299. data/spec/models/batch_create_tracked_queries_request_data_spec.rb +80 -0
  300. data/spec/models/batch_create_tracked_queries_result_resource_failed_inner_spec.rb +60 -0
  301. data/spec/models/batch_create_tracked_queries_result_resource_spec.rb +42 -0
  302. data/spec/models/batch_create_tracked_queries_result_resource_successful_inner_spec.rb +54 -0
  303. data/spec/models/batch_force_check_tracked_queries200_response_failed_inner_spec.rb +48 -0
  304. data/spec/models/batch_force_check_tracked_queries200_response_spec.rb +42 -0
  305. data/spec/models/batch_pause_tracked_queries200_response_failed_inner_spec.rb +48 -0
  306. data/spec/models/batch_pause_tracked_queries200_response_spec.rb +42 -0
  307. data/spec/models/batch_pause_tracked_queries200_response_successful_inner_spec.rb +36 -0
  308. data/spec/models/batch_resume_tracked_queries200_response_spec.rb +42 -0
  309. data/spec/models/batch_targets_request_data_spec.rb +36 -0
  310. data/spec/models/batch_write_outcome_failed_inner_spec.rb +48 -0
  311. data/spec/models/batch_write_outcome_spec.rb +42 -0
  312. data/spec/models/brand_profile_resource_spec.rb +54 -0
  313. data/spec/models/bulk_add_clusters_to_tracked_queries200_response_spec.rb +42 -0
  314. data/spec/models/bulk_add_clusters_to_tracked_queries_request_spec.rb +42 -0
  315. data/spec/models/bulk_remove_clusters_from_tracked_queries200_response_spec.rb +42 -0
  316. data/spec/models/bulk_remove_clusters_from_tracked_queries_request_spec.rb +42 -0
  317. data/spec/models/change_member_role_request_spec.rb +40 -0
  318. data/spec/models/change_tracked_query_check_frequency_request_data_spec.rb +40 -0
  319. data/spec/models/change_tracked_query_passes_request_data_spec.rb +36 -0
  320. data/spec/models/citation_resource_spec.rb +90 -0
  321. data/spec/models/cluster_membership_request_data_spec.rb +36 -0
  322. data/spec/models/competitor_resource_spec.rb +54 -0
  323. data/spec/models/create_competitor_request_spec.rb +48 -0
  324. data/spec/models/create_invitation200_response_spec.rb +52 -0
  325. data/spec/models/create_invitation201_response_spec.rb +86 -0
  326. data/spec/models/create_invitation_request_spec.rb +46 -0
  327. data/spec/models/create_organization201_response_spec.rb +48 -0
  328. data/spec/models/create_organization_request_spec.rb +36 -0
  329. data/spec/models/create_project_request_competitors_inner_spec.rb +48 -0
  330. data/spec/models/create_project_request_spec.rb +54 -0
  331. data/spec/models/create_query_cluster409_response_spec.rb +48 -0
  332. data/spec/models/create_query_cluster_request_spec.rb +36 -0
  333. data/spec/models/delete_query_cluster200_response_spec.rb +48 -0
  334. data/spec/models/entitlements_resource_spec.rb +104 -0
  335. data/spec/models/get_available_filters200_response_clusters_inner_spec.rb +42 -0
  336. data/spec/models/get_available_filters200_response_spec.rb +48 -0
  337. data/spec/models/get_me_stats200_response_organizations_spec.rb +36 -0
  338. data/spec/models/get_me_stats200_response_projects_spec.rb +42 -0
  339. data/spec/models/get_me_stats200_response_spec.rb +42 -0
  340. data/spec/models/get_membership_stats200_response_spec.rb +72 -0
  341. data/spec/models/get_mention_samples400_response_details_value_inner_spec.rb +48 -0
  342. data/spec/models/get_mention_samples400_response_spec.rb +54 -0
  343. data/spec/models/get_metric_glossary200_response_metrics_inner_spec.rb +76 -0
  344. data/spec/models/get_metric_glossary200_response_spec.rb +36 -0
  345. data/spec/models/get_organization_overview200_response_aggregate_spec.rb +72 -0
  346. data/spec/models/get_organization_overview200_response_projects_inner_spec.rb +78 -0
  347. data/spec/models/get_organization_overview200_response_spec.rb +42 -0
  348. data/spec/models/get_organization_stats200_response_invitations_spec.rb +36 -0
  349. data/spec/models/get_organization_stats200_response_members_spec.rb +36 -0
  350. data/spec/models/get_organization_stats200_response_projects_spec.rb +42 -0
  351. data/spec/models/get_organization_stats200_response_spec.rb +48 -0
  352. data/spec/models/get_share_of_voice_formula200_response_spec.rb +54 -0
  353. data/spec/models/get_tracking_coverage200_response_sample_inner_spec.rb +70 -0
  354. data/spec/models/get_tracking_coverage200_response_spec.rb +72 -0
  355. data/spec/models/invitation_resource_spec.rb +80 -0
  356. data/spec/models/keyword_listing_resource_mention_type_counts_spec.rb +60 -0
  357. data/spec/models/keyword_listing_resource_spec.rb +262 -0
  358. data/spec/models/list_ai_responses200_response_spec.rb +42 -0
  359. data/spec/models/list_competitors200_response_spec.rb +42 -0
  360. data/spec/models/list_invitations200_response_spec.rb +42 -0
  361. data/spec/models/list_keyword_listings200_response_spec.rb +54 -0
  362. data/spec/models/list_members200_response_spec.rb +42 -0
  363. data/spec/models/list_organizations200_response_spec.rb +42 -0
  364. data/spec/models/list_projects200_response_spec.rb +42 -0
  365. data/spec/models/list_query_clusters200_response_spec.rb +42 -0
  366. data/spec/models/list_search_snapshots200_response_spec.rb +42 -0
  367. data/spec/models/list_shopping_snapshots200_response_spec.rb +42 -0
  368. data/spec/models/me_resource_spec.rb +92 -0
  369. data/spec/models/member_resource_spec.rb +74 -0
  370. data/spec/models/operation_effect_spec.rb +48 -0
  371. data/spec/models/organization_resource_spec.rb +86 -0
  372. data/spec/models/preview_organization_operation200_response_organization_spec.rb +42 -0
  373. data/spec/models/preview_organization_operation200_response_spec.rb +84 -0
  374. data/spec/models/preview_organization_operation_request_spec.rb +58 -0
  375. data/spec/models/project_detail_resource_competitors_inner_spec.rb +54 -0
  376. data/spec/models/project_detail_resource_spec.rb +82 -0
  377. data/spec/models/project_resource_spec.rb +136 -0
  378. data/spec/models/projected_monthly_checks_resource_spec.rb +42 -0
  379. data/spec/models/query_cluster_resource_spec.rb +48 -0
  380. data/spec/models/report_ai_response_request_spec.rb +52 -0
  381. data/spec/models/search_result_resource_spec.rb +78 -0
  382. data/spec/models/search_snapshot_resource_spec.rb +66 -0
  383. data/spec/models/search_tracked_queries200_response_spec.rb +42 -0
  384. data/spec/models/shopping_offer_resource_spec.rb +96 -0
  385. data/spec/models/shopping_snapshot_resource_spec.rb +66 -0
  386. data/spec/models/start_brand_discovery_job_request_spec.rb +42 -0
  387. data/spec/models/start_brand_name_suggestion_job_request_spec.rb +54 -0
  388. data/spec/models/start_clustering_job_request_data_spec.rb +52 -0
  389. data/spec/models/start_keyword_discovery_job_request_spec.rb +54 -0
  390. data/spec/models/start_prompt_discovery_job_request_spec.rb +54 -0
  391. data/spec/models/submitted_checks_resource_spec.rb +42 -0
  392. data/spec/models/subscription_resource_spec.rb +120 -0
  393. data/spec/models/tracked_query_count_resource_spec.rb +42 -0
  394. data/spec/models/tracked_query_detail_resource_spec.rb +108 -0
  395. data/spec/models/tracked_query_resource_spec.rb +150 -0
  396. data/spec/models/tracked_query_usage_resource_spec.rb +36 -0
  397. data/spec/models/update_organization_request_spec.rb +48 -0
  398. data/spec/models/update_project_brand_profile_request_spec.rb +42 -0
  399. data/spec/models/update_project_request_spec.rb +36 -0
  400. data/spec/spec_helper.rb +111 -0
  401. metadata +641 -0
@@ -0,0 +1,453 @@
1
+ =begin
2
+ #Mencoro API
3
+
4
+ #Public API for Mencoro customers. Authenticate with an API key: `Authorization: Bearer mencoro_sk_...`.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: support@mencoro.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Mencoro
16
+ class MembersApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Change a member role
23
+ # Minimum role: owner. The role of a suspended member cannot be changed, and the last active owner cannot be demoted. Preview it first: the confirmation is bound to the number of active owners, so another owner being suspended in between invalidates it rather than stranding the organization.
24
+ # @param organization_id [String]
25
+ # @param member_id [String]
26
+ # @param x_mencoro_confirmation [String]
27
+ # @param idempotency_key [String]
28
+ # @param change_member_role_request [ChangeMemberRoleRequest]
29
+ # @param [Hash] opts the optional parameters
30
+ # @return [MemberResource]
31
+ def change_member_role(organization_id, member_id, x_mencoro_confirmation, idempotency_key, change_member_role_request, opts = {})
32
+ data, _status_code, _headers = change_member_role_with_http_info(organization_id, member_id, x_mencoro_confirmation, idempotency_key, change_member_role_request, opts)
33
+ data
34
+ end
35
+
36
+ # Change a member role
37
+ # Minimum role: owner. The role of a suspended member cannot be changed, and the last active owner cannot be demoted. Preview it first: the confirmation is bound to the number of active owners, so another owner being suspended in between invalidates it rather than stranding the organization.
38
+ # @param organization_id [String]
39
+ # @param member_id [String]
40
+ # @param x_mencoro_confirmation [String]
41
+ # @param idempotency_key [String]
42
+ # @param change_member_role_request [ChangeMemberRoleRequest]
43
+ # @param [Hash] opts the optional parameters
44
+ # @return [Array<(MemberResource, Integer, Hash)>] MemberResource data, response status code and response headers
45
+ def change_member_role_with_http_info(organization_id, member_id, x_mencoro_confirmation, idempotency_key, change_member_role_request, opts = {})
46
+ if @api_client.config.debugging
47
+ @api_client.config.logger.debug 'Calling API: MembersApi.change_member_role ...'
48
+ end
49
+ # verify the required parameter 'organization_id' is set
50
+ if @api_client.config.client_side_validation && organization_id.nil?
51
+ fail ArgumentError, "Missing the required parameter 'organization_id' when calling MembersApi.change_member_role"
52
+ end
53
+ # verify the required parameter 'member_id' is set
54
+ if @api_client.config.client_side_validation && member_id.nil?
55
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling MembersApi.change_member_role"
56
+ end
57
+ # verify the required parameter 'x_mencoro_confirmation' is set
58
+ if @api_client.config.client_side_validation && x_mencoro_confirmation.nil?
59
+ fail ArgumentError, "Missing the required parameter 'x_mencoro_confirmation' when calling MembersApi.change_member_role"
60
+ end
61
+ # verify the required parameter 'idempotency_key' is set
62
+ if @api_client.config.client_side_validation && idempotency_key.nil?
63
+ fail ArgumentError, "Missing the required parameter 'idempotency_key' when calling MembersApi.change_member_role"
64
+ end
65
+ # verify the required parameter 'change_member_role_request' is set
66
+ if @api_client.config.client_side_validation && change_member_role_request.nil?
67
+ fail ArgumentError, "Missing the required parameter 'change_member_role_request' when calling MembersApi.change_member_role"
68
+ end
69
+ # resource path
70
+ local_var_path = '/api/v1/organizations/{organizationId}/members/{memberId}'.sub('{organizationId}', CGI.escape(organization_id.to_s)).sub('{memberId}', CGI.escape(member_id.to_s))
71
+
72
+ # query parameters
73
+ query_params = opts[:query_params] || {}
74
+
75
+ # header parameters
76
+ header_params = opts[:header_params] || {}
77
+ # HTTP header 'Accept' (if needed)
78
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
79
+ # HTTP header 'Content-Type'
80
+ content_type = @api_client.select_header_content_type(['application/json'])
81
+ if !content_type.nil?
82
+ header_params['Content-Type'] = content_type
83
+ end
84
+ header_params[:'X-Mencoro-Confirmation'] = x_mencoro_confirmation
85
+ header_params[:'Idempotency-Key'] = idempotency_key
86
+
87
+ # form parameters
88
+ form_params = opts[:form_params] || {}
89
+
90
+ # http body (model)
91
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(change_member_role_request)
92
+
93
+ # return_type
94
+ return_type = opts[:debug_return_type] || 'MemberResource'
95
+
96
+ # auth_names
97
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
98
+
99
+ new_options = opts.merge(
100
+ :operation => :"MembersApi.change_member_role",
101
+ :header_params => header_params,
102
+ :query_params => query_params,
103
+ :form_params => form_params,
104
+ :body => post_body,
105
+ :auth_names => auth_names,
106
+ :return_type => return_type
107
+ )
108
+
109
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug "API called: MembersApi#change_member_role\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
112
+ end
113
+ return data, status_code, headers
114
+ end
115
+
116
+ # Get one organization membership
117
+ # Minimum role: owner — the same floor the members listing enforces, because a caller who can page the roster has already seen this record. Returns the facts of one membership: its role, whether it is active or suspended, and when it was joined. It does NOT describe the person behind it: no name, no email address, no phone number and no profile image, so a membership id can never be turned into a contact lookup. The membership is read from PostgreSQL, the same row at the same freshness the listing publishes. A membership belonging to another organization answers 404, exactly as an unknown or malformed id does, so the API never confirms that an inaccessible membership exists; the one 403 is a key without the read capability. The response carries no organizationId — it is the one in the path — and no creation timestamp; joinedAt is the membership fact. No query parameters are accepted.
118
+ # @param organization_id [String]
119
+ # @param member_id [String] The membership id, not the user id. Must belong to the organization in the path.
120
+ # @param [Hash] opts the optional parameters
121
+ # @return [MemberResource]
122
+ def get_member(organization_id, member_id, opts = {})
123
+ data, _status_code, _headers = get_member_with_http_info(organization_id, member_id, opts)
124
+ data
125
+ end
126
+
127
+ # Get one organization membership
128
+ # Minimum role: owner — the same floor the members listing enforces, because a caller who can page the roster has already seen this record. Returns the facts of one membership: its role, whether it is active or suspended, and when it was joined. It does NOT describe the person behind it: no name, no email address, no phone number and no profile image, so a membership id can never be turned into a contact lookup. The membership is read from PostgreSQL, the same row at the same freshness the listing publishes. A membership belonging to another organization answers 404, exactly as an unknown or malformed id does, so the API never confirms that an inaccessible membership exists; the one 403 is a key without the read capability. The response carries no organizationId — it is the one in the path — and no creation timestamp; joinedAt is the membership fact. No query parameters are accepted.
129
+ # @param organization_id [String]
130
+ # @param member_id [String] The membership id, not the user id. Must belong to the organization in the path.
131
+ # @param [Hash] opts the optional parameters
132
+ # @return [Array<(MemberResource, Integer, Hash)>] MemberResource data, response status code and response headers
133
+ def get_member_with_http_info(organization_id, member_id, opts = {})
134
+ if @api_client.config.debugging
135
+ @api_client.config.logger.debug 'Calling API: MembersApi.get_member ...'
136
+ end
137
+ # verify the required parameter 'organization_id' is set
138
+ if @api_client.config.client_side_validation && organization_id.nil?
139
+ fail ArgumentError, "Missing the required parameter 'organization_id' when calling MembersApi.get_member"
140
+ end
141
+ # verify the required parameter 'member_id' is set
142
+ if @api_client.config.client_side_validation && member_id.nil?
143
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling MembersApi.get_member"
144
+ end
145
+ # resource path
146
+ local_var_path = '/api/v1/organizations/{organizationId}/members/{memberId}'.sub('{organizationId}', CGI.escape(organization_id.to_s)).sub('{memberId}', CGI.escape(member_id.to_s))
147
+
148
+ # query parameters
149
+ query_params = opts[:query_params] || {}
150
+
151
+ # header parameters
152
+ header_params = opts[:header_params] || {}
153
+ # HTTP header 'Accept' (if needed)
154
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
155
+
156
+ # form parameters
157
+ form_params = opts[:form_params] || {}
158
+
159
+ # http body (model)
160
+ post_body = opts[:debug_body]
161
+
162
+ # return_type
163
+ return_type = opts[:debug_return_type] || 'MemberResource'
164
+
165
+ # auth_names
166
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
167
+
168
+ new_options = opts.merge(
169
+ :operation => :"MembersApi.get_member",
170
+ :header_params => header_params,
171
+ :query_params => query_params,
172
+ :form_params => form_params,
173
+ :body => post_body,
174
+ :auth_names => auth_names,
175
+ :return_type => return_type
176
+ )
177
+
178
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
179
+ if @api_client.config.debugging
180
+ @api_client.config.logger.debug "API called: MembersApi#get_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
181
+ end
182
+ return data, status_code, headers
183
+ end
184
+
185
+ # List an organization's members
186
+ # Minimum role: owner. The application exposes this roster twice and the two disagree — its member screen shows it to any viewer, while its non-BFF endpoint requires an owner — so the published API takes the stricter of the two and requires an owner. A membership describes the membership, not the person: names and email addresses are never returned here, and there is no search parameter, because both would turn the roster into a contact export. Omitting \"status\" returns active and suspended memberships alike. Sorting by \"role\" is alphabetical on the role name, not by seniority.Send `Accept: text/csv` to receive the same page as a CSV download instead of JSON: same filters, same authorization, same page window and the same maximum of 100 rows — it is this page in another format, not a bulk export, so a whole collection is still read by paging. The CSV carries no `total`, because a table whose every row is a record has nowhere to put one; read it from the JSON representation of the same request. Cells beginning with `=`, `+`, `-` or `@` are prefixed with an apostrophe so a spreadsheet treats them as text rather than running them as formulas.
187
+ # @param organization_id [String]
188
+ # @param [Hash] opts the optional parameters
189
+ # @option opts [Integer] :limit (default to 20)
190
+ # @option opts [Integer] :offset (default to 0)
191
+ # @option opts [String] :status Absent means both states.
192
+ # @option opts [String] :sort_by (default to 'joinedAt')
193
+ # @option opts [String] :sort_order (default to 'desc')
194
+ # @return [ListMembers200Response]
195
+ def list_members(organization_id, opts = {})
196
+ data, _status_code, _headers = list_members_with_http_info(organization_id, opts)
197
+ data
198
+ end
199
+
200
+ # List an organization&#39;s members
201
+ # Minimum role: owner. The application exposes this roster twice and the two disagree — its member screen shows it to any viewer, while its non-BFF endpoint requires an owner — so the published API takes the stricter of the two and requires an owner. A membership describes the membership, not the person: names and email addresses are never returned here, and there is no search parameter, because both would turn the roster into a contact export. Omitting \&quot;status\&quot; returns active and suspended memberships alike. Sorting by \&quot;role\&quot; is alphabetical on the role name, not by seniority.Send &#x60;Accept: text/csv&#x60; to receive the same page as a CSV download instead of JSON: same filters, same authorization, same page window and the same maximum of 100 rows — it is this page in another format, not a bulk export, so a whole collection is still read by paging. The CSV carries no &#x60;total&#x60;, because a table whose every row is a record has nowhere to put one; read it from the JSON representation of the same request. Cells beginning with &#x60;&#x3D;&#x60;, &#x60;+&#x60;, &#x60;-&#x60; or &#x60;@&#x60; are prefixed with an apostrophe so a spreadsheet treats them as text rather than running them as formulas.
202
+ # @param organization_id [String]
203
+ # @param [Hash] opts the optional parameters
204
+ # @option opts [Integer] :limit (default to 20)
205
+ # @option opts [Integer] :offset (default to 0)
206
+ # @option opts [String] :status Absent means both states.
207
+ # @option opts [String] :sort_by (default to 'joinedAt')
208
+ # @option opts [String] :sort_order (default to 'desc')
209
+ # @return [Array<(ListMembers200Response, Integer, Hash)>] ListMembers200Response data, response status code and response headers
210
+ def list_members_with_http_info(organization_id, opts = {})
211
+ if @api_client.config.debugging
212
+ @api_client.config.logger.debug 'Calling API: MembersApi.list_members ...'
213
+ end
214
+ # verify the required parameter 'organization_id' is set
215
+ if @api_client.config.client_side_validation && organization_id.nil?
216
+ fail ArgumentError, "Missing the required parameter 'organization_id' when calling MembersApi.list_members"
217
+ end
218
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
219
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling MembersApi.list_members, must be smaller than or equal to 100.'
220
+ end
221
+
222
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
223
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling MembersApi.list_members, must be greater than or equal to 1.'
224
+ end
225
+
226
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
227
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling MembersApi.list_members, must be greater than or equal to 0.'
228
+ end
229
+
230
+ allowable_values = ["active", "suspended"]
231
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
232
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
233
+ end
234
+ allowable_values = ["joinedAt", "role"]
235
+ if @api_client.config.client_side_validation && opts[:'sort_by'] && !allowable_values.include?(opts[:'sort_by'])
236
+ fail ArgumentError, "invalid value for \"sort_by\", must be one of #{allowable_values}"
237
+ end
238
+ allowable_values = ["asc", "desc"]
239
+ if @api_client.config.client_side_validation && opts[:'sort_order'] && !allowable_values.include?(opts[:'sort_order'])
240
+ fail ArgumentError, "invalid value for \"sort_order\", must be one of #{allowable_values}"
241
+ end
242
+ # resource path
243
+ local_var_path = '/api/v1/organizations/{organizationId}/members'.sub('{organizationId}', CGI.escape(organization_id.to_s))
244
+
245
+ # query parameters
246
+ query_params = opts[:query_params] || {}
247
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
248
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
249
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
250
+ query_params[:'sortBy'] = opts[:'sort_by'] if !opts[:'sort_by'].nil?
251
+ query_params[:'sortOrder'] = opts[:'sort_order'] if !opts[:'sort_order'].nil?
252
+
253
+ # header parameters
254
+ header_params = opts[:header_params] || {}
255
+ # HTTP header 'Accept' (if needed)
256
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/csv']) unless header_params['Accept']
257
+
258
+ # form parameters
259
+ form_params = opts[:form_params] || {}
260
+
261
+ # http body (model)
262
+ post_body = opts[:debug_body]
263
+
264
+ # return_type
265
+ return_type = opts[:debug_return_type] || 'ListMembers200Response'
266
+
267
+ # auth_names
268
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
269
+
270
+ new_options = opts.merge(
271
+ :operation => :"MembersApi.list_members",
272
+ :header_params => header_params,
273
+ :query_params => query_params,
274
+ :form_params => form_params,
275
+ :body => post_body,
276
+ :auth_names => auth_names,
277
+ :return_type => return_type
278
+ )
279
+
280
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
281
+ if @api_client.config.debugging
282
+ @api_client.config.logger.debug "API called: MembersApi#list_members\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
283
+ end
284
+ return data, status_code, headers
285
+ end
286
+
287
+ # Reactivate a suspended member
288
+ # Minimum role: owner. The member keeps the role they had and regains access on their very next request. A member who is already active cannot be reactivated.
289
+ # @param organization_id [String]
290
+ # @param member_id [String]
291
+ # @param x_mencoro_confirmation [String]
292
+ # @param idempotency_key [String]
293
+ # @param [Hash] opts the optional parameters
294
+ # @return [MemberResource]
295
+ def reactivate_member(organization_id, member_id, x_mencoro_confirmation, idempotency_key, opts = {})
296
+ data, _status_code, _headers = reactivate_member_with_http_info(organization_id, member_id, x_mencoro_confirmation, idempotency_key, opts)
297
+ data
298
+ end
299
+
300
+ # Reactivate a suspended member
301
+ # Minimum role: owner. The member keeps the role they had and regains access on their very next request. A member who is already active cannot be reactivated.
302
+ # @param organization_id [String]
303
+ # @param member_id [String]
304
+ # @param x_mencoro_confirmation [String]
305
+ # @param idempotency_key [String]
306
+ # @param [Hash] opts the optional parameters
307
+ # @return [Array<(MemberResource, Integer, Hash)>] MemberResource data, response status code and response headers
308
+ def reactivate_member_with_http_info(organization_id, member_id, x_mencoro_confirmation, idempotency_key, opts = {})
309
+ if @api_client.config.debugging
310
+ @api_client.config.logger.debug 'Calling API: MembersApi.reactivate_member ...'
311
+ end
312
+ # verify the required parameter 'organization_id' is set
313
+ if @api_client.config.client_side_validation && organization_id.nil?
314
+ fail ArgumentError, "Missing the required parameter 'organization_id' when calling MembersApi.reactivate_member"
315
+ end
316
+ # verify the required parameter 'member_id' is set
317
+ if @api_client.config.client_side_validation && member_id.nil?
318
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling MembersApi.reactivate_member"
319
+ end
320
+ # verify the required parameter 'x_mencoro_confirmation' is set
321
+ if @api_client.config.client_side_validation && x_mencoro_confirmation.nil?
322
+ fail ArgumentError, "Missing the required parameter 'x_mencoro_confirmation' when calling MembersApi.reactivate_member"
323
+ end
324
+ # verify the required parameter 'idempotency_key' is set
325
+ if @api_client.config.client_side_validation && idempotency_key.nil?
326
+ fail ArgumentError, "Missing the required parameter 'idempotency_key' when calling MembersApi.reactivate_member"
327
+ end
328
+ # resource path
329
+ local_var_path = '/api/v1/organizations/{organizationId}/members/{memberId}/reactivate'.sub('{organizationId}', CGI.escape(organization_id.to_s)).sub('{memberId}', CGI.escape(member_id.to_s))
330
+
331
+ # query parameters
332
+ query_params = opts[:query_params] || {}
333
+
334
+ # header parameters
335
+ header_params = opts[:header_params] || {}
336
+ # HTTP header 'Accept' (if needed)
337
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
338
+ header_params[:'X-Mencoro-Confirmation'] = x_mencoro_confirmation
339
+ header_params[:'Idempotency-Key'] = idempotency_key
340
+
341
+ # form parameters
342
+ form_params = opts[:form_params] || {}
343
+
344
+ # http body (model)
345
+ post_body = opts[:debug_body]
346
+
347
+ # return_type
348
+ return_type = opts[:debug_return_type] || 'MemberResource'
349
+
350
+ # auth_names
351
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
352
+
353
+ new_options = opts.merge(
354
+ :operation => :"MembersApi.reactivate_member",
355
+ :header_params => header_params,
356
+ :query_params => query_params,
357
+ :form_params => form_params,
358
+ :body => post_body,
359
+ :auth_names => auth_names,
360
+ :return_type => return_type
361
+ )
362
+
363
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
364
+ if @api_client.config.debugging
365
+ @api_client.config.logger.debug "API called: MembersApi#reactivate_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
366
+ end
367
+ return data, status_code, headers
368
+ end
369
+
370
+ # Suspend a member
371
+ # Minimum role: owner. The member loses access on their very next request, including through any API key they own that is scoped to this organization. The last active owner cannot be suspended.
372
+ # @param organization_id [String]
373
+ # @param member_id [String]
374
+ # @param x_mencoro_confirmation [String]
375
+ # @param idempotency_key [String]
376
+ # @param [Hash] opts the optional parameters
377
+ # @return [MemberResource]
378
+ def suspend_member(organization_id, member_id, x_mencoro_confirmation, idempotency_key, opts = {})
379
+ data, _status_code, _headers = suspend_member_with_http_info(organization_id, member_id, x_mencoro_confirmation, idempotency_key, opts)
380
+ data
381
+ end
382
+
383
+ # Suspend a member
384
+ # Minimum role: owner. The member loses access on their very next request, including through any API key they own that is scoped to this organization. The last active owner cannot be suspended.
385
+ # @param organization_id [String]
386
+ # @param member_id [String]
387
+ # @param x_mencoro_confirmation [String]
388
+ # @param idempotency_key [String]
389
+ # @param [Hash] opts the optional parameters
390
+ # @return [Array<(MemberResource, Integer, Hash)>] MemberResource data, response status code and response headers
391
+ def suspend_member_with_http_info(organization_id, member_id, x_mencoro_confirmation, idempotency_key, opts = {})
392
+ if @api_client.config.debugging
393
+ @api_client.config.logger.debug 'Calling API: MembersApi.suspend_member ...'
394
+ end
395
+ # verify the required parameter 'organization_id' is set
396
+ if @api_client.config.client_side_validation && organization_id.nil?
397
+ fail ArgumentError, "Missing the required parameter 'organization_id' when calling MembersApi.suspend_member"
398
+ end
399
+ # verify the required parameter 'member_id' is set
400
+ if @api_client.config.client_side_validation && member_id.nil?
401
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling MembersApi.suspend_member"
402
+ end
403
+ # verify the required parameter 'x_mencoro_confirmation' is set
404
+ if @api_client.config.client_side_validation && x_mencoro_confirmation.nil?
405
+ fail ArgumentError, "Missing the required parameter 'x_mencoro_confirmation' when calling MembersApi.suspend_member"
406
+ end
407
+ # verify the required parameter 'idempotency_key' is set
408
+ if @api_client.config.client_side_validation && idempotency_key.nil?
409
+ fail ArgumentError, "Missing the required parameter 'idempotency_key' when calling MembersApi.suspend_member"
410
+ end
411
+ # resource path
412
+ local_var_path = '/api/v1/organizations/{organizationId}/members/{memberId}/suspend'.sub('{organizationId}', CGI.escape(organization_id.to_s)).sub('{memberId}', CGI.escape(member_id.to_s))
413
+
414
+ # query parameters
415
+ query_params = opts[:query_params] || {}
416
+
417
+ # header parameters
418
+ header_params = opts[:header_params] || {}
419
+ # HTTP header 'Accept' (if needed)
420
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
421
+ header_params[:'X-Mencoro-Confirmation'] = x_mencoro_confirmation
422
+ header_params[:'Idempotency-Key'] = idempotency_key
423
+
424
+ # form parameters
425
+ form_params = opts[:form_params] || {}
426
+
427
+ # http body (model)
428
+ post_body = opts[:debug_body]
429
+
430
+ # return_type
431
+ return_type = opts[:debug_return_type] || 'MemberResource'
432
+
433
+ # auth_names
434
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
435
+
436
+ new_options = opts.merge(
437
+ :operation => :"MembersApi.suspend_member",
438
+ :header_params => header_params,
439
+ :query_params => query_params,
440
+ :form_params => form_params,
441
+ :body => post_body,
442
+ :auth_names => auth_names,
443
+ :return_type => return_type
444
+ )
445
+
446
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
447
+ if @api_client.config.debugging
448
+ @api_client.config.logger.debug "API called: MembersApi#suspend_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
449
+ end
450
+ return data, status_code, headers
451
+ end
452
+ end
453
+ end
@@ -0,0 +1,90 @@
1
+ =begin
2
+ #Mencoro API
3
+
4
+ #Public API for Mencoro customers. Authenticate with an API key: `Authorization: Bearer mencoro_sk_...`.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: support@mencoro.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Mencoro
16
+ class OrganizationOperationsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Preview an organization operation and obtain a confirmation
23
+ # Organization, member and invitation changes need two calls. This one reports the concrete changes, the side effects, the warnings and the conditions, and returns a confirmation valid for five minutes. Send it back in the X-Mencoro-Confirmation header, together with an Idempotency-Key, on the call that performs the operation. Previewing has no effects of any kind.
24
+ # @param preview_organization_operation_request [PreviewOrganizationOperationRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [PreviewOrganizationOperation200Response]
27
+ def preview_organization_operation(preview_organization_operation_request, opts = {})
28
+ data, _status_code, _headers = preview_organization_operation_with_http_info(preview_organization_operation_request, opts)
29
+ data
30
+ end
31
+
32
+ # Preview an organization operation and obtain a confirmation
33
+ # Organization, member and invitation changes need two calls. This one reports the concrete changes, the side effects, the warnings and the conditions, and returns a confirmation valid for five minutes. Send it back in the X-Mencoro-Confirmation header, together with an Idempotency-Key, on the call that performs the operation. Previewing has no effects of any kind.
34
+ # @param preview_organization_operation_request [PreviewOrganizationOperationRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(PreviewOrganizationOperation200Response, Integer, Hash)>] PreviewOrganizationOperation200Response data, response status code and response headers
37
+ def preview_organization_operation_with_http_info(preview_organization_operation_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: OrganizationOperationsApi.preview_organization_operation ...'
40
+ end
41
+ # verify the required parameter 'preview_organization_operation_request' is set
42
+ if @api_client.config.client_side_validation && preview_organization_operation_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'preview_organization_operation_request' when calling OrganizationOperationsApi.preview_organization_operation"
44
+ end
45
+ # resource path
46
+ local_var_path = '/api/v1/organization-operation-previews'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(preview_organization_operation_request)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'PreviewOrganizationOperation200Response'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"OrganizationOperationsApi.preview_organization_operation",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: OrganizationOperationsApi#preview_organization_operation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+ end
90
+ end