postboost 1.0.0 → 1.8.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 (364) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +119 -0
  3. data/docs/AIApi.md +439 -0
  4. data/docs/AICredits.md +22 -0
  5. data/docs/Account.md +14 -8
  6. data/docs/AccountAnalytics.md +28 -0
  7. data/docs/AccountAnalyticsInitialSync.md +20 -0
  8. data/docs/AccountSchedule.md +22 -0
  9. data/docs/AccountsApi.md +15 -5
  10. data/docs/AddPostToQueueRequest.md +18 -0
  11. data/docs/AnalyticsApi.md +401 -0
  12. data/docs/AnalyticsPeriod.md +24 -0
  13. data/docs/AnalyticsSummary.md +20 -0
  14. data/docs/AnalyticsSummaryData.md +38 -0
  15. data/docs/ApprovePostRequest.md +24 -0
  16. data/docs/BestPostingTimes.md +20 -0
  17. data/docs/BestPostingTimesTimesInner.md +24 -0
  18. data/docs/BlogToSocial200Response.md +18 -0
  19. data/docs/BlogToSocial429Response.md +18 -0
  20. data/docs/BlogToSocialCaption.md +28 -0
  21. data/docs/BlogToSocialInput.md +42 -0
  22. data/docs/BlogToSocialMedia.md +20 -0
  23. data/docs/BlogToSocialResponse.md +30 -0
  24. data/docs/CancelSubscription422Response.md +20 -0
  25. data/docs/CancelSubscription422ResponseErrors.md +18 -0
  26. data/docs/CancelSubscriptionRequest.md +18 -0
  27. data/docs/CompleteChunkedUploadRequest.md +20 -0
  28. data/docs/CreateMediaFolderRequest.md +20 -0
  29. data/docs/CreateMention201Response.md +18 -0
  30. data/docs/DeleteMediaBulkRequest.md +1 -1
  31. data/docs/DeleteMediaBulkRequestItemsInner.md +49 -0
  32. data/docs/DeleteMediaFolderRequest.md +18 -0
  33. data/docs/DeleteResult.md +3 -3
  34. data/docs/ImageAltText200Response.md +18 -0
  35. data/docs/ImageAltTextInput.md +18 -0
  36. data/docs/ImageAltTextResponse.md +24 -0
  37. data/docs/ImageEditInput.md +28 -0
  38. data/docs/ImageGenerate200Response.md +18 -0
  39. data/docs/ImageGenerate429Response.md +18 -0
  40. data/docs/ImageGenerateInput.md +36 -0
  41. data/docs/ImageGenerationResponse.md +30 -0
  42. data/docs/ImagePrompt200Response.md +18 -0
  43. data/docs/ImagePrompt429Response.md +18 -0
  44. data/docs/ImagePromptInput.md +28 -0
  45. data/docs/ImagePromptResponse.md +18 -0
  46. data/docs/ImageVariations200Response.md +18 -0
  47. data/docs/ImageVariationsInput.md +24 -0
  48. data/docs/ImageVariationsResponse.md +26 -0
  49. data/docs/{InitiateChunkedUpload200Response.md → InitiateChunkedUpload201Response.md} +2 -2
  50. data/docs/{InitiateRemoteUpload200Response.md → InitiateRemoteUpload201Response.md} +7 -7
  51. data/docs/{InitiateRemoteUpload200ResponseOneOf.md → InitiateRemoteUpload201ResponseOneOf.md} +2 -2
  52. data/docs/InitiateRemoteUploadRequest.md +3 -1
  53. data/docs/ListMediaFolders200Response.md +18 -0
  54. data/docs/ListMentions200Response.md +22 -0
  55. data/docs/ListMyWorkspaces200Response.md +18 -0
  56. data/docs/Media.md +22 -8
  57. data/docs/MediaApi.md +340 -26
  58. data/docs/MediaFolder.md +24 -0
  59. data/docs/MediaFolderInput.md +20 -0
  60. data/docs/MediaFolderRef.md +20 -0
  61. data/docs/Mention.md +28 -0
  62. data/docs/MentionIdentity.md +24 -0
  63. data/docs/MentionIdentityInput.md +26 -0
  64. data/docs/MentionInput.md +22 -0
  65. data/docs/MentionsApi.md +375 -0
  66. data/docs/Post.md +10 -8
  67. data/docs/PostAnalytics.md +22 -0
  68. data/docs/PostInput.md +3 -1
  69. data/docs/PostVersion.md +2 -0
  70. data/docs/PostingTimeSlot.md +22 -0
  71. data/docs/PostingTimes.md +32 -0
  72. data/docs/PostingTimesBestInner.md +24 -0
  73. data/docs/PostingTimesDayIntervalsInnerInner.md +28 -0
  74. data/docs/PostingTimesDaysInner.md +24 -0
  75. data/docs/PostsApi.md +174 -14
  76. data/docs/PublicWorkspace.md +24 -0
  77. data/docs/PublicWorkspacePivot.md +22 -0
  78. data/docs/PublishProgress.md +22 -0
  79. data/docs/Receipt.md +8 -8
  80. data/docs/ReceiptsApi.md +15 -1
  81. data/docs/RemoveGenericSubscription422Response.md +18 -0
  82. data/docs/RetryPostAccountResult.md +22 -0
  83. data/docs/SchedulePostRequest.md +9 -1
  84. data/docs/ScheduleResult.md +4 -2
  85. data/docs/Subscription.md +5 -5
  86. data/docs/SubscriptionsApi.md +27 -5
  87. data/docs/Tag.md +4 -4
  88. data/docs/TagsApi.md +10 -0
  89. data/docs/UpdateMediaRequest.md +6 -2
  90. data/docs/{UploadChunk200Response.md → UploadChunk201Response.md} +2 -2
  91. data/docs/User.md +7 -5
  92. data/docs/UsersApi.md +15 -1
  93. data/docs/Workspace.md +8 -6
  94. data/docs/WorkspaceInput.md +1 -1
  95. data/docs/WorkspacesApi.md +156 -3
  96. data/lib/postboost/api/accounts_api.rb +16 -4
  97. data/lib/postboost/api/ai_api.rb +466 -0
  98. data/lib/postboost/api/analytics_api.rb +425 -0
  99. data/lib/postboost/api/media_api.rb +365 -22
  100. data/lib/postboost/api/mentions_api.rb +386 -0
  101. data/lib/postboost/api/posts_api.rb +176 -12
  102. data/lib/postboost/api/receipts_api.rb +17 -2
  103. data/lib/postboost/api/subscriptions_api.rb +28 -3
  104. data/lib/postboost/api/tags_api.rb +12 -2
  105. data/lib/postboost/api/users_api.rb +17 -2
  106. data/lib/postboost/api/workspaces_api.rb +139 -2
  107. data/lib/postboost/api_client.rb +2 -2
  108. data/lib/postboost/api_error.rb +2 -2
  109. data/lib/postboost/configuration.rb +2 -2
  110. data/lib/postboost/models/account.rb +120 -3
  111. data/lib/postboost/models/account_analytics.rb +308 -0
  112. data/lib/postboost/models/account_analytics_initial_sync.rb +231 -0
  113. data/lib/postboost/models/account_schedule.rb +255 -0
  114. data/lib/postboost/models/add_generic_subscription_request.rb +2 -2
  115. data/lib/postboost/models/add_post_to_queue_request.rb +215 -0
  116. data/lib/postboost/models/ai_credits.rb +256 -0
  117. data/lib/postboost/models/analytics_period.rb +270 -0
  118. data/lib/postboost/models/analytics_summary.rb +237 -0
  119. data/lib/postboost/models/analytics_summary_data.rb +327 -0
  120. data/lib/postboost/models/approve_post_request.rb +247 -0
  121. data/lib/postboost/models/best_posting_times.rb +240 -0
  122. data/lib/postboost/models/best_posting_times_times_inner.rb +269 -0
  123. data/lib/postboost/models/blog_to_social200_response.rb +214 -0
  124. data/lib/postboost/models/blog_to_social429_response.rb +214 -0
  125. data/lib/postboost/models/blog_to_social_caption.rb +265 -0
  126. data/lib/postboost/models/blog_to_social_input.rb +536 -0
  127. data/lib/postboost/models/blog_to_social_media.rb +226 -0
  128. data/lib/postboost/models/blog_to_social_response.rb +276 -0
  129. data/lib/postboost/models/cancel_subscription422_response.rb +223 -0
  130. data/lib/postboost/models/cancel_subscription422_response_errors.rb +216 -0
  131. data/lib/postboost/models/cancel_subscription_request.rb +217 -0
  132. data/lib/postboost/models/change_subscription_plan_request.rb +2 -2
  133. data/lib/postboost/models/checkout_subscription200_response.rb +2 -2
  134. data/lib/postboost/models/checkout_subscription_request.rb +2 -2
  135. data/lib/postboost/models/complete_chunked_upload_request.rb +243 -0
  136. data/lib/postboost/models/create_media_folder_request.rb +258 -0
  137. data/lib/postboost/models/create_mention201_response.rb +214 -0
  138. data/lib/postboost/models/delete_media_bulk_request.rb +23 -4
  139. data/lib/postboost/models/{initiate_remote_upload200_response.rb → delete_media_bulk_request_items_inner.rb} +5 -5
  140. data/lib/postboost/models/delete_media_folder_request.rb +216 -0
  141. data/lib/postboost/models/delete_mode.rb +2 -2
  142. data/lib/postboost/models/delete_post_request.rb +2 -2
  143. data/lib/postboost/models/delete_posts_bulk_request.rb +2 -2
  144. data/lib/postboost/models/delete_receipts_bulk_request.rb +2 -2
  145. data/lib/postboost/models/delete_result.rb +23 -2
  146. data/lib/postboost/models/delete_user400_response.rb +2 -2
  147. data/lib/postboost/models/delete_users_bulk_request.rb +2 -2
  148. data/lib/postboost/models/delete_workspaces_bulk_request.rb +2 -2
  149. data/lib/postboost/models/get_remote_upload_status200_response.rb +2 -2
  150. data/lib/postboost/models/image_alt_text200_response.rb +221 -0
  151. data/lib/postboost/models/image_alt_text_input.rb +221 -0
  152. data/lib/postboost/models/image_alt_text_response.rb +262 -0
  153. data/lib/postboost/models/image_edit_input.rb +375 -0
  154. data/lib/postboost/models/image_generate200_response.rb +221 -0
  155. data/lib/postboost/models/image_generate429_response.rb +214 -0
  156. data/lib/postboost/models/image_generate_input.rb +447 -0
  157. data/lib/postboost/models/image_generation_response.rb +305 -0
  158. data/lib/postboost/models/image_prompt200_response.rb +221 -0
  159. data/lib/postboost/models/image_prompt429_response.rb +214 -0
  160. data/lib/postboost/models/image_prompt_input.rb +345 -0
  161. data/lib/postboost/models/image_prompt_response.rb +221 -0
  162. data/lib/postboost/models/image_variations200_response.rb +221 -0
  163. data/lib/postboost/models/image_variations_input.rb +328 -0
  164. data/lib/postboost/models/image_variations_response.rb +280 -0
  165. data/lib/postboost/models/{initiate_chunked_upload200_response.rb → initiate_chunked_upload201_response.rb} +5 -5
  166. data/lib/postboost/models/initiate_chunked_upload_request.rb +2 -2
  167. data/lib/postboost/models/initiate_remote_upload201_response.rb +105 -0
  168. data/lib/postboost/models/{initiate_remote_upload200_response_one_of.rb → initiate_remote_upload201_response_one_of.rb} +5 -5
  169. data/lib/postboost/models/initiate_remote_upload_request.rb +16 -6
  170. data/lib/postboost/models/list_accounts200_response.rb +2 -2
  171. data/lib/postboost/models/list_media200_response.rb +2 -2
  172. data/lib/postboost/models/list_media_folders200_response.rb +216 -0
  173. data/lib/postboost/models/list_mentions200_response.rb +241 -0
  174. data/lib/postboost/models/list_my_workspaces200_response.rb +216 -0
  175. data/lib/postboost/models/list_posts200_response.rb +2 -2
  176. data/lib/postboost/models/list_receipts200_response.rb +2 -2
  177. data/lib/postboost/models/list_tags200_response.rb +2 -2
  178. data/lib/postboost/models/list_users200_response.rb +2 -2
  179. data/lib/postboost/models/list_workspaces200_response.rb +2 -2
  180. data/lib/postboost/models/media.rb +128 -3
  181. data/lib/postboost/models/media_folder.rb +271 -0
  182. data/lib/postboost/models/media_folder_input.rb +244 -0
  183. data/lib/postboost/models/media_folder_ref.rb +237 -0
  184. data/lib/postboost/models/mention.rb +290 -0
  185. data/lib/postboost/models/mention_identity.rb +257 -0
  186. data/lib/postboost/models/mention_identity_input.rb +325 -0
  187. data/lib/postboost/models/mention_input.rb +279 -0
  188. data/lib/postboost/models/pagination_meta.rb +2 -2
  189. data/lib/postboost/models/pagination_meta_links.rb +2 -2
  190. data/lib/postboost/models/pagination_meta_meta.rb +2 -2
  191. data/lib/postboost/models/post.rb +69 -3
  192. data/lib/postboost/models/post_analytics.rb +252 -0
  193. data/lib/postboost/models/post_content.rb +2 -2
  194. data/lib/postboost/models/post_input.rb +16 -3
  195. data/lib/postboost/models/post_status.rb +6 -3
  196. data/lib/postboost/models/post_version.rb +32 -3
  197. data/lib/postboost/models/posting_time_slot.rb +315 -0
  198. data/lib/postboost/models/posting_times.rb +362 -0
  199. data/lib/postboost/models/posting_times_best_inner.rb +269 -0
  200. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +370 -0
  201. data/lib/postboost/models/posting_times_days_inner.rb +366 -0
  202. data/lib/postboost/models/public_workspace.rb +262 -0
  203. data/lib/postboost/models/public_workspace_pivot.rb +267 -0
  204. data/lib/postboost/models/publish_progress.rb +254 -0
  205. data/lib/postboost/models/receipt.rb +58 -2
  206. data/lib/postboost/models/receipt_input.rb +2 -2
  207. data/lib/postboost/models/receipt_update_input.rb +2 -2
  208. data/lib/postboost/models/remove_generic_subscription422_response.rb +214 -0
  209. data/lib/postboost/models/remove_user_from_workspace_request.rb +2 -2
  210. data/lib/postboost/models/retry_post_account_result.rb +275 -0
  211. data/lib/postboost/models/schedule_post_request.rb +48 -6
  212. data/lib/postboost/models/schedule_result.rb +23 -6
  213. data/lib/postboost/models/subscription.rb +37 -2
  214. data/lib/postboost/models/subscription_input.rb +2 -2
  215. data/lib/postboost/models/subscription_status.rb +2 -2
  216. data/lib/postboost/models/subscription_update_input.rb +2 -2
  217. data/lib/postboost/models/tag.rb +30 -2
  218. data/lib/postboost/models/tag_input.rb +2 -2
  219. data/lib/postboost/models/update_media_request.rb +61 -11
  220. data/lib/postboost/models/{upload_chunk200_response.rb → upload_chunk201_response.rb} +5 -5
  221. data/lib/postboost/models/user.rb +48 -3
  222. data/lib/postboost/models/user_input.rb +2 -2
  223. data/lib/postboost/models/user_update_input.rb +2 -2
  224. data/lib/postboost/models/workspace.rb +42 -3
  225. data/lib/postboost/models/workspace_input.rb +3 -9
  226. data/lib/postboost/models/workspace_user_input.rb +2 -2
  227. data/lib/postboost/version.rb +3 -3
  228. data/lib/postboost.rb +70 -6
  229. data/postboost.gemspec +3 -3
  230. data/spec/api/accounts_api_spec.rb +7 -3
  231. data/spec/api/ai_api_spec.rb +113 -0
  232. data/spec/api/analytics_api_spec.rb +113 -0
  233. data/spec/api/media_api_spec.rb +73 -10
  234. data/spec/api/mentions_api_spec.rb +103 -0
  235. data/spec/api/posts_api_spec.rb +38 -6
  236. data/spec/api/receipts_api_spec.rb +9 -2
  237. data/spec/api/subscriptions_api_spec.rb +12 -2
  238. data/spec/api/tags_api_spec.rb +7 -2
  239. data/spec/api/users_api_spec.rb +9 -2
  240. data/spec/api/workspaces_api_spec.rb +33 -2
  241. data/spec/models/account_analytics_initial_sync_spec.rb +42 -0
  242. data/spec/models/account_analytics_spec.rb +66 -0
  243. data/spec/models/account_schedule_spec.rb +48 -0
  244. data/spec/models/account_spec.rb +24 -2
  245. data/spec/models/add_generic_subscription_request_spec.rb +2 -2
  246. data/spec/models/add_post_to_queue_request_spec.rb +36 -0
  247. data/spec/models/ai_credits_spec.rb +48 -0
  248. data/spec/models/analytics_period_spec.rb +54 -0
  249. data/spec/models/analytics_summary_data_spec.rb +96 -0
  250. data/spec/models/analytics_summary_spec.rb +42 -0
  251. data/spec/models/approve_post_request_spec.rb +54 -0
  252. data/spec/models/best_posting_times_spec.rb +42 -0
  253. data/spec/models/best_posting_times_times_inner_spec.rb +54 -0
  254. data/spec/models/blog_to_social200_response_spec.rb +36 -0
  255. data/spec/models/blog_to_social429_response_spec.rb +36 -0
  256. data/spec/models/blog_to_social_caption_spec.rb +66 -0
  257. data/spec/models/blog_to_social_input_spec.rb +128 -0
  258. data/spec/models/blog_to_social_media_spec.rb +42 -0
  259. data/spec/models/blog_to_social_response_spec.rb +72 -0
  260. data/spec/models/cancel_subscription422_response_errors_spec.rb +36 -0
  261. data/spec/models/cancel_subscription422_response_spec.rb +42 -0
  262. data/spec/models/cancel_subscription_request_spec.rb +36 -0
  263. data/spec/models/change_subscription_plan_request_spec.rb +2 -2
  264. data/spec/models/checkout_subscription200_response_spec.rb +2 -2
  265. data/spec/models/checkout_subscription_request_spec.rb +2 -2
  266. data/spec/models/complete_chunked_upload_request_spec.rb +42 -0
  267. data/spec/models/create_media_folder_request_spec.rb +42 -0
  268. data/spec/models/create_mention201_response_spec.rb +36 -0
  269. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +32 -0
  270. data/spec/models/delete_media_bulk_request_spec.rb +2 -2
  271. data/spec/models/delete_media_folder_request_spec.rb +36 -0
  272. data/spec/models/delete_mode_spec.rb +2 -2
  273. data/spec/models/delete_post_request_spec.rb +2 -2
  274. data/spec/models/delete_posts_bulk_request_spec.rb +2 -2
  275. data/spec/models/delete_receipts_bulk_request_spec.rb +2 -2
  276. data/spec/models/delete_result_spec.rb +2 -2
  277. data/spec/models/delete_user400_response_spec.rb +2 -2
  278. data/spec/models/delete_users_bulk_request_spec.rb +2 -2
  279. data/spec/models/delete_workspaces_bulk_request_spec.rb +2 -2
  280. data/spec/models/get_remote_upload_status200_response_spec.rb +2 -2
  281. data/spec/models/image_alt_text200_response_spec.rb +36 -0
  282. data/spec/models/image_alt_text_input_spec.rb +36 -0
  283. data/spec/models/image_alt_text_response_spec.rb +54 -0
  284. data/spec/models/image_edit_input_spec.rb +74 -0
  285. data/spec/models/image_generate200_response_spec.rb +36 -0
  286. data/spec/models/image_generate429_response_spec.rb +36 -0
  287. data/spec/models/image_generate_input_spec.rb +102 -0
  288. data/spec/models/image_generation_response_spec.rb +72 -0
  289. data/spec/models/image_prompt200_response_spec.rb +36 -0
  290. data/spec/models/image_prompt429_response_spec.rb +36 -0
  291. data/spec/models/image_prompt_input_spec.rb +70 -0
  292. data/spec/models/image_prompt_response_spec.rb +36 -0
  293. data/spec/models/image_variations200_response_spec.rb +36 -0
  294. data/spec/models/image_variations_input_spec.rb +62 -0
  295. data/spec/models/image_variations_response_spec.rb +60 -0
  296. data/spec/models/initiate_chunked_upload201_response_spec.rb +48 -0
  297. data/spec/models/initiate_chunked_upload_request_spec.rb +2 -2
  298. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +36 -0
  299. data/spec/models/initiate_remote_upload201_response_spec.rb +32 -0
  300. data/spec/models/initiate_remote_upload_request_spec.rb +8 -2
  301. data/spec/models/list_accounts200_response_spec.rb +2 -2
  302. data/spec/models/list_media200_response_spec.rb +2 -2
  303. data/spec/models/list_media_folders200_response_spec.rb +36 -0
  304. data/spec/models/list_mentions200_response_spec.rb +48 -0
  305. data/spec/models/list_my_workspaces200_response_spec.rb +36 -0
  306. data/spec/models/list_posts200_response_spec.rb +2 -2
  307. data/spec/models/list_receipts200_response_spec.rb +2 -2
  308. data/spec/models/list_tags200_response_spec.rb +2 -2
  309. data/spec/models/list_users200_response_spec.rb +2 -2
  310. data/spec/models/list_workspaces200_response_spec.rb +2 -2
  311. data/spec/models/media_folder_input_spec.rb +42 -0
  312. data/spec/models/media_folder_ref_spec.rb +42 -0
  313. data/spec/models/media_folder_spec.rb +54 -0
  314. data/spec/models/media_spec.rb +44 -2
  315. data/spec/models/mention_identity_input_spec.rb +60 -0
  316. data/spec/models/mention_identity_spec.rb +54 -0
  317. data/spec/models/mention_input_spec.rb +48 -0
  318. data/spec/models/mention_spec.rb +66 -0
  319. data/spec/models/pagination_meta_links_spec.rb +2 -2
  320. data/spec/models/pagination_meta_meta_spec.rb +2 -2
  321. data/spec/models/pagination_meta_spec.rb +2 -2
  322. data/spec/models/post_analytics_spec.rb +48 -0
  323. data/spec/models/post_content_spec.rb +2 -2
  324. data/spec/models/post_input_spec.rb +8 -2
  325. data/spec/models/post_spec.rb +8 -2
  326. data/spec/models/post_status_spec.rb +2 -2
  327. data/spec/models/post_version_spec.rb +8 -2
  328. data/spec/models/posting_time_slot_spec.rb +52 -0
  329. data/spec/models/posting_times_best_inner_spec.rb +54 -0
  330. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +70 -0
  331. data/spec/models/posting_times_days_inner_spec.rb +58 -0
  332. data/spec/models/posting_times_spec.rb +78 -0
  333. data/spec/models/public_workspace_pivot_spec.rb +52 -0
  334. data/spec/models/public_workspace_spec.rb +54 -0
  335. data/spec/models/publish_progress_spec.rb +48 -0
  336. data/spec/models/receipt_input_spec.rb +2 -2
  337. data/spec/models/receipt_spec.rb +2 -2
  338. data/spec/models/receipt_update_input_spec.rb +2 -2
  339. data/spec/models/remove_generic_subscription422_response_spec.rb +36 -0
  340. data/spec/models/remove_user_from_workspace_request_spec.rb +2 -2
  341. data/spec/models/retry_post_account_result_spec.rb +48 -0
  342. data/spec/models/schedule_post_request_spec.rb +26 -2
  343. data/spec/models/schedule_result_spec.rb +8 -2
  344. data/spec/models/subscription_input_spec.rb +2 -2
  345. data/spec/models/subscription_spec.rb +2 -2
  346. data/spec/models/subscription_status_spec.rb +2 -2
  347. data/spec/models/subscription_update_input_spec.rb +2 -2
  348. data/spec/models/tag_input_spec.rb +2 -2
  349. data/spec/models/tag_spec.rb +2 -2
  350. data/spec/models/update_media_request_spec.rb +14 -2
  351. data/spec/models/upload_chunk201_response_spec.rb +36 -0
  352. data/spec/models/user_input_spec.rb +2 -2
  353. data/spec/models/user_spec.rb +8 -2
  354. data/spec/models/user_update_input_spec.rb +2 -2
  355. data/spec/models/workspace_input_spec.rb +2 -2
  356. data/spec/models/workspace_spec.rb +8 -2
  357. data/spec/models/workspace_user_input_spec.rb +2 -2
  358. data/spec/spec_helper.rb +2 -2
  359. metadata +331 -75
  360. data/git_push.sh +0 -57
  361. data/spec/models/initiate_chunked_upload200_response_spec.rb +0 -48
  362. data/spec/models/initiate_remote_upload200_response_one_of_spec.rb +0 -36
  363. data/spec/models/initiate_remote_upload200_response_spec.rb +0 -32
  364. data/spec/models/upload_chunk200_response_spec.rb +0 -36
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #PostBoost API
3
3
 
4
- #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 8+ 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`. ## 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 ```
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. ## 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
5
 
6
- The version of the OpenAPI document: 1.0.0
6
+ The version of the OpenAPI document: 1.8.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -19,8 +19,12 @@ module PostBoost
19
19
 
20
20
  attr_accessor :name
21
21
 
22
+ # Deprecated. Workspaces no longer have a colour (workspaces now use `avatar`); the API returns the constant `4f46e5` so existing clients keep working. Will be removed in API v2.
22
23
  attr_accessor :hex_color
23
24
 
25
+ # URL of the workspace avatar, or null when none is set. Supersedes `hex_color`.
26
+ attr_accessor :avatar
27
+
24
28
  attr_accessor :owner
25
29
 
26
30
  attr_accessor :access_status
@@ -55,6 +59,7 @@ module PostBoost
55
59
  :'uuid' => :'uuid',
56
60
  :'name' => :'name',
57
61
  :'hex_color' => :'hex_color',
62
+ :'avatar' => :'avatar',
58
63
  :'owner' => :'owner',
59
64
  :'access_status' => :'access_status',
60
65
  :'created_at' => :'created_at'
@@ -72,6 +77,7 @@ module PostBoost
72
77
  :'uuid' => :'String',
73
78
  :'name' => :'String',
74
79
  :'hex_color' => :'String',
80
+ :'avatar' => :'String',
75
81
  :'owner' => :'User',
76
82
  :'access_status' => :'String',
77
83
  :'created_at' => :'Time'
@@ -101,26 +107,38 @@ module PostBoost
101
107
 
102
108
  if attributes.key?(:'uuid')
103
109
  self.uuid = attributes[:'uuid']
110
+ else
111
+ self.uuid = nil
104
112
  end
105
113
 
106
114
  if attributes.key?(:'name')
107
115
  self.name = attributes[:'name']
116
+ else
117
+ self.name = nil
108
118
  end
109
119
 
110
120
  if attributes.key?(:'hex_color')
111
121
  self.hex_color = attributes[:'hex_color']
112
122
  end
113
123
 
124
+ if attributes.key?(:'avatar')
125
+ self.avatar = attributes[:'avatar']
126
+ end
127
+
114
128
  if attributes.key?(:'owner')
115
129
  self.owner = attributes[:'owner']
116
130
  end
117
131
 
118
132
  if attributes.key?(:'access_status')
119
133
  self.access_status = attributes[:'access_status']
134
+ else
135
+ self.access_status = nil
120
136
  end
121
137
 
122
138
  if attributes.key?(:'created_at')
123
139
  self.created_at = attributes[:'created_at']
140
+ else
141
+ self.created_at = nil
124
142
  end
125
143
  end
126
144
 
@@ -129,6 +147,22 @@ module PostBoost
129
147
  def list_invalid_properties
130
148
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
131
149
  invalid_properties = Array.new
150
+ if @uuid.nil?
151
+ invalid_properties.push('invalid value for "uuid", uuid cannot be nil.')
152
+ end
153
+
154
+ if @name.nil?
155
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
156
+ end
157
+
158
+ if @access_status.nil?
159
+ invalid_properties.push('invalid value for "access_status", access_status cannot be nil.')
160
+ end
161
+
162
+ if @created_at.nil?
163
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
164
+ end
165
+
132
166
  invalid_properties
133
167
  end
134
168
 
@@ -136,8 +170,12 @@ module PostBoost
136
170
  # @return true if the model is valid
137
171
  def valid?
138
172
  warn '[DEPRECATED] the `valid?` method is obsolete'
173
+ return false if @uuid.nil?
174
+ return false if @name.nil?
175
+ return false if @access_status.nil?
139
176
  access_status_validator = EnumAttributeValidator.new('String', ["subscription", "unlimited", "locked"])
140
177
  return false unless access_status_validator.valid?(@access_status)
178
+ return false if @created_at.nil?
141
179
  true
142
180
  end
143
181
 
@@ -159,6 +197,7 @@ module PostBoost
159
197
  uuid == o.uuid &&
160
198
  name == o.name &&
161
199
  hex_color == o.hex_color &&
200
+ avatar == o.avatar &&
162
201
  owner == o.owner &&
163
202
  access_status == o.access_status &&
164
203
  created_at == o.created_at
@@ -173,7 +212,7 @@ module PostBoost
173
212
  # Calculates hash code according to all attributes.
174
213
  # @return [Integer] Hash code
175
214
  def hash
176
- [uuid, name, hex_color, owner, access_status, created_at].hash
215
+ [uuid, name, hex_color, avatar, owner, access_status, created_at].hash
177
216
  end
178
217
 
179
218
  # Builds the object from hash
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #PostBoost API
3
3
 
4
- #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 8+ 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`. ## 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 ```
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. ## 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
5
 
6
- The version of the OpenAPI document: 1.0.0
6
+ The version of the OpenAPI document: 1.8.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -17,6 +17,7 @@ module PostBoost
17
17
  class WorkspaceInput
18
18
  attr_accessor :name
19
19
 
20
+ # Ignored since v2.0; kept for backward compatibility
20
21
  attr_accessor :hex_color
21
22
 
22
23
  attr_accessor :owner_id
@@ -99,8 +100,6 @@ module PostBoost
99
100
 
100
101
  if attributes.key?(:'hex_color')
101
102
  self.hex_color = attributes[:'hex_color']
102
- else
103
- self.hex_color = nil
104
103
  end
105
104
 
106
105
  if attributes.key?(:'owner_id')
@@ -127,10 +126,6 @@ module PostBoost
127
126
  invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 60.')
128
127
  end
129
128
 
130
- if @hex_color.nil?
131
- invalid_properties.push('invalid value for "hex_color", hex_color cannot be nil.')
132
- end
133
-
134
129
  if @access_status.nil?
135
130
  invalid_properties.push('invalid value for "access_status", access_status cannot be nil.')
136
131
  end
@@ -144,7 +139,6 @@ module PostBoost
144
139
  warn '[DEPRECATED] the `valid?` method is obsolete'
145
140
  return false if @name.nil?
146
141
  return false if @name.to_s.length > 60
147
- return false if @hex_color.nil?
148
142
  return false if @access_status.nil?
149
143
  access_status_validator = EnumAttributeValidator.new('String', ["subscription", "unlimited", "locked"])
150
144
  return false unless access_status_validator.valid?(@access_status)
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #PostBoost API
3
3
 
4
- #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 8+ 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`. ## 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 ```
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. ## 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
5
 
6
- The version of the OpenAPI document: 1.0.0
6
+ The version of the OpenAPI document: 1.8.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #PostBoost API
3
3
 
4
- #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 8+ 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`. ## 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 ```
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. ## 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
5
 
6
- The version of the OpenAPI document: 1.0.0
6
+ The version of the OpenAPI document: 1.8.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -11,5 +11,5 @@ Generator version: 7.9.0
11
11
  =end
12
12
 
13
13
  module PostBoost
14
- VERSION = '1.0.0'
14
+ VERSION = '1.8.0'
15
15
  end
data/lib/postboost.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #PostBoost API
3
3
 
4
- #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 8+ 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`. ## 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 ```
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. ## 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
5
 
6
- The version of the OpenAPI document: 1.0.0
6
+ The version of the OpenAPI document: 1.8.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -17,12 +17,37 @@ require 'postboost/version'
17
17
  require 'postboost/configuration'
18
18
 
19
19
  # Models
20
+ require 'postboost/models/ai_credits'
20
21
  require 'postboost/models/account'
22
+ require 'postboost/models/account_analytics'
23
+ require 'postboost/models/account_analytics_initial_sync'
24
+ require 'postboost/models/account_schedule'
21
25
  require 'postboost/models/add_generic_subscription_request'
26
+ require 'postboost/models/add_post_to_queue_request'
27
+ require 'postboost/models/analytics_period'
28
+ require 'postboost/models/analytics_summary'
29
+ require 'postboost/models/analytics_summary_data'
30
+ require 'postboost/models/approve_post_request'
31
+ require 'postboost/models/best_posting_times'
32
+ require 'postboost/models/best_posting_times_times_inner'
33
+ require 'postboost/models/blog_to_social200_response'
34
+ require 'postboost/models/blog_to_social429_response'
35
+ require 'postboost/models/blog_to_social_caption'
36
+ require 'postboost/models/blog_to_social_input'
37
+ require 'postboost/models/blog_to_social_media'
38
+ require 'postboost/models/blog_to_social_response'
39
+ require 'postboost/models/cancel_subscription422_response'
40
+ require 'postboost/models/cancel_subscription422_response_errors'
41
+ require 'postboost/models/cancel_subscription_request'
22
42
  require 'postboost/models/change_subscription_plan_request'
23
43
  require 'postboost/models/checkout_subscription200_response'
24
44
  require 'postboost/models/checkout_subscription_request'
45
+ require 'postboost/models/complete_chunked_upload_request'
46
+ require 'postboost/models/create_media_folder_request'
47
+ require 'postboost/models/create_mention201_response'
25
48
  require 'postboost/models/delete_media_bulk_request'
49
+ require 'postboost/models/delete_media_bulk_request_items_inner'
50
+ require 'postboost/models/delete_media_folder_request'
26
51
  require 'postboost/models/delete_mode'
27
52
  require 'postboost/models/delete_post_request'
28
53
  require 'postboost/models/delete_posts_bulk_request'
@@ -32,31 +57,67 @@ require 'postboost/models/delete_user400_response'
32
57
  require 'postboost/models/delete_users_bulk_request'
33
58
  require 'postboost/models/delete_workspaces_bulk_request'
34
59
  require 'postboost/models/get_remote_upload_status200_response'
35
- require 'postboost/models/initiate_chunked_upload200_response'
60
+ require 'postboost/models/image_alt_text200_response'
61
+ require 'postboost/models/image_alt_text_input'
62
+ require 'postboost/models/image_alt_text_response'
63
+ require 'postboost/models/image_edit_input'
64
+ require 'postboost/models/image_generate200_response'
65
+ require 'postboost/models/image_generate429_response'
66
+ require 'postboost/models/image_generate_input'
67
+ require 'postboost/models/image_generation_response'
68
+ require 'postboost/models/image_prompt200_response'
69
+ require 'postboost/models/image_prompt429_response'
70
+ require 'postboost/models/image_prompt_input'
71
+ require 'postboost/models/image_prompt_response'
72
+ require 'postboost/models/image_variations200_response'
73
+ require 'postboost/models/image_variations_input'
74
+ require 'postboost/models/image_variations_response'
75
+ require 'postboost/models/initiate_chunked_upload201_response'
36
76
  require 'postboost/models/initiate_chunked_upload_request'
37
- require 'postboost/models/initiate_remote_upload200_response'
38
- require 'postboost/models/initiate_remote_upload200_response_one_of'
77
+ require 'postboost/models/initiate_remote_upload201_response'
78
+ require 'postboost/models/initiate_remote_upload201_response_one_of'
39
79
  require 'postboost/models/initiate_remote_upload_request'
40
80
  require 'postboost/models/list_accounts200_response'
41
81
  require 'postboost/models/list_media200_response'
82
+ require 'postboost/models/list_media_folders200_response'
83
+ require 'postboost/models/list_mentions200_response'
84
+ require 'postboost/models/list_my_workspaces200_response'
42
85
  require 'postboost/models/list_posts200_response'
43
86
  require 'postboost/models/list_receipts200_response'
44
87
  require 'postboost/models/list_tags200_response'
45
88
  require 'postboost/models/list_users200_response'
46
89
  require 'postboost/models/list_workspaces200_response'
47
90
  require 'postboost/models/media'
91
+ require 'postboost/models/media_folder'
92
+ require 'postboost/models/media_folder_input'
93
+ require 'postboost/models/media_folder_ref'
94
+ require 'postboost/models/mention'
95
+ require 'postboost/models/mention_identity'
96
+ require 'postboost/models/mention_identity_input'
97
+ require 'postboost/models/mention_input'
48
98
  require 'postboost/models/pagination_meta'
49
99
  require 'postboost/models/pagination_meta_links'
50
100
  require 'postboost/models/pagination_meta_meta'
51
101
  require 'postboost/models/post'
102
+ require 'postboost/models/post_analytics'
52
103
  require 'postboost/models/post_content'
53
104
  require 'postboost/models/post_input'
54
105
  require 'postboost/models/post_status'
55
106
  require 'postboost/models/post_version'
107
+ require 'postboost/models/posting_time_slot'
108
+ require 'postboost/models/posting_times'
109
+ require 'postboost/models/posting_times_best_inner'
110
+ require 'postboost/models/posting_times_day_intervals_inner_inner'
111
+ require 'postboost/models/posting_times_days_inner'
112
+ require 'postboost/models/public_workspace'
113
+ require 'postboost/models/public_workspace_pivot'
114
+ require 'postboost/models/publish_progress'
56
115
  require 'postboost/models/receipt'
57
116
  require 'postboost/models/receipt_input'
58
117
  require 'postboost/models/receipt_update_input'
118
+ require 'postboost/models/remove_generic_subscription422_response'
59
119
  require 'postboost/models/remove_user_from_workspace_request'
120
+ require 'postboost/models/retry_post_account_result'
60
121
  require 'postboost/models/schedule_post_request'
61
122
  require 'postboost/models/schedule_result'
62
123
  require 'postboost/models/subscription'
@@ -66,7 +127,7 @@ require 'postboost/models/subscription_update_input'
66
127
  require 'postboost/models/tag'
67
128
  require 'postboost/models/tag_input'
68
129
  require 'postboost/models/update_media_request'
69
- require 'postboost/models/upload_chunk200_response'
130
+ require 'postboost/models/upload_chunk201_response'
70
131
  require 'postboost/models/user'
71
132
  require 'postboost/models/user_input'
72
133
  require 'postboost/models/user_update_input'
@@ -75,8 +136,11 @@ require 'postboost/models/workspace_input'
75
136
  require 'postboost/models/workspace_user_input'
76
137
 
77
138
  # APIs
139
+ require 'postboost/api/ai_api'
78
140
  require 'postboost/api/accounts_api'
141
+ require 'postboost/api/analytics_api'
79
142
  require 'postboost/api/media_api'
143
+ require 'postboost/api/mentions_api'
80
144
  require 'postboost/api/posts_api'
81
145
  require 'postboost/api/receipts_api'
82
146
  require 'postboost/api/subscriptions_api'
data/postboost.gemspec CHANGED
@@ -3,9 +3,9 @@
3
3
  =begin
4
4
  #PostBoost API
5
5
 
6
- #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 8+ 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`. ## 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 ```
6
+ #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. ## 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 ```
7
7
 
8
- The version of the OpenAPI document: 1.0.0
8
+ The version of the OpenAPI document: 1.8.0
9
9
  Contact: hi@postboost.co
10
10
  Generated by: https://openapi-generator.tech
11
11
  Generator version: 7.9.0
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
23
23
  s.email = ["hi@postboost.co"]
24
24
  s.homepage = "https://openapi-generator.tech"
25
25
  s.summary = "PostBoost API Ruby Gem"
26
- s.description = "The PostBoost REST API lets you publish, schedule, and analyze social media posts across 8+ 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`. ## 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 ``` "
26
+ s.description = "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. ## 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 ``` "
27
27
  s.license = "Unlicense"
28
28
  s.required_ruby_version = ">= 2.7"
29
29
  s.metadata = {}
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #PostBoost API
3
3
 
4
- #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 8+ 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`. ## 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 ```
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. ## 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
5
 
6
- The version of the OpenAPI document: 1.0.0
6
+ The version of the OpenAPI document: 1.8.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -47,9 +47,13 @@ describe 'AccountsApi' do
47
47
 
48
48
  # unit tests for list_accounts
49
49
  # List accounts
50
- # Returns all social media accounts connected to the workspace.
50
+ # Returns all social media accounts connected to the workspace, newest first. Optional filters narrow the list.
51
51
  # @param workspace_uuid UUID of the workspace.
52
52
  # @param [Hash] opts the optional parameters
53
+ # @option opts [String] :keyword Match the account name or username.
54
+ # @option opts [String] :group Only accounts in this account group.
55
+ # @option opts [Array<String>] :providers Only accounts of these providers (for example &#x60;instagram&#x60;, &#x60;linkedin&#x60;).
56
+ # @option opts [Boolean] :unauthorized When &#x60;true&#x60;, only accounts that need to be reconnected.
53
57
  # @return [ListAccounts200Response]
54
58
  describe 'list_accounts test' do
55
59
  it 'should work' do
@@ -0,0 +1,113 @@
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. ## 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.8.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 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for PostBoost::AIApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'AIApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = PostBoost::AIApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of AIApi' do
30
+ it 'should create an instance of AIApi' do
31
+ expect(@api_instance).to be_instance_of(PostBoost::AIApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for blog_to_social
36
+ # Generate social media captions from a blog post
37
+ # Generates platform-specific social media captions from a blog post URL or directly provided title and excerpt. Each platform generates one caption, which consumes one AI credit from the workspace&#39;s monthly allowance. **Input modes** (at least one required): - **URL mode**: provide &#x60;url&#x60; and the API scrapes the blog content automatically, including detecting the featured image via &#x60;og:image&#x60;. - **Direct mode**: provide &#x60;title&#x60; and &#x60;excerpt&#x60; directly (no scraping). If both are provided, direct values take priority. When &#x60;create_post&#x60; is &#x60;true&#x60;, a draft post is created in the workspace with per-account caption versions. If an image is available (from &#x60;image_url&#x60; or the scraped &#x60;og:image&#x60;), it is imported into the workspace media library and attached to the draft post.
38
+ # @param workspace_uuid UUID of the workspace.
39
+ # @param blog_to_social_input
40
+ # @param [Hash] opts the optional parameters
41
+ # @return [BlogToSocial200Response]
42
+ describe 'blog_to_social test' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
45
+ end
46
+ end
47
+
48
+ # unit tests for image_alt_text
49
+ # Generate alt text for a media image using AI
50
+ # Analyzes an existing workspace media item and generates accessible alt text. The alt text is saved back to the media record. Costs 1 AI credit per call.
51
+ # @param workspace_uuid UUID of the workspace.
52
+ # @param image_alt_text_input
53
+ # @param [Hash] opts the optional parameters
54
+ # @return [ImageAltText200Response]
55
+ describe 'image_alt_text test' do
56
+ it 'should work' do
57
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
58
+ end
59
+ end
60
+
61
+ # unit tests for image_edit
62
+ # Edit an existing media image using AI
63
+ # Edits an existing workspace media item using the source image and a text prompt. Optionally accepts a mask (transparent areas are replaced). Saves results to the media library. Credits: &#x60;count × credit_weight&#x60;.
64
+ # @param workspace_uuid UUID of the workspace.
65
+ # @param image_edit_input
66
+ # @param [Hash] opts the optional parameters
67
+ # @return [ImageGenerate200Response]
68
+ describe 'image_edit test' do
69
+ it 'should work' do
70
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
71
+ end
72
+ end
73
+
74
+ # unit tests for image_generate
75
+ # Generate social media images from a caption
76
+ # Generates one or more images and saves them immediately to the workspace media library. **Standard mode** (recommended): provide &#x60;caption&#x60; + &#x60;platform&#x60;. PostBoost builds a professional image prompt internally using platform-specific templates. No prompt engineering required. **Developer mode**: provide &#x60;prompt&#x60; directly to bypass prompt building. If both &#x60;caption&#x60; and &#x60;prompt&#x60; are sent, standard mode runs. Credits: &#x60;count x credit_weight&#x60; (default: 5 per image).
77
+ # @param workspace_uuid UUID of the workspace.
78
+ # @param image_generate_input
79
+ # @param [Hash] opts the optional parameters
80
+ # @return [ImageGenerate200Response]
81
+ describe 'image_generate test' do
82
+ it 'should work' do
83
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
84
+ end
85
+ end
86
+
87
+ # unit tests for image_prompt
88
+ # Build an optimized image prompt from a social media caption
89
+ # Builds a professional image generation prompt from a caption and platform. No image is generated. Use this to preview the prompt before calling &#x60;image-generate&#x60;. Costs 1 AI credit per call. When &#x60;image-generate&#x60; builds the prompt internally (standard mode), no credit is charged for the prompt step.
90
+ # @param workspace_uuid UUID of the workspace.
91
+ # @param image_prompt_input
92
+ # @param [Hash] opts the optional parameters
93
+ # @return [ImagePrompt200Response]
94
+ describe 'image_prompt test' do
95
+ it 'should work' do
96
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
97
+ end
98
+ end
99
+
100
+ # unit tests for image_variations
101
+ # Generate variations of an existing media image
102
+ # Creates one or more variations of an existing workspace media item. Saves results to the media library. Credits: &#x60;count × credit_weight&#x60;.
103
+ # @param workspace_uuid UUID of the workspace.
104
+ # @param image_variations_input
105
+ # @param [Hash] opts the optional parameters
106
+ # @return [ImageVariations200Response]
107
+ describe 'image_variations test' do
108
+ it 'should work' do
109
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
110
+ end
111
+ end
112
+
113
+ end
@@ -0,0 +1,113 @@
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. ## 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.8.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 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for PostBoost::AnalyticsApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'AnalyticsApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = PostBoost::AnalyticsApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of AnalyticsApi' do
30
+ it 'should create an instance of AnalyticsApi' do
31
+ expect(@api_instance).to be_instance_of(PostBoost::AnalyticsApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for get_account_analytics
36
+ # Get account analytics
37
+ # 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.
38
+ # @param workspace_uuid UUID of the workspace.
39
+ # @param account_uuid UUID of the social media account.
40
+ # @param [Hash] opts the optional parameters
41
+ # @option opts [String] :period Preset reporting period. Ignored when &#x60;date_from&#x60; and &#x60;date_to&#x60; are given.
42
+ # @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.
43
+ # @option opts [Date] :date_to End of a custom range (Y-m-d). Required with &#x60;date_from&#x60;; must not be before it.
44
+ # @option opts [String] :type Analytics tab. Defaults to the account&#39;s default tab.
45
+ # @option opts [Integer] :page Page for list-style tabs (for example per-post metrics).
46
+ # @option opts [Integer] :per_page
47
+ # @option opts [String] :sort_by
48
+ # @option opts [String] :sort_dir
49
+ # @return [AccountAnalytics]
50
+ describe 'get_account_analytics test' do
51
+ it 'should work' do
52
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
53
+ end
54
+ end
55
+
56
+ # unit tests for get_analytics_summary
57
+ # Get analytics summary
58
+ # Cross-platform summary (followers, growth, posts, leaderboard, posting streak) over every account that supports analytics, for a preset period or a custom date range.
59
+ # @param workspace_uuid UUID of the workspace.
60
+ # @param [Hash] opts the optional parameters
61
+ # @option opts [String] :period Preset reporting period. Ignored when &#x60;date_from&#x60; and &#x60;date_to&#x60; are given.
62
+ # @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.
63
+ # @option opts [Date] :date_to End of a custom range (Y-m-d). Required with &#x60;date_from&#x60;; must not be before it.
64
+ # @return [AnalyticsSummary]
65
+ describe 'get_analytics_summary test' do
66
+ it 'should work' do
67
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
68
+ end
69
+ end
70
+
71
+ # unit tests for get_best_posting_times
72
+ # Get best posting times
73
+ # The next recommended date and time per account, on or after &#x60;from&#x60; (never in the past), within the next 14 days.
74
+ # @param workspace_uuid UUID of the workspace.
75
+ # @param [Hash] opts the optional parameters
76
+ # @option opts [Array<String>] :accounts Account UUIDs. Defaults to every account in the workspace.
77
+ # @option opts [Date] :from Earliest date to recommend (Y-m-d). Defaults to now.
78
+ # @option opts [String] :timezone Timezone for &#x60;from&#x60; and the returned times. Defaults to the workspace timezone.
79
+ # @return [BestPostingTimes]
80
+ describe 'get_best_posting_times test' do
81
+ it 'should work' do
82
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
83
+ end
84
+ end
85
+
86
+ # unit tests for get_post_analytics_0
87
+ # Get post analytics
88
+ # Engagement metrics for a published post across its accounts (also works for trashed posts), with totals, trends and the best-performing account.
89
+ # @param workspace_uuid UUID of the workspace.
90
+ # @param post_uuid UUID of the post.
91
+ # @param [Hash] opts the optional parameters
92
+ # @return [PostAnalytics]
93
+ describe 'get_post_analytics_0 test' do
94
+ it 'should work' do
95
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
96
+ end
97
+ end
98
+
99
+ # unit tests for get_posting_times
100
+ # Get posting times heatmap
101
+ # 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.
102
+ # @param workspace_uuid UUID of the workspace.
103
+ # @param [Hash] opts the optional parameters
104
+ # @option opts [Array<String>] :accounts Account UUIDs. Defaults to every account in the workspace.
105
+ # @option opts [String] :timezone Timezone the grid is expressed in. Defaults to the workspace timezone.
106
+ # @return [PostingTimes]
107
+ describe 'get_posting_times test' do
108
+ it 'should work' do
109
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
110
+ end
111
+ end
112
+
113
+ end