postboost 1.49.0 → 1.56.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 (867) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -1
  3. data/docs/FreeToolCalculateCarouselSlicesRequest.md +24 -0
  4. data/docs/FreeToolCalculateCarouselSlicesResponse.md +26 -0
  5. data/docs/FreeToolCalculateCarouselSlicesResponseOutput.md +20 -0
  6. data/docs/FreeToolCalculateCarouselSlicesResponseSlidesInner.md +24 -0
  7. data/docs/FreeToolCalculateInfluencerRateRequest.md +30 -0
  8. data/docs/FreeToolCalculateInfluencerRateResponse.md +46 -0
  9. data/docs/FreeToolCalculateInfluencerRateResponseGuideSource.md +22 -0
  10. data/docs/FreeToolCalculateInfluencerRateResponseMultipliersInner.md +26 -0
  11. data/docs/FreeToolGenerateCaptionResponse.md +1 -1
  12. data/docs/FreeToolGenerateHashtagsResponse.md +1 -1
  13. data/docs/FreeToolGetSafeZonesRequest.md +22 -0
  14. data/docs/FreeToolGetSafeZonesResponse.md +36 -0
  15. data/docs/FreeToolGetSafeZonesResponseSafeArea.md +24 -0
  16. data/docs/FreeToolGetSafeZonesResponseSource.md +22 -0
  17. data/docs/FreeToolGetSafeZonesResponseUnsafeAreasInner.md +28 -0
  18. data/docs/FreeToolListAwarenessDaysResponse.md +26 -0
  19. data/docs/FreeToolListAwarenessDaysResponseCovers.md +20 -0
  20. data/docs/FreeToolListAwarenessDaysResponseEntriesInner.md +34 -0
  21. data/docs/FreeToolPlanPostingFrequencyRequest.md +20 -0
  22. data/docs/FreeToolPlanPostingFrequencyResponse.md +28 -0
  23. data/docs/FreeToolPlanPostingFrequencyResponseNetworksInner.md +32 -0
  24. data/docs/FreeToolPlanPostingFrequencyResponseNetworksInnerRecommendedPerWeek.md +20 -0
  25. data/docs/FreeToolPlanPostingFrequencyResponseNetworksInnerSourcesInner.md +22 -0
  26. data/docs/FreeToolPlanPostingFrequencyResponseSlotsInner.md +22 -0
  27. data/docs/FreeToolScoreSocialAuditRequest.md +38 -0
  28. data/docs/FreeToolScoreSocialAuditRequestInstagram.md +32 -0
  29. data/docs/FreeToolScoreSocialAuditResponse.md +24 -0
  30. data/docs/FreeToolScoreSocialAuditResponseNetworksInner.md +28 -0
  31. data/docs/FreeToolScoreSocialAuditResponseNetworksInnerItemsInner.md +24 -0
  32. data/docs/FreeToolScoreSocialAuditResponseTopFixesInner.md +24 -0
  33. data/docs/FreeToolsApi.md +400 -0
  34. data/docs/PostsApi.md +1 -1
  35. data/docs/PreflightResult.md +3 -1
  36. data/lib/postboost/api/account_groups_api.rb +1 -1
  37. data/lib/postboost/api/accounts_api.rb +1 -1
  38. data/lib/postboost/api/activity_api.rb +1 -1
  39. data/lib/postboost/api/agents_api.rb +1 -1
  40. data/lib/postboost/api/ai_api.rb +1 -1
  41. data/lib/postboost/api/analytics_api.rb +1 -1
  42. data/lib/postboost/api/competitors_api.rb +1 -1
  43. data/lib/postboost/api/free_tools_api.rb +435 -1
  44. data/lib/postboost/api/hashtag_groups_api.rb +1 -1
  45. data/lib/postboost/api/inbox_api.rb +1 -1
  46. data/lib/postboost/api/media_api.rb +1 -1
  47. data/lib/postboost/api/mentions_api.rb +1 -1
  48. data/lib/postboost/api/posting_schedule_api.rb +1 -1
  49. data/lib/postboost/api/posts_api.rb +3 -3
  50. data/lib/postboost/api/receipts_api.rb +1 -1
  51. data/lib/postboost/api/subscriptions_api.rb +1 -1
  52. data/lib/postboost/api/tags_api.rb +1 -1
  53. data/lib/postboost/api/templates_api.rb +1 -1
  54. data/lib/postboost/api/users_api.rb +1 -1
  55. data/lib/postboost/api/webhooks_api.rb +1 -1
  56. data/lib/postboost/api/workspaces_api.rb +1 -1
  57. data/lib/postboost/api_client.rb +1 -1
  58. data/lib/postboost/api_error.rb +1 -1
  59. data/lib/postboost/configuration.rb +1 -1
  60. data/lib/postboost/models/account.rb +1 -1
  61. data/lib/postboost/models/account_analytics.rb +1 -1
  62. data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
  63. data/lib/postboost/models/account_connection_health.rb +1 -1
  64. data/lib/postboost/models/account_connection_health_reconnect_reason.rb +1 -1
  65. data/lib/postboost/models/account_errors_inner.rb +1 -1
  66. data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
  67. data/lib/postboost/models/account_group.rb +1 -1
  68. data/lib/postboost/models/account_group_input.rb +1 -1
  69. data/lib/postboost/models/account_health.rb +1 -1
  70. data/lib/postboost/models/account_health_daily_cap.rb +1 -1
  71. data/lib/postboost/models/account_schedule.rb +1 -1
  72. data/lib/postboost/models/add_competitor202_response.rb +1 -1
  73. data/lib/postboost/models/add_competitor409_response.rb +1 -1
  74. data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
  75. data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
  76. data/lib/postboost/models/agent_page_meta.rb +1 -1
  77. data/lib/postboost/models/agent_proposal.rb +1 -1
  78. data/lib/postboost/models/agent_proposal_decision.rb +1 -1
  79. data/lib/postboost/models/agent_run.rb +1 -1
  80. data/lib/postboost/models/ai_credits.rb +1 -1
  81. data/lib/postboost/models/ai_usage.rb +1 -1
  82. data/lib/postboost/models/ai_usage_text.rb +1 -1
  83. data/lib/postboost/models/analytics_period.rb +1 -1
  84. data/lib/postboost/models/analytics_summary.rb +1 -1
  85. data/lib/postboost/models/analytics_summary_data.rb +1 -1
  86. data/lib/postboost/models/api_activity.rb +1 -1
  87. data/lib/postboost/models/api_activity_outcome.rb +1 -1
  88. data/lib/postboost/models/api_key.rb +1 -1
  89. data/lib/postboost/models/api_key_ability.rb +1 -1
  90. data/lib/postboost/models/api_key_input.rb +1 -1
  91. data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
  92. data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
  93. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
  94. data/lib/postboost/models/approve_post_request.rb +1 -1
  95. data/lib/postboost/models/best_posting_times.rb +1 -1
  96. data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
  97. data/lib/postboost/models/blog_to_social200_response.rb +1 -1
  98. data/lib/postboost/models/blog_to_social429_response.rb +1 -1
  99. data/lib/postboost/models/blog_to_social_caption.rb +1 -1
  100. data/lib/postboost/models/blog_to_social_input.rb +1 -1
  101. data/lib/postboost/models/blog_to_social_media.rb +1 -1
  102. data/lib/postboost/models/blog_to_social_response.rb +1 -1
  103. data/lib/postboost/models/brand_voice.rb +1 -1
  104. data/lib/postboost/models/brand_voice_input.rb +1 -1
  105. data/lib/postboost/models/brand_voice_meta.rb +1 -1
  106. data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
  107. data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
  108. data/lib/postboost/models/cancel_subscription_request.rb +1 -1
  109. data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
  110. data/lib/postboost/models/channel_account.rb +1 -1
  111. data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
  112. data/lib/postboost/models/checkout_subscription_request.rb +1 -1
  113. data/lib/postboost/models/coded_error.rb +1 -1
  114. data/lib/postboost/models/competitor.rb +1 -1
  115. data/lib/postboost/models/competitor_detail.rb +1 -1
  116. data/lib/postboost/models/competitor_input.rb +1 -1
  117. data/lib/postboost/models/competitor_media.rb +1 -1
  118. data/lib/postboost/models/competitor_snapshot.rb +1 -1
  119. data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
  120. data/lib/postboost/models/connect_channel_input.rb +1 -1
  121. data/lib/postboost/models/connect_link.rb +1 -1
  122. data/lib/postboost/models/create_account_group201_response.rb +1 -1
  123. data/lib/postboost/models/create_agent201_response.rb +1 -1
  124. data/lib/postboost/models/create_api_key201_response.rb +1 -1
  125. data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
  126. data/lib/postboost/models/create_connect_link_request.rb +1 -1
  127. data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
  128. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
  129. data/lib/postboost/models/create_media_folder_request.rb +1 -1
  130. data/lib/postboost/models/create_mention201_response.rb +1 -1
  131. data/lib/postboost/models/create_post201_response.rb +1 -1
  132. data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
  133. data/lib/postboost/models/create_report_export201_response.rb +1 -1
  134. data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
  135. data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
  136. data/lib/postboost/models/create_template201_response.rb +1 -1
  137. data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
  138. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
  139. data/lib/postboost/models/delete_agent200_response.rb +1 -1
  140. data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
  141. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
  142. data/lib/postboost/models/delete_media_folder_request.rb +1 -1
  143. data/lib/postboost/models/delete_mode.rb +1 -1
  144. data/lib/postboost/models/delete_post_request.rb +1 -1
  145. data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
  146. data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
  147. data/lib/postboost/models/delete_result.rb +1 -1
  148. data/lib/postboost/models/delete_user400_response.rb +1 -1
  149. data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
  150. data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
  151. data/lib/postboost/models/free_tool_build_utm_url_request.rb +1 -1
  152. data/lib/postboost/models/free_tool_build_utm_url_response.rb +1 -1
  153. data/lib/postboost/models/free_tool_calculate_aspect_ratio_request.rb +1 -1
  154. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response.rb +1 -1
  155. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_matches_inner.rb +1 -1
  156. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_rounding.rb +1 -1
  157. data/lib/postboost/models/free_tool_calculate_carousel_slices_request.rb +386 -0
  158. data/lib/postboost/models/free_tool_calculate_carousel_slices_response.rb +258 -0
  159. data/lib/postboost/models/free_tool_calculate_carousel_slices_response_output.rb +224 -0
  160. data/lib/postboost/models/free_tool_calculate_carousel_slices_response_slides_inner.rb +241 -0
  161. data/lib/postboost/models/free_tool_calculate_crop_request.rb +1 -1
  162. data/lib/postboost/models/free_tool_calculate_crop_response.rb +1 -1
  163. data/lib/postboost/models/free_tool_calculate_crop_response_crop.rb +1 -1
  164. data/lib/postboost/models/free_tool_calculate_crop_response_image.rb +1 -1
  165. data/lib/postboost/models/free_tool_calculate_crop_response_output.rb +1 -1
  166. data/lib/postboost/models/free_tool_calculate_engagement_rate_request.rb +1 -1
  167. data/lib/postboost/models/free_tool_calculate_engagement_rate_response.rb +1 -1
  168. data/lib/postboost/models/free_tool_calculate_influencer_rate_request.rb +451 -0
  169. data/lib/postboost/models/free_tool_calculate_influencer_rate_response.rb +409 -0
  170. data/lib/postboost/models/free_tool_calculate_influencer_rate_response_guide_source.rb +232 -0
  171. data/lib/postboost/models/free_tool_calculate_influencer_rate_response_multipliers_inner.rb +284 -0
  172. data/lib/postboost/models/free_tool_calculate_social_roi_request.rb +1 -1
  173. data/lib/postboost/models/free_tool_calculate_social_roi_request_costs.rb +1 -1
  174. data/lib/postboost/models/free_tool_calculate_social_roi_response.rb +1 -1
  175. data/lib/postboost/models/free_tool_calculate_social_roi_response_cost_breakdown_inner.rb +1 -1
  176. data/lib/postboost/models/free_tool_calculate_x_api_cost_request.rb +1 -1
  177. data/lib/postboost/models/free_tool_calculate_x_api_cost_response.rb +1 -1
  178. data/lib/postboost/models/free_tool_calculate_x_api_cost_response_line_items_inner.rb +1 -1
  179. data/lib/postboost/models/free_tool_check_link_preview_request.rb +1 -1
  180. data/lib/postboost/models/free_tool_check_link_preview_response.rb +1 -1
  181. data/lib/postboost/models/free_tool_check_link_preview_response_image.rb +1 -1
  182. data/lib/postboost/models/free_tool_check_link_preview_response_previews_value.rb +1 -1
  183. data/lib/postboost/models/free_tool_check_link_preview_response_redirects_inner.rb +1 -1
  184. data/lib/postboost/models/free_tool_check_link_preview_response_tags.rb +1 -1
  185. data/lib/postboost/models/free_tool_check_post_request.rb +1 -1
  186. data/lib/postboost/models/free_tool_check_post_request_media.rb +1 -1
  187. data/lib/postboost/models/free_tool_check_post_response.rb +1 -1
  188. data/lib/postboost/models/free_tool_check_post_response_networks_inner.rb +1 -1
  189. data/lib/postboost/models/free_tool_check_post_response_networks_inner_errors_inner.rb +1 -1
  190. data/lib/postboost/models/free_tool_check_readability_request.rb +1 -1
  191. data/lib/postboost/models/free_tool_check_readability_response.rb +1 -1
  192. data/lib/postboost/models/free_tool_check_readability_response_long_sentences_inner.rb +1 -1
  193. data/lib/postboost/models/free_tool_check_youtube_thumbnail_request.rb +1 -1
  194. data/lib/postboost/models/free_tool_check_youtube_thumbnail_response.rb +1 -1
  195. data/lib/postboost/models/free_tool_check_youtube_thumbnail_response_checks_inner.rb +1 -1
  196. data/lib/postboost/models/free_tool_clean_text_request.rb +1 -1
  197. data/lib/postboost/models/free_tool_clean_text_response.rb +1 -1
  198. data/lib/postboost/models/free_tool_clean_text_response_changes_inner.rb +1 -1
  199. data/lib/postboost/models/free_tool_clean_text_response_flags_inner.rb +1 -1
  200. data/lib/postboost/models/free_tool_count_characters_request.rb +1 -1
  201. data/lib/postboost/models/free_tool_count_characters_response.rb +1 -1
  202. data/lib/postboost/models/free_tool_count_characters_response_networks_inner.rb +1 -1
  203. data/lib/postboost/models/free_tool_error.rb +1 -1
  204. data/lib/postboost/models/free_tool_format_instagram_caption_request.rb +1 -1
  205. data/lib/postboost/models/free_tool_format_instagram_caption_response.rb +1 -1
  206. data/lib/postboost/models/free_tool_format_linked_in_post_request.rb +1 -1
  207. data/lib/postboost/models/free_tool_format_linked_in_post_response.rb +1 -1
  208. data/lib/postboost/models/free_tool_generate_caption_request.rb +1 -1
  209. data/lib/postboost/models/free_tool_generate_caption_response.rb +2 -2
  210. data/lib/postboost/models/free_tool_generate_fancy_text_request.rb +1 -1
  211. data/lib/postboost/models/free_tool_generate_fancy_text_response.rb +1 -1
  212. data/lib/postboost/models/free_tool_generate_fancy_text_response_styles_inner.rb +1 -1
  213. data/lib/postboost/models/free_tool_generate_hashtags_request.rb +1 -1
  214. data/lib/postboost/models/free_tool_generate_hashtags_response.rb +2 -2
  215. data/lib/postboost/models/free_tool_generate_hooks_request.rb +1 -1
  216. data/lib/postboost/models/free_tool_generate_hooks_response.rb +1 -1
  217. data/lib/postboost/models/free_tool_generate_hooks_response_hooks_inner.rb +1 -1
  218. data/lib/postboost/models/free_tool_generate_qr_code_request.rb +1 -1
  219. data/lib/postboost/models/free_tool_generate_qr_code_request_utm.rb +1 -1
  220. data/lib/postboost/models/free_tool_generate_qr_code_response.rb +1 -1
  221. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_request.rb +1 -1
  222. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response.rb +1 -1
  223. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_posts_inner.rb +1 -1
  224. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_source.rb +1 -1
  225. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_warnings_inner.rb +1 -1
  226. data/lib/postboost/models/free_tool_get_best_times_to_post_response.rb +1 -1
  227. data/lib/postboost/models/free_tool_get_best_times_to_post_response_networks_inner.rb +1 -1
  228. data/lib/postboost/models/free_tool_get_hook_templates_response.rb +1 -1
  229. data/lib/postboost/models/free_tool_get_hook_templates_response_hooks_inner.rb +1 -1
  230. data/lib/postboost/models/free_tool_get_image_sizes_response.rb +1 -1
  231. data/lib/postboost/models/free_tool_get_image_sizes_response_sizes_inner.rb +1 -1
  232. data/lib/postboost/models/free_tool_get_image_sizes_response_sources_inner.rb +1 -1
  233. data/lib/postboost/models/free_tool_get_safe_zones_request.rb +336 -0
  234. data/lib/postboost/models/free_tool_get_safe_zones_response.rb +304 -0
  235. data/lib/postboost/models/free_tool_get_safe_zones_response_safe_area.rb +242 -0
  236. data/lib/postboost/models/free_tool_get_safe_zones_response_source.rb +234 -0
  237. data/lib/postboost/models/free_tool_get_safe_zones_response_unsafe_areas_inner.rb +293 -0
  238. data/lib/postboost/models/free_tool_get_video_specs_response.rb +1 -1
  239. data/lib/postboost/models/free_tool_get_video_specs_response_specs_inner.rb +1 -1
  240. data/lib/postboost/models/free_tool_get_video_specs_response_specs_inner_limits.rb +1 -1
  241. data/lib/postboost/models/free_tool_list.rb +1 -1
  242. data/lib/postboost/models/free_tool_list_awareness_days_response.rb +258 -0
  243. data/lib/postboost/models/free_tool_list_awareness_days_response_covers.rb +224 -0
  244. data/lib/postboost/models/free_tool_list_awareness_days_response_entries_inner.rb +335 -0
  245. data/lib/postboost/models/free_tool_list_item.rb +1 -1
  246. data/lib/postboost/models/free_tool_plan_content_calendar_request.rb +1 -1
  247. data/lib/postboost/models/free_tool_plan_content_calendar_request_posts_per_week.rb +1 -1
  248. data/lib/postboost/models/free_tool_plan_content_calendar_request_times.rb +1 -1
  249. data/lib/postboost/models/free_tool_plan_content_calendar_response.rb +1 -1
  250. data/lib/postboost/models/free_tool_plan_content_calendar_response_slots_inner.rb +1 -1
  251. data/lib/postboost/models/free_tool_plan_posting_frequency_request.rb +301 -0
  252. data/lib/postboost/models/free_tool_plan_posting_frequency_response.rb +269 -0
  253. data/lib/postboost/models/free_tool_plan_posting_frequency_response_networks_inner.rb +341 -0
  254. data/lib/postboost/models/free_tool_plan_posting_frequency_response_networks_inner_recommended_per_week.rb +225 -0
  255. data/lib/postboost/models/free_tool_plan_posting_frequency_response_networks_inner_sources_inner.rb +233 -0
  256. data/lib/postboost/models/free_tool_plan_posting_frequency_response_slots_inner.rb +278 -0
  257. data/lib/postboost/models/free_tool_preview_post_request.rb +1 -1
  258. data/lib/postboost/models/free_tool_preview_post_response.rb +1 -1
  259. data/lib/postboost/models/free_tool_preview_post_response_networks_inner.rb +1 -1
  260. data/lib/postboost/models/free_tool_score_social_audit_request.rb +335 -0
  261. data/lib/postboost/models/free_tool_score_social_audit_request_instagram.rb +420 -0
  262. data/lib/postboost/models/free_tool_score_social_audit_response.rb +277 -0
  263. data/lib/postboost/models/free_tool_score_social_audit_response_networks_inner.rb +323 -0
  264. data/lib/postboost/models/free_tool_score_social_audit_response_networks_inner_items_inner.rb +288 -0
  265. data/lib/postboost/models/free_tool_score_social_audit_response_top_fixes_inner.rb +278 -0
  266. data/lib/postboost/models/free_tool_search_emoji_request.rb +1 -1
  267. data/lib/postboost/models/free_tool_search_emoji_response.rb +1 -1
  268. data/lib/postboost/models/free_tool_search_emoji_response_results_inner.rb +1 -1
  269. data/lib/postboost/models/free_tool_split_thread_request.rb +1 -1
  270. data/lib/postboost/models/free_tool_split_thread_response.rb +1 -1
  271. data/lib/postboost/models/free_tool_split_thread_response_posts_inner.rb +1 -1
  272. data/lib/postboost/models/get_account_health200_response.rb +1 -1
  273. data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
  274. data/lib/postboost/models/get_competitor200_response.rb +1 -1
  275. data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
  276. data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
  277. data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
  278. data/lib/postboost/models/get_report_branding200_response.rb +1 -1
  279. data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
  280. data/lib/postboost/models/guardrail_error.rb +1 -1
  281. data/lib/postboost/models/hashtag_group.rb +1 -1
  282. data/lib/postboost/models/hashtag_group_input.rb +1 -1
  283. data/lib/postboost/models/image_alt_text200_response.rb +1 -1
  284. data/lib/postboost/models/image_alt_text_input.rb +1 -1
  285. data/lib/postboost/models/image_alt_text_response.rb +1 -1
  286. data/lib/postboost/models/image_credit_balance.rb +1 -1
  287. data/lib/postboost/models/image_edit_input.rb +1 -1
  288. data/lib/postboost/models/image_generate200_response.rb +1 -1
  289. data/lib/postboost/models/image_generate429_response.rb +1 -1
  290. data/lib/postboost/models/image_generate_input.rb +1 -1
  291. data/lib/postboost/models/image_generation_response.rb +1 -1
  292. data/lib/postboost/models/image_prompt200_response.rb +1 -1
  293. data/lib/postboost/models/image_prompt429_response.rb +1 -1
  294. data/lib/postboost/models/image_prompt_input.rb +1 -1
  295. data/lib/postboost/models/image_prompt_response.rb +1 -1
  296. data/lib/postboost/models/image_variations200_response.rb +1 -1
  297. data/lib/postboost/models/image_variations_input.rb +1 -1
  298. data/lib/postboost/models/image_variations_response.rb +1 -1
  299. data/lib/postboost/models/inbox_author.rb +1 -1
  300. data/lib/postboost/models/inbox_conversation.rb +1 -1
  301. data/lib/postboost/models/inbox_conversation_account.rb +1 -1
  302. data/lib/postboost/models/inbox_conversation_update.rb +1 -1
  303. data/lib/postboost/models/inbox_message.rb +1 -1
  304. data/lib/postboost/models/inbox_message_author.rb +1 -1
  305. data/lib/postboost/models/inbox_reply_draft.rb +1 -1
  306. data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
  307. data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
  308. data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
  309. data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
  310. data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
  311. data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
  312. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
  313. data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
  314. data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
  315. data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
  316. data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
  317. data/lib/postboost/models/list_account_groups200_response.rb +1 -1
  318. data/lib/postboost/models/list_accounts200_response.rb +1 -1
  319. data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
  320. data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
  321. data/lib/postboost/models/list_agents200_response.rb +1 -1
  322. data/lib/postboost/models/list_api_activity200_response.rb +1 -1
  323. data/lib/postboost/models/list_api_keys200_response.rb +1 -1
  324. data/lib/postboost/models/list_competitors200_response.rb +1 -1
  325. data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
  326. data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
  327. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
  328. data/lib/postboost/models/list_media200_response.rb +1 -1
  329. data/lib/postboost/models/list_media_folders200_response.rb +1 -1
  330. data/lib/postboost/models/list_mentions200_response.rb +1 -1
  331. data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
  332. data/lib/postboost/models/list_posts200_response.rb +1 -1
  333. data/lib/postboost/models/list_receipts200_response.rb +1 -1
  334. data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
  335. data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
  336. data/lib/postboost/models/list_report_exports200_response.rb +1 -1
  337. data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
  338. data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
  339. data/lib/postboost/models/list_tags200_response.rb +1 -1
  340. data/lib/postboost/models/list_templates200_response.rb +1 -1
  341. data/lib/postboost/models/list_users200_response.rb +1 -1
  342. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
  343. data/lib/postboost/models/list_workspaces200_response.rb +1 -1
  344. data/lib/postboost/models/media.rb +1 -1
  345. data/lib/postboost/models/media_base64_input.rb +1 -1
  346. data/lib/postboost/models/media_folder.rb +1 -1
  347. data/lib/postboost/models/media_folder_input.rb +1 -1
  348. data/lib/postboost/models/media_folder_ref.rb +1 -1
  349. data/lib/postboost/models/mention.rb +1 -1
  350. data/lib/postboost/models/mention_identity.rb +1 -1
  351. data/lib/postboost/models/mention_identity_input.rb +1 -1
  352. data/lib/postboost/models/mention_input.rb +1 -1
  353. data/lib/postboost/models/message_only.rb +1 -1
  354. data/lib/postboost/models/pagination_meta.rb +1 -1
  355. data/lib/postboost/models/pagination_meta_links.rb +1 -1
  356. data/lib/postboost/models/pagination_meta_meta.rb +1 -1
  357. data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
  358. data/lib/postboost/models/post.rb +1 -1
  359. data/lib/postboost/models/post_analytics.rb +1 -1
  360. data/lib/postboost/models/post_content.rb +1 -1
  361. data/lib/postboost/models/post_input.rb +1 -1
  362. data/lib/postboost/models/post_options_instagram.rb +1 -1
  363. data/lib/postboost/models/post_options_tik_tok.rb +1 -1
  364. data/lib/postboost/models/post_options_youtube.rb +1 -1
  365. data/lib/postboost/models/post_status.rb +1 -1
  366. data/lib/postboost/models/post_version.rb +1 -1
  367. data/lib/postboost/models/post_version_options.rb +1 -1
  368. data/lib/postboost/models/post_warning.rb +2 -2
  369. data/lib/postboost/models/post_warnings.rb +1 -1
  370. data/lib/postboost/models/posting_schedule.rb +1 -1
  371. data/lib/postboost/models/posting_schedule_day.rb +1 -1
  372. data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
  373. data/lib/postboost/models/posting_schedule_input.rb +1 -1
  374. data/lib/postboost/models/posting_time_slot.rb +1 -1
  375. data/lib/postboost/models/posting_times.rb +1 -1
  376. data/lib/postboost/models/posting_times_best_inner.rb +1 -1
  377. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
  378. data/lib/postboost/models/posting_times_days_inner.rb +1 -1
  379. data/lib/postboost/models/preflight_result.rb +22 -3
  380. data/lib/postboost/models/public_workspace.rb +1 -1
  381. data/lib/postboost/models/public_workspace_pivot.rb +1 -1
  382. data/lib/postboost/models/publish_progress.rb +1 -1
  383. data/lib/postboost/models/queue_slots.rb +1 -1
  384. data/lib/postboost/models/receipt.rb +1 -1
  385. data/lib/postboost/models/receipt_input.rb +1 -1
  386. data/lib/postboost/models/receipt_update_input.rb +1 -1
  387. data/lib/postboost/models/recommended_posting_times.rb +1 -1
  388. data/lib/postboost/models/reconnect_link.rb +1 -1
  389. data/lib/postboost/models/recycling_rule.rb +1 -1
  390. data/lib/postboost/models/recycling_rule_input.rb +1 -1
  391. data/lib/postboost/models/recycling_rule_settings.rb +1 -1
  392. data/lib/postboost/models/recycling_rule_update.rb +1 -1
  393. data/lib/postboost/models/recycling_run.rb +1 -1
  394. data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
  395. data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
  396. data/lib/postboost/models/report_branding.rb +1 -1
  397. data/lib/postboost/models/report_branding_input.rb +1 -1
  398. data/lib/postboost/models/report_export.rb +1 -1
  399. data/lib/postboost/models/report_export_input.rb +1 -1
  400. data/lib/postboost/models/repurpose_content200_response.rb +1 -1
  401. data/lib/postboost/models/repurpose_content202_response.rb +1 -1
  402. data/lib/postboost/models/repurpose_content500_response.rb +1 -1
  403. data/lib/postboost/models/repurpose_input.rb +1 -1
  404. data/lib/postboost/models/repurpose_input_theme.rb +1 -1
  405. data/lib/postboost/models/repurpose_result.rb +1 -1
  406. data/lib/postboost/models/repurpose_result_media.rb +1 -1
  407. data/lib/postboost/models/repurpose_result_source.rb +1 -1
  408. data/lib/postboost/models/repurpose_run.rb +1 -1
  409. data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
  410. data/lib/postboost/models/repurpose_slide.rb +1 -1
  411. data/lib/postboost/models/reseller_client.rb +1 -1
  412. data/lib/postboost/models/reseller_client_input.rb +1 -1
  413. data/lib/postboost/models/reseller_client_usage.rb +1 -1
  414. data/lib/postboost/models/retry_post_account_result.rb +1 -1
  415. data/lib/postboost/models/rss_feed.rb +1 -1
  416. data/lib/postboost/models/rss_feed_input.rb +1 -1
  417. data/lib/postboost/models/rss_feed_update.rb +1 -1
  418. data/lib/postboost/models/run_agent202_response.rb +1 -1
  419. data/lib/postboost/models/schedule_post_request.rb +1 -1
  420. data/lib/postboost/models/schedule_result.rb +1 -1
  421. data/lib/postboost/models/subscription.rb +1 -1
  422. data/lib/postboost/models/subscription_input.rb +1 -1
  423. data/lib/postboost/models/subscription_status.rb +1 -1
  424. data/lib/postboost/models/subscription_update_input.rb +1 -1
  425. data/lib/postboost/models/tag.rb +1 -1
  426. data/lib/postboost/models/tag_input.rb +1 -1
  427. data/lib/postboost/models/template.rb +1 -1
  428. data/lib/postboost/models/template_content_item.rb +1 -1
  429. data/lib/postboost/models/template_input.rb +1 -1
  430. data/lib/postboost/models/template_input_content_inner.rb +1 -1
  431. data/lib/postboost/models/update_media_request.rb +1 -1
  432. data/lib/postboost/models/update_post200_response.rb +1 -1
  433. data/lib/postboost/models/upload_chunk201_response.rb +1 -1
  434. data/lib/postboost/models/user.rb +1 -1
  435. data/lib/postboost/models/user_input.rb +1 -1
  436. data/lib/postboost/models/user_update_input.rb +1 -1
  437. data/lib/postboost/models/webhook_envelope.rb +1 -1
  438. data/lib/postboost/models/webhook_event_name.rb +1 -1
  439. data/lib/postboost/models/webhook_event_payload.rb +1 -1
  440. data/lib/postboost/models/webhook_subscription.rb +1 -1
  441. data/lib/postboost/models/webhook_subscription_input.rb +1 -1
  442. data/lib/postboost/models/workspace.rb +1 -1
  443. data/lib/postboost/models/workspace_agent.rb +1 -1
  444. data/lib/postboost/models/workspace_agent_input.rb +1 -1
  445. data/lib/postboost/models/workspace_agent_settings.rb +1 -1
  446. data/lib/postboost/models/workspace_agent_update.rb +1 -1
  447. data/lib/postboost/models/workspace_input.rb +1 -1
  448. data/lib/postboost/models/workspace_user_input.rb +1 -1
  449. data/lib/postboost/models/x_usage.rb +1 -1
  450. data/lib/postboost/models/x_usage_counter.rb +1 -1
  451. data/lib/postboost/version.rb +2 -2
  452. data/lib/postboost.rb +29 -1
  453. data/postboost.gemspec +1 -1
  454. data/spec/api/account_groups_api_spec.rb +1 -1
  455. data/spec/api/accounts_api_spec.rb +1 -1
  456. data/spec/api/activity_api_spec.rb +1 -1
  457. data/spec/api/agents_api_spec.rb +1 -1
  458. data/spec/api/ai_api_spec.rb +1 -1
  459. data/spec/api/analytics_api_spec.rb +1 -1
  460. data/spec/api/competitors_api_spec.rb +1 -1
  461. data/spec/api/free_tools_api_spec.rb +77 -1
  462. data/spec/api/hashtag_groups_api_spec.rb +1 -1
  463. data/spec/api/inbox_api_spec.rb +1 -1
  464. data/spec/api/media_api_spec.rb +1 -1
  465. data/spec/api/mentions_api_spec.rb +1 -1
  466. data/spec/api/posting_schedule_api_spec.rb +1 -1
  467. data/spec/api/posts_api_spec.rb +2 -2
  468. data/spec/api/receipts_api_spec.rb +1 -1
  469. data/spec/api/subscriptions_api_spec.rb +1 -1
  470. data/spec/api/tags_api_spec.rb +1 -1
  471. data/spec/api/templates_api_spec.rb +1 -1
  472. data/spec/api/users_api_spec.rb +1 -1
  473. data/spec/api/webhooks_api_spec.rb +1 -1
  474. data/spec/api/workspaces_api_spec.rb +1 -1
  475. data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
  476. data/spec/models/account_analytics_spec.rb +1 -1
  477. data/spec/models/account_connection_health_reconnect_reason_spec.rb +1 -1
  478. data/spec/models/account_connection_health_spec.rb +1 -1
  479. data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
  480. data/spec/models/account_errors_inner_spec.rb +1 -1
  481. data/spec/models/account_group_input_spec.rb +1 -1
  482. data/spec/models/account_group_spec.rb +1 -1
  483. data/spec/models/account_health_daily_cap_spec.rb +1 -1
  484. data/spec/models/account_health_spec.rb +1 -1
  485. data/spec/models/account_schedule_spec.rb +1 -1
  486. data/spec/models/account_spec.rb +1 -1
  487. data/spec/models/add_competitor202_response_spec.rb +1 -1
  488. data/spec/models/add_competitor409_response_spec.rb +1 -1
  489. data/spec/models/add_generic_subscription_request_spec.rb +1 -1
  490. data/spec/models/add_post_to_queue_request_spec.rb +1 -1
  491. data/spec/models/agent_page_meta_spec.rb +1 -1
  492. data/spec/models/agent_proposal_decision_spec.rb +1 -1
  493. data/spec/models/agent_proposal_spec.rb +1 -1
  494. data/spec/models/agent_run_spec.rb +1 -1
  495. data/spec/models/ai_credits_spec.rb +1 -1
  496. data/spec/models/ai_usage_spec.rb +1 -1
  497. data/spec/models/ai_usage_text_spec.rb +1 -1
  498. data/spec/models/analytics_period_spec.rb +1 -1
  499. data/spec/models/analytics_summary_data_spec.rb +1 -1
  500. data/spec/models/analytics_summary_spec.rb +1 -1
  501. data/spec/models/api_activity_outcome_spec.rb +1 -1
  502. data/spec/models/api_activity_spec.rb +1 -1
  503. data/spec/models/api_key_ability_spec.rb +1 -1
  504. data/spec/models/api_key_input_spec.rb +1 -1
  505. data/spec/models/api_key_spec.rb +1 -1
  506. data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
  507. data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
  508. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
  509. data/spec/models/approve_post_request_spec.rb +1 -1
  510. data/spec/models/best_posting_times_spec.rb +1 -1
  511. data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
  512. data/spec/models/blog_to_social200_response_spec.rb +1 -1
  513. data/spec/models/blog_to_social429_response_spec.rb +1 -1
  514. data/spec/models/blog_to_social_caption_spec.rb +1 -1
  515. data/spec/models/blog_to_social_input_spec.rb +1 -1
  516. data/spec/models/blog_to_social_media_spec.rb +1 -1
  517. data/spec/models/blog_to_social_response_spec.rb +1 -1
  518. data/spec/models/brand_voice_input_spec.rb +1 -1
  519. data/spec/models/brand_voice_meta_spec.rb +1 -1
  520. data/spec/models/brand_voice_spec.rb +1 -1
  521. data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
  522. data/spec/models/cancel_subscription422_response_spec.rb +1 -1
  523. data/spec/models/cancel_subscription_request_spec.rb +1 -1
  524. data/spec/models/change_subscription_plan_request_spec.rb +1 -1
  525. data/spec/models/channel_account_spec.rb +1 -1
  526. data/spec/models/checkout_subscription200_response_spec.rb +1 -1
  527. data/spec/models/checkout_subscription_request_spec.rb +1 -1
  528. data/spec/models/coded_error_spec.rb +1 -1
  529. data/spec/models/competitor_detail_spec.rb +1 -1
  530. data/spec/models/competitor_input_spec.rb +1 -1
  531. data/spec/models/competitor_media_spec.rb +1 -1
  532. data/spec/models/competitor_snapshot_spec.rb +1 -1
  533. data/spec/models/competitor_spec.rb +1 -1
  534. data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
  535. data/spec/models/connect_channel_input_spec.rb +1 -1
  536. data/spec/models/connect_link_spec.rb +1 -1
  537. data/spec/models/create_account_group201_response_spec.rb +1 -1
  538. data/spec/models/create_agent201_response_spec.rb +1 -1
  539. data/spec/models/create_api_key201_response_data_spec.rb +1 -1
  540. data/spec/models/create_api_key201_response_spec.rb +1 -1
  541. data/spec/models/create_connect_link_request_spec.rb +1 -1
  542. data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
  543. data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
  544. data/spec/models/create_media_folder_request_spec.rb +1 -1
  545. data/spec/models/create_mention201_response_spec.rb +1 -1
  546. data/spec/models/create_post201_response_spec.rb +1 -1
  547. data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
  548. data/spec/models/create_report_export201_response_spec.rb +1 -1
  549. data/spec/models/create_reseller_client201_response_spec.rb +1 -1
  550. data/spec/models/create_rss_feed201_response_spec.rb +1 -1
  551. data/spec/models/create_template201_response_spec.rb +1 -1
  552. data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
  553. data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
  554. data/spec/models/delete_agent200_response_spec.rb +1 -1
  555. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
  556. data/spec/models/delete_media_bulk_request_spec.rb +1 -1
  557. data/spec/models/delete_media_folder_request_spec.rb +1 -1
  558. data/spec/models/delete_mode_spec.rb +1 -1
  559. data/spec/models/delete_post_request_spec.rb +1 -1
  560. data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
  561. data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
  562. data/spec/models/delete_result_spec.rb +1 -1
  563. data/spec/models/delete_user400_response_spec.rb +1 -1
  564. data/spec/models/delete_users_bulk_request_spec.rb +1 -1
  565. data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
  566. data/spec/models/free_tool_build_utm_url_request_spec.rb +1 -1
  567. data/spec/models/free_tool_build_utm_url_response_spec.rb +1 -1
  568. data/spec/models/free_tool_calculate_aspect_ratio_request_spec.rb +1 -1
  569. data/spec/models/free_tool_calculate_aspect_ratio_response_matches_inner_spec.rb +1 -1
  570. data/spec/models/free_tool_calculate_aspect_ratio_response_rounding_spec.rb +1 -1
  571. data/spec/models/free_tool_calculate_aspect_ratio_response_spec.rb +1 -1
  572. data/spec/models/free_tool_calculate_carousel_slices_request_spec.rb +58 -0
  573. data/spec/models/free_tool_calculate_carousel_slices_response_output_spec.rb +42 -0
  574. data/spec/models/free_tool_calculate_carousel_slices_response_slides_inner_spec.rb +54 -0
  575. data/spec/models/free_tool_calculate_carousel_slices_response_spec.rb +60 -0
  576. data/spec/models/free_tool_calculate_crop_request_spec.rb +1 -1
  577. data/spec/models/free_tool_calculate_crop_response_crop_spec.rb +1 -1
  578. data/spec/models/free_tool_calculate_crop_response_image_spec.rb +1 -1
  579. data/spec/models/free_tool_calculate_crop_response_output_spec.rb +1 -1
  580. data/spec/models/free_tool_calculate_crop_response_spec.rb +1 -1
  581. data/spec/models/free_tool_calculate_engagement_rate_request_spec.rb +1 -1
  582. data/spec/models/free_tool_calculate_engagement_rate_response_spec.rb +1 -1
  583. data/spec/models/free_tool_calculate_influencer_rate_request_spec.rb +80 -0
  584. data/spec/models/free_tool_calculate_influencer_rate_response_guide_source_spec.rb +48 -0
  585. data/spec/models/free_tool_calculate_influencer_rate_response_multipliers_inner_spec.rb +64 -0
  586. data/spec/models/free_tool_calculate_influencer_rate_response_spec.rb +132 -0
  587. data/spec/models/free_tool_calculate_social_roi_request_costs_spec.rb +1 -1
  588. data/spec/models/free_tool_calculate_social_roi_request_spec.rb +1 -1
  589. data/spec/models/free_tool_calculate_social_roi_response_cost_breakdown_inner_spec.rb +1 -1
  590. data/spec/models/free_tool_calculate_social_roi_response_spec.rb +1 -1
  591. data/spec/models/free_tool_calculate_x_api_cost_request_spec.rb +1 -1
  592. data/spec/models/free_tool_calculate_x_api_cost_response_line_items_inner_spec.rb +1 -1
  593. data/spec/models/free_tool_calculate_x_api_cost_response_spec.rb +1 -1
  594. data/spec/models/free_tool_check_link_preview_request_spec.rb +1 -1
  595. data/spec/models/free_tool_check_link_preview_response_image_spec.rb +1 -1
  596. data/spec/models/free_tool_check_link_preview_response_previews_value_spec.rb +1 -1
  597. data/spec/models/free_tool_check_link_preview_response_redirects_inner_spec.rb +1 -1
  598. data/spec/models/free_tool_check_link_preview_response_spec.rb +1 -1
  599. data/spec/models/free_tool_check_link_preview_response_tags_spec.rb +1 -1
  600. data/spec/models/free_tool_check_post_request_media_spec.rb +1 -1
  601. data/spec/models/free_tool_check_post_request_spec.rb +1 -1
  602. data/spec/models/free_tool_check_post_response_networks_inner_errors_inner_spec.rb +1 -1
  603. data/spec/models/free_tool_check_post_response_networks_inner_spec.rb +1 -1
  604. data/spec/models/free_tool_check_post_response_spec.rb +1 -1
  605. data/spec/models/free_tool_check_readability_request_spec.rb +1 -1
  606. data/spec/models/free_tool_check_readability_response_long_sentences_inner_spec.rb +1 -1
  607. data/spec/models/free_tool_check_readability_response_spec.rb +1 -1
  608. data/spec/models/free_tool_check_youtube_thumbnail_request_spec.rb +1 -1
  609. data/spec/models/free_tool_check_youtube_thumbnail_response_checks_inner_spec.rb +1 -1
  610. data/spec/models/free_tool_check_youtube_thumbnail_response_spec.rb +1 -1
  611. data/spec/models/free_tool_clean_text_request_spec.rb +1 -1
  612. data/spec/models/free_tool_clean_text_response_changes_inner_spec.rb +1 -1
  613. data/spec/models/free_tool_clean_text_response_flags_inner_spec.rb +1 -1
  614. data/spec/models/free_tool_clean_text_response_spec.rb +1 -1
  615. data/spec/models/free_tool_count_characters_request_spec.rb +1 -1
  616. data/spec/models/free_tool_count_characters_response_networks_inner_spec.rb +1 -1
  617. data/spec/models/free_tool_count_characters_response_spec.rb +1 -1
  618. data/spec/models/free_tool_error_spec.rb +1 -1
  619. data/spec/models/free_tool_format_instagram_caption_request_spec.rb +1 -1
  620. data/spec/models/free_tool_format_instagram_caption_response_spec.rb +1 -1
  621. data/spec/models/free_tool_format_linked_in_post_request_spec.rb +1 -1
  622. data/spec/models/free_tool_format_linked_in_post_response_spec.rb +1 -1
  623. data/spec/models/free_tool_generate_caption_request_spec.rb +1 -1
  624. data/spec/models/free_tool_generate_caption_response_spec.rb +1 -1
  625. data/spec/models/free_tool_generate_fancy_text_request_spec.rb +1 -1
  626. data/spec/models/free_tool_generate_fancy_text_response_spec.rb +1 -1
  627. data/spec/models/free_tool_generate_fancy_text_response_styles_inner_spec.rb +1 -1
  628. data/spec/models/free_tool_generate_hashtags_request_spec.rb +1 -1
  629. data/spec/models/free_tool_generate_hashtags_response_spec.rb +1 -1
  630. data/spec/models/free_tool_generate_hooks_request_spec.rb +1 -1
  631. data/spec/models/free_tool_generate_hooks_response_hooks_inner_spec.rb +1 -1
  632. data/spec/models/free_tool_generate_hooks_response_spec.rb +1 -1
  633. data/spec/models/free_tool_generate_qr_code_request_spec.rb +1 -1
  634. data/spec/models/free_tool_generate_qr_code_request_utm_spec.rb +1 -1
  635. data/spec/models/free_tool_generate_qr_code_response_spec.rb +1 -1
  636. data/spec/models/free_tool_generate_social_posts_from_blog_request_spec.rb +1 -1
  637. data/spec/models/free_tool_generate_social_posts_from_blog_response_posts_inner_spec.rb +1 -1
  638. data/spec/models/free_tool_generate_social_posts_from_blog_response_source_spec.rb +1 -1
  639. data/spec/models/free_tool_generate_social_posts_from_blog_response_spec.rb +1 -1
  640. data/spec/models/free_tool_generate_social_posts_from_blog_response_warnings_inner_spec.rb +1 -1
  641. data/spec/models/free_tool_get_best_times_to_post_response_networks_inner_spec.rb +1 -1
  642. data/spec/models/free_tool_get_best_times_to_post_response_spec.rb +1 -1
  643. data/spec/models/free_tool_get_hook_templates_response_hooks_inner_spec.rb +1 -1
  644. data/spec/models/free_tool_get_hook_templates_response_spec.rb +1 -1
  645. data/spec/models/free_tool_get_image_sizes_response_sizes_inner_spec.rb +1 -1
  646. data/spec/models/free_tool_get_image_sizes_response_sources_inner_spec.rb +1 -1
  647. data/spec/models/free_tool_get_image_sizes_response_spec.rb +1 -1
  648. data/spec/models/free_tool_get_safe_zones_request_spec.rb +52 -0
  649. data/spec/models/free_tool_get_safe_zones_response_safe_area_spec.rb +54 -0
  650. data/spec/models/free_tool_get_safe_zones_response_source_spec.rb +48 -0
  651. data/spec/models/free_tool_get_safe_zones_response_spec.rb +90 -0
  652. data/spec/models/free_tool_get_safe_zones_response_unsafe_areas_inner_spec.rb +70 -0
  653. data/spec/models/free_tool_get_video_specs_response_spec.rb +1 -1
  654. data/spec/models/free_tool_get_video_specs_response_specs_inner_limits_spec.rb +1 -1
  655. data/spec/models/free_tool_get_video_specs_response_specs_inner_spec.rb +1 -1
  656. data/spec/models/free_tool_list_awareness_days_response_covers_spec.rb +42 -0
  657. data/spec/models/free_tool_list_awareness_days_response_entries_inner_spec.rb +88 -0
  658. data/spec/models/free_tool_list_awareness_days_response_spec.rb +60 -0
  659. data/spec/models/free_tool_list_item_spec.rb +1 -1
  660. data/spec/models/free_tool_list_spec.rb +1 -1
  661. data/spec/models/free_tool_plan_content_calendar_request_posts_per_week_spec.rb +1 -1
  662. data/spec/models/free_tool_plan_content_calendar_request_spec.rb +1 -1
  663. data/spec/models/free_tool_plan_content_calendar_request_times_spec.rb +1 -1
  664. data/spec/models/free_tool_plan_content_calendar_response_slots_inner_spec.rb +1 -1
  665. data/spec/models/free_tool_plan_content_calendar_response_spec.rb +1 -1
  666. data/spec/models/free_tool_plan_posting_frequency_request_spec.rb +46 -0
  667. data/spec/models/free_tool_plan_posting_frequency_response_networks_inner_recommended_per_week_spec.rb +42 -0
  668. data/spec/models/free_tool_plan_posting_frequency_response_networks_inner_sources_inner_spec.rb +48 -0
  669. data/spec/models/free_tool_plan_posting_frequency_response_networks_inner_spec.rb +90 -0
  670. data/spec/models/free_tool_plan_posting_frequency_response_slots_inner_spec.rb +56 -0
  671. data/spec/models/free_tool_plan_posting_frequency_response_spec.rb +66 -0
  672. data/spec/models/free_tool_preview_post_request_spec.rb +1 -1
  673. data/spec/models/free_tool_preview_post_response_networks_inner_spec.rb +1 -1
  674. data/spec/models/free_tool_preview_post_response_spec.rb +1 -1
  675. data/spec/models/free_tool_score_social_audit_request_instagram_spec.rb +110 -0
  676. data/spec/models/free_tool_score_social_audit_request_spec.rb +96 -0
  677. data/spec/models/free_tool_score_social_audit_response_networks_inner_items_inner_spec.rb +62 -0
  678. data/spec/models/free_tool_score_social_audit_response_networks_inner_spec.rb +70 -0
  679. data/spec/models/free_tool_score_social_audit_response_spec.rb +54 -0
  680. data/spec/models/free_tool_score_social_audit_response_top_fixes_inner_spec.rb +58 -0
  681. data/spec/models/free_tool_search_emoji_request_spec.rb +1 -1
  682. data/spec/models/free_tool_search_emoji_response_results_inner_spec.rb +1 -1
  683. data/spec/models/free_tool_search_emoji_response_spec.rb +1 -1
  684. data/spec/models/free_tool_split_thread_request_spec.rb +1 -1
  685. data/spec/models/free_tool_split_thread_response_posts_inner_spec.rb +1 -1
  686. data/spec/models/free_tool_split_thread_response_spec.rb +1 -1
  687. data/spec/models/get_account_health200_response_spec.rb +1 -1
  688. data/spec/models/get_brand_voice200_response_spec.rb +1 -1
  689. data/spec/models/get_competitor200_response_spec.rb +1 -1
  690. data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
  691. data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
  692. data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
  693. data/spec/models/get_report_branding200_response_spec.rb +1 -1
  694. data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
  695. data/spec/models/guardrail_error_spec.rb +1 -1
  696. data/spec/models/hashtag_group_input_spec.rb +1 -1
  697. data/spec/models/hashtag_group_spec.rb +1 -1
  698. data/spec/models/image_alt_text200_response_spec.rb +1 -1
  699. data/spec/models/image_alt_text_input_spec.rb +1 -1
  700. data/spec/models/image_alt_text_response_spec.rb +1 -1
  701. data/spec/models/image_credit_balance_spec.rb +1 -1
  702. data/spec/models/image_edit_input_spec.rb +1 -1
  703. data/spec/models/image_generate200_response_spec.rb +1 -1
  704. data/spec/models/image_generate429_response_spec.rb +1 -1
  705. data/spec/models/image_generate_input_spec.rb +1 -1
  706. data/spec/models/image_generation_response_spec.rb +1 -1
  707. data/spec/models/image_prompt200_response_spec.rb +1 -1
  708. data/spec/models/image_prompt429_response_spec.rb +1 -1
  709. data/spec/models/image_prompt_input_spec.rb +1 -1
  710. data/spec/models/image_prompt_response_spec.rb +1 -1
  711. data/spec/models/image_variations200_response_spec.rb +1 -1
  712. data/spec/models/image_variations_input_spec.rb +1 -1
  713. data/spec/models/image_variations_response_spec.rb +1 -1
  714. data/spec/models/inbox_author_spec.rb +1 -1
  715. data/spec/models/inbox_conversation_account_spec.rb +1 -1
  716. data/spec/models/inbox_conversation_spec.rb +1 -1
  717. data/spec/models/inbox_conversation_update_spec.rb +1 -1
  718. data/spec/models/inbox_message_author_spec.rb +1 -1
  719. data/spec/models/inbox_message_spec.rb +1 -1
  720. data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
  721. data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
  722. data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
  723. data/spec/models/inbox_reply_draft_spec.rb +1 -1
  724. data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
  725. data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
  726. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
  727. data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
  728. data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
  729. data/spec/models/learn_brand_voice_input_spec.rb +1 -1
  730. data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
  731. data/spec/models/learn_brand_voice_response_spec.rb +1 -1
  732. data/spec/models/list_account_groups200_response_spec.rb +1 -1
  733. data/spec/models/list_accounts200_response_spec.rb +1 -1
  734. data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
  735. data/spec/models/list_agent_runs200_response_spec.rb +1 -1
  736. data/spec/models/list_agents200_response_spec.rb +1 -1
  737. data/spec/models/list_api_activity200_response_spec.rb +1 -1
  738. data/spec/models/list_api_keys200_response_spec.rb +1 -1
  739. data/spec/models/list_competitors200_response_spec.rb +1 -1
  740. data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
  741. data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
  742. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
  743. data/spec/models/list_media200_response_spec.rb +1 -1
  744. data/spec/models/list_media_folders200_response_spec.rb +1 -1
  745. data/spec/models/list_mentions200_response_spec.rb +1 -1
  746. data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
  747. data/spec/models/list_posts200_response_spec.rb +1 -1
  748. data/spec/models/list_receipts200_response_spec.rb +1 -1
  749. data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
  750. data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
  751. data/spec/models/list_report_exports200_response_spec.rb +1 -1
  752. data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
  753. data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
  754. data/spec/models/list_tags200_response_spec.rb +1 -1
  755. data/spec/models/list_templates200_response_spec.rb +1 -1
  756. data/spec/models/list_users200_response_spec.rb +1 -1
  757. data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
  758. data/spec/models/list_workspaces200_response_spec.rb +1 -1
  759. data/spec/models/media_base64_input_spec.rb +1 -1
  760. data/spec/models/media_folder_input_spec.rb +1 -1
  761. data/spec/models/media_folder_ref_spec.rb +1 -1
  762. data/spec/models/media_folder_spec.rb +1 -1
  763. data/spec/models/media_spec.rb +1 -1
  764. data/spec/models/mention_identity_input_spec.rb +1 -1
  765. data/spec/models/mention_identity_spec.rb +1 -1
  766. data/spec/models/mention_input_spec.rb +1 -1
  767. data/spec/models/mention_spec.rb +1 -1
  768. data/spec/models/message_only_spec.rb +1 -1
  769. data/spec/models/pagination_meta_links_spec.rb +1 -1
  770. data/spec/models/pagination_meta_meta_spec.rb +1 -1
  771. data/spec/models/pagination_meta_spec.rb +1 -1
  772. data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
  773. data/spec/models/post_analytics_spec.rb +1 -1
  774. data/spec/models/post_content_spec.rb +1 -1
  775. data/spec/models/post_input_spec.rb +1 -1
  776. data/spec/models/post_options_instagram_spec.rb +1 -1
  777. data/spec/models/post_options_tik_tok_spec.rb +1 -1
  778. data/spec/models/post_options_youtube_spec.rb +1 -1
  779. data/spec/models/post_spec.rb +1 -1
  780. data/spec/models/post_status_spec.rb +1 -1
  781. data/spec/models/post_version_options_spec.rb +1 -1
  782. data/spec/models/post_version_spec.rb +1 -1
  783. data/spec/models/post_warning_spec.rb +1 -1
  784. data/spec/models/post_warnings_spec.rb +1 -1
  785. data/spec/models/posting_schedule_day_spec.rb +1 -1
  786. data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
  787. data/spec/models/posting_schedule_input_spec.rb +1 -1
  788. data/spec/models/posting_schedule_spec.rb +1 -1
  789. data/spec/models/posting_time_slot_spec.rb +1 -1
  790. data/spec/models/posting_times_best_inner_spec.rb +1 -1
  791. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
  792. data/spec/models/posting_times_days_inner_spec.rb +1 -1
  793. data/spec/models/posting_times_spec.rb +1 -1
  794. data/spec/models/preflight_result_spec.rb +7 -1
  795. data/spec/models/public_workspace_pivot_spec.rb +1 -1
  796. data/spec/models/public_workspace_spec.rb +1 -1
  797. data/spec/models/publish_progress_spec.rb +1 -1
  798. data/spec/models/queue_slots_spec.rb +1 -1
  799. data/spec/models/receipt_input_spec.rb +1 -1
  800. data/spec/models/receipt_spec.rb +1 -1
  801. data/spec/models/receipt_update_input_spec.rb +1 -1
  802. data/spec/models/recommended_posting_times_spec.rb +1 -1
  803. data/spec/models/reconnect_link_spec.rb +1 -1
  804. data/spec/models/recycling_rule_input_spec.rb +1 -1
  805. data/spec/models/recycling_rule_settings_spec.rb +1 -1
  806. data/spec/models/recycling_rule_spec.rb +1 -1
  807. data/spec/models/recycling_rule_update_spec.rb +1 -1
  808. data/spec/models/recycling_run_spec.rb +1 -1
  809. data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
  810. data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
  811. data/spec/models/report_branding_input_spec.rb +1 -1
  812. data/spec/models/report_branding_spec.rb +1 -1
  813. data/spec/models/report_export_input_spec.rb +1 -1
  814. data/spec/models/report_export_spec.rb +1 -1
  815. data/spec/models/repurpose_content200_response_spec.rb +1 -1
  816. data/spec/models/repurpose_content202_response_spec.rb +1 -1
  817. data/spec/models/repurpose_content500_response_spec.rb +1 -1
  818. data/spec/models/repurpose_input_spec.rb +1 -1
  819. data/spec/models/repurpose_input_theme_spec.rb +1 -1
  820. data/spec/models/repurpose_result_media_spec.rb +1 -1
  821. data/spec/models/repurpose_result_source_spec.rb +1 -1
  822. data/spec/models/repurpose_result_spec.rb +1 -1
  823. data/spec/models/repurpose_run_accepted_spec.rb +1 -1
  824. data/spec/models/repurpose_run_spec.rb +1 -1
  825. data/spec/models/repurpose_slide_spec.rb +1 -1
  826. data/spec/models/reseller_client_input_spec.rb +1 -1
  827. data/spec/models/reseller_client_spec.rb +1 -1
  828. data/spec/models/reseller_client_usage_spec.rb +1 -1
  829. data/spec/models/retry_post_account_result_spec.rb +1 -1
  830. data/spec/models/rss_feed_input_spec.rb +1 -1
  831. data/spec/models/rss_feed_spec.rb +1 -1
  832. data/spec/models/rss_feed_update_spec.rb +1 -1
  833. data/spec/models/run_agent202_response_spec.rb +1 -1
  834. data/spec/models/schedule_post_request_spec.rb +1 -1
  835. data/spec/models/schedule_result_spec.rb +1 -1
  836. data/spec/models/subscription_input_spec.rb +1 -1
  837. data/spec/models/subscription_spec.rb +1 -1
  838. data/spec/models/subscription_status_spec.rb +1 -1
  839. data/spec/models/subscription_update_input_spec.rb +1 -1
  840. data/spec/models/tag_input_spec.rb +1 -1
  841. data/spec/models/tag_spec.rb +1 -1
  842. data/spec/models/template_content_item_spec.rb +1 -1
  843. data/spec/models/template_input_content_inner_spec.rb +1 -1
  844. data/spec/models/template_input_spec.rb +1 -1
  845. data/spec/models/template_spec.rb +1 -1
  846. data/spec/models/update_media_request_spec.rb +1 -1
  847. data/spec/models/update_post200_response_spec.rb +1 -1
  848. data/spec/models/upload_chunk201_response_spec.rb +1 -1
  849. data/spec/models/user_input_spec.rb +1 -1
  850. data/spec/models/user_spec.rb +1 -1
  851. data/spec/models/user_update_input_spec.rb +1 -1
  852. data/spec/models/webhook_envelope_spec.rb +1 -1
  853. data/spec/models/webhook_event_name_spec.rb +1 -1
  854. data/spec/models/webhook_event_payload_spec.rb +1 -1
  855. data/spec/models/webhook_subscription_input_spec.rb +1 -1
  856. data/spec/models/webhook_subscription_spec.rb +1 -1
  857. data/spec/models/workspace_agent_input_spec.rb +1 -1
  858. data/spec/models/workspace_agent_settings_spec.rb +1 -1
  859. data/spec/models/workspace_agent_spec.rb +1 -1
  860. data/spec/models/workspace_agent_update_spec.rb +1 -1
  861. data/spec/models/workspace_input_spec.rb +1 -1
  862. data/spec/models/workspace_spec.rb +1 -1
  863. data/spec/models/workspace_user_input_spec.rb +1 -1
  864. data/spec/models/x_usage_counter_spec.rb +1 -1
  865. data/spec/models/x_usage_spec.rb +1 -1
  866. data/spec/spec_helper.rb +1 -1
  867. metadata +113 -1
@@ -0,0 +1,420 @@
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.56.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
+ # Your answers for this network: yes, partly or no per question (a missing answer counts as no). Leave the network out to skip it.
18
+ class FreeToolScoreSocialAuditRequestInstagram
19
+ # Profile photo, name and cover image match your brand.
20
+ attr_accessor :profile
21
+
22
+ # Your bio says who you help and how, and has a link.
23
+ attr_accessor :bio
24
+
25
+ # The bio link carries UTM tags.
26
+ attr_accessor :link_tracking
27
+
28
+ # You publish at least N posts a week, your own target.
29
+ attr_accessor :frequency
30
+
31
+ # You reply to comments and messages within 24 hours.
32
+ attr_accessor :replies
33
+
34
+ # You use the formats the network is built for, such as short video, carousels or documents.
35
+ attr_accessor :native_formats
36
+
37
+ # Your pinned or featured post is current.
38
+ attr_accessor :pinned
39
+
40
+ # You check your engagement rate every month.
41
+ attr_accessor :engagement_rate
42
+
43
+ class EnumAttributeValidator
44
+ attr_reader :datatype
45
+ attr_reader :allowable_values
46
+
47
+ def initialize(datatype, allowable_values)
48
+ @allowable_values = allowable_values.map do |value|
49
+ case datatype.to_s
50
+ when /Integer/i
51
+ value.to_i
52
+ when /Float/i
53
+ value.to_f
54
+ else
55
+ value
56
+ end
57
+ end
58
+ end
59
+
60
+ def valid?(value)
61
+ !value || allowable_values.include?(value)
62
+ end
63
+ end
64
+
65
+ # Attribute mapping from ruby-style variable name to JSON key.
66
+ def self.attribute_map
67
+ {
68
+ :'profile' => :'profile',
69
+ :'bio' => :'bio',
70
+ :'link_tracking' => :'link_tracking',
71
+ :'frequency' => :'frequency',
72
+ :'replies' => :'replies',
73
+ :'native_formats' => :'native_formats',
74
+ :'pinned' => :'pinned',
75
+ :'engagement_rate' => :'engagement_rate'
76
+ }
77
+ end
78
+
79
+ # Returns all the JSON keys this model knows about
80
+ def self.acceptable_attributes
81
+ attribute_map.values
82
+ end
83
+
84
+ # Attribute type mapping.
85
+ def self.openapi_types
86
+ {
87
+ :'profile' => :'String',
88
+ :'bio' => :'String',
89
+ :'link_tracking' => :'String',
90
+ :'frequency' => :'String',
91
+ :'replies' => :'String',
92
+ :'native_formats' => :'String',
93
+ :'pinned' => :'String',
94
+ :'engagement_rate' => :'String'
95
+ }
96
+ end
97
+
98
+ # List of attributes with nullable: true
99
+ def self.openapi_nullable
100
+ Set.new([
101
+ ])
102
+ end
103
+
104
+ # Initializes the object
105
+ # @param [Hash] attributes Model attributes in the form of hash
106
+ def initialize(attributes = {})
107
+ if (!attributes.is_a?(Hash))
108
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PostBoost::FreeToolScoreSocialAuditRequestInstagram` initialize method"
109
+ end
110
+
111
+ # check to see if the attribute exists and convert string to symbol for hash key
112
+ attributes = attributes.each_with_object({}) { |(k, v), h|
113
+ if (!self.class.attribute_map.key?(k.to_sym))
114
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PostBoost::FreeToolScoreSocialAuditRequestInstagram`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
115
+ end
116
+ h[k.to_sym] = v
117
+ }
118
+
119
+ if attributes.key?(:'profile')
120
+ self.profile = attributes[:'profile']
121
+ else
122
+ self.profile = 'no'
123
+ end
124
+
125
+ if attributes.key?(:'bio')
126
+ self.bio = attributes[:'bio']
127
+ else
128
+ self.bio = 'no'
129
+ end
130
+
131
+ if attributes.key?(:'link_tracking')
132
+ self.link_tracking = attributes[:'link_tracking']
133
+ else
134
+ self.link_tracking = 'no'
135
+ end
136
+
137
+ if attributes.key?(:'frequency')
138
+ self.frequency = attributes[:'frequency']
139
+ else
140
+ self.frequency = 'no'
141
+ end
142
+
143
+ if attributes.key?(:'replies')
144
+ self.replies = attributes[:'replies']
145
+ else
146
+ self.replies = 'no'
147
+ end
148
+
149
+ if attributes.key?(:'native_formats')
150
+ self.native_formats = attributes[:'native_formats']
151
+ else
152
+ self.native_formats = 'no'
153
+ end
154
+
155
+ if attributes.key?(:'pinned')
156
+ self.pinned = attributes[:'pinned']
157
+ else
158
+ self.pinned = 'no'
159
+ end
160
+
161
+ if attributes.key?(:'engagement_rate')
162
+ self.engagement_rate = attributes[:'engagement_rate']
163
+ else
164
+ self.engagement_rate = 'no'
165
+ end
166
+ end
167
+
168
+ # Show invalid properties with the reasons. Usually used together with valid?
169
+ # @return Array for valid properties with the reasons
170
+ def list_invalid_properties
171
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
172
+ invalid_properties = Array.new
173
+ invalid_properties
174
+ end
175
+
176
+ # Check to see if the all the properties in the model are valid
177
+ # @return true if the model is valid
178
+ def valid?
179
+ warn '[DEPRECATED] the `valid?` method is obsolete'
180
+ profile_validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
181
+ return false unless profile_validator.valid?(@profile)
182
+ bio_validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
183
+ return false unless bio_validator.valid?(@bio)
184
+ link_tracking_validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
185
+ return false unless link_tracking_validator.valid?(@link_tracking)
186
+ frequency_validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
187
+ return false unless frequency_validator.valid?(@frequency)
188
+ replies_validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
189
+ return false unless replies_validator.valid?(@replies)
190
+ native_formats_validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
191
+ return false unless native_formats_validator.valid?(@native_formats)
192
+ pinned_validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
193
+ return false unless pinned_validator.valid?(@pinned)
194
+ engagement_rate_validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
195
+ return false unless engagement_rate_validator.valid?(@engagement_rate)
196
+ true
197
+ end
198
+
199
+ # Custom attribute writer method checking allowed values (enum).
200
+ # @param [Object] profile Object to be assigned
201
+ def profile=(profile)
202
+ validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
203
+ unless validator.valid?(profile)
204
+ fail ArgumentError, "invalid value for \"profile\", must be one of #{validator.allowable_values}."
205
+ end
206
+ @profile = profile
207
+ end
208
+
209
+ # Custom attribute writer method checking allowed values (enum).
210
+ # @param [Object] bio Object to be assigned
211
+ def bio=(bio)
212
+ validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
213
+ unless validator.valid?(bio)
214
+ fail ArgumentError, "invalid value for \"bio\", must be one of #{validator.allowable_values}."
215
+ end
216
+ @bio = bio
217
+ end
218
+
219
+ # Custom attribute writer method checking allowed values (enum).
220
+ # @param [Object] link_tracking Object to be assigned
221
+ def link_tracking=(link_tracking)
222
+ validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
223
+ unless validator.valid?(link_tracking)
224
+ fail ArgumentError, "invalid value for \"link_tracking\", must be one of #{validator.allowable_values}."
225
+ end
226
+ @link_tracking = link_tracking
227
+ end
228
+
229
+ # Custom attribute writer method checking allowed values (enum).
230
+ # @param [Object] frequency Object to be assigned
231
+ def frequency=(frequency)
232
+ validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
233
+ unless validator.valid?(frequency)
234
+ fail ArgumentError, "invalid value for \"frequency\", must be one of #{validator.allowable_values}."
235
+ end
236
+ @frequency = frequency
237
+ end
238
+
239
+ # Custom attribute writer method checking allowed values (enum).
240
+ # @param [Object] replies Object to be assigned
241
+ def replies=(replies)
242
+ validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
243
+ unless validator.valid?(replies)
244
+ fail ArgumentError, "invalid value for \"replies\", must be one of #{validator.allowable_values}."
245
+ end
246
+ @replies = replies
247
+ end
248
+
249
+ # Custom attribute writer method checking allowed values (enum).
250
+ # @param [Object] native_formats Object to be assigned
251
+ def native_formats=(native_formats)
252
+ validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
253
+ unless validator.valid?(native_formats)
254
+ fail ArgumentError, "invalid value for \"native_formats\", must be one of #{validator.allowable_values}."
255
+ end
256
+ @native_formats = native_formats
257
+ end
258
+
259
+ # Custom attribute writer method checking allowed values (enum).
260
+ # @param [Object] pinned Object to be assigned
261
+ def pinned=(pinned)
262
+ validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
263
+ unless validator.valid?(pinned)
264
+ fail ArgumentError, "invalid value for \"pinned\", must be one of #{validator.allowable_values}."
265
+ end
266
+ @pinned = pinned
267
+ end
268
+
269
+ # Custom attribute writer method checking allowed values (enum).
270
+ # @param [Object] engagement_rate Object to be assigned
271
+ def engagement_rate=(engagement_rate)
272
+ validator = EnumAttributeValidator.new('String', ["yes", "partly", "no"])
273
+ unless validator.valid?(engagement_rate)
274
+ fail ArgumentError, "invalid value for \"engagement_rate\", must be one of #{validator.allowable_values}."
275
+ end
276
+ @engagement_rate = engagement_rate
277
+ end
278
+
279
+ # Checks equality by comparing each attribute.
280
+ # @param [Object] Object to be compared
281
+ def ==(o)
282
+ return true if self.equal?(o)
283
+ self.class == o.class &&
284
+ profile == o.profile &&
285
+ bio == o.bio &&
286
+ link_tracking == o.link_tracking &&
287
+ frequency == o.frequency &&
288
+ replies == o.replies &&
289
+ native_formats == o.native_formats &&
290
+ pinned == o.pinned &&
291
+ engagement_rate == o.engagement_rate
292
+ end
293
+
294
+ # @see the `==` method
295
+ # @param [Object] Object to be compared
296
+ def eql?(o)
297
+ self == o
298
+ end
299
+
300
+ # Calculates hash code according to all attributes.
301
+ # @return [Integer] Hash code
302
+ def hash
303
+ [profile, bio, link_tracking, frequency, replies, native_formats, pinned, engagement_rate].hash
304
+ end
305
+
306
+ # Builds the object from hash
307
+ # @param [Hash] attributes Model attributes in the form of hash
308
+ # @return [Object] Returns the model itself
309
+ def self.build_from_hash(attributes)
310
+ return nil unless attributes.is_a?(Hash)
311
+ attributes = attributes.transform_keys(&:to_sym)
312
+ transformed_hash = {}
313
+ openapi_types.each_pair do |key, type|
314
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
315
+ transformed_hash["#{key}"] = nil
316
+ elsif type =~ /\AArray<(.*)>/i
317
+ # check to ensure the input is an array given that the attribute
318
+ # is documented as an array but the input is not
319
+ if attributes[attribute_map[key]].is_a?(Array)
320
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
321
+ end
322
+ elsif !attributes[attribute_map[key]].nil?
323
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
324
+ end
325
+ end
326
+ new(transformed_hash)
327
+ end
328
+
329
+ # Deserializes the data based on type
330
+ # @param string type Data type
331
+ # @param string value Value to be deserialized
332
+ # @return [Object] Deserialized data
333
+ def self._deserialize(type, value)
334
+ case type.to_sym
335
+ when :Time
336
+ Time.parse(value)
337
+ when :Date
338
+ Date.parse(value)
339
+ when :String
340
+ value.to_s
341
+ when :Integer
342
+ value.to_i
343
+ when :Float
344
+ value.to_f
345
+ when :Boolean
346
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
347
+ true
348
+ else
349
+ false
350
+ end
351
+ when :Object
352
+ # generic object (usually a Hash), return directly
353
+ value
354
+ when /\AArray<(?<inner_type>.+)>\z/
355
+ inner_type = Regexp.last_match[:inner_type]
356
+ value.map { |v| _deserialize(inner_type, v) }
357
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
358
+ k_type = Regexp.last_match[:k_type]
359
+ v_type = Regexp.last_match[:v_type]
360
+ {}.tap do |hash|
361
+ value.each do |k, v|
362
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
363
+ end
364
+ end
365
+ else # model
366
+ # models (e.g. Pet) or oneOf
367
+ klass = PostBoost.const_get(type)
368
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
369
+ end
370
+ end
371
+
372
+ # Returns the string representation of the object
373
+ # @return [String] String presentation of the object
374
+ def to_s
375
+ to_hash.to_s
376
+ end
377
+
378
+ # to_body is an alias to to_hash (backward compatibility)
379
+ # @return [Hash] Returns the object in the form of hash
380
+ def to_body
381
+ to_hash
382
+ end
383
+
384
+ # Returns the object in the form of hash
385
+ # @return [Hash] Returns the object in the form of hash
386
+ def to_hash
387
+ hash = {}
388
+ self.class.attribute_map.each_pair do |attr, param|
389
+ value = self.send(attr)
390
+ if value.nil?
391
+ is_nullable = self.class.openapi_nullable.include?(attr)
392
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
393
+ end
394
+
395
+ hash[param] = _to_hash(value)
396
+ end
397
+ hash
398
+ end
399
+
400
+ # Outputs non-array value in the form of hash
401
+ # For object, use to_hash. Otherwise, just return the value
402
+ # @param [Object] value Any valid value
403
+ # @return [Hash] Returns the value in the form of hash
404
+ def _to_hash(value)
405
+ if value.is_a?(Array)
406
+ value.compact.map { |v| _to_hash(v) }
407
+ elsif value.is_a?(Hash)
408
+ {}.tap do |hash|
409
+ value.each { |k, v| hash[k] = _to_hash(v) }
410
+ end
411
+ elsif value.respond_to? :to_hash
412
+ value.to_hash
413
+ else
414
+ value
415
+ end
416
+ end
417
+
418
+ end
419
+
420
+ end
@@ -0,0 +1,277 @@
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.56.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 FreeToolScoreSocialAuditResponse
18
+ # Overall score: all points over the maximum, as 0-100 rounded half up.
19
+ attr_accessor :score
20
+
21
+ # One row per audited network, in a fixed network order.
22
+ attr_accessor :networks
23
+
24
+ # Up to 3 questions with the fewest points over all audited networks (ties: checklist order); only questions answered below yes somewhere.
25
+ attr_accessor :top_fixes
26
+
27
+ # The scorecard as a Markdown report: overall score, top fixes and every answer per network.
28
+ attr_accessor :report_markdown
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'score' => :'score',
34
+ :'networks' => :'networks',
35
+ :'top_fixes' => :'top_fixes',
36
+ :'report_markdown' => :'report_markdown'
37
+ }
38
+ end
39
+
40
+ # Returns all the JSON keys this model knows about
41
+ def self.acceptable_attributes
42
+ attribute_map.values
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.openapi_types
47
+ {
48
+ :'score' => :'Integer',
49
+ :'networks' => :'Array<FreeToolScoreSocialAuditResponseNetworksInner>',
50
+ :'top_fixes' => :'Array<FreeToolScoreSocialAuditResponseTopFixesInner>',
51
+ :'report_markdown' => :'String'
52
+ }
53
+ end
54
+
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ ])
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PostBoost::FreeToolScoreSocialAuditResponse` initialize method"
66
+ end
67
+
68
+ # check to see if the attribute exists and convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}) { |(k, v), h|
70
+ if (!self.class.attribute_map.key?(k.to_sym))
71
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PostBoost::FreeToolScoreSocialAuditResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
72
+ end
73
+ h[k.to_sym] = v
74
+ }
75
+
76
+ if attributes.key?(:'score')
77
+ self.score = attributes[:'score']
78
+ end
79
+
80
+ if attributes.key?(:'networks')
81
+ if (value = attributes[:'networks']).is_a?(Array)
82
+ self.networks = value
83
+ end
84
+ end
85
+
86
+ if attributes.key?(:'top_fixes')
87
+ if (value = attributes[:'top_fixes']).is_a?(Array)
88
+ self.top_fixes = value
89
+ end
90
+ end
91
+
92
+ if attributes.key?(:'report_markdown')
93
+ self.report_markdown = attributes[:'report_markdown']
94
+ end
95
+ end
96
+
97
+ # Show invalid properties with the reasons. Usually used together with valid?
98
+ # @return Array for valid properties with the reasons
99
+ def list_invalid_properties
100
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
101
+ invalid_properties = Array.new
102
+ if !@score.nil? && @score > 100
103
+ invalid_properties.push('invalid value for "score", must be smaller than or equal to 100.')
104
+ end
105
+
106
+ if !@score.nil? && @score < 0
107
+ invalid_properties.push('invalid value for "score", must be greater than or equal to 0.')
108
+ end
109
+
110
+ invalid_properties
111
+ end
112
+
113
+ # Check to see if the all the properties in the model are valid
114
+ # @return true if the model is valid
115
+ def valid?
116
+ warn '[DEPRECATED] the `valid?` method is obsolete'
117
+ return false if !@score.nil? && @score > 100
118
+ return false if !@score.nil? && @score < 0
119
+ true
120
+ end
121
+
122
+ # Custom attribute writer method with validation
123
+ # @param [Object] score Value to be assigned
124
+ def score=(score)
125
+ if score.nil?
126
+ fail ArgumentError, 'score cannot be nil'
127
+ end
128
+
129
+ if score > 100
130
+ fail ArgumentError, 'invalid value for "score", must be smaller than or equal to 100.'
131
+ end
132
+
133
+ if score < 0
134
+ fail ArgumentError, 'invalid value for "score", must be greater than or equal to 0.'
135
+ end
136
+
137
+ @score = score
138
+ end
139
+
140
+ # Checks equality by comparing each attribute.
141
+ # @param [Object] Object to be compared
142
+ def ==(o)
143
+ return true if self.equal?(o)
144
+ self.class == o.class &&
145
+ score == o.score &&
146
+ networks == o.networks &&
147
+ top_fixes == o.top_fixes &&
148
+ report_markdown == o.report_markdown
149
+ end
150
+
151
+ # @see the `==` method
152
+ # @param [Object] Object to be compared
153
+ def eql?(o)
154
+ self == o
155
+ end
156
+
157
+ # Calculates hash code according to all attributes.
158
+ # @return [Integer] Hash code
159
+ def hash
160
+ [score, networks, top_fixes, report_markdown].hash
161
+ end
162
+
163
+ # Builds the object from hash
164
+ # @param [Hash] attributes Model attributes in the form of hash
165
+ # @return [Object] Returns the model itself
166
+ def self.build_from_hash(attributes)
167
+ return nil unless attributes.is_a?(Hash)
168
+ attributes = attributes.transform_keys(&:to_sym)
169
+ transformed_hash = {}
170
+ openapi_types.each_pair do |key, type|
171
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
172
+ transformed_hash["#{key}"] = nil
173
+ elsif type =~ /\AArray<(.*)>/i
174
+ # check to ensure the input is an array given that the attribute
175
+ # is documented as an array but the input is not
176
+ if attributes[attribute_map[key]].is_a?(Array)
177
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
178
+ end
179
+ elsif !attributes[attribute_map[key]].nil?
180
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
181
+ end
182
+ end
183
+ new(transformed_hash)
184
+ end
185
+
186
+ # Deserializes the data based on type
187
+ # @param string type Data type
188
+ # @param string value Value to be deserialized
189
+ # @return [Object] Deserialized data
190
+ def self._deserialize(type, value)
191
+ case type.to_sym
192
+ when :Time
193
+ Time.parse(value)
194
+ when :Date
195
+ Date.parse(value)
196
+ when :String
197
+ value.to_s
198
+ when :Integer
199
+ value.to_i
200
+ when :Float
201
+ value.to_f
202
+ when :Boolean
203
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
204
+ true
205
+ else
206
+ false
207
+ end
208
+ when :Object
209
+ # generic object (usually a Hash), return directly
210
+ value
211
+ when /\AArray<(?<inner_type>.+)>\z/
212
+ inner_type = Regexp.last_match[:inner_type]
213
+ value.map { |v| _deserialize(inner_type, v) }
214
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
215
+ k_type = Regexp.last_match[:k_type]
216
+ v_type = Regexp.last_match[:v_type]
217
+ {}.tap do |hash|
218
+ value.each do |k, v|
219
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
220
+ end
221
+ end
222
+ else # model
223
+ # models (e.g. Pet) or oneOf
224
+ klass = PostBoost.const_get(type)
225
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
226
+ end
227
+ end
228
+
229
+ # Returns the string representation of the object
230
+ # @return [String] String presentation of the object
231
+ def to_s
232
+ to_hash.to_s
233
+ end
234
+
235
+ # to_body is an alias to to_hash (backward compatibility)
236
+ # @return [Hash] Returns the object in the form of hash
237
+ def to_body
238
+ to_hash
239
+ end
240
+
241
+ # Returns the object in the form of hash
242
+ # @return [Hash] Returns the object in the form of hash
243
+ def to_hash
244
+ hash = {}
245
+ self.class.attribute_map.each_pair do |attr, param|
246
+ value = self.send(attr)
247
+ if value.nil?
248
+ is_nullable = self.class.openapi_nullable.include?(attr)
249
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
250
+ end
251
+
252
+ hash[param] = _to_hash(value)
253
+ end
254
+ hash
255
+ end
256
+
257
+ # Outputs non-array value in the form of hash
258
+ # For object, use to_hash. Otherwise, just return the value
259
+ # @param [Object] value Any valid value
260
+ # @return [Hash] Returns the value in the form of hash
261
+ def _to_hash(value)
262
+ if value.is_a?(Array)
263
+ value.compact.map { |v| _to_hash(v) }
264
+ elsif value.is_a?(Hash)
265
+ {}.tap do |hash|
266
+ value.each { |k, v| hash[k] = _to_hash(v) }
267
+ end
268
+ elsif value.respond_to? :to_hash
269
+ value.to_hash
270
+ else
271
+ value
272
+ end
273
+ end
274
+
275
+ end
276
+
277
+ end