postboost 1.30.0 → 1.32.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 (684) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/docs/AccountConnectionHealth.md +2 -0
  4. data/docs/AccountConnectionHealthReconnectReason.md +22 -0
  5. data/docs/FreeToolPreviewPostRequest.md +24 -0
  6. data/docs/FreeToolPreviewPostResponse.md +18 -0
  7. data/docs/FreeToolPreviewPostResponseNetworksInner.md +36 -0
  8. data/docs/FreeToolsApi.md +65 -0
  9. data/lib/postboost/api/account_groups_api.rb +1 -1
  10. data/lib/postboost/api/accounts_api.rb +1 -1
  11. data/lib/postboost/api/activity_api.rb +1 -1
  12. data/lib/postboost/api/agents_api.rb +1 -1
  13. data/lib/postboost/api/ai_api.rb +1 -1
  14. data/lib/postboost/api/analytics_api.rb +1 -1
  15. data/lib/postboost/api/competitors_api.rb +1 -1
  16. data/lib/postboost/api/free_tools_api.rb +69 -1
  17. data/lib/postboost/api/hashtag_groups_api.rb +1 -1
  18. data/lib/postboost/api/inbox_api.rb +1 -1
  19. data/lib/postboost/api/media_api.rb +1 -1
  20. data/lib/postboost/api/mentions_api.rb +1 -1
  21. data/lib/postboost/api/posting_schedule_api.rb +1 -1
  22. data/lib/postboost/api/posts_api.rb +1 -1
  23. data/lib/postboost/api/receipts_api.rb +1 -1
  24. data/lib/postboost/api/subscriptions_api.rb +1 -1
  25. data/lib/postboost/api/tags_api.rb +1 -1
  26. data/lib/postboost/api/templates_api.rb +1 -1
  27. data/lib/postboost/api/users_api.rb +1 -1
  28. data/lib/postboost/api/webhooks_api.rb +1 -1
  29. data/lib/postboost/api/workspaces_api.rb +1 -1
  30. data/lib/postboost/api_client.rb +1 -1
  31. data/lib/postboost/api_error.rb +1 -1
  32. data/lib/postboost/configuration.rb +1 -1
  33. data/lib/postboost/models/account.rb +1 -1
  34. data/lib/postboost/models/account_analytics.rb +1 -1
  35. data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
  36. data/lib/postboost/models/account_connection_health.rb +18 -2
  37. data/lib/postboost/models/account_connection_health_reconnect_reason.rb +256 -0
  38. data/lib/postboost/models/account_errors_inner.rb +1 -1
  39. data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
  40. data/lib/postboost/models/account_group.rb +1 -1
  41. data/lib/postboost/models/account_group_input.rb +1 -1
  42. data/lib/postboost/models/account_health.rb +1 -1
  43. data/lib/postboost/models/account_health_daily_cap.rb +1 -1
  44. data/lib/postboost/models/account_schedule.rb +1 -1
  45. data/lib/postboost/models/add_competitor202_response.rb +1 -1
  46. data/lib/postboost/models/add_competitor409_response.rb +1 -1
  47. data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
  48. data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
  49. data/lib/postboost/models/agent_page_meta.rb +1 -1
  50. data/lib/postboost/models/agent_proposal.rb +1 -1
  51. data/lib/postboost/models/agent_proposal_decision.rb +1 -1
  52. data/lib/postboost/models/agent_run.rb +1 -1
  53. data/lib/postboost/models/ai_credits.rb +1 -1
  54. data/lib/postboost/models/ai_usage.rb +1 -1
  55. data/lib/postboost/models/ai_usage_text.rb +1 -1
  56. data/lib/postboost/models/analytics_period.rb +1 -1
  57. data/lib/postboost/models/analytics_summary.rb +1 -1
  58. data/lib/postboost/models/analytics_summary_data.rb +1 -1
  59. data/lib/postboost/models/api_activity.rb +1 -1
  60. data/lib/postboost/models/api_activity_outcome.rb +1 -1
  61. data/lib/postboost/models/api_key.rb +1 -1
  62. data/lib/postboost/models/api_key_ability.rb +1 -1
  63. data/lib/postboost/models/api_key_input.rb +1 -1
  64. data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
  65. data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
  66. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
  67. data/lib/postboost/models/approve_post_request.rb +1 -1
  68. data/lib/postboost/models/best_posting_times.rb +1 -1
  69. data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
  70. data/lib/postboost/models/blog_to_social200_response.rb +1 -1
  71. data/lib/postboost/models/blog_to_social429_response.rb +1 -1
  72. data/lib/postboost/models/blog_to_social_caption.rb +1 -1
  73. data/lib/postboost/models/blog_to_social_input.rb +1 -1
  74. data/lib/postboost/models/blog_to_social_media.rb +1 -1
  75. data/lib/postboost/models/blog_to_social_response.rb +1 -1
  76. data/lib/postboost/models/brand_voice.rb +1 -1
  77. data/lib/postboost/models/brand_voice_input.rb +1 -1
  78. data/lib/postboost/models/brand_voice_meta.rb +1 -1
  79. data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
  80. data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
  81. data/lib/postboost/models/cancel_subscription_request.rb +1 -1
  82. data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
  83. data/lib/postboost/models/channel_account.rb +1 -1
  84. data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
  85. data/lib/postboost/models/checkout_subscription_request.rb +1 -1
  86. data/lib/postboost/models/coded_error.rb +1 -1
  87. data/lib/postboost/models/competitor.rb +1 -1
  88. data/lib/postboost/models/competitor_detail.rb +1 -1
  89. data/lib/postboost/models/competitor_input.rb +1 -1
  90. data/lib/postboost/models/competitor_media.rb +1 -1
  91. data/lib/postboost/models/competitor_snapshot.rb +1 -1
  92. data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
  93. data/lib/postboost/models/connect_channel_input.rb +1 -1
  94. data/lib/postboost/models/connect_link.rb +1 -1
  95. data/lib/postboost/models/create_account_group201_response.rb +1 -1
  96. data/lib/postboost/models/create_agent201_response.rb +1 -1
  97. data/lib/postboost/models/create_api_key201_response.rb +1 -1
  98. data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
  99. data/lib/postboost/models/create_connect_link_request.rb +1 -1
  100. data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
  101. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
  102. data/lib/postboost/models/create_media_folder_request.rb +1 -1
  103. data/lib/postboost/models/create_mention201_response.rb +1 -1
  104. data/lib/postboost/models/create_post201_response.rb +1 -1
  105. data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
  106. data/lib/postboost/models/create_report_export201_response.rb +1 -1
  107. data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
  108. data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
  109. data/lib/postboost/models/create_template201_response.rb +1 -1
  110. data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
  111. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
  112. data/lib/postboost/models/delete_agent200_response.rb +1 -1
  113. data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
  114. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
  115. data/lib/postboost/models/delete_media_folder_request.rb +1 -1
  116. data/lib/postboost/models/delete_mode.rb +1 -1
  117. data/lib/postboost/models/delete_post_request.rb +1 -1
  118. data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
  119. data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
  120. data/lib/postboost/models/delete_result.rb +1 -1
  121. data/lib/postboost/models/delete_user400_response.rb +1 -1
  122. data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
  123. data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
  124. data/lib/postboost/models/free_tool_build_utm_url_request.rb +1 -1
  125. data/lib/postboost/models/free_tool_build_utm_url_response.rb +1 -1
  126. data/lib/postboost/models/free_tool_calculate_crop_request.rb +1 -1
  127. data/lib/postboost/models/free_tool_calculate_crop_response.rb +1 -1
  128. data/lib/postboost/models/free_tool_calculate_crop_response_crop.rb +1 -1
  129. data/lib/postboost/models/free_tool_calculate_crop_response_image.rb +1 -1
  130. data/lib/postboost/models/free_tool_calculate_crop_response_output.rb +1 -1
  131. data/lib/postboost/models/free_tool_calculate_engagement_rate_request.rb +1 -1
  132. data/lib/postboost/models/free_tool_calculate_engagement_rate_response.rb +1 -1
  133. data/lib/postboost/models/free_tool_check_post_request.rb +1 -1
  134. data/lib/postboost/models/free_tool_check_post_request_media.rb +1 -1
  135. data/lib/postboost/models/free_tool_check_post_response.rb +1 -1
  136. data/lib/postboost/models/free_tool_check_post_response_networks_inner.rb +1 -1
  137. data/lib/postboost/models/free_tool_check_post_response_networks_inner_errors_inner.rb +1 -1
  138. data/lib/postboost/models/free_tool_clean_text_request.rb +1 -1
  139. data/lib/postboost/models/free_tool_clean_text_response.rb +1 -1
  140. data/lib/postboost/models/free_tool_clean_text_response_changes_inner.rb +1 -1
  141. data/lib/postboost/models/free_tool_clean_text_response_flags_inner.rb +1 -1
  142. data/lib/postboost/models/free_tool_count_characters_request.rb +1 -1
  143. data/lib/postboost/models/free_tool_count_characters_response.rb +1 -1
  144. data/lib/postboost/models/free_tool_count_characters_response_networks_inner.rb +1 -1
  145. data/lib/postboost/models/free_tool_error.rb +1 -1
  146. data/lib/postboost/models/free_tool_format_linked_in_post_request.rb +1 -1
  147. data/lib/postboost/models/free_tool_format_linked_in_post_response.rb +1 -1
  148. data/lib/postboost/models/free_tool_generate_caption_request.rb +1 -1
  149. data/lib/postboost/models/free_tool_generate_caption_response.rb +1 -1
  150. data/lib/postboost/models/free_tool_generate_fancy_text_request.rb +1 -1
  151. data/lib/postboost/models/free_tool_generate_fancy_text_response.rb +1 -1
  152. data/lib/postboost/models/free_tool_generate_fancy_text_response_styles_inner.rb +1 -1
  153. data/lib/postboost/models/free_tool_generate_hashtags_request.rb +1 -1
  154. data/lib/postboost/models/free_tool_generate_hashtags_response.rb +1 -1
  155. data/lib/postboost/models/free_tool_get_best_times_to_post_response.rb +1 -1
  156. data/lib/postboost/models/free_tool_get_best_times_to_post_response_networks_inner.rb +1 -1
  157. data/lib/postboost/models/free_tool_get_image_sizes_response.rb +1 -1
  158. data/lib/postboost/models/free_tool_get_image_sizes_response_sizes_inner.rb +1 -1
  159. data/lib/postboost/models/free_tool_get_image_sizes_response_sources_inner.rb +1 -1
  160. data/lib/postboost/models/free_tool_list.rb +1 -1
  161. data/lib/postboost/models/free_tool_list_item.rb +1 -1
  162. data/lib/postboost/models/free_tool_preview_post_request.rb +362 -0
  163. data/lib/postboost/models/free_tool_preview_post_response.rb +216 -0
  164. data/lib/postboost/models/free_tool_preview_post_response_networks_inner.rb +334 -0
  165. data/lib/postboost/models/free_tool_split_thread_request.rb +1 -1
  166. data/lib/postboost/models/free_tool_split_thread_response.rb +1 -1
  167. data/lib/postboost/models/free_tool_split_thread_response_posts_inner.rb +1 -1
  168. data/lib/postboost/models/get_account_health200_response.rb +1 -1
  169. data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
  170. data/lib/postboost/models/get_competitor200_response.rb +1 -1
  171. data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
  172. data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
  173. data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
  174. data/lib/postboost/models/get_report_branding200_response.rb +1 -1
  175. data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
  176. data/lib/postboost/models/guardrail_error.rb +1 -1
  177. data/lib/postboost/models/hashtag_group.rb +1 -1
  178. data/lib/postboost/models/hashtag_group_input.rb +1 -1
  179. data/lib/postboost/models/image_alt_text200_response.rb +1 -1
  180. data/lib/postboost/models/image_alt_text_input.rb +1 -1
  181. data/lib/postboost/models/image_alt_text_response.rb +1 -1
  182. data/lib/postboost/models/image_credit_balance.rb +1 -1
  183. data/lib/postboost/models/image_edit_input.rb +1 -1
  184. data/lib/postboost/models/image_generate200_response.rb +1 -1
  185. data/lib/postboost/models/image_generate429_response.rb +1 -1
  186. data/lib/postboost/models/image_generate_input.rb +1 -1
  187. data/lib/postboost/models/image_generation_response.rb +1 -1
  188. data/lib/postboost/models/image_prompt200_response.rb +1 -1
  189. data/lib/postboost/models/image_prompt429_response.rb +1 -1
  190. data/lib/postboost/models/image_prompt_input.rb +1 -1
  191. data/lib/postboost/models/image_prompt_response.rb +1 -1
  192. data/lib/postboost/models/image_variations200_response.rb +1 -1
  193. data/lib/postboost/models/image_variations_input.rb +1 -1
  194. data/lib/postboost/models/image_variations_response.rb +1 -1
  195. data/lib/postboost/models/inbox_author.rb +1 -1
  196. data/lib/postboost/models/inbox_conversation.rb +1 -1
  197. data/lib/postboost/models/inbox_conversation_account.rb +1 -1
  198. data/lib/postboost/models/inbox_conversation_update.rb +1 -1
  199. data/lib/postboost/models/inbox_message.rb +1 -1
  200. data/lib/postboost/models/inbox_message_author.rb +1 -1
  201. data/lib/postboost/models/inbox_reply_draft.rb +1 -1
  202. data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
  203. data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
  204. data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
  205. data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
  206. data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
  207. data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
  208. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
  209. data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
  210. data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
  211. data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
  212. data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
  213. data/lib/postboost/models/list_account_groups200_response.rb +1 -1
  214. data/lib/postboost/models/list_accounts200_response.rb +1 -1
  215. data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
  216. data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
  217. data/lib/postboost/models/list_agents200_response.rb +1 -1
  218. data/lib/postboost/models/list_api_activity200_response.rb +1 -1
  219. data/lib/postboost/models/list_api_keys200_response.rb +1 -1
  220. data/lib/postboost/models/list_competitors200_response.rb +1 -1
  221. data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
  222. data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
  223. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
  224. data/lib/postboost/models/list_media200_response.rb +1 -1
  225. data/lib/postboost/models/list_media_folders200_response.rb +1 -1
  226. data/lib/postboost/models/list_mentions200_response.rb +1 -1
  227. data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
  228. data/lib/postboost/models/list_posts200_response.rb +1 -1
  229. data/lib/postboost/models/list_receipts200_response.rb +1 -1
  230. data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
  231. data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
  232. data/lib/postboost/models/list_report_exports200_response.rb +1 -1
  233. data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
  234. data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
  235. data/lib/postboost/models/list_tags200_response.rb +1 -1
  236. data/lib/postboost/models/list_templates200_response.rb +1 -1
  237. data/lib/postboost/models/list_users200_response.rb +1 -1
  238. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
  239. data/lib/postboost/models/list_workspaces200_response.rb +1 -1
  240. data/lib/postboost/models/media.rb +1 -1
  241. data/lib/postboost/models/media_base64_input.rb +1 -1
  242. data/lib/postboost/models/media_folder.rb +1 -1
  243. data/lib/postboost/models/media_folder_input.rb +1 -1
  244. data/lib/postboost/models/media_folder_ref.rb +1 -1
  245. data/lib/postboost/models/mention.rb +1 -1
  246. data/lib/postboost/models/mention_identity.rb +1 -1
  247. data/lib/postboost/models/mention_identity_input.rb +1 -1
  248. data/lib/postboost/models/mention_input.rb +1 -1
  249. data/lib/postboost/models/message_only.rb +1 -1
  250. data/lib/postboost/models/pagination_meta.rb +1 -1
  251. data/lib/postboost/models/pagination_meta_links.rb +1 -1
  252. data/lib/postboost/models/pagination_meta_meta.rb +1 -1
  253. data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
  254. data/lib/postboost/models/post.rb +1 -1
  255. data/lib/postboost/models/post_analytics.rb +1 -1
  256. data/lib/postboost/models/post_content.rb +1 -1
  257. data/lib/postboost/models/post_input.rb +1 -1
  258. data/lib/postboost/models/post_options_instagram.rb +1 -1
  259. data/lib/postboost/models/post_options_tik_tok.rb +1 -1
  260. data/lib/postboost/models/post_options_youtube.rb +1 -1
  261. data/lib/postboost/models/post_status.rb +1 -1
  262. data/lib/postboost/models/post_version.rb +1 -1
  263. data/lib/postboost/models/post_version_options.rb +1 -1
  264. data/lib/postboost/models/post_warning.rb +1 -1
  265. data/lib/postboost/models/post_warnings.rb +1 -1
  266. data/lib/postboost/models/posting_schedule.rb +1 -1
  267. data/lib/postboost/models/posting_schedule_day.rb +1 -1
  268. data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
  269. data/lib/postboost/models/posting_schedule_input.rb +1 -1
  270. data/lib/postboost/models/posting_time_slot.rb +1 -1
  271. data/lib/postboost/models/posting_times.rb +1 -1
  272. data/lib/postboost/models/posting_times_best_inner.rb +1 -1
  273. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
  274. data/lib/postboost/models/posting_times_days_inner.rb +1 -1
  275. data/lib/postboost/models/preflight_result.rb +1 -1
  276. data/lib/postboost/models/public_workspace.rb +1 -1
  277. data/lib/postboost/models/public_workspace_pivot.rb +1 -1
  278. data/lib/postboost/models/publish_progress.rb +1 -1
  279. data/lib/postboost/models/queue_slots.rb +1 -1
  280. data/lib/postboost/models/receipt.rb +1 -1
  281. data/lib/postboost/models/receipt_input.rb +1 -1
  282. data/lib/postboost/models/receipt_update_input.rb +1 -1
  283. data/lib/postboost/models/recommended_posting_times.rb +1 -1
  284. data/lib/postboost/models/reconnect_link.rb +1 -1
  285. data/lib/postboost/models/recycling_rule.rb +1 -1
  286. data/lib/postboost/models/recycling_rule_input.rb +1 -1
  287. data/lib/postboost/models/recycling_rule_settings.rb +1 -1
  288. data/lib/postboost/models/recycling_rule_update.rb +1 -1
  289. data/lib/postboost/models/recycling_run.rb +1 -1
  290. data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
  291. data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
  292. data/lib/postboost/models/report_branding.rb +1 -1
  293. data/lib/postboost/models/report_branding_input.rb +1 -1
  294. data/lib/postboost/models/report_export.rb +1 -1
  295. data/lib/postboost/models/report_export_input.rb +1 -1
  296. data/lib/postboost/models/repurpose_content200_response.rb +1 -1
  297. data/lib/postboost/models/repurpose_content202_response.rb +1 -1
  298. data/lib/postboost/models/repurpose_content500_response.rb +1 -1
  299. data/lib/postboost/models/repurpose_input.rb +1 -1
  300. data/lib/postboost/models/repurpose_input_theme.rb +1 -1
  301. data/lib/postboost/models/repurpose_result.rb +1 -1
  302. data/lib/postboost/models/repurpose_result_media.rb +1 -1
  303. data/lib/postboost/models/repurpose_result_source.rb +1 -1
  304. data/lib/postboost/models/repurpose_run.rb +1 -1
  305. data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
  306. data/lib/postboost/models/repurpose_slide.rb +1 -1
  307. data/lib/postboost/models/reseller_client.rb +1 -1
  308. data/lib/postboost/models/reseller_client_input.rb +1 -1
  309. data/lib/postboost/models/reseller_client_usage.rb +1 -1
  310. data/lib/postboost/models/retry_post_account_result.rb +1 -1
  311. data/lib/postboost/models/rss_feed.rb +1 -1
  312. data/lib/postboost/models/rss_feed_input.rb +1 -1
  313. data/lib/postboost/models/rss_feed_update.rb +1 -1
  314. data/lib/postboost/models/run_agent202_response.rb +1 -1
  315. data/lib/postboost/models/schedule_post_request.rb +1 -1
  316. data/lib/postboost/models/schedule_result.rb +1 -1
  317. data/lib/postboost/models/subscription.rb +1 -1
  318. data/lib/postboost/models/subscription_input.rb +1 -1
  319. data/lib/postboost/models/subscription_status.rb +1 -1
  320. data/lib/postboost/models/subscription_update_input.rb +1 -1
  321. data/lib/postboost/models/tag.rb +1 -1
  322. data/lib/postboost/models/tag_input.rb +1 -1
  323. data/lib/postboost/models/template.rb +1 -1
  324. data/lib/postboost/models/template_content_item.rb +1 -1
  325. data/lib/postboost/models/template_input.rb +1 -1
  326. data/lib/postboost/models/template_input_content_inner.rb +1 -1
  327. data/lib/postboost/models/update_media_request.rb +1 -1
  328. data/lib/postboost/models/update_post200_response.rb +1 -1
  329. data/lib/postboost/models/upload_chunk201_response.rb +1 -1
  330. data/lib/postboost/models/user.rb +1 -1
  331. data/lib/postboost/models/user_input.rb +1 -1
  332. data/lib/postboost/models/user_update_input.rb +1 -1
  333. data/lib/postboost/models/webhook_event_name.rb +1 -1
  334. data/lib/postboost/models/webhook_event_payload.rb +1 -1
  335. data/lib/postboost/models/webhook_subscription.rb +1 -1
  336. data/lib/postboost/models/webhook_subscription_input.rb +1 -1
  337. data/lib/postboost/models/workspace.rb +1 -1
  338. data/lib/postboost/models/workspace_agent.rb +1 -1
  339. data/lib/postboost/models/workspace_agent_input.rb +1 -1
  340. data/lib/postboost/models/workspace_agent_settings.rb +1 -1
  341. data/lib/postboost/models/workspace_agent_update.rb +1 -1
  342. data/lib/postboost/models/workspace_input.rb +1 -1
  343. data/lib/postboost/models/workspace_user_input.rb +1 -1
  344. data/lib/postboost/models/x_usage.rb +1 -1
  345. data/lib/postboost/models/x_usage_counter.rb +1 -1
  346. data/lib/postboost/version.rb +2 -2
  347. data/lib/postboost.rb +5 -1
  348. data/postboost.gemspec +1 -1
  349. data/spec/api/account_groups_api_spec.rb +1 -1
  350. data/spec/api/accounts_api_spec.rb +1 -1
  351. data/spec/api/activity_api_spec.rb +1 -1
  352. data/spec/api/agents_api_spec.rb +1 -1
  353. data/spec/api/ai_api_spec.rb +1 -1
  354. data/spec/api/analytics_api_spec.rb +1 -1
  355. data/spec/api/competitors_api_spec.rb +1 -1
  356. data/spec/api/free_tools_api_spec.rb +13 -1
  357. data/spec/api/hashtag_groups_api_spec.rb +1 -1
  358. data/spec/api/inbox_api_spec.rb +1 -1
  359. data/spec/api/media_api_spec.rb +1 -1
  360. data/spec/api/mentions_api_spec.rb +1 -1
  361. data/spec/api/posting_schedule_api_spec.rb +1 -1
  362. data/spec/api/posts_api_spec.rb +1 -1
  363. data/spec/api/receipts_api_spec.rb +1 -1
  364. data/spec/api/subscriptions_api_spec.rb +1 -1
  365. data/spec/api/tags_api_spec.rb +1 -1
  366. data/spec/api/templates_api_spec.rb +1 -1
  367. data/spec/api/users_api_spec.rb +1 -1
  368. data/spec/api/webhooks_api_spec.rb +1 -1
  369. data/spec/api/workspaces_api_spec.rb +1 -1
  370. data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
  371. data/spec/models/account_analytics_spec.rb +1 -1
  372. data/spec/models/account_connection_health_reconnect_reason_spec.rb +48 -0
  373. data/spec/models/account_connection_health_spec.rb +7 -1
  374. data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
  375. data/spec/models/account_errors_inner_spec.rb +1 -1
  376. data/spec/models/account_group_input_spec.rb +1 -1
  377. data/spec/models/account_group_spec.rb +1 -1
  378. data/spec/models/account_health_daily_cap_spec.rb +1 -1
  379. data/spec/models/account_health_spec.rb +1 -1
  380. data/spec/models/account_schedule_spec.rb +1 -1
  381. data/spec/models/account_spec.rb +1 -1
  382. data/spec/models/add_competitor202_response_spec.rb +1 -1
  383. data/spec/models/add_competitor409_response_spec.rb +1 -1
  384. data/spec/models/add_generic_subscription_request_spec.rb +1 -1
  385. data/spec/models/add_post_to_queue_request_spec.rb +1 -1
  386. data/spec/models/agent_page_meta_spec.rb +1 -1
  387. data/spec/models/agent_proposal_decision_spec.rb +1 -1
  388. data/spec/models/agent_proposal_spec.rb +1 -1
  389. data/spec/models/agent_run_spec.rb +1 -1
  390. data/spec/models/ai_credits_spec.rb +1 -1
  391. data/spec/models/ai_usage_spec.rb +1 -1
  392. data/spec/models/ai_usage_text_spec.rb +1 -1
  393. data/spec/models/analytics_period_spec.rb +1 -1
  394. data/spec/models/analytics_summary_data_spec.rb +1 -1
  395. data/spec/models/analytics_summary_spec.rb +1 -1
  396. data/spec/models/api_activity_outcome_spec.rb +1 -1
  397. data/spec/models/api_activity_spec.rb +1 -1
  398. data/spec/models/api_key_ability_spec.rb +1 -1
  399. data/spec/models/api_key_input_spec.rb +1 -1
  400. data/spec/models/api_key_spec.rb +1 -1
  401. data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
  402. data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
  403. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
  404. data/spec/models/approve_post_request_spec.rb +1 -1
  405. data/spec/models/best_posting_times_spec.rb +1 -1
  406. data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
  407. data/spec/models/blog_to_social200_response_spec.rb +1 -1
  408. data/spec/models/blog_to_social429_response_spec.rb +1 -1
  409. data/spec/models/blog_to_social_caption_spec.rb +1 -1
  410. data/spec/models/blog_to_social_input_spec.rb +1 -1
  411. data/spec/models/blog_to_social_media_spec.rb +1 -1
  412. data/spec/models/blog_to_social_response_spec.rb +1 -1
  413. data/spec/models/brand_voice_input_spec.rb +1 -1
  414. data/spec/models/brand_voice_meta_spec.rb +1 -1
  415. data/spec/models/brand_voice_spec.rb +1 -1
  416. data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
  417. data/spec/models/cancel_subscription422_response_spec.rb +1 -1
  418. data/spec/models/cancel_subscription_request_spec.rb +1 -1
  419. data/spec/models/change_subscription_plan_request_spec.rb +1 -1
  420. data/spec/models/channel_account_spec.rb +1 -1
  421. data/spec/models/checkout_subscription200_response_spec.rb +1 -1
  422. data/spec/models/checkout_subscription_request_spec.rb +1 -1
  423. data/spec/models/coded_error_spec.rb +1 -1
  424. data/spec/models/competitor_detail_spec.rb +1 -1
  425. data/spec/models/competitor_input_spec.rb +1 -1
  426. data/spec/models/competitor_media_spec.rb +1 -1
  427. data/spec/models/competitor_snapshot_spec.rb +1 -1
  428. data/spec/models/competitor_spec.rb +1 -1
  429. data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
  430. data/spec/models/connect_channel_input_spec.rb +1 -1
  431. data/spec/models/connect_link_spec.rb +1 -1
  432. data/spec/models/create_account_group201_response_spec.rb +1 -1
  433. data/spec/models/create_agent201_response_spec.rb +1 -1
  434. data/spec/models/create_api_key201_response_data_spec.rb +1 -1
  435. data/spec/models/create_api_key201_response_spec.rb +1 -1
  436. data/spec/models/create_connect_link_request_spec.rb +1 -1
  437. data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
  438. data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
  439. data/spec/models/create_media_folder_request_spec.rb +1 -1
  440. data/spec/models/create_mention201_response_spec.rb +1 -1
  441. data/spec/models/create_post201_response_spec.rb +1 -1
  442. data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
  443. data/spec/models/create_report_export201_response_spec.rb +1 -1
  444. data/spec/models/create_reseller_client201_response_spec.rb +1 -1
  445. data/spec/models/create_rss_feed201_response_spec.rb +1 -1
  446. data/spec/models/create_template201_response_spec.rb +1 -1
  447. data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
  448. data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
  449. data/spec/models/delete_agent200_response_spec.rb +1 -1
  450. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
  451. data/spec/models/delete_media_bulk_request_spec.rb +1 -1
  452. data/spec/models/delete_media_folder_request_spec.rb +1 -1
  453. data/spec/models/delete_mode_spec.rb +1 -1
  454. data/spec/models/delete_post_request_spec.rb +1 -1
  455. data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
  456. data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
  457. data/spec/models/delete_result_spec.rb +1 -1
  458. data/spec/models/delete_user400_response_spec.rb +1 -1
  459. data/spec/models/delete_users_bulk_request_spec.rb +1 -1
  460. data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
  461. data/spec/models/free_tool_build_utm_url_request_spec.rb +1 -1
  462. data/spec/models/free_tool_build_utm_url_response_spec.rb +1 -1
  463. data/spec/models/free_tool_calculate_crop_request_spec.rb +1 -1
  464. data/spec/models/free_tool_calculate_crop_response_crop_spec.rb +1 -1
  465. data/spec/models/free_tool_calculate_crop_response_image_spec.rb +1 -1
  466. data/spec/models/free_tool_calculate_crop_response_output_spec.rb +1 -1
  467. data/spec/models/free_tool_calculate_crop_response_spec.rb +1 -1
  468. data/spec/models/free_tool_calculate_engagement_rate_request_spec.rb +1 -1
  469. data/spec/models/free_tool_calculate_engagement_rate_response_spec.rb +1 -1
  470. data/spec/models/free_tool_check_post_request_media_spec.rb +1 -1
  471. data/spec/models/free_tool_check_post_request_spec.rb +1 -1
  472. data/spec/models/free_tool_check_post_response_networks_inner_errors_inner_spec.rb +1 -1
  473. data/spec/models/free_tool_check_post_response_networks_inner_spec.rb +1 -1
  474. data/spec/models/free_tool_check_post_response_spec.rb +1 -1
  475. data/spec/models/free_tool_clean_text_request_spec.rb +1 -1
  476. data/spec/models/free_tool_clean_text_response_changes_inner_spec.rb +1 -1
  477. data/spec/models/free_tool_clean_text_response_flags_inner_spec.rb +1 -1
  478. data/spec/models/free_tool_clean_text_response_spec.rb +1 -1
  479. data/spec/models/free_tool_count_characters_request_spec.rb +1 -1
  480. data/spec/models/free_tool_count_characters_response_networks_inner_spec.rb +1 -1
  481. data/spec/models/free_tool_count_characters_response_spec.rb +1 -1
  482. data/spec/models/free_tool_error_spec.rb +1 -1
  483. data/spec/models/free_tool_format_linked_in_post_request_spec.rb +1 -1
  484. data/spec/models/free_tool_format_linked_in_post_response_spec.rb +1 -1
  485. data/spec/models/free_tool_generate_caption_request_spec.rb +1 -1
  486. data/spec/models/free_tool_generate_caption_response_spec.rb +1 -1
  487. data/spec/models/free_tool_generate_fancy_text_request_spec.rb +1 -1
  488. data/spec/models/free_tool_generate_fancy_text_response_spec.rb +1 -1
  489. data/spec/models/free_tool_generate_fancy_text_response_styles_inner_spec.rb +1 -1
  490. data/spec/models/free_tool_generate_hashtags_request_spec.rb +1 -1
  491. data/spec/models/free_tool_generate_hashtags_response_spec.rb +1 -1
  492. data/spec/models/free_tool_get_best_times_to_post_response_networks_inner_spec.rb +1 -1
  493. data/spec/models/free_tool_get_best_times_to_post_response_spec.rb +1 -1
  494. data/spec/models/free_tool_get_image_sizes_response_sizes_inner_spec.rb +1 -1
  495. data/spec/models/free_tool_get_image_sizes_response_sources_inner_spec.rb +1 -1
  496. data/spec/models/free_tool_get_image_sizes_response_spec.rb +1 -1
  497. data/spec/models/free_tool_list_item_spec.rb +1 -1
  498. data/spec/models/free_tool_list_spec.rb +1 -1
  499. data/spec/models/free_tool_preview_post_request_spec.rb +58 -0
  500. data/spec/models/free_tool_preview_post_response_networks_inner_spec.rb +94 -0
  501. data/spec/models/free_tool_preview_post_response_spec.rb +36 -0
  502. data/spec/models/free_tool_split_thread_request_spec.rb +1 -1
  503. data/spec/models/free_tool_split_thread_response_posts_inner_spec.rb +1 -1
  504. data/spec/models/free_tool_split_thread_response_spec.rb +1 -1
  505. data/spec/models/get_account_health200_response_spec.rb +1 -1
  506. data/spec/models/get_brand_voice200_response_spec.rb +1 -1
  507. data/spec/models/get_competitor200_response_spec.rb +1 -1
  508. data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
  509. data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
  510. data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
  511. data/spec/models/get_report_branding200_response_spec.rb +1 -1
  512. data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
  513. data/spec/models/guardrail_error_spec.rb +1 -1
  514. data/spec/models/hashtag_group_input_spec.rb +1 -1
  515. data/spec/models/hashtag_group_spec.rb +1 -1
  516. data/spec/models/image_alt_text200_response_spec.rb +1 -1
  517. data/spec/models/image_alt_text_input_spec.rb +1 -1
  518. data/spec/models/image_alt_text_response_spec.rb +1 -1
  519. data/spec/models/image_credit_balance_spec.rb +1 -1
  520. data/spec/models/image_edit_input_spec.rb +1 -1
  521. data/spec/models/image_generate200_response_spec.rb +1 -1
  522. data/spec/models/image_generate429_response_spec.rb +1 -1
  523. data/spec/models/image_generate_input_spec.rb +1 -1
  524. data/spec/models/image_generation_response_spec.rb +1 -1
  525. data/spec/models/image_prompt200_response_spec.rb +1 -1
  526. data/spec/models/image_prompt429_response_spec.rb +1 -1
  527. data/spec/models/image_prompt_input_spec.rb +1 -1
  528. data/spec/models/image_prompt_response_spec.rb +1 -1
  529. data/spec/models/image_variations200_response_spec.rb +1 -1
  530. data/spec/models/image_variations_input_spec.rb +1 -1
  531. data/spec/models/image_variations_response_spec.rb +1 -1
  532. data/spec/models/inbox_author_spec.rb +1 -1
  533. data/spec/models/inbox_conversation_account_spec.rb +1 -1
  534. data/spec/models/inbox_conversation_spec.rb +1 -1
  535. data/spec/models/inbox_conversation_update_spec.rb +1 -1
  536. data/spec/models/inbox_message_author_spec.rb +1 -1
  537. data/spec/models/inbox_message_spec.rb +1 -1
  538. data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
  539. data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
  540. data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
  541. data/spec/models/inbox_reply_draft_spec.rb +1 -1
  542. data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
  543. data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
  544. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
  545. data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
  546. data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
  547. data/spec/models/learn_brand_voice_input_spec.rb +1 -1
  548. data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
  549. data/spec/models/learn_brand_voice_response_spec.rb +1 -1
  550. data/spec/models/list_account_groups200_response_spec.rb +1 -1
  551. data/spec/models/list_accounts200_response_spec.rb +1 -1
  552. data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
  553. data/spec/models/list_agent_runs200_response_spec.rb +1 -1
  554. data/spec/models/list_agents200_response_spec.rb +1 -1
  555. data/spec/models/list_api_activity200_response_spec.rb +1 -1
  556. data/spec/models/list_api_keys200_response_spec.rb +1 -1
  557. data/spec/models/list_competitors200_response_spec.rb +1 -1
  558. data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
  559. data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
  560. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
  561. data/spec/models/list_media200_response_spec.rb +1 -1
  562. data/spec/models/list_media_folders200_response_spec.rb +1 -1
  563. data/spec/models/list_mentions200_response_spec.rb +1 -1
  564. data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
  565. data/spec/models/list_posts200_response_spec.rb +1 -1
  566. data/spec/models/list_receipts200_response_spec.rb +1 -1
  567. data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
  568. data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
  569. data/spec/models/list_report_exports200_response_spec.rb +1 -1
  570. data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
  571. data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
  572. data/spec/models/list_tags200_response_spec.rb +1 -1
  573. data/spec/models/list_templates200_response_spec.rb +1 -1
  574. data/spec/models/list_users200_response_spec.rb +1 -1
  575. data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
  576. data/spec/models/list_workspaces200_response_spec.rb +1 -1
  577. data/spec/models/media_base64_input_spec.rb +1 -1
  578. data/spec/models/media_folder_input_spec.rb +1 -1
  579. data/spec/models/media_folder_ref_spec.rb +1 -1
  580. data/spec/models/media_folder_spec.rb +1 -1
  581. data/spec/models/media_spec.rb +1 -1
  582. data/spec/models/mention_identity_input_spec.rb +1 -1
  583. data/spec/models/mention_identity_spec.rb +1 -1
  584. data/spec/models/mention_input_spec.rb +1 -1
  585. data/spec/models/mention_spec.rb +1 -1
  586. data/spec/models/message_only_spec.rb +1 -1
  587. data/spec/models/pagination_meta_links_spec.rb +1 -1
  588. data/spec/models/pagination_meta_meta_spec.rb +1 -1
  589. data/spec/models/pagination_meta_spec.rb +1 -1
  590. data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
  591. data/spec/models/post_analytics_spec.rb +1 -1
  592. data/spec/models/post_content_spec.rb +1 -1
  593. data/spec/models/post_input_spec.rb +1 -1
  594. data/spec/models/post_options_instagram_spec.rb +1 -1
  595. data/spec/models/post_options_tik_tok_spec.rb +1 -1
  596. data/spec/models/post_options_youtube_spec.rb +1 -1
  597. data/spec/models/post_spec.rb +1 -1
  598. data/spec/models/post_status_spec.rb +1 -1
  599. data/spec/models/post_version_options_spec.rb +1 -1
  600. data/spec/models/post_version_spec.rb +1 -1
  601. data/spec/models/post_warning_spec.rb +1 -1
  602. data/spec/models/post_warnings_spec.rb +1 -1
  603. data/spec/models/posting_schedule_day_spec.rb +1 -1
  604. data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
  605. data/spec/models/posting_schedule_input_spec.rb +1 -1
  606. data/spec/models/posting_schedule_spec.rb +1 -1
  607. data/spec/models/posting_time_slot_spec.rb +1 -1
  608. data/spec/models/posting_times_best_inner_spec.rb +1 -1
  609. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
  610. data/spec/models/posting_times_days_inner_spec.rb +1 -1
  611. data/spec/models/posting_times_spec.rb +1 -1
  612. data/spec/models/preflight_result_spec.rb +1 -1
  613. data/spec/models/public_workspace_pivot_spec.rb +1 -1
  614. data/spec/models/public_workspace_spec.rb +1 -1
  615. data/spec/models/publish_progress_spec.rb +1 -1
  616. data/spec/models/queue_slots_spec.rb +1 -1
  617. data/spec/models/receipt_input_spec.rb +1 -1
  618. data/spec/models/receipt_spec.rb +1 -1
  619. data/spec/models/receipt_update_input_spec.rb +1 -1
  620. data/spec/models/recommended_posting_times_spec.rb +1 -1
  621. data/spec/models/reconnect_link_spec.rb +1 -1
  622. data/spec/models/recycling_rule_input_spec.rb +1 -1
  623. data/spec/models/recycling_rule_settings_spec.rb +1 -1
  624. data/spec/models/recycling_rule_spec.rb +1 -1
  625. data/spec/models/recycling_rule_update_spec.rb +1 -1
  626. data/spec/models/recycling_run_spec.rb +1 -1
  627. data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
  628. data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
  629. data/spec/models/report_branding_input_spec.rb +1 -1
  630. data/spec/models/report_branding_spec.rb +1 -1
  631. data/spec/models/report_export_input_spec.rb +1 -1
  632. data/spec/models/report_export_spec.rb +1 -1
  633. data/spec/models/repurpose_content200_response_spec.rb +1 -1
  634. data/spec/models/repurpose_content202_response_spec.rb +1 -1
  635. data/spec/models/repurpose_content500_response_spec.rb +1 -1
  636. data/spec/models/repurpose_input_spec.rb +1 -1
  637. data/spec/models/repurpose_input_theme_spec.rb +1 -1
  638. data/spec/models/repurpose_result_media_spec.rb +1 -1
  639. data/spec/models/repurpose_result_source_spec.rb +1 -1
  640. data/spec/models/repurpose_result_spec.rb +1 -1
  641. data/spec/models/repurpose_run_accepted_spec.rb +1 -1
  642. data/spec/models/repurpose_run_spec.rb +1 -1
  643. data/spec/models/repurpose_slide_spec.rb +1 -1
  644. data/spec/models/reseller_client_input_spec.rb +1 -1
  645. data/spec/models/reseller_client_spec.rb +1 -1
  646. data/spec/models/reseller_client_usage_spec.rb +1 -1
  647. data/spec/models/retry_post_account_result_spec.rb +1 -1
  648. data/spec/models/rss_feed_input_spec.rb +1 -1
  649. data/spec/models/rss_feed_spec.rb +1 -1
  650. data/spec/models/rss_feed_update_spec.rb +1 -1
  651. data/spec/models/run_agent202_response_spec.rb +1 -1
  652. data/spec/models/schedule_post_request_spec.rb +1 -1
  653. data/spec/models/schedule_result_spec.rb +1 -1
  654. data/spec/models/subscription_input_spec.rb +1 -1
  655. data/spec/models/subscription_spec.rb +1 -1
  656. data/spec/models/subscription_status_spec.rb +1 -1
  657. data/spec/models/subscription_update_input_spec.rb +1 -1
  658. data/spec/models/tag_input_spec.rb +1 -1
  659. data/spec/models/tag_spec.rb +1 -1
  660. data/spec/models/template_content_item_spec.rb +1 -1
  661. data/spec/models/template_input_content_inner_spec.rb +1 -1
  662. data/spec/models/template_input_spec.rb +1 -1
  663. data/spec/models/template_spec.rb +1 -1
  664. data/spec/models/update_media_request_spec.rb +1 -1
  665. data/spec/models/update_post200_response_spec.rb +1 -1
  666. data/spec/models/upload_chunk201_response_spec.rb +1 -1
  667. data/spec/models/user_input_spec.rb +1 -1
  668. data/spec/models/user_spec.rb +1 -1
  669. data/spec/models/user_update_input_spec.rb +1 -1
  670. data/spec/models/webhook_event_name_spec.rb +1 -1
  671. data/spec/models/webhook_event_payload_spec.rb +1 -1
  672. data/spec/models/webhook_subscription_input_spec.rb +1 -1
  673. data/spec/models/webhook_subscription_spec.rb +1 -1
  674. data/spec/models/workspace_agent_input_spec.rb +1 -1
  675. data/spec/models/workspace_agent_settings_spec.rb +1 -1
  676. data/spec/models/workspace_agent_spec.rb +1 -1
  677. data/spec/models/workspace_agent_update_spec.rb +1 -1
  678. data/spec/models/workspace_input_spec.rb +1 -1
  679. data/spec/models/workspace_spec.rb +1 -1
  680. data/spec/models/workspace_user_input_spec.rb +1 -1
  681. data/spec/models/x_usage_counter_spec.rb +1 -1
  682. data/spec/models/x_usage_spec.rb +1 -1
  683. data/spec/spec_helper.rb +1 -1
  684. metadata +17 -1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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
5
 
6
- The version of the OpenAPI document: 1.30.0
6
+ The version of the OpenAPI document: 1.32.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -0,0 +1,362 @@
1
+ =begin
2
+ #PostBoost API
3
+
4
+ #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network 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.32.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 'date'
14
+ require 'time'
15
+
16
+ module PostBoost
17
+ class FreeToolPreviewPostRequest
18
+ attr_accessor :text
19
+
20
+ # Image ratio of the Instagram feed post.
21
+ attr_accessor :instagram_ratio
22
+
23
+ # Image width in pixels. Give it with image_height to get display_ratio and cropped per card.
24
+ attr_accessor :image_width
25
+
26
+ # Image height in pixels. Give it with image_width.
27
+ attr_accessor :image_height
28
+
29
+ class EnumAttributeValidator
30
+ attr_reader :datatype
31
+ attr_reader :allowable_values
32
+
33
+ def initialize(datatype, allowable_values)
34
+ @allowable_values = allowable_values.map do |value|
35
+ case datatype.to_s
36
+ when /Integer/i
37
+ value.to_i
38
+ when /Float/i
39
+ value.to_f
40
+ else
41
+ value
42
+ end
43
+ end
44
+ end
45
+
46
+ def valid?(value)
47
+ !value || allowable_values.include?(value)
48
+ end
49
+ end
50
+
51
+ # Attribute mapping from ruby-style variable name to JSON key.
52
+ def self.attribute_map
53
+ {
54
+ :'text' => :'text',
55
+ :'instagram_ratio' => :'instagram_ratio',
56
+ :'image_width' => :'image_width',
57
+ :'image_height' => :'image_height'
58
+ }
59
+ end
60
+
61
+ # Returns all the JSON keys this model knows about
62
+ def self.acceptable_attributes
63
+ attribute_map.values
64
+ end
65
+
66
+ # Attribute type mapping.
67
+ def self.openapi_types
68
+ {
69
+ :'text' => :'String',
70
+ :'instagram_ratio' => :'String',
71
+ :'image_width' => :'Integer',
72
+ :'image_height' => :'Integer'
73
+ }
74
+ end
75
+
76
+ # List of attributes with nullable: true
77
+ def self.openapi_nullable
78
+ Set.new([
79
+ ])
80
+ end
81
+
82
+ # Initializes the object
83
+ # @param [Hash] attributes Model attributes in the form of hash
84
+ def initialize(attributes = {})
85
+ if (!attributes.is_a?(Hash))
86
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PostBoost::FreeToolPreviewPostRequest` initialize method"
87
+ end
88
+
89
+ # check to see if the attribute exists and convert string to symbol for hash key
90
+ attributes = attributes.each_with_object({}) { |(k, v), h|
91
+ if (!self.class.attribute_map.key?(k.to_sym))
92
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PostBoost::FreeToolPreviewPostRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
93
+ end
94
+ h[k.to_sym] = v
95
+ }
96
+
97
+ if attributes.key?(:'text')
98
+ self.text = attributes[:'text']
99
+ else
100
+ self.text = nil
101
+ end
102
+
103
+ if attributes.key?(:'instagram_ratio')
104
+ self.instagram_ratio = attributes[:'instagram_ratio']
105
+ else
106
+ self.instagram_ratio = '1:1'
107
+ end
108
+
109
+ if attributes.key?(:'image_width')
110
+ self.image_width = attributes[:'image_width']
111
+ end
112
+
113
+ if attributes.key?(:'image_height')
114
+ self.image_height = attributes[:'image_height']
115
+ end
116
+ end
117
+
118
+ # Show invalid properties with the reasons. Usually used together with valid?
119
+ # @return Array for valid properties with the reasons
120
+ def list_invalid_properties
121
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
122
+ invalid_properties = Array.new
123
+ if @text.nil?
124
+ invalid_properties.push('invalid value for "text", text cannot be nil.')
125
+ end
126
+
127
+ if @text.to_s.length > 10000
128
+ invalid_properties.push('invalid value for "text", the character length must be smaller than or equal to 10000.')
129
+ end
130
+
131
+ if !@image_width.nil? && @image_width > 20000
132
+ invalid_properties.push('invalid value for "image_width", must be smaller than or equal to 20000.')
133
+ end
134
+
135
+ if !@image_width.nil? && @image_width < 1
136
+ invalid_properties.push('invalid value for "image_width", must be greater than or equal to 1.')
137
+ end
138
+
139
+ if !@image_height.nil? && @image_height > 20000
140
+ invalid_properties.push('invalid value for "image_height", must be smaller than or equal to 20000.')
141
+ end
142
+
143
+ if !@image_height.nil? && @image_height < 1
144
+ invalid_properties.push('invalid value for "image_height", must be greater than or equal to 1.')
145
+ end
146
+
147
+ invalid_properties
148
+ end
149
+
150
+ # Check to see if the all the properties in the model are valid
151
+ # @return true if the model is valid
152
+ def valid?
153
+ warn '[DEPRECATED] the `valid?` method is obsolete'
154
+ return false if @text.nil?
155
+ return false if @text.to_s.length > 10000
156
+ instagram_ratio_validator = EnumAttributeValidator.new('String', ["1:1", "4:5", "1.91:1"])
157
+ return false unless instagram_ratio_validator.valid?(@instagram_ratio)
158
+ return false if !@image_width.nil? && @image_width > 20000
159
+ return false if !@image_width.nil? && @image_width < 1
160
+ return false if !@image_height.nil? && @image_height > 20000
161
+ return false if !@image_height.nil? && @image_height < 1
162
+ true
163
+ end
164
+
165
+ # Custom attribute writer method with validation
166
+ # @param [Object] text Value to be assigned
167
+ def text=(text)
168
+ if text.nil?
169
+ fail ArgumentError, 'text cannot be nil'
170
+ end
171
+
172
+ if text.to_s.length > 10000
173
+ fail ArgumentError, 'invalid value for "text", the character length must be smaller than or equal to 10000.'
174
+ end
175
+
176
+ @text = text
177
+ end
178
+
179
+ # Custom attribute writer method checking allowed values (enum).
180
+ # @param [Object] instagram_ratio Object to be assigned
181
+ def instagram_ratio=(instagram_ratio)
182
+ validator = EnumAttributeValidator.new('String', ["1:1", "4:5", "1.91:1"])
183
+ unless validator.valid?(instagram_ratio)
184
+ fail ArgumentError, "invalid value for \"instagram_ratio\", must be one of #{validator.allowable_values}."
185
+ end
186
+ @instagram_ratio = instagram_ratio
187
+ end
188
+
189
+ # Custom attribute writer method with validation
190
+ # @param [Object] image_width Value to be assigned
191
+ def image_width=(image_width)
192
+ if image_width.nil?
193
+ fail ArgumentError, 'image_width cannot be nil'
194
+ end
195
+
196
+ if image_width > 20000
197
+ fail ArgumentError, 'invalid value for "image_width", must be smaller than or equal to 20000.'
198
+ end
199
+
200
+ if image_width < 1
201
+ fail ArgumentError, 'invalid value for "image_width", must be greater than or equal to 1.'
202
+ end
203
+
204
+ @image_width = image_width
205
+ end
206
+
207
+ # Custom attribute writer method with validation
208
+ # @param [Object] image_height Value to be assigned
209
+ def image_height=(image_height)
210
+ if image_height.nil?
211
+ fail ArgumentError, 'image_height cannot be nil'
212
+ end
213
+
214
+ if image_height > 20000
215
+ fail ArgumentError, 'invalid value for "image_height", must be smaller than or equal to 20000.'
216
+ end
217
+
218
+ if image_height < 1
219
+ fail ArgumentError, 'invalid value for "image_height", must be greater than or equal to 1.'
220
+ end
221
+
222
+ @image_height = image_height
223
+ end
224
+
225
+ # Checks equality by comparing each attribute.
226
+ # @param [Object] Object to be compared
227
+ def ==(o)
228
+ return true if self.equal?(o)
229
+ self.class == o.class &&
230
+ text == o.text &&
231
+ instagram_ratio == o.instagram_ratio &&
232
+ image_width == o.image_width &&
233
+ image_height == o.image_height
234
+ end
235
+
236
+ # @see the `==` method
237
+ # @param [Object] Object to be compared
238
+ def eql?(o)
239
+ self == o
240
+ end
241
+
242
+ # Calculates hash code according to all attributes.
243
+ # @return [Integer] Hash code
244
+ def hash
245
+ [text, instagram_ratio, image_width, image_height].hash
246
+ end
247
+
248
+ # Builds the object from hash
249
+ # @param [Hash] attributes Model attributes in the form of hash
250
+ # @return [Object] Returns the model itself
251
+ def self.build_from_hash(attributes)
252
+ return nil unless attributes.is_a?(Hash)
253
+ attributes = attributes.transform_keys(&:to_sym)
254
+ transformed_hash = {}
255
+ openapi_types.each_pair do |key, type|
256
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
257
+ transformed_hash["#{key}"] = nil
258
+ elsif type =~ /\AArray<(.*)>/i
259
+ # check to ensure the input is an array given that the attribute
260
+ # is documented as an array but the input is not
261
+ if attributes[attribute_map[key]].is_a?(Array)
262
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
263
+ end
264
+ elsif !attributes[attribute_map[key]].nil?
265
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
266
+ end
267
+ end
268
+ new(transformed_hash)
269
+ end
270
+
271
+ # Deserializes the data based on type
272
+ # @param string type Data type
273
+ # @param string value Value to be deserialized
274
+ # @return [Object] Deserialized data
275
+ def self._deserialize(type, value)
276
+ case type.to_sym
277
+ when :Time
278
+ Time.parse(value)
279
+ when :Date
280
+ Date.parse(value)
281
+ when :String
282
+ value.to_s
283
+ when :Integer
284
+ value.to_i
285
+ when :Float
286
+ value.to_f
287
+ when :Boolean
288
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
289
+ true
290
+ else
291
+ false
292
+ end
293
+ when :Object
294
+ # generic object (usually a Hash), return directly
295
+ value
296
+ when /\AArray<(?<inner_type>.+)>\z/
297
+ inner_type = Regexp.last_match[:inner_type]
298
+ value.map { |v| _deserialize(inner_type, v) }
299
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
300
+ k_type = Regexp.last_match[:k_type]
301
+ v_type = Regexp.last_match[:v_type]
302
+ {}.tap do |hash|
303
+ value.each do |k, v|
304
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
305
+ end
306
+ end
307
+ else # model
308
+ # models (e.g. Pet) or oneOf
309
+ klass = PostBoost.const_get(type)
310
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
311
+ end
312
+ end
313
+
314
+ # Returns the string representation of the object
315
+ # @return [String] String presentation of the object
316
+ def to_s
317
+ to_hash.to_s
318
+ end
319
+
320
+ # to_body is an alias to to_hash (backward compatibility)
321
+ # @return [Hash] Returns the object in the form of hash
322
+ def to_body
323
+ to_hash
324
+ end
325
+
326
+ # Returns the object in the form of hash
327
+ # @return [Hash] Returns the object in the form of hash
328
+ def to_hash
329
+ hash = {}
330
+ self.class.attribute_map.each_pair do |attr, param|
331
+ value = self.send(attr)
332
+ if value.nil?
333
+ is_nullable = self.class.openapi_nullable.include?(attr)
334
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
335
+ end
336
+
337
+ hash[param] = _to_hash(value)
338
+ end
339
+ hash
340
+ end
341
+
342
+ # Outputs non-array value in the form of hash
343
+ # For object, use to_hash. Otherwise, just return the value
344
+ # @param [Object] value Any valid value
345
+ # @return [Hash] Returns the value in the form of hash
346
+ def _to_hash(value)
347
+ if value.is_a?(Array)
348
+ value.compact.map { |v| _to_hash(v) }
349
+ elsif value.is_a?(Hash)
350
+ {}.tap do |hash|
351
+ value.each { |k, v| hash[k] = _to_hash(v) }
352
+ end
353
+ elsif value.respond_to? :to_hash
354
+ value.to_hash
355
+ else
356
+ value
357
+ end
358
+ end
359
+
360
+ end
361
+
362
+ end