postboost 1.0.0 → 1.14.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 (815) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +7 -0
  3. data/CONTRIBUTING.md +31 -0
  4. data/README.md +252 -0
  5. data/SECURITY.md +9 -0
  6. data/docs/AIApi.md +871 -0
  7. data/docs/AICredits.md +22 -0
  8. data/docs/AIUsage.md +20 -0
  9. data/docs/AIUsageText.md +24 -0
  10. data/docs/Account.md +19 -9
  11. data/docs/AccountAnalytics.md +28 -0
  12. data/docs/AccountAnalyticsInitialSync.md +20 -0
  13. data/docs/AccountConnectionHealth.md +34 -0
  14. data/docs/AccountErrorsInner.md +49 -0
  15. data/docs/AccountErrorsInnerOneOf.md +24 -0
  16. data/docs/AccountGroup.md +24 -0
  17. data/docs/AccountGroupInput.md +20 -0
  18. data/docs/AccountGroupsApi.md +372 -0
  19. data/docs/AccountHealth.md +34 -0
  20. data/docs/AccountHealthDailyCap.md +20 -0
  21. data/docs/AccountSchedule.md +22 -0
  22. data/docs/AccountsApi.md +231 -5
  23. data/docs/ActivityApi.md +87 -0
  24. data/docs/AddCompetitor202Response.md +20 -0
  25. data/docs/AddCompetitor409Response.md +20 -0
  26. data/docs/AddPostToQueueRequest.md +18 -0
  27. data/docs/AgentPageMeta.md +24 -0
  28. data/docs/AgentProposal.md +44 -0
  29. data/docs/AgentProposalDecision.md +18 -0
  30. data/docs/AgentRun.md +44 -0
  31. data/docs/AgentsApi.md +745 -0
  32. data/docs/AnalyticsApi.md +899 -0
  33. data/docs/AnalyticsPeriod.md +24 -0
  34. data/docs/AnalyticsSummary.md +20 -0
  35. data/docs/AnalyticsSummaryData.md +38 -0
  36. data/docs/ApiActivity.md +36 -0
  37. data/docs/ApiActivityOutcome.md +15 -0
  38. data/docs/ApiKey.md +32 -0
  39. data/docs/ApiKeyAbility.md +15 -0
  40. data/docs/ApiKeyInput.md +24 -0
  41. data/docs/ApproveAgentProposal200Response.md +18 -0
  42. data/docs/ApproveAgentProposal409Response.md +20 -0
  43. data/docs/ApproveInboxReplyDraft403Response.md +20 -0
  44. data/docs/ApprovePostRequest.md +24 -0
  45. data/docs/BestPostingTimes.md +20 -0
  46. data/docs/BestPostingTimesTimesInner.md +24 -0
  47. data/docs/BlogToSocial200Response.md +20 -0
  48. data/docs/BlogToSocial429Response.md +18 -0
  49. data/docs/BlogToSocialCaption.md +28 -0
  50. data/docs/BlogToSocialInput.md +44 -0
  51. data/docs/BlogToSocialMedia.md +20 -0
  52. data/docs/BlogToSocialResponse.md +30 -0
  53. data/docs/BrandVoice.md +48 -0
  54. data/docs/BrandVoiceInput.md +46 -0
  55. data/docs/BrandVoiceMeta.md +18 -0
  56. data/docs/CancelSubscription422Response.md +20 -0
  57. data/docs/CancelSubscription422ResponseErrors.md +18 -0
  58. data/docs/CancelSubscriptionRequest.md +18 -0
  59. data/docs/ChannelAccount.md +36 -0
  60. data/docs/CodedError.md +22 -0
  61. data/docs/Competitor.md +34 -0
  62. data/docs/CompetitorDetail.md +38 -0
  63. data/docs/CompetitorInput.md +20 -0
  64. data/docs/CompetitorMedia.md +28 -0
  65. data/docs/CompetitorSnapshot.md +22 -0
  66. data/docs/CompetitorsApi.md +296 -0
  67. data/docs/CompleteChunkedUploadRequest.md +20 -0
  68. data/docs/ConnectChannelInput.md +24 -0
  69. data/docs/CreateAccountGroup201Response.md +18 -0
  70. data/docs/CreateAgent201Response.md +18 -0
  71. data/docs/CreateApiKey201Response.md +18 -0
  72. data/docs/CreateApiKey201ResponseData.md +34 -0
  73. data/docs/CreateHashtagGroup201Response.md +18 -0
  74. data/docs/CreateInboxReplyDraft201Response.md +18 -0
  75. data/docs/CreateMediaFolderRequest.md +20 -0
  76. data/docs/CreateMention201Response.md +18 -0
  77. data/docs/CreateRecyclingRule201Response.md +18 -0
  78. data/docs/CreateReportExport201Response.md +18 -0
  79. data/docs/CreateResellerClient201Response.md +18 -0
  80. data/docs/CreateRssFeed201Response.md +18 -0
  81. data/docs/CreateTemplate201Response.md +18 -0
  82. data/docs/CreateWebhookSubscription201Response.md +18 -0
  83. data/docs/CreateWebhookSubscription201ResponseData.md +30 -0
  84. data/docs/DeleteAgent200Response.md +18 -0
  85. data/docs/DeleteMediaBulkRequest.md +1 -1
  86. data/docs/DeleteMediaBulkRequestItemsInner.md +49 -0
  87. data/docs/DeleteMediaFolderRequest.md +18 -0
  88. data/docs/DeleteResult.md +3 -3
  89. data/docs/GetAccountHealth200Response.md +18 -0
  90. data/docs/GetBrandVoice200Response.md +18 -0
  91. data/docs/GetCompetitor200Response.md +18 -0
  92. data/docs/GetInboxConversation200Response.md +18 -0
  93. data/docs/GetPostingSchedule200Response.md +18 -0
  94. data/docs/GetReportBranding200Response.md +18 -0
  95. data/docs/GuardrailError.md +28 -0
  96. data/docs/HashtagGroup.md +22 -0
  97. data/docs/HashtagGroupInput.md +20 -0
  98. data/docs/HashtagGroupsApi.md +372 -0
  99. data/docs/ImageAltText200Response.md +18 -0
  100. data/docs/ImageAltTextInput.md +18 -0
  101. data/docs/ImageAltTextResponse.md +24 -0
  102. data/docs/ImageCreditBalance.md +28 -0
  103. data/docs/ImageEditInput.md +30 -0
  104. data/docs/ImageGenerate200Response.md +20 -0
  105. data/docs/ImageGenerate429Response.md +18 -0
  106. data/docs/ImageGenerateInput.md +38 -0
  107. data/docs/ImageGenerationResponse.md +30 -0
  108. data/docs/ImagePrompt200Response.md +20 -0
  109. data/docs/ImagePrompt429Response.md +18 -0
  110. data/docs/ImagePromptInput.md +30 -0
  111. data/docs/ImagePromptResponse.md +18 -0
  112. data/docs/ImageVariations200Response.md +18 -0
  113. data/docs/ImageVariationsInput.md +24 -0
  114. data/docs/ImageVariationsResponse.md +26 -0
  115. data/docs/InboxApi.md +758 -0
  116. data/docs/InboxAuthor.md +22 -0
  117. data/docs/InboxConversation.md +46 -0
  118. data/docs/InboxConversationAccount.md +24 -0
  119. data/docs/InboxConversationUpdate.md +20 -0
  120. data/docs/InboxMessage.md +32 -0
  121. data/docs/InboxMessageAuthor.md +22 -0
  122. data/docs/InboxReplyDraft.md +42 -0
  123. data/docs/InboxReplyDraftApprove.md +18 -0
  124. data/docs/InboxReplyDraftEdit.md +18 -0
  125. data/docs/InboxReplyDraftInput.md +20 -0
  126. data/docs/{InitiateChunkedUpload200Response.md → InitiateChunkedUpload201Response.md} +2 -2
  127. data/docs/{InitiateRemoteUpload200Response.md → InitiateRemoteUpload201Response.md} +7 -7
  128. data/docs/{InitiateRemoteUpload200ResponseOneOf.md → InitiateRemoteUpload201ResponseOneOf.md} +2 -2
  129. data/docs/InitiateRemoteUploadRequest.md +3 -1
  130. data/docs/LearnBrandVoiceInput.md +24 -0
  131. data/docs/LearnBrandVoiceResponse.md +20 -0
  132. data/docs/LearnBrandVoiceResponseMeta.md +26 -0
  133. data/docs/ListAccountGroups200Response.md +22 -0
  134. data/docs/ListAgentProposals200Response.md +20 -0
  135. data/docs/ListAgentRuns200Response.md +20 -0
  136. data/docs/ListAgents200Response.md +18 -0
  137. data/docs/ListApiActivity200Response.md +22 -0
  138. data/docs/ListApiKeys200Response.md +18 -0
  139. data/docs/ListCompetitors200Response.md +18 -0
  140. data/docs/ListHashtagGroups200Response.md +22 -0
  141. data/docs/ListInboxConversations200Response.md +22 -0
  142. data/docs/ListInboxReplyDrafts200Response.md +22 -0
  143. data/docs/ListMediaFolders200Response.md +18 -0
  144. data/docs/ListMentions200Response.md +22 -0
  145. data/docs/ListMyWorkspaces200Response.md +18 -0
  146. data/docs/ListRecyclingRules200Response.md +18 -0
  147. data/docs/ListRecyclingRuns200Response.md +18 -0
  148. data/docs/ListReportExports200Response.md +18 -0
  149. data/docs/ListResellerClients200Response.md +20 -0
  150. data/docs/ListRssFeeds200Response.md +18 -0
  151. data/docs/ListTemplates200Response.md +22 -0
  152. data/docs/ListWebhookSubscriptions200Response.md +18 -0
  153. data/docs/Media.md +22 -8
  154. data/docs/MediaApi.md +435 -31
  155. data/docs/MediaBase64Input.md +24 -0
  156. data/docs/MediaFolder.md +24 -0
  157. data/docs/MediaFolderInput.md +20 -0
  158. data/docs/MediaFolderRef.md +20 -0
  159. data/docs/Mention.md +28 -0
  160. data/docs/MentionIdentity.md +24 -0
  161. data/docs/MentionIdentityInput.md +26 -0
  162. data/docs/MentionInput.md +22 -0
  163. data/docs/MentionsApi.md +379 -0
  164. data/docs/MessageOnly.md +18 -0
  165. data/docs/PollRssFeed200Response.md +22 -0
  166. data/docs/Post.md +10 -8
  167. data/docs/PostAnalytics.md +22 -0
  168. data/docs/PostContent.md +1 -1
  169. data/docs/PostInput.md +8 -2
  170. data/docs/PostOptionsInstagram.md +22 -0
  171. data/docs/PostOptionsTikTok.md +34 -0
  172. data/docs/PostOptionsYoutube.md +24 -0
  173. data/docs/PostVersion.md +4 -2
  174. data/docs/PostVersionOptions.md +24 -0
  175. data/docs/PostingSchedule.md +28 -0
  176. data/docs/PostingScheduleApi.md +377 -0
  177. data/docs/PostingScheduleDay.md +22 -0
  178. data/docs/PostingScheduleDayTimesInner.md +18 -0
  179. data/docs/PostingScheduleInput.md +24 -0
  180. data/docs/PostingTimeSlot.md +22 -0
  181. data/docs/PostingTimes.md +32 -0
  182. data/docs/PostingTimesBestInner.md +24 -0
  183. data/docs/PostingTimesDayIntervalsInnerInner.md +28 -0
  184. data/docs/PostingTimesDaysInner.md +24 -0
  185. data/docs/PostsApi.md +1264 -82
  186. data/docs/PreflightResult.md +26 -0
  187. data/docs/PublicWorkspace.md +24 -0
  188. data/docs/PublicWorkspacePivot.md +22 -0
  189. data/docs/PublishProgress.md +22 -0
  190. data/docs/QueueSlots.md +20 -0
  191. data/docs/Receipt.md +8 -8
  192. data/docs/ReceiptsApi.md +15 -1
  193. data/docs/RecommendedPostingTimes.md +26 -0
  194. data/docs/ReconnectLink.md +22 -0
  195. data/docs/RecyclingRule.md +42 -0
  196. data/docs/RecyclingRuleInput.md +34 -0
  197. data/docs/RecyclingRuleSettings.md +28 -0
  198. data/docs/RecyclingRuleUpdate.md +28 -0
  199. data/docs/RecyclingRun.md +28 -0
  200. data/docs/RemoveGenericSubscription422Response.md +18 -0
  201. data/docs/ReportBranding.md +28 -0
  202. data/docs/ReportBrandingInput.md +24 -0
  203. data/docs/ReportExport.md +42 -0
  204. data/docs/ReportExportInput.md +28 -0
  205. data/docs/RepurposeContent200Response.md +20 -0
  206. data/docs/RepurposeInput.md +54 -0
  207. data/docs/RepurposeInputTheme.md +22 -0
  208. data/docs/RepurposeResult.md +32 -0
  209. data/docs/RepurposeResultMedia.md +20 -0
  210. data/docs/RepurposeResultSource.md +22 -0
  211. data/docs/RepurposeSlide.md +20 -0
  212. data/docs/ResellerClient.md +32 -0
  213. data/docs/ResellerClientInput.md +18 -0
  214. data/docs/ResellerClientUsage.md +20 -0
  215. data/docs/RetryPostAccountResult.md +22 -0
  216. data/docs/RssFeed.md +38 -0
  217. data/docs/RssFeedInput.md +30 -0
  218. data/docs/RssFeedUpdate.md +30 -0
  219. data/docs/RunAgent202Response.md +18 -0
  220. data/docs/SchedulePostRequest.md +9 -1
  221. data/docs/ScheduleResult.md +4 -2
  222. data/docs/Subscription.md +5 -5
  223. data/docs/SubscriptionsApi.md +27 -5
  224. data/docs/Tag.md +4 -4
  225. data/docs/TagsApi.md +18 -4
  226. data/docs/Template.md +22 -0
  227. data/docs/TemplateContentItem.md +20 -0
  228. data/docs/TemplateInput.md +20 -0
  229. data/docs/TemplateInputContentInner.md +20 -0
  230. data/docs/TemplatesApi.md +372 -0
  231. data/docs/UpdateMediaRequest.md +6 -2
  232. data/docs/{UploadChunk200Response.md → UploadChunk201Response.md} +2 -2
  233. data/docs/User.md +7 -5
  234. data/docs/UsersApi.md +15 -1
  235. data/docs/WebhookEventName.md +15 -0
  236. data/docs/WebhookEventPayload.md +20 -0
  237. data/docs/WebhookSubscription.md +28 -0
  238. data/docs/WebhookSubscriptionInput.md +24 -0
  239. data/docs/WebhooksApi.md +221 -0
  240. data/docs/Workspace.md +8 -6
  241. data/docs/WorkspaceAgent.md +34 -0
  242. data/docs/WorkspaceAgentInput.md +26 -0
  243. data/docs/WorkspaceAgentSettings.md +26 -0
  244. data/docs/WorkspaceAgentUpdate.md +24 -0
  245. data/docs/WorkspaceInput.md +1 -1
  246. data/docs/WorkspacesApi.md +582 -3
  247. data/docs/XUsage.md +28 -0
  248. data/docs/XUsageCounter.md +20 -0
  249. data/lib/postboost/api/account_groups_api.rb +395 -0
  250. data/lib/postboost/api/accounts_api.rb +233 -4
  251. data/lib/postboost/api/activity_api.rb +97 -0
  252. data/lib/postboost/api/agents_api.rb +771 -0
  253. data/lib/postboost/api/ai_api.rb +884 -0
  254. data/lib/postboost/api/analytics_api.rb +910 -0
  255. data/lib/postboost/api/competitors_api.rb +300 -0
  256. data/lib/postboost/api/hashtag_groups_api.rb +395 -0
  257. data/lib/postboost/api/inbox_api.rb +789 -0
  258. data/lib/postboost/api/media_api.rb +496 -24
  259. data/lib/postboost/api/mentions_api.rb +397 -0
  260. data/lib/postboost/api/posting_schedule_api.rb +389 -0
  261. data/lib/postboost/api/posts_api.rb +1321 -104
  262. data/lib/postboost/api/receipts_api.rb +17 -2
  263. data/lib/postboost/api/subscriptions_api.rb +28 -3
  264. data/lib/postboost/api/tags_api.rb +23 -2
  265. data/lib/postboost/api/templates_api.rb +395 -0
  266. data/lib/postboost/api/users_api.rb +17 -2
  267. data/lib/postboost/api/webhooks_api.rb +228 -0
  268. data/lib/postboost/api/workspaces_api.rb +545 -2
  269. data/lib/postboost/api_client.rb +2 -2
  270. data/lib/postboost/api_error.rb +2 -2
  271. data/lib/postboost/configuration.rb +2 -2
  272. data/lib/postboost/models/account.rb +145 -4
  273. data/lib/postboost/models/account_analytics.rb +308 -0
  274. data/lib/postboost/models/account_analytics_initial_sync.rb +231 -0
  275. data/lib/postboost/models/account_connection_health.rb +389 -0
  276. data/lib/postboost/models/account_errors_inner.rb +105 -0
  277. data/lib/postboost/models/account_errors_inner_one_of.rb +243 -0
  278. data/lib/postboost/models/account_group.rb +271 -0
  279. data/lib/postboost/models/account_group_input.rb +252 -0
  280. data/lib/postboost/models/account_health.rb +352 -0
  281. data/lib/postboost/models/account_health_daily_cap.rb +239 -0
  282. data/lib/postboost/models/account_schedule.rb +255 -0
  283. data/lib/postboost/models/add_competitor202_response.rb +271 -0
  284. data/lib/postboost/models/add_competitor409_response.rb +223 -0
  285. data/lib/postboost/models/add_generic_subscription_request.rb +2 -2
  286. data/lib/postboost/models/add_post_to_queue_request.rb +215 -0
  287. data/lib/postboost/models/agent_page_meta.rb +269 -0
  288. data/lib/postboost/models/agent_proposal.rb +444 -0
  289. data/lib/postboost/models/agent_proposal_decision.rb +233 -0
  290. data/lib/postboost/models/agent_run.rb +434 -0
  291. data/lib/postboost/models/ai_credits.rb +256 -0
  292. data/lib/postboost/models/ai_usage.rb +237 -0
  293. data/lib/postboost/models/ai_usage_text.rb +252 -0
  294. data/lib/postboost/models/analytics_period.rb +270 -0
  295. data/lib/postboost/models/analytics_summary.rb +237 -0
  296. data/lib/postboost/models/analytics_summary_data.rb +327 -0
  297. data/lib/postboost/models/api_activity.rb +359 -0
  298. data/lib/postboost/models/api_activity_outcome.rb +49 -0
  299. data/lib/postboost/models/api_key.rb +308 -0
  300. data/lib/postboost/models/api_key_ability.rb +43 -0
  301. data/lib/postboost/models/api_key_input.rb +316 -0
  302. data/lib/postboost/models/approve_agent_proposal200_response.rb +221 -0
  303. data/lib/postboost/models/approve_agent_proposal409_response.rb +237 -0
  304. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +264 -0
  305. data/lib/postboost/models/approve_post_request.rb +247 -0
  306. data/lib/postboost/models/best_posting_times.rb +240 -0
  307. data/lib/postboost/models/best_posting_times_times_inner.rb +269 -0
  308. data/lib/postboost/models/blog_to_social200_response.rb +223 -0
  309. data/lib/postboost/models/blog_to_social429_response.rb +214 -0
  310. data/lib/postboost/models/blog_to_social_caption.rb +265 -0
  311. data/lib/postboost/models/blog_to_social_input.rb +548 -0
  312. data/lib/postboost/models/blog_to_social_media.rb +226 -0
  313. data/lib/postboost/models/blog_to_social_response.rb +276 -0
  314. data/lib/postboost/models/brand_voice.rb +531 -0
  315. data/lib/postboost/models/brand_voice_input.rb +646 -0
  316. data/lib/postboost/models/brand_voice_meta.rb +222 -0
  317. data/lib/postboost/models/cancel_subscription422_response.rb +223 -0
  318. data/lib/postboost/models/cancel_subscription422_response_errors.rb +216 -0
  319. data/lib/postboost/models/cancel_subscription_request.rb +217 -0
  320. data/lib/postboost/models/change_subscription_plan_request.rb +2 -2
  321. data/lib/postboost/models/channel_account.rb +380 -0
  322. data/lib/postboost/models/checkout_subscription200_response.rb +2 -2
  323. data/lib/postboost/models/checkout_subscription_request.rb +2 -2
  324. data/lib/postboost/models/coded_error.rb +242 -0
  325. data/lib/postboost/models/competitor.rb +320 -0
  326. data/lib/postboost/models/competitor_detail.rb +358 -0
  327. data/lib/postboost/models/competitor_input.rb +258 -0
  328. data/lib/postboost/models/competitor_media.rb +263 -0
  329. data/lib/postboost/models/competitor_snapshot.rb +234 -0
  330. data/lib/postboost/models/complete_chunked_upload_request.rb +243 -0
  331. data/lib/postboost/models/connect_channel_input.rb +265 -0
  332. data/lib/postboost/models/create_account_group201_response.rb +221 -0
  333. data/lib/postboost/models/create_agent201_response.rb +221 -0
  334. data/lib/postboost/models/create_api_key201_response.rb +221 -0
  335. data/lib/postboost/models/create_api_key201_response_data.rb +327 -0
  336. data/lib/postboost/models/create_hashtag_group201_response.rb +221 -0
  337. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +221 -0
  338. data/lib/postboost/models/create_media_folder_request.rb +258 -0
  339. data/lib/postboost/models/create_mention201_response.rb +214 -0
  340. data/lib/postboost/models/create_recycling_rule201_response.rb +221 -0
  341. data/lib/postboost/models/create_report_export201_response.rb +221 -0
  342. data/lib/postboost/models/create_reseller_client201_response.rb +221 -0
  343. data/lib/postboost/models/create_rss_feed201_response.rb +221 -0
  344. data/lib/postboost/models/create_template201_response.rb +221 -0
  345. data/lib/postboost/models/create_webhook_subscription201_response.rb +221 -0
  346. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +320 -0
  347. data/lib/postboost/models/delete_agent200_response.rb +221 -0
  348. data/lib/postboost/models/delete_media_bulk_request.rb +23 -4
  349. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +105 -0
  350. data/lib/postboost/models/delete_media_folder_request.rb +216 -0
  351. data/lib/postboost/models/delete_mode.rb +2 -2
  352. data/lib/postboost/models/delete_post_request.rb +2 -2
  353. data/lib/postboost/models/delete_posts_bulk_request.rb +2 -2
  354. data/lib/postboost/models/delete_receipts_bulk_request.rb +2 -2
  355. data/lib/postboost/models/delete_result.rb +23 -2
  356. data/lib/postboost/models/delete_user400_response.rb +2 -2
  357. data/lib/postboost/models/delete_users_bulk_request.rb +2 -2
  358. data/lib/postboost/models/delete_workspaces_bulk_request.rb +2 -2
  359. data/lib/postboost/models/get_account_health200_response.rb +223 -0
  360. data/lib/postboost/models/get_brand_voice200_response.rb +217 -0
  361. data/lib/postboost/models/get_competitor200_response.rb +221 -0
  362. data/lib/postboost/models/get_inbox_conversation200_response.rb +221 -0
  363. data/lib/postboost/models/get_posting_schedule200_response.rb +221 -0
  364. data/lib/postboost/models/get_remote_upload_status200_response.rb +2 -2
  365. data/lib/postboost/models/get_report_branding200_response.rb +221 -0
  366. data/lib/postboost/models/guardrail_error.rb +304 -0
  367. data/lib/postboost/models/hashtag_group.rb +254 -0
  368. data/lib/postboost/models/hashtag_group_input.rb +275 -0
  369. data/lib/postboost/models/image_alt_text200_response.rb +221 -0
  370. data/lib/postboost/models/image_alt_text_input.rb +221 -0
  371. data/lib/postboost/models/image_alt_text_response.rb +262 -0
  372. data/lib/postboost/models/image_credit_balance.rb +295 -0
  373. data/lib/postboost/models/image_edit_input.rb +387 -0
  374. data/lib/postboost/models/image_generate200_response.rb +230 -0
  375. data/lib/postboost/models/image_generate429_response.rb +214 -0
  376. data/lib/postboost/models/image_generate_input.rb +479 -0
  377. data/lib/postboost/models/image_generation_response.rb +305 -0
  378. data/lib/postboost/models/image_prompt200_response.rb +230 -0
  379. data/lib/postboost/models/image_prompt429_response.rb +214 -0
  380. data/lib/postboost/models/image_prompt_input.rb +377 -0
  381. data/lib/postboost/models/image_prompt_response.rb +221 -0
  382. data/lib/postboost/models/image_variations200_response.rb +221 -0
  383. data/lib/postboost/models/image_variations_input.rb +328 -0
  384. data/lib/postboost/models/image_variations_response.rb +280 -0
  385. data/lib/postboost/models/inbox_author.rb +235 -0
  386. data/lib/postboost/models/inbox_conversation.rb +425 -0
  387. data/lib/postboost/models/inbox_conversation_account.rb +241 -0
  388. data/lib/postboost/models/inbox_conversation_update.rb +257 -0
  389. data/lib/postboost/models/inbox_message.rb +360 -0
  390. data/lib/postboost/models/inbox_message_author.rb +235 -0
  391. data/lib/postboost/models/inbox_reply_draft.rb +410 -0
  392. data/lib/postboost/models/inbox_reply_draft_approve.rb +215 -0
  393. data/lib/postboost/models/inbox_reply_draft_edit.rb +221 -0
  394. data/lib/postboost/models/inbox_reply_draft_input.rb +232 -0
  395. data/lib/postboost/models/{initiate_chunked_upload200_response.rb → initiate_chunked_upload201_response.rb} +5 -5
  396. data/lib/postboost/models/initiate_chunked_upload_request.rb +2 -2
  397. data/lib/postboost/models/{initiate_remote_upload200_response.rb → initiate_remote_upload201_response.rb} +4 -4
  398. data/lib/postboost/models/{initiate_remote_upload200_response_one_of.rb → initiate_remote_upload201_response_one_of.rb} +5 -5
  399. data/lib/postboost/models/initiate_remote_upload_request.rb +16 -6
  400. data/lib/postboost/models/learn_brand_voice_input.rb +300 -0
  401. data/lib/postboost/models/learn_brand_voice_response.rb +237 -0
  402. data/lib/postboost/models/learn_brand_voice_response_meta.rb +281 -0
  403. data/lib/postboost/models/list_account_groups200_response.rb +248 -0
  404. data/lib/postboost/models/list_accounts200_response.rb +2 -2
  405. data/lib/postboost/models/list_agent_proposals200_response.rb +239 -0
  406. data/lib/postboost/models/list_agent_runs200_response.rb +239 -0
  407. data/lib/postboost/models/list_agents200_response.rb +223 -0
  408. data/lib/postboost/models/list_api_activity200_response.rb +241 -0
  409. data/lib/postboost/models/list_api_keys200_response.rb +223 -0
  410. data/lib/postboost/models/list_competitors200_response.rb +223 -0
  411. data/lib/postboost/models/list_hashtag_groups200_response.rb +248 -0
  412. data/lib/postboost/models/list_inbox_conversations200_response.rb +241 -0
  413. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +241 -0
  414. data/lib/postboost/models/list_media200_response.rb +2 -2
  415. data/lib/postboost/models/list_media_folders200_response.rb +216 -0
  416. data/lib/postboost/models/list_mentions200_response.rb +241 -0
  417. data/lib/postboost/models/list_my_workspaces200_response.rb +216 -0
  418. data/lib/postboost/models/list_posts200_response.rb +2 -2
  419. data/lib/postboost/models/list_receipts200_response.rb +2 -2
  420. data/lib/postboost/models/list_recycling_rules200_response.rb +223 -0
  421. data/lib/postboost/models/list_recycling_runs200_response.rb +223 -0
  422. data/lib/postboost/models/list_report_exports200_response.rb +223 -0
  423. data/lib/postboost/models/list_reseller_clients200_response.rb +239 -0
  424. data/lib/postboost/models/list_rss_feeds200_response.rb +223 -0
  425. data/lib/postboost/models/list_tags200_response.rb +2 -2
  426. data/lib/postboost/models/list_templates200_response.rb +248 -0
  427. data/lib/postboost/models/list_users200_response.rb +2 -2
  428. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +223 -0
  429. data/lib/postboost/models/list_workspaces200_response.rb +2 -2
  430. data/lib/postboost/models/media.rb +128 -3
  431. data/lib/postboost/models/media_base64_input.rb +295 -0
  432. data/lib/postboost/models/media_folder.rb +271 -0
  433. data/lib/postboost/models/media_folder_input.rb +244 -0
  434. data/lib/postboost/models/media_folder_ref.rb +237 -0
  435. data/lib/postboost/models/mention.rb +290 -0
  436. data/lib/postboost/models/mention_identity.rb +257 -0
  437. data/lib/postboost/models/mention_identity_input.rb +325 -0
  438. data/lib/postboost/models/mention_input.rb +279 -0
  439. data/lib/postboost/models/message_only.rb +221 -0
  440. data/lib/postboost/models/pagination_meta.rb +2 -2
  441. data/lib/postboost/models/pagination_meta_links.rb +4 -2
  442. data/lib/postboost/models/pagination_meta_meta.rb +4 -2
  443. data/lib/postboost/models/poll_rss_feed200_response.rb +255 -0
  444. data/lib/postboost/models/post.rb +69 -3
  445. data/lib/postboost/models/post_analytics.rb +252 -0
  446. data/lib/postboost/models/post_content.rb +4 -3
  447. data/lib/postboost/models/post_input.rb +41 -6
  448. data/lib/postboost/models/post_options_instagram.rb +294 -0
  449. data/lib/postboost/models/post_options_tik_tok.rb +329 -0
  450. data/lib/postboost/models/post_options_youtube.rb +302 -0
  451. data/lib/postboost/models/post_status.rb +6 -3
  452. data/lib/postboost/models/post_version.rb +53 -5
  453. data/lib/postboost/models/post_version_options.rb +242 -0
  454. data/lib/postboost/models/posting_schedule.rb +303 -0
  455. data/lib/postboost/models/posting_schedule_day.rb +285 -0
  456. data/lib/postboost/models/posting_schedule_day_times_inner.rb +222 -0
  457. data/lib/postboost/models/posting_schedule_input.rb +312 -0
  458. data/lib/postboost/models/posting_time_slot.rb +315 -0
  459. data/lib/postboost/models/posting_times.rb +362 -0
  460. data/lib/postboost/models/posting_times_best_inner.rb +269 -0
  461. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +370 -0
  462. data/lib/postboost/models/posting_times_days_inner.rb +366 -0
  463. data/lib/postboost/models/preflight_result.rb +291 -0
  464. data/lib/postboost/models/public_workspace.rb +262 -0
  465. data/lib/postboost/models/public_workspace_pivot.rb +267 -0
  466. data/lib/postboost/models/publish_progress.rb +254 -0
  467. data/lib/postboost/models/queue_slots.rb +237 -0
  468. data/lib/postboost/models/receipt.rb +58 -2
  469. data/lib/postboost/models/receipt_input.rb +2 -2
  470. data/lib/postboost/models/receipt_update_input.rb +2 -2
  471. data/lib/postboost/models/recommended_posting_times.rb +282 -0
  472. data/lib/postboost/models/reconnect_link.rb +254 -0
  473. data/lib/postboost/models/recycling_rule.rb +434 -0
  474. data/lib/postboost/models/recycling_rule_input.rb +435 -0
  475. data/lib/postboost/models/recycling_rule_settings.rb +381 -0
  476. data/lib/postboost/models/recycling_rule_update.rb +366 -0
  477. data/lib/postboost/models/recycling_run.rb +320 -0
  478. data/lib/postboost/models/remove_generic_subscription422_response.rb +214 -0
  479. data/lib/postboost/models/remove_user_from_workspace_request.rb +2 -2
  480. data/lib/postboost/models/report_branding.rb +285 -0
  481. data/lib/postboost/models/report_branding_input.rb +293 -0
  482. data/lib/postboost/models/report_export.rb +442 -0
  483. data/lib/postboost/models/report_export_input.rb +350 -0
  484. data/lib/postboost/models/repurpose_content200_response.rb +237 -0
  485. data/lib/postboost/models/repurpose_input.rb +667 -0
  486. data/lib/postboost/models/repurpose_input_theme.rb +296 -0
  487. data/lib/postboost/models/repurpose_result.rb +328 -0
  488. data/lib/postboost/models/repurpose_result_media.rb +224 -0
  489. data/lib/postboost/models/repurpose_result_source.rb +283 -0
  490. data/lib/postboost/models/repurpose_slide.rb +239 -0
  491. data/lib/postboost/models/reseller_client.rb +360 -0
  492. data/lib/postboost/models/reseller_client_input.rb +240 -0
  493. data/lib/postboost/models/reseller_client_usage.rb +239 -0
  494. data/lib/postboost/models/retry_post_account_result.rb +275 -0
  495. data/lib/postboost/models/rss_feed.rb +402 -0
  496. data/lib/postboost/models/rss_feed_input.rb +433 -0
  497. data/lib/postboost/models/rss_feed_update.rb +396 -0
  498. data/lib/postboost/models/run_agent202_response.rb +221 -0
  499. data/lib/postboost/models/schedule_post_request.rb +48 -6
  500. data/lib/postboost/models/schedule_result.rb +23 -6
  501. data/lib/postboost/models/subscription.rb +37 -2
  502. data/lib/postboost/models/subscription_input.rb +2 -2
  503. data/lib/postboost/models/subscription_status.rb +2 -2
  504. data/lib/postboost/models/subscription_update_input.rb +2 -2
  505. data/lib/postboost/models/tag.rb +30 -2
  506. data/lib/postboost/models/tag_input.rb +2 -2
  507. data/lib/postboost/models/template.rb +256 -0
  508. data/lib/postboost/models/template_content_item.rb +240 -0
  509. data/lib/postboost/models/template_input.rb +271 -0
  510. data/lib/postboost/models/template_input_content_inner.rb +227 -0
  511. data/lib/postboost/models/update_media_request.rb +61 -11
  512. data/lib/postboost/models/{upload_chunk200_response.rb → upload_chunk201_response.rb} +5 -5
  513. data/lib/postboost/models/user.rb +48 -3
  514. data/lib/postboost/models/user_input.rb +2 -2
  515. data/lib/postboost/models/user_update_input.rb +2 -2
  516. data/lib/postboost/models/webhook_event_name.rb +50 -0
  517. data/lib/postboost/models/webhook_event_payload.rb +262 -0
  518. data/lib/postboost/models/webhook_subscription.rb +297 -0
  519. data/lib/postboost/models/webhook_subscription_input.rb +349 -0
  520. data/lib/postboost/models/workspace.rb +42 -3
  521. data/lib/postboost/models/workspace_agent.rb +381 -0
  522. data/lib/postboost/models/workspace_agent_input.rb +326 -0
  523. data/lib/postboost/models/workspace_agent_settings.rb +340 -0
  524. data/lib/postboost/models/workspace_agent_update.rb +294 -0
  525. data/lib/postboost/models/workspace_input.rb +3 -9
  526. data/lib/postboost/models/workspace_user_input.rb +2 -2
  527. data/lib/postboost/models/x_usage.rb +303 -0
  528. data/lib/postboost/models/x_usage_counter.rb +234 -0
  529. data/lib/postboost/version.rb +3 -3
  530. data/lib/postboost.rb +219 -6
  531. data/postboost.gemspec +3 -3
  532. data/spec/api/account_groups_api_spec.rb +102 -0
  533. data/spec/api/accounts_api_spec.rb +46 -3
  534. data/spec/api/activity_api_spec.rb +51 -0
  535. data/spec/api/agents_api_spec.rb +170 -0
  536. data/spec/api/ai_api_spec.rb +189 -0
  537. data/spec/api/analytics_api_spec.rb +201 -0
  538. data/spec/api/competitors_api_spec.rb +87 -0
  539. data/spec/api/hashtag_groups_api_spec.rb +102 -0
  540. data/spec/api/inbox_api_spec.rb +178 -0
  541. data/spec/api/media_api_spec.rb +92 -11
  542. data/spec/api/mentions_api_spec.rb +104 -0
  543. data/spec/api/posting_schedule_api_spec.rb +102 -0
  544. data/spec/api/posts_api_spec.rb +224 -6
  545. data/spec/api/receipts_api_spec.rb +9 -2
  546. data/spec/api/subscriptions_api_spec.rb +12 -2
  547. data/spec/api/tags_api_spec.rb +8 -2
  548. data/spec/api/templates_api_spec.rb +102 -0
  549. data/spec/api/users_api_spec.rb +9 -2
  550. data/spec/api/webhooks_api_spec.rb +73 -0
  551. data/spec/api/workspaces_api_spec.rb +108 -2
  552. data/spec/models/account_analytics_initial_sync_spec.rb +42 -0
  553. data/spec/models/account_analytics_spec.rb +66 -0
  554. data/spec/models/account_connection_health_spec.rb +92 -0
  555. data/spec/models/account_errors_inner_one_of_spec.rb +54 -0
  556. data/spec/models/account_errors_inner_spec.rb +32 -0
  557. data/spec/models/account_group_input_spec.rb +42 -0
  558. data/spec/models/account_group_spec.rb +54 -0
  559. data/spec/models/account_health_daily_cap_spec.rb +42 -0
  560. data/spec/models/account_health_spec.rb +84 -0
  561. data/spec/models/account_schedule_spec.rb +48 -0
  562. data/spec/models/account_spec.rb +36 -2
  563. data/spec/models/add_competitor202_response_spec.rb +46 -0
  564. data/spec/models/add_competitor409_response_spec.rb +42 -0
  565. data/spec/models/add_generic_subscription_request_spec.rb +2 -2
  566. data/spec/models/add_post_to_queue_request_spec.rb +36 -0
  567. data/spec/models/agent_page_meta_spec.rb +54 -0
  568. data/spec/models/agent_proposal_decision_spec.rb +36 -0
  569. data/spec/models/agent_proposal_spec.rb +126 -0
  570. data/spec/models/agent_run_spec.rb +122 -0
  571. data/spec/models/ai_credits_spec.rb +48 -0
  572. data/spec/models/ai_usage_spec.rb +42 -0
  573. data/spec/models/ai_usage_text_spec.rb +54 -0
  574. data/spec/models/analytics_period_spec.rb +54 -0
  575. data/spec/models/analytics_summary_data_spec.rb +96 -0
  576. data/spec/models/analytics_summary_spec.rb +42 -0
  577. data/spec/models/api_activity_outcome_spec.rb +30 -0
  578. data/spec/models/api_activity_spec.rb +90 -0
  579. data/spec/models/api_key_ability_spec.rb +30 -0
  580. data/spec/models/api_key_input_spec.rb +54 -0
  581. data/spec/models/api_key_spec.rb +78 -0
  582. data/spec/models/approve_agent_proposal200_response_spec.rb +36 -0
  583. data/spec/models/approve_agent_proposal409_response_spec.rb +42 -0
  584. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +46 -0
  585. data/spec/models/approve_post_request_spec.rb +54 -0
  586. data/spec/models/best_posting_times_spec.rb +42 -0
  587. data/spec/models/best_posting_times_times_inner_spec.rb +54 -0
  588. data/spec/models/blog_to_social200_response_spec.rb +42 -0
  589. data/spec/models/blog_to_social429_response_spec.rb +36 -0
  590. data/spec/models/blog_to_social_caption_spec.rb +66 -0
  591. data/spec/models/blog_to_social_input_spec.rb +134 -0
  592. data/spec/models/blog_to_social_media_spec.rb +42 -0
  593. data/spec/models/blog_to_social_response_spec.rb +72 -0
  594. data/spec/models/brand_voice_input_spec.rb +128 -0
  595. data/spec/models/brand_voice_meta_spec.rb +36 -0
  596. data/spec/models/brand_voice_spec.rb +134 -0
  597. data/spec/models/cancel_subscription422_response_errors_spec.rb +36 -0
  598. data/spec/models/cancel_subscription422_response_spec.rb +42 -0
  599. data/spec/models/cancel_subscription_request_spec.rb +36 -0
  600. data/spec/models/change_subscription_plan_request_spec.rb +2 -2
  601. data/spec/models/channel_account_spec.rb +94 -0
  602. data/spec/models/checkout_subscription200_response_spec.rb +2 -2
  603. data/spec/models/checkout_subscription_request_spec.rb +2 -2
  604. data/spec/models/coded_error_spec.rb +48 -0
  605. data/spec/models/competitor_detail_spec.rb +96 -0
  606. data/spec/models/competitor_input_spec.rb +42 -0
  607. data/spec/models/competitor_media_spec.rb +66 -0
  608. data/spec/models/competitor_snapshot_spec.rb +48 -0
  609. data/spec/models/competitor_spec.rb +84 -0
  610. data/spec/models/complete_chunked_upload_request_spec.rb +42 -0
  611. data/spec/models/connect_channel_input_spec.rb +54 -0
  612. data/spec/models/create_account_group201_response_spec.rb +36 -0
  613. data/spec/models/create_agent201_response_spec.rb +36 -0
  614. data/spec/models/create_api_key201_response_data_spec.rb +84 -0
  615. data/spec/models/create_api_key201_response_spec.rb +36 -0
  616. data/spec/models/create_hashtag_group201_response_spec.rb +36 -0
  617. data/spec/models/create_inbox_reply_draft201_response_spec.rb +36 -0
  618. data/spec/models/create_media_folder_request_spec.rb +42 -0
  619. data/spec/models/create_mention201_response_spec.rb +36 -0
  620. data/spec/models/create_recycling_rule201_response_spec.rb +36 -0
  621. data/spec/models/create_report_export201_response_spec.rb +36 -0
  622. data/spec/models/create_reseller_client201_response_spec.rb +36 -0
  623. data/spec/models/create_rss_feed201_response_spec.rb +36 -0
  624. data/spec/models/create_template201_response_spec.rb +36 -0
  625. data/spec/models/create_webhook_subscription201_response_data_spec.rb +72 -0
  626. data/spec/models/create_webhook_subscription201_response_spec.rb +36 -0
  627. data/spec/models/delete_agent200_response_spec.rb +36 -0
  628. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +32 -0
  629. data/spec/models/delete_media_bulk_request_spec.rb +2 -2
  630. data/spec/models/delete_media_folder_request_spec.rb +36 -0
  631. data/spec/models/delete_mode_spec.rb +2 -2
  632. data/spec/models/delete_post_request_spec.rb +2 -2
  633. data/spec/models/delete_posts_bulk_request_spec.rb +2 -2
  634. data/spec/models/delete_receipts_bulk_request_spec.rb +2 -2
  635. data/spec/models/delete_result_spec.rb +2 -2
  636. data/spec/models/delete_user400_response_spec.rb +2 -2
  637. data/spec/models/delete_users_bulk_request_spec.rb +2 -2
  638. data/spec/models/delete_workspaces_bulk_request_spec.rb +2 -2
  639. data/spec/models/get_account_health200_response_spec.rb +36 -0
  640. data/spec/models/get_brand_voice200_response_spec.rb +36 -0
  641. data/spec/models/get_competitor200_response_spec.rb +36 -0
  642. data/spec/models/get_inbox_conversation200_response_spec.rb +36 -0
  643. data/spec/models/get_posting_schedule200_response_spec.rb +36 -0
  644. data/spec/models/get_remote_upload_status200_response_spec.rb +2 -2
  645. data/spec/models/get_report_branding200_response_spec.rb +36 -0
  646. data/spec/models/guardrail_error_spec.rb +70 -0
  647. data/spec/models/hashtag_group_input_spec.rb +42 -0
  648. data/spec/models/hashtag_group_spec.rb +48 -0
  649. data/spec/models/image_alt_text200_response_spec.rb +36 -0
  650. data/spec/models/image_alt_text_input_spec.rb +36 -0
  651. data/spec/models/image_alt_text_response_spec.rb +54 -0
  652. data/spec/models/image_credit_balance_spec.rb +66 -0
  653. data/spec/models/image_edit_input_spec.rb +80 -0
  654. data/spec/models/image_generate200_response_spec.rb +42 -0
  655. data/spec/models/image_generate429_response_spec.rb +36 -0
  656. data/spec/models/image_generate_input_spec.rb +108 -0
  657. data/spec/models/image_generation_response_spec.rb +72 -0
  658. data/spec/models/image_prompt200_response_spec.rb +42 -0
  659. data/spec/models/image_prompt429_response_spec.rb +36 -0
  660. data/spec/models/image_prompt_input_spec.rb +76 -0
  661. data/spec/models/image_prompt_response_spec.rb +36 -0
  662. data/spec/models/image_variations200_response_spec.rb +36 -0
  663. data/spec/models/image_variations_input_spec.rb +62 -0
  664. data/spec/models/image_variations_response_spec.rb +60 -0
  665. data/spec/models/inbox_author_spec.rb +48 -0
  666. data/spec/models/inbox_conversation_account_spec.rb +54 -0
  667. data/spec/models/inbox_conversation_spec.rb +128 -0
  668. data/spec/models/inbox_conversation_update_spec.rb +46 -0
  669. data/spec/models/inbox_message_author_spec.rb +48 -0
  670. data/spec/models/inbox_message_spec.rb +90 -0
  671. data/spec/models/inbox_reply_draft_approve_spec.rb +36 -0
  672. data/spec/models/inbox_reply_draft_edit_spec.rb +36 -0
  673. data/spec/models/inbox_reply_draft_input_spec.rb +42 -0
  674. data/spec/models/inbox_reply_draft_spec.rb +116 -0
  675. data/spec/models/initiate_chunked_upload201_response_spec.rb +48 -0
  676. data/spec/models/initiate_chunked_upload_request_spec.rb +2 -2
  677. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +36 -0
  678. data/spec/models/initiate_remote_upload201_response_spec.rb +32 -0
  679. data/spec/models/initiate_remote_upload_request_spec.rb +8 -2
  680. data/spec/models/learn_brand_voice_input_spec.rb +54 -0
  681. data/spec/models/learn_brand_voice_response_meta_spec.rb +60 -0
  682. data/spec/models/learn_brand_voice_response_spec.rb +42 -0
  683. data/spec/models/list_account_groups200_response_spec.rb +48 -0
  684. data/spec/models/list_accounts200_response_spec.rb +2 -2
  685. data/spec/models/list_agent_proposals200_response_spec.rb +42 -0
  686. data/spec/models/list_agent_runs200_response_spec.rb +42 -0
  687. data/spec/models/list_agents200_response_spec.rb +36 -0
  688. data/spec/models/list_api_activity200_response_spec.rb +48 -0
  689. data/spec/models/list_api_keys200_response_spec.rb +36 -0
  690. data/spec/models/list_competitors200_response_spec.rb +36 -0
  691. data/spec/models/list_hashtag_groups200_response_spec.rb +48 -0
  692. data/spec/models/list_inbox_conversations200_response_spec.rb +48 -0
  693. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +48 -0
  694. data/spec/models/list_media200_response_spec.rb +2 -2
  695. data/spec/models/list_media_folders200_response_spec.rb +36 -0
  696. data/spec/models/list_mentions200_response_spec.rb +48 -0
  697. data/spec/models/list_my_workspaces200_response_spec.rb +36 -0
  698. data/spec/models/list_posts200_response_spec.rb +2 -2
  699. data/spec/models/list_receipts200_response_spec.rb +2 -2
  700. data/spec/models/list_recycling_rules200_response_spec.rb +36 -0
  701. data/spec/models/list_recycling_runs200_response_spec.rb +36 -0
  702. data/spec/models/list_report_exports200_response_spec.rb +36 -0
  703. data/spec/models/list_reseller_clients200_response_spec.rb +42 -0
  704. data/spec/models/list_rss_feeds200_response_spec.rb +36 -0
  705. data/spec/models/list_tags200_response_spec.rb +2 -2
  706. data/spec/models/list_templates200_response_spec.rb +48 -0
  707. data/spec/models/list_users200_response_spec.rb +2 -2
  708. data/spec/models/list_webhook_subscriptions200_response_spec.rb +36 -0
  709. data/spec/models/list_workspaces200_response_spec.rb +2 -2
  710. data/spec/models/media_base64_input_spec.rb +54 -0
  711. data/spec/models/media_folder_input_spec.rb +42 -0
  712. data/spec/models/media_folder_ref_spec.rb +42 -0
  713. data/spec/models/media_folder_spec.rb +54 -0
  714. data/spec/models/media_spec.rb +44 -2
  715. data/spec/models/mention_identity_input_spec.rb +60 -0
  716. data/spec/models/mention_identity_spec.rb +54 -0
  717. data/spec/models/mention_input_spec.rb +48 -0
  718. data/spec/models/mention_spec.rb +66 -0
  719. data/spec/models/message_only_spec.rb +36 -0
  720. data/spec/models/pagination_meta_links_spec.rb +2 -2
  721. data/spec/models/pagination_meta_meta_spec.rb +2 -2
  722. data/spec/models/pagination_meta_spec.rb +2 -2
  723. data/spec/models/poll_rss_feed200_response_spec.rb +48 -0
  724. data/spec/models/post_analytics_spec.rb +48 -0
  725. data/spec/models/post_content_spec.rb +2 -2
  726. data/spec/models/post_input_spec.rb +20 -2
  727. data/spec/models/post_options_instagram_spec.rb +52 -0
  728. data/spec/models/post_options_tik_tok_spec.rb +88 -0
  729. data/spec/models/post_options_youtube_spec.rb +58 -0
  730. data/spec/models/post_spec.rb +8 -2
  731. data/spec/models/post_status_spec.rb +2 -2
  732. data/spec/models/post_version_options_spec.rb +54 -0
  733. data/spec/models/post_version_spec.rb +8 -2
  734. data/spec/models/posting_schedule_day_spec.rb +48 -0
  735. data/spec/models/posting_schedule_day_times_inner_spec.rb +36 -0
  736. data/spec/models/posting_schedule_input_spec.rb +54 -0
  737. data/spec/models/posting_schedule_spec.rb +66 -0
  738. data/spec/models/posting_time_slot_spec.rb +52 -0
  739. data/spec/models/posting_times_best_inner_spec.rb +54 -0
  740. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +70 -0
  741. data/spec/models/posting_times_days_inner_spec.rb +58 -0
  742. data/spec/models/posting_times_spec.rb +78 -0
  743. data/spec/models/preflight_result_spec.rb +60 -0
  744. data/spec/models/public_workspace_pivot_spec.rb +52 -0
  745. data/spec/models/public_workspace_spec.rb +54 -0
  746. data/spec/models/publish_progress_spec.rb +48 -0
  747. data/spec/models/queue_slots_spec.rb +42 -0
  748. data/spec/models/receipt_input_spec.rb +2 -2
  749. data/spec/models/receipt_spec.rb +2 -2
  750. data/spec/models/receipt_update_input_spec.rb +2 -2
  751. data/spec/models/recommended_posting_times_spec.rb +60 -0
  752. data/spec/models/reconnect_link_spec.rb +48 -0
  753. data/spec/models/recycling_rule_input_spec.rb +92 -0
  754. data/spec/models/recycling_rule_settings_spec.rb +70 -0
  755. data/spec/models/recycling_rule_spec.rb +116 -0
  756. data/spec/models/recycling_rule_update_spec.rb +70 -0
  757. data/spec/models/recycling_run_spec.rb +70 -0
  758. data/spec/models/remove_generic_subscription422_response_spec.rb +36 -0
  759. data/spec/models/remove_user_from_workspace_request_spec.rb +2 -2
  760. data/spec/models/report_branding_input_spec.rb +54 -0
  761. data/spec/models/report_branding_spec.rb +66 -0
  762. data/spec/models/report_export_input_spec.rb +78 -0
  763. data/spec/models/report_export_spec.rb +120 -0
  764. data/spec/models/repurpose_content200_response_spec.rb +42 -0
  765. data/spec/models/repurpose_input_spec.rb +164 -0
  766. data/spec/models/repurpose_input_theme_spec.rb +48 -0
  767. data/spec/models/repurpose_result_media_spec.rb +42 -0
  768. data/spec/models/repurpose_result_source_spec.rb +52 -0
  769. data/spec/models/repurpose_result_spec.rb +78 -0
  770. data/spec/models/repurpose_slide_spec.rb +42 -0
  771. data/spec/models/reseller_client_input_spec.rb +36 -0
  772. data/spec/models/reseller_client_spec.rb +82 -0
  773. data/spec/models/reseller_client_usage_spec.rb +42 -0
  774. data/spec/models/retry_post_account_result_spec.rb +48 -0
  775. data/spec/models/rss_feed_input_spec.rb +76 -0
  776. data/spec/models/rss_feed_spec.rb +100 -0
  777. data/spec/models/rss_feed_update_spec.rb +76 -0
  778. data/spec/models/run_agent202_response_spec.rb +36 -0
  779. data/spec/models/schedule_post_request_spec.rb +26 -2
  780. data/spec/models/schedule_result_spec.rb +8 -2
  781. data/spec/models/subscription_input_spec.rb +2 -2
  782. data/spec/models/subscription_spec.rb +2 -2
  783. data/spec/models/subscription_status_spec.rb +2 -2
  784. data/spec/models/subscription_update_input_spec.rb +2 -2
  785. data/spec/models/tag_input_spec.rb +2 -2
  786. data/spec/models/tag_spec.rb +2 -2
  787. data/spec/models/template_content_item_spec.rb +42 -0
  788. data/spec/models/template_input_content_inner_spec.rb +42 -0
  789. data/spec/models/template_input_spec.rb +42 -0
  790. data/spec/models/template_spec.rb +48 -0
  791. data/spec/models/update_media_request_spec.rb +14 -2
  792. data/spec/models/upload_chunk201_response_spec.rb +36 -0
  793. data/spec/models/user_input_spec.rb +2 -2
  794. data/spec/models/user_spec.rb +8 -2
  795. data/spec/models/user_update_input_spec.rb +2 -2
  796. data/spec/models/webhook_event_name_spec.rb +30 -0
  797. data/spec/models/webhook_event_payload_spec.rb +42 -0
  798. data/spec/models/webhook_subscription_input_spec.rb +58 -0
  799. data/spec/models/webhook_subscription_spec.rb +66 -0
  800. data/spec/models/workspace_agent_input_spec.rb +68 -0
  801. data/spec/models/workspace_agent_settings_spec.rb +60 -0
  802. data/spec/models/workspace_agent_spec.rb +92 -0
  803. data/spec/models/workspace_agent_update_spec.rb +58 -0
  804. data/spec/models/workspace_input_spec.rb +2 -2
  805. data/spec/models/workspace_spec.rb +8 -2
  806. data/spec/models/workspace_user_input_spec.rb +2 -2
  807. data/spec/models/x_usage_counter_spec.rb +42 -0
  808. data/spec/models/x_usage_spec.rb +66 -0
  809. data/spec/spec_helper.rb +2 -2
  810. metadata +943 -76
  811. data/git_push.sh +0 -57
  812. data/spec/models/initiate_chunked_upload200_response_spec.rb +0 -48
  813. data/spec/models/initiate_remote_upload200_response_one_of_spec.rb +0 -36
  814. data/spec/models/initiate_remote_upload200_response_spec.rb +0 -32
  815. data/spec/models/upload_chunk200_response_spec.rb +0 -36
@@ -0,0 +1,910 @@
1
+ =begin
2
+ #PostBoost API
3
+
4
+ #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
+
6
+ The version of the OpenAPI document: 1.14.0
7
+ Contact: hi@postboost.co
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module PostBoost
16
+ class AnalyticsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create a report export
23
+ # Generates a report for a period (default `last_month`) or a custom `date_from`/`date_to` range: a branded PDF (summary, accounts, top 10 posts; the header uses the report branding) or a CSV with one row per published post and account (`dataset: posts`, default) or per account (`dataset: accounts`). CSV files are UTF-8 with a byte order mark. At most 500 posts per report. The file is ready when the call returns; fetch it from `download_url` with the same token. Admins and members only; 20 per minute.
24
+ # @param workspace_uuid [String] UUID of the workspace.
25
+ # @param report_export_input [ReportExportInput]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [CreateReportExport201Response]
28
+ def create_report_export(workspace_uuid, report_export_input, opts = {})
29
+ data, _status_code, _headers = create_report_export_with_http_info(workspace_uuid, report_export_input, opts)
30
+ data
31
+ end
32
+
33
+ # Create a report export
34
+ # Generates a report for a period (default `last_month`) or a custom `date_from`/`date_to` range: a branded PDF (summary, accounts, top 10 posts; the header uses the report branding) or a CSV with one row per published post and account (`dataset: posts`, default) or per account (`dataset: accounts`). CSV files are UTF-8 with a byte order mark. At most 500 posts per report. The file is ready when the call returns; fetch it from `download_url` with the same token. Admins and members only; 20 per minute.
35
+ # @param workspace_uuid [String] UUID of the workspace.
36
+ # @param report_export_input [ReportExportInput]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(CreateReportExport201Response, Integer, Hash)>] CreateReportExport201Response data, response status code and response headers
39
+ def create_report_export_with_http_info(workspace_uuid, report_export_input, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.create_report_export ...'
42
+ end
43
+ # verify the required parameter 'workspace_uuid' is set
44
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
45
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.create_report_export"
46
+ end
47
+ # verify the required parameter 'report_export_input' is set
48
+ if @api_client.config.client_side_validation && report_export_input.nil?
49
+ fail ArgumentError, "Missing the required parameter 'report_export_input' when calling AnalyticsApi.create_report_export"
50
+ end
51
+ # resource path
52
+ local_var_path = '/{workspaceUuid}/reports/exports'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+ # HTTP header 'Content-Type'
62
+ content_type = @api_client.select_header_content_type(['application/json'])
63
+ if !content_type.nil?
64
+ header_params['Content-Type'] = content_type
65
+ end
66
+
67
+ # form parameters
68
+ form_params = opts[:form_params] || {}
69
+
70
+ # http body (model)
71
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(report_export_input)
72
+
73
+ # return_type
74
+ return_type = opts[:debug_return_type] || 'CreateReportExport201Response'
75
+
76
+ # auth_names
77
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
78
+
79
+ new_options = opts.merge(
80
+ :operation => :"AnalyticsApi.create_report_export",
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names,
86
+ :return_type => return_type
87
+ )
88
+
89
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug "API called: AnalyticsApi#create_report_export\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
92
+ end
93
+ return data, status_code, headers
94
+ end
95
+
96
+ # Download a report file
97
+ # The PDF or CSV file. `410` once it expired (7 days) or if the export failed.
98
+ # @param workspace_uuid [String] UUID of the workspace.
99
+ # @param export_uuid [String] UUID of the report export.
100
+ # @param [Hash] opts the optional parameters
101
+ # @return [File]
102
+ def download_report_export(workspace_uuid, export_uuid, opts = {})
103
+ data, _status_code, _headers = download_report_export_with_http_info(workspace_uuid, export_uuid, opts)
104
+ data
105
+ end
106
+
107
+ # Download a report file
108
+ # The PDF or CSV file. &#x60;410&#x60; once it expired (7 days) or if the export failed.
109
+ # @param workspace_uuid [String] UUID of the workspace.
110
+ # @param export_uuid [String] UUID of the report export.
111
+ # @param [Hash] opts the optional parameters
112
+ # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
113
+ def download_report_export_with_http_info(workspace_uuid, export_uuid, opts = {})
114
+ if @api_client.config.debugging
115
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.download_report_export ...'
116
+ end
117
+ # verify the required parameter 'workspace_uuid' is set
118
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
119
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.download_report_export"
120
+ end
121
+ # verify the required parameter 'export_uuid' is set
122
+ if @api_client.config.client_side_validation && export_uuid.nil?
123
+ fail ArgumentError, "Missing the required parameter 'export_uuid' when calling AnalyticsApi.download_report_export"
124
+ end
125
+ # resource path
126
+ local_var_path = '/{workspaceUuid}/reports/exports/{exportUuid}/download'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s)).sub('{' + 'exportUuid' + '}', CGI.escape(export_uuid.to_s))
127
+
128
+ # query parameters
129
+ query_params = opts[:query_params] || {}
130
+
131
+ # header parameters
132
+ header_params = opts[:header_params] || {}
133
+ # HTTP header 'Accept' (if needed)
134
+ header_params['Accept'] = @api_client.select_header_accept(['application/pdf', 'text/csv', 'application/json']) unless header_params['Accept']
135
+
136
+ # form parameters
137
+ form_params = opts[:form_params] || {}
138
+
139
+ # http body (model)
140
+ post_body = opts[:debug_body]
141
+
142
+ # return_type
143
+ return_type = opts[:debug_return_type] || 'File'
144
+
145
+ # auth_names
146
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
147
+
148
+ new_options = opts.merge(
149
+ :operation => :"AnalyticsApi.download_report_export",
150
+ :header_params => header_params,
151
+ :query_params => query_params,
152
+ :form_params => form_params,
153
+ :body => post_body,
154
+ :auth_names => auth_names,
155
+ :return_type => return_type
156
+ )
157
+
158
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
159
+ if @api_client.config.debugging
160
+ @api_client.config.logger.debug "API called: AnalyticsApi#download_report_export\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
161
+ end
162
+ return data, status_code, headers
163
+ end
164
+
165
+ # Get account analytics
166
+ # Analytics for one account. `type` selects one of the tabs the account supports (listed in `tabs` of the response); returns `422` when the account does not support analytics.
167
+ # @param workspace_uuid [String] UUID of the workspace.
168
+ # @param account_uuid [String] UUID of the social media account.
169
+ # @param [Hash] opts the optional parameters
170
+ # @option opts [String] :period Preset reporting period. Ignored when &#x60;date_from&#x60; and &#x60;date_to&#x60; are given. (default to 'this_month')
171
+ # @option opts [Date] :date_from Start of a custom range (Y-m-d). Required with &#x60;date_to&#x60;; the range may span at most 366 days.
172
+ # @option opts [Date] :date_to End of a custom range (Y-m-d). Required with &#x60;date_from&#x60;; must not be before it.
173
+ # @option opts [String] :type Analytics tab. Defaults to the account&#39;s default tab.
174
+ # @option opts [Integer] :page Page for list-style tabs (for example per-post metrics). (default to 1)
175
+ # @option opts [Integer] :per_page
176
+ # @option opts [String] :sort_by
177
+ # @option opts [String] :sort_dir (default to 'desc')
178
+ # @return [AccountAnalytics]
179
+ def get_account_analytics(workspace_uuid, account_uuid, opts = {})
180
+ data, _status_code, _headers = get_account_analytics_with_http_info(workspace_uuid, account_uuid, opts)
181
+ data
182
+ end
183
+
184
+ # Get account analytics
185
+ # Analytics for one account. &#x60;type&#x60; selects one of the tabs the account supports (listed in &#x60;tabs&#x60; of the response); returns &#x60;422&#x60; when the account does not support analytics.
186
+ # @param workspace_uuid [String] UUID of the workspace.
187
+ # @param account_uuid [String] UUID of the social media account.
188
+ # @param [Hash] opts the optional parameters
189
+ # @option opts [String] :period Preset reporting period. Ignored when &#x60;date_from&#x60; and &#x60;date_to&#x60; are given. (default to 'this_month')
190
+ # @option opts [Date] :date_from Start of a custom range (Y-m-d). Required with &#x60;date_to&#x60;; the range may span at most 366 days.
191
+ # @option opts [Date] :date_to End of a custom range (Y-m-d). Required with &#x60;date_from&#x60;; must not be before it.
192
+ # @option opts [String] :type Analytics tab. Defaults to the account&#39;s default tab.
193
+ # @option opts [Integer] :page Page for list-style tabs (for example per-post metrics). (default to 1)
194
+ # @option opts [Integer] :per_page
195
+ # @option opts [String] :sort_by
196
+ # @option opts [String] :sort_dir (default to 'desc')
197
+ # @return [Array<(AccountAnalytics, Integer, Hash)>] AccountAnalytics data, response status code and response headers
198
+ def get_account_analytics_with_http_info(workspace_uuid, account_uuid, opts = {})
199
+ if @api_client.config.debugging
200
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.get_account_analytics ...'
201
+ end
202
+ # verify the required parameter 'workspace_uuid' is set
203
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
204
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.get_account_analytics"
205
+ end
206
+ # verify the required parameter 'account_uuid' is set
207
+ if @api_client.config.client_side_validation && account_uuid.nil?
208
+ fail ArgumentError, "Missing the required parameter 'account_uuid' when calling AnalyticsApi.get_account_analytics"
209
+ end
210
+ allowable_values = ["this_week", "last_week", "this_month", "last_month", "last_3_months", "this_year"]
211
+ if @api_client.config.client_side_validation && opts[:'period'] && !allowable_values.include?(opts[:'period'])
212
+ fail ArgumentError, "invalid value for \"period\", must be one of #{allowable_values}"
213
+ end
214
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
215
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling AnalyticsApi.get_account_analytics, must be greater than or equal to 1.'
216
+ end
217
+
218
+ if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] > 50
219
+ fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling AnalyticsApi.get_account_analytics, must be smaller than or equal to 50.'
220
+ end
221
+
222
+ if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] < 1
223
+ fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling AnalyticsApi.get_account_analytics, must be greater than or equal to 1.'
224
+ end
225
+
226
+ if @api_client.config.client_side_validation && !opts[:'sort_by'].nil? && opts[:'sort_by'].to_s.length > 64
227
+ fail ArgumentError, 'invalid value for "opts[:"sort_by"]" when calling AnalyticsApi.get_account_analytics, the character length must be smaller than or equal to 64.'
228
+ end
229
+
230
+ allowable_values = ["asc", "desc"]
231
+ if @api_client.config.client_side_validation && opts[:'sort_dir'] && !allowable_values.include?(opts[:'sort_dir'])
232
+ fail ArgumentError, "invalid value for \"sort_dir\", must be one of #{allowable_values}"
233
+ end
234
+ # resource path
235
+ local_var_path = '/{workspaceUuid}/analytics/accounts/{accountUuid}'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s)).sub('{' + 'accountUuid' + '}', CGI.escape(account_uuid.to_s))
236
+
237
+ # query parameters
238
+ query_params = opts[:query_params] || {}
239
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
240
+ query_params[:'date_from'] = opts[:'date_from'] if !opts[:'date_from'].nil?
241
+ query_params[:'date_to'] = opts[:'date_to'] if !opts[:'date_to'].nil?
242
+ query_params[:'type'] = opts[:'type'] if !opts[:'type'].nil?
243
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
244
+ query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
245
+ query_params[:'sort_by'] = opts[:'sort_by'] if !opts[:'sort_by'].nil?
246
+ query_params[:'sort_dir'] = opts[:'sort_dir'] if !opts[:'sort_dir'].nil?
247
+
248
+ # header parameters
249
+ header_params = opts[:header_params] || {}
250
+ # HTTP header 'Accept' (if needed)
251
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
252
+
253
+ # form parameters
254
+ form_params = opts[:form_params] || {}
255
+
256
+ # http body (model)
257
+ post_body = opts[:debug_body]
258
+
259
+ # return_type
260
+ return_type = opts[:debug_return_type] || 'AccountAnalytics'
261
+
262
+ # auth_names
263
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
264
+
265
+ new_options = opts.merge(
266
+ :operation => :"AnalyticsApi.get_account_analytics",
267
+ :header_params => header_params,
268
+ :query_params => query_params,
269
+ :form_params => form_params,
270
+ :body => post_body,
271
+ :auth_names => auth_names,
272
+ :return_type => return_type
273
+ )
274
+
275
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
276
+ if @api_client.config.debugging
277
+ @api_client.config.logger.debug "API called: AnalyticsApi#get_account_analytics\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
278
+ end
279
+ return data, status_code, headers
280
+ end
281
+
282
+ # Get analytics summary
283
+ # Cross-platform summary (followers, growth, posts, leaderboard, posting streak) over every account that supports analytics, for a preset period or a custom date range.
284
+ # @param workspace_uuid [String] UUID of the workspace.
285
+ # @param [Hash] opts the optional parameters
286
+ # @option opts [String] :period Preset reporting period. Ignored when &#x60;date_from&#x60; and &#x60;date_to&#x60; are given. (default to 'this_month')
287
+ # @option opts [Date] :date_from Start of a custom range (Y-m-d). Required with &#x60;date_to&#x60;; the range may span at most 366 days.
288
+ # @option opts [Date] :date_to End of a custom range (Y-m-d). Required with &#x60;date_from&#x60;; must not be before it.
289
+ # @return [AnalyticsSummary]
290
+ def get_analytics_summary(workspace_uuid, opts = {})
291
+ data, _status_code, _headers = get_analytics_summary_with_http_info(workspace_uuid, opts)
292
+ data
293
+ end
294
+
295
+ # Get analytics summary
296
+ # Cross-platform summary (followers, growth, posts, leaderboard, posting streak) over every account that supports analytics, for a preset period or a custom date range.
297
+ # @param workspace_uuid [String] UUID of the workspace.
298
+ # @param [Hash] opts the optional parameters
299
+ # @option opts [String] :period Preset reporting period. Ignored when &#x60;date_from&#x60; and &#x60;date_to&#x60; are given. (default to 'this_month')
300
+ # @option opts [Date] :date_from Start of a custom range (Y-m-d). Required with &#x60;date_to&#x60;; the range may span at most 366 days.
301
+ # @option opts [Date] :date_to End of a custom range (Y-m-d). Required with &#x60;date_from&#x60;; must not be before it.
302
+ # @return [Array<(AnalyticsSummary, Integer, Hash)>] AnalyticsSummary data, response status code and response headers
303
+ def get_analytics_summary_with_http_info(workspace_uuid, opts = {})
304
+ if @api_client.config.debugging
305
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.get_analytics_summary ...'
306
+ end
307
+ # verify the required parameter 'workspace_uuid' is set
308
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
309
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.get_analytics_summary"
310
+ end
311
+ allowable_values = ["this_week", "last_week", "this_month", "last_month", "last_3_months", "this_year"]
312
+ if @api_client.config.client_side_validation && opts[:'period'] && !allowable_values.include?(opts[:'period'])
313
+ fail ArgumentError, "invalid value for \"period\", must be one of #{allowable_values}"
314
+ end
315
+ # resource path
316
+ local_var_path = '/{workspaceUuid}/analytics'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
317
+
318
+ # query parameters
319
+ query_params = opts[:query_params] || {}
320
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
321
+ query_params[:'date_from'] = opts[:'date_from'] if !opts[:'date_from'].nil?
322
+ query_params[:'date_to'] = opts[:'date_to'] if !opts[:'date_to'].nil?
323
+
324
+ # header parameters
325
+ header_params = opts[:header_params] || {}
326
+ # HTTP header 'Accept' (if needed)
327
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
328
+
329
+ # form parameters
330
+ form_params = opts[:form_params] || {}
331
+
332
+ # http body (model)
333
+ post_body = opts[:debug_body]
334
+
335
+ # return_type
336
+ return_type = opts[:debug_return_type] || 'AnalyticsSummary'
337
+
338
+ # auth_names
339
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
340
+
341
+ new_options = opts.merge(
342
+ :operation => :"AnalyticsApi.get_analytics_summary",
343
+ :header_params => header_params,
344
+ :query_params => query_params,
345
+ :form_params => form_params,
346
+ :body => post_body,
347
+ :auth_names => auth_names,
348
+ :return_type => return_type
349
+ )
350
+
351
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
352
+ if @api_client.config.debugging
353
+ @api_client.config.logger.debug "API called: AnalyticsApi#get_analytics_summary\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
354
+ end
355
+ return data, status_code, headers
356
+ end
357
+
358
+ # Get best posting times
359
+ # The next recommended date and time per account, on or after `from` (never in the past), within the next 14 days.
360
+ # @param workspace_uuid [String] UUID of the workspace.
361
+ # @param [Hash] opts the optional parameters
362
+ # @option opts [Array<String>] :accounts Account UUIDs. Defaults to every account in the workspace.
363
+ # @option opts [Date] :from Earliest date to recommend (Y-m-d). Defaults to now.
364
+ # @option opts [String] :timezone Timezone for &#x60;from&#x60; and the returned times. Defaults to the workspace timezone.
365
+ # @return [BestPostingTimes]
366
+ def get_best_posting_times(workspace_uuid, opts = {})
367
+ data, _status_code, _headers = get_best_posting_times_with_http_info(workspace_uuid, opts)
368
+ data
369
+ end
370
+
371
+ # Get best posting times
372
+ # The next recommended date and time per account, on or after &#x60;from&#x60; (never in the past), within the next 14 days.
373
+ # @param workspace_uuid [String] UUID of the workspace.
374
+ # @param [Hash] opts the optional parameters
375
+ # @option opts [Array<String>] :accounts Account UUIDs. Defaults to every account in the workspace.
376
+ # @option opts [Date] :from Earliest date to recommend (Y-m-d). Defaults to now.
377
+ # @option opts [String] :timezone Timezone for &#x60;from&#x60; and the returned times. Defaults to the workspace timezone.
378
+ # @return [Array<(BestPostingTimes, Integer, Hash)>] BestPostingTimes data, response status code and response headers
379
+ def get_best_posting_times_with_http_info(workspace_uuid, opts = {})
380
+ if @api_client.config.debugging
381
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.get_best_posting_times ...'
382
+ end
383
+ # verify the required parameter 'workspace_uuid' is set
384
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
385
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.get_best_posting_times"
386
+ end
387
+ # resource path
388
+ local_var_path = '/{workspaceUuid}/analytics/best-times'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
389
+
390
+ # query parameters
391
+ query_params = opts[:query_params] || {}
392
+ query_params[:'accounts[]'] = @api_client.build_collection_param(opts[:'accounts'], :multi) if !opts[:'accounts'].nil?
393
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
394
+ query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil?
395
+
396
+ # header parameters
397
+ header_params = opts[:header_params] || {}
398
+ # HTTP header 'Accept' (if needed)
399
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
400
+
401
+ # form parameters
402
+ form_params = opts[:form_params] || {}
403
+
404
+ # http body (model)
405
+ post_body = opts[:debug_body]
406
+
407
+ # return_type
408
+ return_type = opts[:debug_return_type] || 'BestPostingTimes'
409
+
410
+ # auth_names
411
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
412
+
413
+ new_options = opts.merge(
414
+ :operation => :"AnalyticsApi.get_best_posting_times",
415
+ :header_params => header_params,
416
+ :query_params => query_params,
417
+ :form_params => form_params,
418
+ :body => post_body,
419
+ :auth_names => auth_names,
420
+ :return_type => return_type
421
+ )
422
+
423
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
424
+ if @api_client.config.debugging
425
+ @api_client.config.logger.debug "API called: AnalyticsApi#get_best_posting_times\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
426
+ end
427
+ return data, status_code, headers
428
+ end
429
+
430
+ # Get post analytics
431
+ # Engagement metrics for a published post across its accounts (also works for trashed posts), with totals, trends and the best-performing account.
432
+ # @param workspace_uuid [String] UUID of the workspace.
433
+ # @param post_uuid [String] UUID of the post.
434
+ # @param [Hash] opts the optional parameters
435
+ # @return [PostAnalytics]
436
+ def get_post_analytics_0(workspace_uuid, post_uuid, opts = {})
437
+ data, _status_code, _headers = get_post_analytics_0_with_http_info(workspace_uuid, post_uuid, opts)
438
+ data
439
+ end
440
+
441
+ # Get post analytics
442
+ # Engagement metrics for a published post across its accounts (also works for trashed posts), with totals, trends and the best-performing account.
443
+ # @param workspace_uuid [String] UUID of the workspace.
444
+ # @param post_uuid [String] UUID of the post.
445
+ # @param [Hash] opts the optional parameters
446
+ # @return [Array<(PostAnalytics, Integer, Hash)>] PostAnalytics data, response status code and response headers
447
+ def get_post_analytics_0_with_http_info(workspace_uuid, post_uuid, opts = {})
448
+ if @api_client.config.debugging
449
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.get_post_analytics_0 ...'
450
+ end
451
+ # verify the required parameter 'workspace_uuid' is set
452
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
453
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.get_post_analytics_0"
454
+ end
455
+ # verify the required parameter 'post_uuid' is set
456
+ if @api_client.config.client_side_validation && post_uuid.nil?
457
+ fail ArgumentError, "Missing the required parameter 'post_uuid' when calling AnalyticsApi.get_post_analytics_0"
458
+ end
459
+ # resource path
460
+ local_var_path = '/{workspaceUuid}/posts/{postUuid}/analytics'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s)).sub('{' + 'postUuid' + '}', CGI.escape(post_uuid.to_s))
461
+
462
+ # query parameters
463
+ query_params = opts[:query_params] || {}
464
+
465
+ # header parameters
466
+ header_params = opts[:header_params] || {}
467
+ # HTTP header 'Accept' (if needed)
468
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
469
+
470
+ # form parameters
471
+ form_params = opts[:form_params] || {}
472
+
473
+ # http body (model)
474
+ post_body = opts[:debug_body]
475
+
476
+ # return_type
477
+ return_type = opts[:debug_return_type] || 'PostAnalytics'
478
+
479
+ # auth_names
480
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
481
+
482
+ new_options = opts.merge(
483
+ :operation => :"AnalyticsApi.get_post_analytics_0",
484
+ :header_params => header_params,
485
+ :query_params => query_params,
486
+ :form_params => form_params,
487
+ :body => post_body,
488
+ :auth_names => auth_names,
489
+ :return_type => return_type
490
+ )
491
+
492
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
493
+ if @api_client.config.debugging
494
+ @api_client.config.logger.debug "API called: AnalyticsApi#get_post_analytics_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
495
+ end
496
+ return data, status_code, headers
497
+ end
498
+
499
+ # Get posting times heatmap
500
+ # Engagement scores per weekday and hour, merged across the given accounts (all accounts when none is given), in the requested timezone. Also returns up to three recommended slots.
501
+ # @param workspace_uuid [String] UUID of the workspace.
502
+ # @param [Hash] opts the optional parameters
503
+ # @option opts [Array<String>] :accounts Account UUIDs. Defaults to every account in the workspace.
504
+ # @option opts [String] :timezone Timezone the grid is expressed in. Defaults to the workspace timezone.
505
+ # @return [PostingTimes]
506
+ def get_posting_times(workspace_uuid, opts = {})
507
+ data, _status_code, _headers = get_posting_times_with_http_info(workspace_uuid, opts)
508
+ data
509
+ end
510
+
511
+ # Get posting times heatmap
512
+ # Engagement scores per weekday and hour, merged across the given accounts (all accounts when none is given), in the requested timezone. Also returns up to three recommended slots.
513
+ # @param workspace_uuid [String] UUID of the workspace.
514
+ # @param [Hash] opts the optional parameters
515
+ # @option opts [Array<String>] :accounts Account UUIDs. Defaults to every account in the workspace.
516
+ # @option opts [String] :timezone Timezone the grid is expressed in. Defaults to the workspace timezone.
517
+ # @return [Array<(PostingTimes, Integer, Hash)>] PostingTimes data, response status code and response headers
518
+ def get_posting_times_with_http_info(workspace_uuid, opts = {})
519
+ if @api_client.config.debugging
520
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.get_posting_times ...'
521
+ end
522
+ # verify the required parameter 'workspace_uuid' is set
523
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
524
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.get_posting_times"
525
+ end
526
+ # resource path
527
+ local_var_path = '/{workspaceUuid}/analytics/posting-times'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
528
+
529
+ # query parameters
530
+ query_params = opts[:query_params] || {}
531
+ query_params[:'accounts[]'] = @api_client.build_collection_param(opts[:'accounts'], :multi) if !opts[:'accounts'].nil?
532
+ query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil?
533
+
534
+ # header parameters
535
+ header_params = opts[:header_params] || {}
536
+ # HTTP header 'Accept' (if needed)
537
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
538
+
539
+ # form parameters
540
+ form_params = opts[:form_params] || {}
541
+
542
+ # http body (model)
543
+ post_body = opts[:debug_body]
544
+
545
+ # return_type
546
+ return_type = opts[:debug_return_type] || 'PostingTimes'
547
+
548
+ # auth_names
549
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
550
+
551
+ new_options = opts.merge(
552
+ :operation => :"AnalyticsApi.get_posting_times",
553
+ :header_params => header_params,
554
+ :query_params => query_params,
555
+ :form_params => form_params,
556
+ :body => post_body,
557
+ :auth_names => auth_names,
558
+ :return_type => return_type
559
+ )
560
+
561
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
562
+ if @api_client.config.debugging
563
+ @api_client.config.logger.debug "API called: AnalyticsApi#get_posting_times\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
564
+ end
565
+ return data, status_code, headers
566
+ end
567
+
568
+ # Get the report branding
569
+ # The white-label header of the workspace's PDF reports. Unset fields are `null`; the workspace name is used then.
570
+ # @param workspace_uuid [String] UUID of the workspace.
571
+ # @param [Hash] opts the optional parameters
572
+ # @return [GetReportBranding200Response]
573
+ def get_report_branding(workspace_uuid, opts = {})
574
+ data, _status_code, _headers = get_report_branding_with_http_info(workspace_uuid, opts)
575
+ data
576
+ end
577
+
578
+ # Get the report branding
579
+ # The white-label header of the workspace&#39;s PDF reports. Unset fields are &#x60;null&#x60;; the workspace name is used then.
580
+ # @param workspace_uuid [String] UUID of the workspace.
581
+ # @param [Hash] opts the optional parameters
582
+ # @return [Array<(GetReportBranding200Response, Integer, Hash)>] GetReportBranding200Response data, response status code and response headers
583
+ def get_report_branding_with_http_info(workspace_uuid, opts = {})
584
+ if @api_client.config.debugging
585
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.get_report_branding ...'
586
+ end
587
+ # verify the required parameter 'workspace_uuid' is set
588
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
589
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.get_report_branding"
590
+ end
591
+ # resource path
592
+ local_var_path = '/{workspaceUuid}/report-branding'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
593
+
594
+ # query parameters
595
+ query_params = opts[:query_params] || {}
596
+
597
+ # header parameters
598
+ header_params = opts[:header_params] || {}
599
+ # HTTP header 'Accept' (if needed)
600
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
601
+
602
+ # form parameters
603
+ form_params = opts[:form_params] || {}
604
+
605
+ # http body (model)
606
+ post_body = opts[:debug_body]
607
+
608
+ # return_type
609
+ return_type = opts[:debug_return_type] || 'GetReportBranding200Response'
610
+
611
+ # auth_names
612
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
613
+
614
+ new_options = opts.merge(
615
+ :operation => :"AnalyticsApi.get_report_branding",
616
+ :header_params => header_params,
617
+ :query_params => query_params,
618
+ :form_params => form_params,
619
+ :body => post_body,
620
+ :auth_names => auth_names,
621
+ :return_type => return_type
622
+ )
623
+
624
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
625
+ if @api_client.config.debugging
626
+ @api_client.config.logger.debug "API called: AnalyticsApi#get_report_branding\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
627
+ end
628
+ return data, status_code, headers
629
+ end
630
+
631
+ # Get a report export
632
+ # @param workspace_uuid [String] UUID of the workspace.
633
+ # @param export_uuid [String] UUID of the report export.
634
+ # @param [Hash] opts the optional parameters
635
+ # @return [CreateReportExport201Response]
636
+ def get_report_export(workspace_uuid, export_uuid, opts = {})
637
+ data, _status_code, _headers = get_report_export_with_http_info(workspace_uuid, export_uuid, opts)
638
+ data
639
+ end
640
+
641
+ # Get a report export
642
+ # @param workspace_uuid [String] UUID of the workspace.
643
+ # @param export_uuid [String] UUID of the report export.
644
+ # @param [Hash] opts the optional parameters
645
+ # @return [Array<(CreateReportExport201Response, Integer, Hash)>] CreateReportExport201Response data, response status code and response headers
646
+ def get_report_export_with_http_info(workspace_uuid, export_uuid, opts = {})
647
+ if @api_client.config.debugging
648
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.get_report_export ...'
649
+ end
650
+ # verify the required parameter 'workspace_uuid' is set
651
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
652
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.get_report_export"
653
+ end
654
+ # verify the required parameter 'export_uuid' is set
655
+ if @api_client.config.client_side_validation && export_uuid.nil?
656
+ fail ArgumentError, "Missing the required parameter 'export_uuid' when calling AnalyticsApi.get_report_export"
657
+ end
658
+ # resource path
659
+ local_var_path = '/{workspaceUuid}/reports/exports/{exportUuid}'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s)).sub('{' + 'exportUuid' + '}', CGI.escape(export_uuid.to_s))
660
+
661
+ # query parameters
662
+ query_params = opts[:query_params] || {}
663
+
664
+ # header parameters
665
+ header_params = opts[:header_params] || {}
666
+ # HTTP header 'Accept' (if needed)
667
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
668
+
669
+ # form parameters
670
+ form_params = opts[:form_params] || {}
671
+
672
+ # http body (model)
673
+ post_body = opts[:debug_body]
674
+
675
+ # return_type
676
+ return_type = opts[:debug_return_type] || 'CreateReportExport201Response'
677
+
678
+ # auth_names
679
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
680
+
681
+ new_options = opts.merge(
682
+ :operation => :"AnalyticsApi.get_report_export",
683
+ :header_params => header_params,
684
+ :query_params => query_params,
685
+ :form_params => form_params,
686
+ :body => post_body,
687
+ :auth_names => auth_names,
688
+ :return_type => return_type
689
+ )
690
+
691
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
692
+ if @api_client.config.debugging
693
+ @api_client.config.logger.debug "API called: AnalyticsApi#get_report_export\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
694
+ end
695
+ return data, status_code, headers
696
+ end
697
+
698
+ # List report exports
699
+ # The workspace's latest 50 report exports, newest first. Files can be downloaded for 7 days.
700
+ # @param workspace_uuid [String] UUID of the workspace.
701
+ # @param [Hash] opts the optional parameters
702
+ # @return [ListReportExports200Response]
703
+ def list_report_exports(workspace_uuid, opts = {})
704
+ data, _status_code, _headers = list_report_exports_with_http_info(workspace_uuid, opts)
705
+ data
706
+ end
707
+
708
+ # List report exports
709
+ # The workspace&#39;s latest 50 report exports, newest first. Files can be downloaded for 7 days.
710
+ # @param workspace_uuid [String] UUID of the workspace.
711
+ # @param [Hash] opts the optional parameters
712
+ # @return [Array<(ListReportExports200Response, Integer, Hash)>] ListReportExports200Response data, response status code and response headers
713
+ def list_report_exports_with_http_info(workspace_uuid, opts = {})
714
+ if @api_client.config.debugging
715
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.list_report_exports ...'
716
+ end
717
+ # verify the required parameter 'workspace_uuid' is set
718
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
719
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.list_report_exports"
720
+ end
721
+ # resource path
722
+ local_var_path = '/{workspaceUuid}/reports/exports'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
723
+
724
+ # query parameters
725
+ query_params = opts[:query_params] || {}
726
+
727
+ # header parameters
728
+ header_params = opts[:header_params] || {}
729
+ # HTTP header 'Accept' (if needed)
730
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
731
+
732
+ # form parameters
733
+ form_params = opts[:form_params] || {}
734
+
735
+ # http body (model)
736
+ post_body = opts[:debug_body]
737
+
738
+ # return_type
739
+ return_type = opts[:debug_return_type] || 'ListReportExports200Response'
740
+
741
+ # auth_names
742
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
743
+
744
+ new_options = opts.merge(
745
+ :operation => :"AnalyticsApi.list_report_exports",
746
+ :header_params => header_params,
747
+ :query_params => query_params,
748
+ :form_params => form_params,
749
+ :body => post_body,
750
+ :auth_names => auth_names,
751
+ :return_type => return_type
752
+ )
753
+
754
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
755
+ if @api_client.config.debugging
756
+ @api_client.config.logger.debug "API called: AnalyticsApi#list_report_exports\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
757
+ end
758
+ return data, status_code, headers
759
+ end
760
+
761
+ # Update the report branding
762
+ # Name, colour and footer of PDF reports. Fields you leave out keep their value. Upload the logo with `uploadReportBrandingLogo`. Admins and members only.
763
+ # @param workspace_uuid [String] UUID of the workspace.
764
+ # @param report_branding_input [ReportBrandingInput]
765
+ # @param [Hash] opts the optional parameters
766
+ # @return [GetReportBranding200Response]
767
+ def update_report_branding(workspace_uuid, report_branding_input, opts = {})
768
+ data, _status_code, _headers = update_report_branding_with_http_info(workspace_uuid, report_branding_input, opts)
769
+ data
770
+ end
771
+
772
+ # Update the report branding
773
+ # Name, colour and footer of PDF reports. Fields you leave out keep their value. Upload the logo with &#x60;uploadReportBrandingLogo&#x60;. Admins and members only.
774
+ # @param workspace_uuid [String] UUID of the workspace.
775
+ # @param report_branding_input [ReportBrandingInput]
776
+ # @param [Hash] opts the optional parameters
777
+ # @return [Array<(GetReportBranding200Response, Integer, Hash)>] GetReportBranding200Response data, response status code and response headers
778
+ def update_report_branding_with_http_info(workspace_uuid, report_branding_input, opts = {})
779
+ if @api_client.config.debugging
780
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.update_report_branding ...'
781
+ end
782
+ # verify the required parameter 'workspace_uuid' is set
783
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
784
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.update_report_branding"
785
+ end
786
+ # verify the required parameter 'report_branding_input' is set
787
+ if @api_client.config.client_side_validation && report_branding_input.nil?
788
+ fail ArgumentError, "Missing the required parameter 'report_branding_input' when calling AnalyticsApi.update_report_branding"
789
+ end
790
+ # resource path
791
+ local_var_path = '/{workspaceUuid}/report-branding'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
792
+
793
+ # query parameters
794
+ query_params = opts[:query_params] || {}
795
+
796
+ # header parameters
797
+ header_params = opts[:header_params] || {}
798
+ # HTTP header 'Accept' (if needed)
799
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
800
+ # HTTP header 'Content-Type'
801
+ content_type = @api_client.select_header_content_type(['application/json'])
802
+ if !content_type.nil?
803
+ header_params['Content-Type'] = content_type
804
+ end
805
+
806
+ # form parameters
807
+ form_params = opts[:form_params] || {}
808
+
809
+ # http body (model)
810
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(report_branding_input)
811
+
812
+ # return_type
813
+ return_type = opts[:debug_return_type] || 'GetReportBranding200Response'
814
+
815
+ # auth_names
816
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
817
+
818
+ new_options = opts.merge(
819
+ :operation => :"AnalyticsApi.update_report_branding",
820
+ :header_params => header_params,
821
+ :query_params => query_params,
822
+ :form_params => form_params,
823
+ :body => post_body,
824
+ :auth_names => auth_names,
825
+ :return_type => return_type
826
+ )
827
+
828
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
829
+ if @api_client.config.debugging
830
+ @api_client.config.logger.debug "API called: AnalyticsApi#update_report_branding\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
831
+ end
832
+ return data, status_code, headers
833
+ end
834
+
835
+ # Upload the report logo
836
+ # PNG or JPEG, up to 1 MB (SVG is not accepted). Replaces the current logo. Admins and members only.
837
+ # @param workspace_uuid [String] UUID of the workspace.
838
+ # @param logo [File]
839
+ # @param [Hash] opts the optional parameters
840
+ # @return [GetReportBranding200Response]
841
+ def upload_report_branding_logo(workspace_uuid, logo, opts = {})
842
+ data, _status_code, _headers = upload_report_branding_logo_with_http_info(workspace_uuid, logo, opts)
843
+ data
844
+ end
845
+
846
+ # Upload the report logo
847
+ # PNG or JPEG, up to 1 MB (SVG is not accepted). Replaces the current logo. Admins and members only.
848
+ # @param workspace_uuid [String] UUID of the workspace.
849
+ # @param logo [File]
850
+ # @param [Hash] opts the optional parameters
851
+ # @return [Array<(GetReportBranding200Response, Integer, Hash)>] GetReportBranding200Response data, response status code and response headers
852
+ def upload_report_branding_logo_with_http_info(workspace_uuid, logo, opts = {})
853
+ if @api_client.config.debugging
854
+ @api_client.config.logger.debug 'Calling API: AnalyticsApi.upload_report_branding_logo ...'
855
+ end
856
+ # verify the required parameter 'workspace_uuid' is set
857
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
858
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AnalyticsApi.upload_report_branding_logo"
859
+ end
860
+ # verify the required parameter 'logo' is set
861
+ if @api_client.config.client_side_validation && logo.nil?
862
+ fail ArgumentError, "Missing the required parameter 'logo' when calling AnalyticsApi.upload_report_branding_logo"
863
+ end
864
+ # resource path
865
+ local_var_path = '/{workspaceUuid}/report-branding/logo'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
866
+
867
+ # query parameters
868
+ query_params = opts[:query_params] || {}
869
+
870
+ # header parameters
871
+ header_params = opts[:header_params] || {}
872
+ # HTTP header 'Accept' (if needed)
873
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
874
+ # HTTP header 'Content-Type'
875
+ content_type = @api_client.select_header_content_type(['multipart/form-data'])
876
+ if !content_type.nil?
877
+ header_params['Content-Type'] = content_type
878
+ end
879
+
880
+ # form parameters
881
+ form_params = opts[:form_params] || {}
882
+ form_params['logo'] = logo
883
+
884
+ # http body (model)
885
+ post_body = opts[:debug_body]
886
+
887
+ # return_type
888
+ return_type = opts[:debug_return_type] || 'GetReportBranding200Response'
889
+
890
+ # auth_names
891
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
892
+
893
+ new_options = opts.merge(
894
+ :operation => :"AnalyticsApi.upload_report_branding_logo",
895
+ :header_params => header_params,
896
+ :query_params => query_params,
897
+ :form_params => form_params,
898
+ :body => post_body,
899
+ :auth_names => auth_names,
900
+ :return_type => return_type
901
+ )
902
+
903
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
904
+ if @api_client.config.debugging
905
+ @api_client.config.logger.debug "API called: AnalyticsApi#upload_report_branding_logo\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
906
+ end
907
+ return data, status_code, headers
908
+ end
909
+ end
910
+ end