postboost 1.19.0 → 1.21.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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/docs/AgentProposal.md +2 -2
- data/docs/AgentsApi.md +3 -3
- data/docs/CreatePost201Response.md +40 -0
- data/docs/PostWarning.md +22 -0
- data/docs/PostWarnings.md +18 -0
- data/docs/PostsApi.md +8 -8
- data/docs/UpdatePost200Response.md +20 -0
- data/docs/WorkspaceAgentSettings.md +3 -1
- data/lib/postboost/api/account_groups_api.rb +1 -1
- data/lib/postboost/api/accounts_api.rb +1 -1
- data/lib/postboost/api/activity_api.rb +1 -1
- data/lib/postboost/api/agents_api.rb +7 -7
- data/lib/postboost/api/ai_api.rb +1 -1
- data/lib/postboost/api/analytics_api.rb +1 -1
- data/lib/postboost/api/competitors_api.rb +1 -1
- data/lib/postboost/api/hashtag_groups_api.rb +1 -1
- data/lib/postboost/api/inbox_api.rb +1 -1
- data/lib/postboost/api/media_api.rb +1 -1
- data/lib/postboost/api/mentions_api.rb +1 -1
- data/lib/postboost/api/posting_schedule_api.rb +1 -1
- data/lib/postboost/api/posts_api.rb +7 -7
- data/lib/postboost/api/receipts_api.rb +1 -1
- data/lib/postboost/api/subscriptions_api.rb +1 -1
- data/lib/postboost/api/tags_api.rb +1 -1
- data/lib/postboost/api/templates_api.rb +1 -1
- data/lib/postboost/api/users_api.rb +1 -1
- data/lib/postboost/api/webhooks_api.rb +1 -1
- data/lib/postboost/api/workspaces_api.rb +1 -1
- data/lib/postboost/api_client.rb +1 -1
- data/lib/postboost/api_error.rb +1 -1
- data/lib/postboost/configuration.rb +1 -1
- data/lib/postboost/models/account.rb +1 -1
- data/lib/postboost/models/account_analytics.rb +1 -1
- data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
- data/lib/postboost/models/account_connection_health.rb +1 -1
- data/lib/postboost/models/account_errors_inner.rb +1 -1
- data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
- data/lib/postboost/models/account_group.rb +1 -1
- data/lib/postboost/models/account_group_input.rb +1 -1
- data/lib/postboost/models/account_health.rb +1 -1
- data/lib/postboost/models/account_health_daily_cap.rb +1 -1
- data/lib/postboost/models/account_schedule.rb +1 -1
- data/lib/postboost/models/add_competitor202_response.rb +1 -1
- data/lib/postboost/models/add_competitor409_response.rb +1 -1
- data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
- data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
- data/lib/postboost/models/agent_page_meta.rb +1 -1
- data/lib/postboost/models/agent_proposal.rb +5 -5
- data/lib/postboost/models/agent_proposal_decision.rb +1 -1
- data/lib/postboost/models/agent_run.rb +1 -1
- data/lib/postboost/models/ai_credits.rb +1 -1
- data/lib/postboost/models/ai_usage.rb +1 -1
- data/lib/postboost/models/ai_usage_text.rb +1 -1
- data/lib/postboost/models/analytics_period.rb +1 -1
- data/lib/postboost/models/analytics_summary.rb +1 -1
- data/lib/postboost/models/analytics_summary_data.rb +1 -1
- data/lib/postboost/models/api_activity.rb +1 -1
- data/lib/postboost/models/api_activity_outcome.rb +1 -1
- data/lib/postboost/models/api_key.rb +1 -1
- data/lib/postboost/models/api_key_ability.rb +1 -1
- data/lib/postboost/models/api_key_input.rb +1 -1
- data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
- data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
- data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
- data/lib/postboost/models/approve_post_request.rb +1 -1
- data/lib/postboost/models/best_posting_times.rb +1 -1
- data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
- data/lib/postboost/models/blog_to_social200_response.rb +1 -1
- data/lib/postboost/models/blog_to_social429_response.rb +1 -1
- data/lib/postboost/models/blog_to_social_caption.rb +1 -1
- data/lib/postboost/models/blog_to_social_input.rb +1 -1
- data/lib/postboost/models/blog_to_social_media.rb +1 -1
- data/lib/postboost/models/blog_to_social_response.rb +1 -1
- data/lib/postboost/models/brand_voice.rb +1 -1
- data/lib/postboost/models/brand_voice_input.rb +1 -1
- data/lib/postboost/models/brand_voice_meta.rb +1 -1
- data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
- data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
- data/lib/postboost/models/cancel_subscription_request.rb +1 -1
- data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
- data/lib/postboost/models/channel_account.rb +1 -1
- data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
- data/lib/postboost/models/checkout_subscription_request.rb +1 -1
- data/lib/postboost/models/coded_error.rb +1 -1
- data/lib/postboost/models/competitor.rb +1 -1
- data/lib/postboost/models/competitor_detail.rb +1 -1
- data/lib/postboost/models/competitor_input.rb +1 -1
- data/lib/postboost/models/competitor_media.rb +1 -1
- data/lib/postboost/models/competitor_snapshot.rb +1 -1
- data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
- data/lib/postboost/models/connect_channel_input.rb +1 -1
- data/lib/postboost/models/create_account_group201_response.rb +1 -1
- data/lib/postboost/models/create_agent201_response.rb +1 -1
- data/lib/postboost/models/create_api_key201_response.rb +1 -1
- data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
- data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
- data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
- data/lib/postboost/models/create_media_folder_request.rb +1 -1
- data/lib/postboost/models/create_mention201_response.rb +1 -1
- data/lib/postboost/models/create_post201_response.rb +409 -0
- data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
- data/lib/postboost/models/create_report_export201_response.rb +1 -1
- data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
- data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
- data/lib/postboost/models/create_template201_response.rb +1 -1
- data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
- data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
- data/lib/postboost/models/delete_agent200_response.rb +1 -1
- data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
- data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
- data/lib/postboost/models/delete_media_folder_request.rb +1 -1
- data/lib/postboost/models/delete_mode.rb +1 -1
- data/lib/postboost/models/delete_post_request.rb +1 -1
- data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
- data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
- data/lib/postboost/models/delete_result.rb +1 -1
- data/lib/postboost/models/delete_user400_response.rb +1 -1
- data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
- data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
- data/lib/postboost/models/get_account_health200_response.rb +1 -1
- data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
- data/lib/postboost/models/get_competitor200_response.rb +1 -1
- data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
- data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
- data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
- data/lib/postboost/models/get_report_branding200_response.rb +1 -1
- data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
- data/lib/postboost/models/guardrail_error.rb +1 -1
- data/lib/postboost/models/hashtag_group.rb +1 -1
- data/lib/postboost/models/hashtag_group_input.rb +1 -1
- data/lib/postboost/models/image_alt_text200_response.rb +1 -1
- data/lib/postboost/models/image_alt_text_input.rb +1 -1
- data/lib/postboost/models/image_alt_text_response.rb +1 -1
- data/lib/postboost/models/image_credit_balance.rb +1 -1
- data/lib/postboost/models/image_edit_input.rb +1 -1
- data/lib/postboost/models/image_generate200_response.rb +1 -1
- data/lib/postboost/models/image_generate429_response.rb +1 -1
- data/lib/postboost/models/image_generate_input.rb +1 -1
- data/lib/postboost/models/image_generation_response.rb +1 -1
- data/lib/postboost/models/image_prompt200_response.rb +1 -1
- data/lib/postboost/models/image_prompt429_response.rb +1 -1
- data/lib/postboost/models/image_prompt_input.rb +1 -1
- data/lib/postboost/models/image_prompt_response.rb +1 -1
- data/lib/postboost/models/image_variations200_response.rb +1 -1
- data/lib/postboost/models/image_variations_input.rb +1 -1
- data/lib/postboost/models/image_variations_response.rb +1 -1
- data/lib/postboost/models/inbox_author.rb +1 -1
- data/lib/postboost/models/inbox_conversation.rb +1 -1
- data/lib/postboost/models/inbox_conversation_account.rb +1 -1
- data/lib/postboost/models/inbox_conversation_update.rb +1 -1
- data/lib/postboost/models/inbox_message.rb +1 -1
- data/lib/postboost/models/inbox_message_author.rb +1 -1
- data/lib/postboost/models/inbox_reply_draft.rb +1 -1
- data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
- data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
- data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
- data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
- data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
- data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
- data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
- data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
- data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
- data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
- data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
- data/lib/postboost/models/list_account_groups200_response.rb +1 -1
- data/lib/postboost/models/list_accounts200_response.rb +1 -1
- data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
- data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
- data/lib/postboost/models/list_agents200_response.rb +1 -1
- data/lib/postboost/models/list_api_activity200_response.rb +1 -1
- data/lib/postboost/models/list_api_keys200_response.rb +1 -1
- data/lib/postboost/models/list_competitors200_response.rb +1 -1
- data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
- data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
- data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
- data/lib/postboost/models/list_media200_response.rb +1 -1
- data/lib/postboost/models/list_media_folders200_response.rb +1 -1
- data/lib/postboost/models/list_mentions200_response.rb +1 -1
- data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
- data/lib/postboost/models/list_posts200_response.rb +1 -1
- data/lib/postboost/models/list_receipts200_response.rb +1 -1
- data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
- data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
- data/lib/postboost/models/list_report_exports200_response.rb +1 -1
- data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
- data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
- data/lib/postboost/models/list_tags200_response.rb +1 -1
- data/lib/postboost/models/list_templates200_response.rb +1 -1
- data/lib/postboost/models/list_users200_response.rb +1 -1
- data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
- data/lib/postboost/models/list_workspaces200_response.rb +1 -1
- data/lib/postboost/models/media.rb +1 -1
- data/lib/postboost/models/media_base64_input.rb +1 -1
- data/lib/postboost/models/media_folder.rb +1 -1
- data/lib/postboost/models/media_folder_input.rb +1 -1
- data/lib/postboost/models/media_folder_ref.rb +1 -1
- data/lib/postboost/models/mention.rb +1 -1
- data/lib/postboost/models/mention_identity.rb +1 -1
- data/lib/postboost/models/mention_identity_input.rb +1 -1
- data/lib/postboost/models/mention_input.rb +1 -1
- data/lib/postboost/models/message_only.rb +1 -1
- data/lib/postboost/models/pagination_meta.rb +1 -1
- data/lib/postboost/models/pagination_meta_links.rb +1 -1
- data/lib/postboost/models/pagination_meta_meta.rb +1 -1
- data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
- data/lib/postboost/models/post.rb +1 -1
- data/lib/postboost/models/post_analytics.rb +1 -1
- data/lib/postboost/models/post_content.rb +1 -1
- data/lib/postboost/models/post_input.rb +1 -1
- data/lib/postboost/models/post_options_instagram.rb +1 -1
- data/lib/postboost/models/post_options_tik_tok.rb +1 -1
- data/lib/postboost/models/post_options_youtube.rb +1 -1
- data/lib/postboost/models/post_status.rb +1 -1
- data/lib/postboost/models/post_version.rb +1 -1
- data/lib/postboost/models/post_version_options.rb +1 -1
- data/lib/postboost/models/post_warning.rb +285 -0
- data/lib/postboost/models/post_warnings.rb +217 -0
- data/lib/postboost/models/posting_schedule.rb +1 -1
- data/lib/postboost/models/posting_schedule_day.rb +1 -1
- data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
- data/lib/postboost/models/posting_schedule_input.rb +1 -1
- data/lib/postboost/models/posting_time_slot.rb +1 -1
- data/lib/postboost/models/posting_times.rb +1 -1
- data/lib/postboost/models/posting_times_best_inner.rb +1 -1
- data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
- data/lib/postboost/models/posting_times_days_inner.rb +1 -1
- data/lib/postboost/models/preflight_result.rb +1 -1
- data/lib/postboost/models/public_workspace.rb +1 -1
- data/lib/postboost/models/public_workspace_pivot.rb +1 -1
- data/lib/postboost/models/publish_progress.rb +1 -1
- data/lib/postboost/models/queue_slots.rb +1 -1
- data/lib/postboost/models/receipt.rb +1 -1
- data/lib/postboost/models/receipt_input.rb +1 -1
- data/lib/postboost/models/receipt_update_input.rb +1 -1
- data/lib/postboost/models/recommended_posting_times.rb +1 -1
- data/lib/postboost/models/reconnect_link.rb +1 -1
- data/lib/postboost/models/recycling_rule.rb +1 -1
- data/lib/postboost/models/recycling_rule_input.rb +1 -1
- data/lib/postboost/models/recycling_rule_settings.rb +1 -1
- data/lib/postboost/models/recycling_rule_update.rb +1 -1
- data/lib/postboost/models/recycling_run.rb +1 -1
- data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
- data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
- data/lib/postboost/models/report_branding.rb +1 -1
- data/lib/postboost/models/report_branding_input.rb +1 -1
- data/lib/postboost/models/report_export.rb +1 -1
- data/lib/postboost/models/report_export_input.rb +1 -1
- data/lib/postboost/models/repurpose_content200_response.rb +1 -1
- data/lib/postboost/models/repurpose_content202_response.rb +1 -1
- data/lib/postboost/models/repurpose_content500_response.rb +1 -1
- data/lib/postboost/models/repurpose_input.rb +1 -1
- data/lib/postboost/models/repurpose_input_theme.rb +1 -1
- data/lib/postboost/models/repurpose_result.rb +1 -1
- data/lib/postboost/models/repurpose_result_media.rb +1 -1
- data/lib/postboost/models/repurpose_result_source.rb +1 -1
- data/lib/postboost/models/repurpose_run.rb +1 -1
- data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
- data/lib/postboost/models/repurpose_slide.rb +1 -1
- data/lib/postboost/models/reseller_client.rb +1 -1
- data/lib/postboost/models/reseller_client_input.rb +1 -1
- data/lib/postboost/models/reseller_client_usage.rb +1 -1
- data/lib/postboost/models/retry_post_account_result.rb +1 -1
- data/lib/postboost/models/rss_feed.rb +1 -1
- data/lib/postboost/models/rss_feed_input.rb +1 -1
- data/lib/postboost/models/rss_feed_update.rb +1 -1
- data/lib/postboost/models/run_agent202_response.rb +1 -1
- data/lib/postboost/models/schedule_post_request.rb +1 -1
- data/lib/postboost/models/schedule_result.rb +1 -1
- data/lib/postboost/models/subscription.rb +1 -1
- data/lib/postboost/models/subscription_input.rb +1 -1
- data/lib/postboost/models/subscription_status.rb +1 -1
- data/lib/postboost/models/subscription_update_input.rb +1 -1
- data/lib/postboost/models/tag.rb +1 -1
- data/lib/postboost/models/tag_input.rb +1 -1
- data/lib/postboost/models/template.rb +1 -1
- data/lib/postboost/models/template_content_item.rb +1 -1
- data/lib/postboost/models/template_input.rb +1 -1
- data/lib/postboost/models/template_input_content_inner.rb +1 -1
- data/lib/postboost/models/update_media_request.rb +1 -1
- data/lib/postboost/models/update_post200_response.rb +233 -0
- data/lib/postboost/models/upload_chunk201_response.rb +1 -1
- data/lib/postboost/models/user.rb +1 -1
- data/lib/postboost/models/user_input.rb +1 -1
- data/lib/postboost/models/user_update_input.rb +1 -1
- data/lib/postboost/models/webhook_event_name.rb +1 -1
- data/lib/postboost/models/webhook_event_payload.rb +1 -1
- data/lib/postboost/models/webhook_subscription.rb +1 -1
- data/lib/postboost/models/webhook_subscription_input.rb +1 -1
- data/lib/postboost/models/workspace.rb +1 -1
- data/lib/postboost/models/workspace_agent.rb +3 -3
- data/lib/postboost/models/workspace_agent_input.rb +3 -3
- data/lib/postboost/models/workspace_agent_settings.rb +46 -6
- data/lib/postboost/models/workspace_agent_update.rb +1 -1
- data/lib/postboost/models/workspace_input.rb +1 -1
- data/lib/postboost/models/workspace_user_input.rb +1 -1
- data/lib/postboost/models/x_usage.rb +1 -1
- data/lib/postboost/models/x_usage_counter.rb +1 -1
- data/lib/postboost/version.rb +2 -2
- data/lib/postboost.rb +5 -1
- data/postboost.gemspec +1 -1
- data/spec/api/account_groups_api_spec.rb +1 -1
- data/spec/api/accounts_api_spec.rb +1 -1
- data/spec/api/activity_api_spec.rb +1 -1
- data/spec/api/agents_api_spec.rb +4 -4
- data/spec/api/ai_api_spec.rb +1 -1
- data/spec/api/analytics_api_spec.rb +1 -1
- data/spec/api/competitors_api_spec.rb +1 -1
- data/spec/api/hashtag_groups_api_spec.rb +1 -1
- data/spec/api/inbox_api_spec.rb +1 -1
- data/spec/api/media_api_spec.rb +1 -1
- data/spec/api/mentions_api_spec.rb +1 -1
- data/spec/api/posting_schedule_api_spec.rb +1 -1
- data/spec/api/posts_api_spec.rb +3 -3
- data/spec/api/receipts_api_spec.rb +1 -1
- data/spec/api/subscriptions_api_spec.rb +1 -1
- data/spec/api/tags_api_spec.rb +1 -1
- data/spec/api/templates_api_spec.rb +1 -1
- data/spec/api/users_api_spec.rb +1 -1
- data/spec/api/webhooks_api_spec.rb +1 -1
- data/spec/api/workspaces_api_spec.rb +1 -1
- data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
- data/spec/models/account_analytics_spec.rb +1 -1
- data/spec/models/account_connection_health_spec.rb +1 -1
- data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
- data/spec/models/account_errors_inner_spec.rb +1 -1
- data/spec/models/account_group_input_spec.rb +1 -1
- data/spec/models/account_group_spec.rb +1 -1
- data/spec/models/account_health_daily_cap_spec.rb +1 -1
- data/spec/models/account_health_spec.rb +1 -1
- data/spec/models/account_schedule_spec.rb +1 -1
- data/spec/models/account_spec.rb +1 -1
- data/spec/models/add_competitor202_response_spec.rb +1 -1
- data/spec/models/add_competitor409_response_spec.rb +1 -1
- data/spec/models/add_generic_subscription_request_spec.rb +1 -1
- data/spec/models/add_post_to_queue_request_spec.rb +1 -1
- data/spec/models/agent_page_meta_spec.rb +1 -1
- data/spec/models/agent_proposal_decision_spec.rb +1 -1
- data/spec/models/agent_proposal_spec.rb +2 -2
- data/spec/models/agent_run_spec.rb +1 -1
- data/spec/models/ai_credits_spec.rb +1 -1
- data/spec/models/ai_usage_spec.rb +1 -1
- data/spec/models/ai_usage_text_spec.rb +1 -1
- data/spec/models/analytics_period_spec.rb +1 -1
- data/spec/models/analytics_summary_data_spec.rb +1 -1
- data/spec/models/analytics_summary_spec.rb +1 -1
- data/spec/models/api_activity_outcome_spec.rb +1 -1
- data/spec/models/api_activity_spec.rb +1 -1
- data/spec/models/api_key_ability_spec.rb +1 -1
- data/spec/models/api_key_input_spec.rb +1 -1
- data/spec/models/api_key_spec.rb +1 -1
- data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
- data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
- data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
- data/spec/models/approve_post_request_spec.rb +1 -1
- data/spec/models/best_posting_times_spec.rb +1 -1
- data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
- data/spec/models/blog_to_social200_response_spec.rb +1 -1
- data/spec/models/blog_to_social429_response_spec.rb +1 -1
- data/spec/models/blog_to_social_caption_spec.rb +1 -1
- data/spec/models/blog_to_social_input_spec.rb +1 -1
- data/spec/models/blog_to_social_media_spec.rb +1 -1
- data/spec/models/blog_to_social_response_spec.rb +1 -1
- data/spec/models/brand_voice_input_spec.rb +1 -1
- data/spec/models/brand_voice_meta_spec.rb +1 -1
- data/spec/models/brand_voice_spec.rb +1 -1
- data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
- data/spec/models/cancel_subscription422_response_spec.rb +1 -1
- data/spec/models/cancel_subscription_request_spec.rb +1 -1
- data/spec/models/change_subscription_plan_request_spec.rb +1 -1
- data/spec/models/channel_account_spec.rb +1 -1
- data/spec/models/checkout_subscription200_response_spec.rb +1 -1
- data/spec/models/checkout_subscription_request_spec.rb +1 -1
- data/spec/models/coded_error_spec.rb +1 -1
- data/spec/models/competitor_detail_spec.rb +1 -1
- data/spec/models/competitor_input_spec.rb +1 -1
- data/spec/models/competitor_media_spec.rb +1 -1
- data/spec/models/competitor_snapshot_spec.rb +1 -1
- data/spec/models/competitor_spec.rb +1 -1
- data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
- data/spec/models/connect_channel_input_spec.rb +1 -1
- data/spec/models/create_account_group201_response_spec.rb +1 -1
- data/spec/models/create_agent201_response_spec.rb +1 -1
- data/spec/models/create_api_key201_response_data_spec.rb +1 -1
- data/spec/models/create_api_key201_response_spec.rb +1 -1
- data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
- data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
- data/spec/models/create_media_folder_request_spec.rb +1 -1
- data/spec/models/create_mention201_response_spec.rb +1 -1
- data/spec/models/create_post201_response_spec.rb +102 -0
- data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
- data/spec/models/create_report_export201_response_spec.rb +1 -1
- data/spec/models/create_reseller_client201_response_spec.rb +1 -1
- data/spec/models/create_rss_feed201_response_spec.rb +1 -1
- data/spec/models/create_template201_response_spec.rb +1 -1
- data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
- data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
- data/spec/models/delete_agent200_response_spec.rb +1 -1
- data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
- data/spec/models/delete_media_bulk_request_spec.rb +1 -1
- data/spec/models/delete_media_folder_request_spec.rb +1 -1
- data/spec/models/delete_mode_spec.rb +1 -1
- data/spec/models/delete_post_request_spec.rb +1 -1
- data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
- data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
- data/spec/models/delete_result_spec.rb +1 -1
- data/spec/models/delete_user400_response_spec.rb +1 -1
- data/spec/models/delete_users_bulk_request_spec.rb +1 -1
- data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
- data/spec/models/get_account_health200_response_spec.rb +1 -1
- data/spec/models/get_brand_voice200_response_spec.rb +1 -1
- data/spec/models/get_competitor200_response_spec.rb +1 -1
- data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
- data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
- data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
- data/spec/models/get_report_branding200_response_spec.rb +1 -1
- data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
- data/spec/models/guardrail_error_spec.rb +1 -1
- data/spec/models/hashtag_group_input_spec.rb +1 -1
- data/spec/models/hashtag_group_spec.rb +1 -1
- data/spec/models/image_alt_text200_response_spec.rb +1 -1
- data/spec/models/image_alt_text_input_spec.rb +1 -1
- data/spec/models/image_alt_text_response_spec.rb +1 -1
- data/spec/models/image_credit_balance_spec.rb +1 -1
- data/spec/models/image_edit_input_spec.rb +1 -1
- data/spec/models/image_generate200_response_spec.rb +1 -1
- data/spec/models/image_generate429_response_spec.rb +1 -1
- data/spec/models/image_generate_input_spec.rb +1 -1
- data/spec/models/image_generation_response_spec.rb +1 -1
- data/spec/models/image_prompt200_response_spec.rb +1 -1
- data/spec/models/image_prompt429_response_spec.rb +1 -1
- data/spec/models/image_prompt_input_spec.rb +1 -1
- data/spec/models/image_prompt_response_spec.rb +1 -1
- data/spec/models/image_variations200_response_spec.rb +1 -1
- data/spec/models/image_variations_input_spec.rb +1 -1
- data/spec/models/image_variations_response_spec.rb +1 -1
- data/spec/models/inbox_author_spec.rb +1 -1
- data/spec/models/inbox_conversation_account_spec.rb +1 -1
- data/spec/models/inbox_conversation_spec.rb +1 -1
- data/spec/models/inbox_conversation_update_spec.rb +1 -1
- data/spec/models/inbox_message_author_spec.rb +1 -1
- data/spec/models/inbox_message_spec.rb +1 -1
- data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
- data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
- data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
- data/spec/models/inbox_reply_draft_spec.rb +1 -1
- data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
- data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
- data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
- data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
- data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
- data/spec/models/learn_brand_voice_input_spec.rb +1 -1
- data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
- data/spec/models/learn_brand_voice_response_spec.rb +1 -1
- data/spec/models/list_account_groups200_response_spec.rb +1 -1
- data/spec/models/list_accounts200_response_spec.rb +1 -1
- data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
- data/spec/models/list_agent_runs200_response_spec.rb +1 -1
- data/spec/models/list_agents200_response_spec.rb +1 -1
- data/spec/models/list_api_activity200_response_spec.rb +1 -1
- data/spec/models/list_api_keys200_response_spec.rb +1 -1
- data/spec/models/list_competitors200_response_spec.rb +1 -1
- data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
- data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
- data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
- data/spec/models/list_media200_response_spec.rb +1 -1
- data/spec/models/list_media_folders200_response_spec.rb +1 -1
- data/spec/models/list_mentions200_response_spec.rb +1 -1
- data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
- data/spec/models/list_posts200_response_spec.rb +1 -1
- data/spec/models/list_receipts200_response_spec.rb +1 -1
- data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
- data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
- data/spec/models/list_report_exports200_response_spec.rb +1 -1
- data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
- data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
- data/spec/models/list_tags200_response_spec.rb +1 -1
- data/spec/models/list_templates200_response_spec.rb +1 -1
- data/spec/models/list_users200_response_spec.rb +1 -1
- data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
- data/spec/models/list_workspaces200_response_spec.rb +1 -1
- data/spec/models/media_base64_input_spec.rb +1 -1
- data/spec/models/media_folder_input_spec.rb +1 -1
- data/spec/models/media_folder_ref_spec.rb +1 -1
- data/spec/models/media_folder_spec.rb +1 -1
- data/spec/models/media_spec.rb +1 -1
- data/spec/models/mention_identity_input_spec.rb +1 -1
- data/spec/models/mention_identity_spec.rb +1 -1
- data/spec/models/mention_input_spec.rb +1 -1
- data/spec/models/mention_spec.rb +1 -1
- data/spec/models/message_only_spec.rb +1 -1
- data/spec/models/pagination_meta_links_spec.rb +1 -1
- data/spec/models/pagination_meta_meta_spec.rb +1 -1
- data/spec/models/pagination_meta_spec.rb +1 -1
- data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
- data/spec/models/post_analytics_spec.rb +1 -1
- data/spec/models/post_content_spec.rb +1 -1
- data/spec/models/post_input_spec.rb +1 -1
- data/spec/models/post_options_instagram_spec.rb +1 -1
- data/spec/models/post_options_tik_tok_spec.rb +1 -1
- data/spec/models/post_options_youtube_spec.rb +1 -1
- data/spec/models/post_spec.rb +1 -1
- data/spec/models/post_status_spec.rb +1 -1
- data/spec/models/post_version_options_spec.rb +1 -1
- data/spec/models/post_version_spec.rb +1 -1
- data/spec/models/post_warning_spec.rb +52 -0
- data/spec/models/post_warnings_spec.rb +36 -0
- data/spec/models/posting_schedule_day_spec.rb +1 -1
- data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
- data/spec/models/posting_schedule_input_spec.rb +1 -1
- data/spec/models/posting_schedule_spec.rb +1 -1
- data/spec/models/posting_time_slot_spec.rb +1 -1
- data/spec/models/posting_times_best_inner_spec.rb +1 -1
- data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
- data/spec/models/posting_times_days_inner_spec.rb +1 -1
- data/spec/models/posting_times_spec.rb +1 -1
- data/spec/models/preflight_result_spec.rb +1 -1
- data/spec/models/public_workspace_pivot_spec.rb +1 -1
- data/spec/models/public_workspace_spec.rb +1 -1
- data/spec/models/publish_progress_spec.rb +1 -1
- data/spec/models/queue_slots_spec.rb +1 -1
- data/spec/models/receipt_input_spec.rb +1 -1
- data/spec/models/receipt_spec.rb +1 -1
- data/spec/models/receipt_update_input_spec.rb +1 -1
- data/spec/models/recommended_posting_times_spec.rb +1 -1
- data/spec/models/reconnect_link_spec.rb +1 -1
- data/spec/models/recycling_rule_input_spec.rb +1 -1
- data/spec/models/recycling_rule_settings_spec.rb +1 -1
- data/spec/models/recycling_rule_spec.rb +1 -1
- data/spec/models/recycling_rule_update_spec.rb +1 -1
- data/spec/models/recycling_run_spec.rb +1 -1
- data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
- data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
- data/spec/models/report_branding_input_spec.rb +1 -1
- data/spec/models/report_branding_spec.rb +1 -1
- data/spec/models/report_export_input_spec.rb +1 -1
- data/spec/models/report_export_spec.rb +1 -1
- data/spec/models/repurpose_content200_response_spec.rb +1 -1
- data/spec/models/repurpose_content202_response_spec.rb +1 -1
- data/spec/models/repurpose_content500_response_spec.rb +1 -1
- data/spec/models/repurpose_input_spec.rb +1 -1
- data/spec/models/repurpose_input_theme_spec.rb +1 -1
- data/spec/models/repurpose_result_media_spec.rb +1 -1
- data/spec/models/repurpose_result_source_spec.rb +1 -1
- data/spec/models/repurpose_result_spec.rb +1 -1
- data/spec/models/repurpose_run_accepted_spec.rb +1 -1
- data/spec/models/repurpose_run_spec.rb +1 -1
- data/spec/models/repurpose_slide_spec.rb +1 -1
- data/spec/models/reseller_client_input_spec.rb +1 -1
- data/spec/models/reseller_client_spec.rb +1 -1
- data/spec/models/reseller_client_usage_spec.rb +1 -1
- data/spec/models/retry_post_account_result_spec.rb +1 -1
- data/spec/models/rss_feed_input_spec.rb +1 -1
- data/spec/models/rss_feed_spec.rb +1 -1
- data/spec/models/rss_feed_update_spec.rb +1 -1
- data/spec/models/run_agent202_response_spec.rb +1 -1
- data/spec/models/schedule_post_request_spec.rb +1 -1
- data/spec/models/schedule_result_spec.rb +1 -1
- data/spec/models/subscription_input_spec.rb +1 -1
- data/spec/models/subscription_spec.rb +1 -1
- data/spec/models/subscription_status_spec.rb +1 -1
- data/spec/models/subscription_update_input_spec.rb +1 -1
- data/spec/models/tag_input_spec.rb +1 -1
- data/spec/models/tag_spec.rb +1 -1
- data/spec/models/template_content_item_spec.rb +1 -1
- data/spec/models/template_input_content_inner_spec.rb +1 -1
- data/spec/models/template_input_spec.rb +1 -1
- data/spec/models/template_spec.rb +1 -1
- data/spec/models/update_media_request_spec.rb +1 -1
- data/spec/models/update_post200_response_spec.rb +42 -0
- data/spec/models/upload_chunk201_response_spec.rb +1 -1
- data/spec/models/user_input_spec.rb +1 -1
- data/spec/models/user_spec.rb +1 -1
- data/spec/models/user_update_input_spec.rb +1 -1
- data/spec/models/webhook_event_name_spec.rb +1 -1
- data/spec/models/webhook_event_payload_spec.rb +1 -1
- data/spec/models/webhook_subscription_input_spec.rb +1 -1
- data/spec/models/webhook_subscription_spec.rb +1 -1
- data/spec/models/workspace_agent_input_spec.rb +2 -2
- data/spec/models/workspace_agent_settings_spec.rb +7 -1
- data/spec/models/workspace_agent_spec.rb +2 -2
- data/spec/models/workspace_agent_update_spec.rb +1 -1
- data/spec/models/workspace_input_spec.rb +1 -1
- data/spec/models/workspace_spec.rb +1 -1
- data/spec/models/workspace_user_input_spec.rb +1 -1
- data/spec/models/x_usage_counter_spec.rb +1 -1
- data/spec/models/x_usage_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- metadata +17 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -205,7 +205,7 @@ module PostBoost
|
|
|
205
205
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
206
206
|
return false if @uuid.nil?
|
|
207
207
|
return false if @type.nil?
|
|
208
|
-
type_validator = EnumAttributeValidator.new('String', ["pre_publish_checker"])
|
|
208
|
+
type_validator = EnumAttributeValidator.new('String', ["pre_publish_checker", "failed_post_fixer"])
|
|
209
209
|
return false unless type_validator.valid?(@type)
|
|
210
210
|
return false if @name.nil?
|
|
211
211
|
return false if @enabled.nil?
|
|
@@ -219,7 +219,7 @@ module PostBoost
|
|
|
219
219
|
# Custom attribute writer method checking allowed values (enum).
|
|
220
220
|
# @param [Object] type Object to be assigned
|
|
221
221
|
def type=(type)
|
|
222
|
-
validator = EnumAttributeValidator.new('String', ["pre_publish_checker"])
|
|
222
|
+
validator = EnumAttributeValidator.new('String', ["pre_publish_checker", "failed_post_fixer"])
|
|
223
223
|
unless validator.valid?(type)
|
|
224
224
|
fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
|
|
225
225
|
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -143,7 +143,7 @@ module PostBoost
|
|
|
143
143
|
def valid?
|
|
144
144
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
145
145
|
return false if @type.nil?
|
|
146
|
-
type_validator = EnumAttributeValidator.new('String', ["pre_publish_checker"])
|
|
146
|
+
type_validator = EnumAttributeValidator.new('String', ["pre_publish_checker", "failed_post_fixer"])
|
|
147
147
|
return false unless type_validator.valid?(@type)
|
|
148
148
|
return false if !@name.nil? && @name.to_s.length > 100
|
|
149
149
|
schedule_validator = EnumAttributeValidator.new('String', ["hourly", "every_6_hours", "daily", "weekly"])
|
|
@@ -154,7 +154,7 @@ module PostBoost
|
|
|
154
154
|
# Custom attribute writer method checking allowed values (enum).
|
|
155
155
|
# @param [Object] type Object to be assigned
|
|
156
156
|
def type=(type)
|
|
157
|
-
validator = EnumAttributeValidator.new('String', ["pre_publish_checker"])
|
|
157
|
+
validator = EnumAttributeValidator.new('String', ["pre_publish_checker", "failed_post_fixer"])
|
|
158
158
|
unless validator.valid?(type)
|
|
159
159
|
fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
|
|
160
160
|
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -14,7 +14,7 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module PostBoost
|
|
17
|
-
# Pre-publish checker
|
|
17
|
+
# Agent settings; each type reads its own keys. Pre-publish checker: `horizon_hours`, `check_links`, `banned_phrases`, `ai_review`, `max_ai_reviews_per_run`. Failed-post fixer: `lookback_hours`.
|
|
18
18
|
class WorkspaceAgentSettings
|
|
19
19
|
# Check posts scheduled within this many hours.
|
|
20
20
|
attr_accessor :horizon_hours
|
|
@@ -30,6 +30,9 @@ module PostBoost
|
|
|
30
30
|
|
|
31
31
|
attr_accessor :max_ai_reviews_per_run
|
|
32
32
|
|
|
33
|
+
# Look at posts that failed within this many hours.
|
|
34
|
+
attr_accessor :lookback_hours
|
|
35
|
+
|
|
33
36
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
34
37
|
def self.attribute_map
|
|
35
38
|
{
|
|
@@ -37,7 +40,8 @@ module PostBoost
|
|
|
37
40
|
:'check_links' => :'check_links',
|
|
38
41
|
:'banned_phrases' => :'banned_phrases',
|
|
39
42
|
:'ai_review' => :'ai_review',
|
|
40
|
-
:'max_ai_reviews_per_run' => :'max_ai_reviews_per_run'
|
|
43
|
+
:'max_ai_reviews_per_run' => :'max_ai_reviews_per_run',
|
|
44
|
+
:'lookback_hours' => :'lookback_hours'
|
|
41
45
|
}
|
|
42
46
|
end
|
|
43
47
|
|
|
@@ -53,7 +57,8 @@ module PostBoost
|
|
|
53
57
|
:'check_links' => :'Boolean',
|
|
54
58
|
:'banned_phrases' => :'Array<String>',
|
|
55
59
|
:'ai_review' => :'Boolean',
|
|
56
|
-
:'max_ai_reviews_per_run' => :'Integer'
|
|
60
|
+
:'max_ai_reviews_per_run' => :'Integer',
|
|
61
|
+
:'lookback_hours' => :'Integer'
|
|
57
62
|
}
|
|
58
63
|
end
|
|
59
64
|
|
|
@@ -107,6 +112,12 @@ module PostBoost
|
|
|
107
112
|
else
|
|
108
113
|
self.max_ai_reviews_per_run = 10
|
|
109
114
|
end
|
|
115
|
+
|
|
116
|
+
if attributes.key?(:'lookback_hours')
|
|
117
|
+
self.lookback_hours = attributes[:'lookback_hours']
|
|
118
|
+
else
|
|
119
|
+
self.lookback_hours = 24
|
|
120
|
+
end
|
|
110
121
|
end
|
|
111
122
|
|
|
112
123
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -134,6 +145,14 @@ module PostBoost
|
|
|
134
145
|
invalid_properties.push('invalid value for "max_ai_reviews_per_run", must be greater than or equal to 1.')
|
|
135
146
|
end
|
|
136
147
|
|
|
148
|
+
if !@lookback_hours.nil? && @lookback_hours > 72
|
|
149
|
+
invalid_properties.push('invalid value for "lookback_hours", must be smaller than or equal to 72.')
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
if !@lookback_hours.nil? && @lookback_hours < 1
|
|
153
|
+
invalid_properties.push('invalid value for "lookback_hours", must be greater than or equal to 1.')
|
|
154
|
+
end
|
|
155
|
+
|
|
137
156
|
invalid_properties
|
|
138
157
|
end
|
|
139
158
|
|
|
@@ -146,6 +165,8 @@ module PostBoost
|
|
|
146
165
|
return false if !@banned_phrases.nil? && @banned_phrases.length > 50
|
|
147
166
|
return false if !@max_ai_reviews_per_run.nil? && @max_ai_reviews_per_run > 50
|
|
148
167
|
return false if !@max_ai_reviews_per_run.nil? && @max_ai_reviews_per_run < 1
|
|
168
|
+
return false if !@lookback_hours.nil? && @lookback_hours > 72
|
|
169
|
+
return false if !@lookback_hours.nil? && @lookback_hours < 1
|
|
149
170
|
true
|
|
150
171
|
end
|
|
151
172
|
|
|
@@ -199,6 +220,24 @@ module PostBoost
|
|
|
199
220
|
@max_ai_reviews_per_run = max_ai_reviews_per_run
|
|
200
221
|
end
|
|
201
222
|
|
|
223
|
+
# Custom attribute writer method with validation
|
|
224
|
+
# @param [Object] lookback_hours Value to be assigned
|
|
225
|
+
def lookback_hours=(lookback_hours)
|
|
226
|
+
if lookback_hours.nil?
|
|
227
|
+
fail ArgumentError, 'lookback_hours cannot be nil'
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
if lookback_hours > 72
|
|
231
|
+
fail ArgumentError, 'invalid value for "lookback_hours", must be smaller than or equal to 72.'
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
if lookback_hours < 1
|
|
235
|
+
fail ArgumentError, 'invalid value for "lookback_hours", must be greater than or equal to 1.'
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
@lookback_hours = lookback_hours
|
|
239
|
+
end
|
|
240
|
+
|
|
202
241
|
# Checks equality by comparing each attribute.
|
|
203
242
|
# @param [Object] Object to be compared
|
|
204
243
|
def ==(o)
|
|
@@ -208,7 +247,8 @@ module PostBoost
|
|
|
208
247
|
check_links == o.check_links &&
|
|
209
248
|
banned_phrases == o.banned_phrases &&
|
|
210
249
|
ai_review == o.ai_review &&
|
|
211
|
-
max_ai_reviews_per_run == o.max_ai_reviews_per_run
|
|
250
|
+
max_ai_reviews_per_run == o.max_ai_reviews_per_run &&
|
|
251
|
+
lookback_hours == o.lookback_hours
|
|
212
252
|
end
|
|
213
253
|
|
|
214
254
|
# @see the `==` method
|
|
@@ -220,7 +260,7 @@ module PostBoost
|
|
|
220
260
|
# Calculates hash code according to all attributes.
|
|
221
261
|
# @return [Integer] Hash code
|
|
222
262
|
def hash
|
|
223
|
-
[horizon_hours, check_links, banned_phrases, ai_review, max_ai_reviews_per_run].hash
|
|
263
|
+
[horizon_hours, check_links, banned_phrases, ai_review, max_ai_reviews_per_run, lookback_hours].hash
|
|
224
264
|
end
|
|
225
265
|
|
|
226
266
|
# Builds the object from hash
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
data/lib/postboost/version.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -11,5 +11,5 @@ Generator version: 7.9.0
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
13
|
module PostBoost
|
|
14
|
-
VERSION = '1.
|
|
14
|
+
VERSION = '1.21.0'
|
|
15
15
|
end
|
data/lib/postboost.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -85,6 +85,7 @@ require 'postboost/models/create_hashtag_group201_response'
|
|
|
85
85
|
require 'postboost/models/create_inbox_reply_draft201_response'
|
|
86
86
|
require 'postboost/models/create_media_folder_request'
|
|
87
87
|
require 'postboost/models/create_mention201_response'
|
|
88
|
+
require 'postboost/models/create_post201_response'
|
|
88
89
|
require 'postboost/models/create_recycling_rule201_response'
|
|
89
90
|
require 'postboost/models/create_report_export201_response'
|
|
90
91
|
require 'postboost/models/create_reseller_client201_response'
|
|
@@ -200,6 +201,8 @@ require 'postboost/models/post_options_youtube'
|
|
|
200
201
|
require 'postboost/models/post_status'
|
|
201
202
|
require 'postboost/models/post_version'
|
|
202
203
|
require 'postboost/models/post_version_options'
|
|
204
|
+
require 'postboost/models/post_warning'
|
|
205
|
+
require 'postboost/models/post_warnings'
|
|
203
206
|
require 'postboost/models/posting_schedule'
|
|
204
207
|
require 'postboost/models/posting_schedule_day'
|
|
205
208
|
require 'postboost/models/posting_schedule_day_times_inner'
|
|
@@ -262,6 +265,7 @@ require 'postboost/models/template_content_item'
|
|
|
262
265
|
require 'postboost/models/template_input'
|
|
263
266
|
require 'postboost/models/template_input_content_inner'
|
|
264
267
|
require 'postboost/models/update_media_request'
|
|
268
|
+
require 'postboost/models/update_post200_response'
|
|
265
269
|
require 'postboost/models/upload_chunk201_response'
|
|
266
270
|
require 'postboost/models/user'
|
|
267
271
|
require 'postboost/models/user_input'
|
data/postboost.gemspec
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## 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 ```
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 1.
|
|
8
|
+
The version of the OpenAPI document: 1.21.0
|
|
9
9
|
Contact: hi@postboost.co
|
|
10
10
|
Generated by: https://openapi-generator.tech
|
|
11
11
|
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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
data/spec/api/agents_api_spec.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -34,7 +34,7 @@ describe 'AgentsApi' do
|
|
|
34
34
|
|
|
35
35
|
# unit tests for approve_agent_proposal
|
|
36
36
|
# Approve and apply an agent proposal
|
|
37
|
-
# Applies the proposal at once: `hold_post` moves the post back to draft, `edit_caption` replaces the caption. When the post was edited, deleted or left the schedule since the proposal was made, nothing changes and the proposal becomes `stale`. Admins and members only.
|
|
37
|
+
# Applies the proposal at once: `hold_post` moves the post back to draft, `edit_caption` replaces the caption, `retry_account` saves the shortened caption (if any) on that account's version and publishes that account again, `reconnect_account` only records the decision. When the post was edited, deleted or left the schedule since the proposal was made (for `retry_account`: the account is no longer failed, the post is publishing, or the plan does not allow scheduling), nothing changes and the proposal becomes `stale`. Admins and members only.
|
|
38
38
|
# @param workspace_uuid UUID of the workspace.
|
|
39
39
|
# @param proposal_uuid
|
|
40
40
|
# @param [Hash] opts the optional parameters
|
|
@@ -48,7 +48,7 @@ describe 'AgentsApi' do
|
|
|
48
48
|
|
|
49
49
|
# unit tests for create_agent
|
|
50
50
|
# Switch on a background agent
|
|
51
|
-
# Creates an agent (one per type per workspace). It first runs within five minutes, then on its `schedule`. **Pre-publish checker** looks at posts scheduled in the next `horizon_hours` and proposes holding (back to draft) posts that would fail: disconnected accounts, network requirements, daily caps, the X allowance and links that answer an error. It proposes caption edits that drop `banned_phrases`. With `ai_review: true` it also asks AI to review up to `max_ai_reviews_per_run` posts per run (one AI credit each). Admins and members only.
|
|
51
|
+
# Creates an agent (one per type per workspace). It first runs within five minutes, then on its `schedule`. **Pre-publish checker** looks at posts scheduled in the next `horizon_hours` and proposes holding (back to draft) posts that would fail: disconnected accounts, network requirements, daily caps, the X allowance and links that answer an error. It proposes caption edits that drop `banned_phrases`. With `ai_review: true` it also asks AI to review up to `max_ai_reviews_per_run` posts per run (one AI credit each). **Failed-post fixer** looks at posts that failed on an account in the last `lookback_hours` and proposes, per post and account, `reconnect_account` (the account's token expired), or `retry_account`, with a caption trimmed to the network limit when the text is over it. One open proposal per post and account. It uses no AI. Admins and members only.
|
|
52
52
|
# @param workspace_uuid UUID of the workspace.
|
|
53
53
|
# @param workspace_agent_input
|
|
54
54
|
# @param [Hash] opts the optional parameters
|
|
@@ -116,7 +116,7 @@ describe 'AgentsApi' do
|
|
|
116
116
|
|
|
117
117
|
# unit tests for list_agents
|
|
118
118
|
# List background agents
|
|
119
|
-
# Background agents switched on for the workspace. Agents run on a schedule, record every run and never change a post themselves: each change is a proposal that a workspace admin or member approves. Available
|
|
119
|
+
# Background agents switched on for the workspace. Agents run on a schedule, record every run and never change a post themselves: each change is a proposal that a workspace admin or member approves. Available types: `pre_publish_checker`, `failed_post_fixer`.
|
|
120
120
|
# @param workspace_uuid UUID of the workspace.
|
|
121
121
|
# @param [Hash] opts the optional parameters
|
|
122
122
|
# @return [ListAgents200Response]
|
data/spec/api/ai_api_spec.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
data/spec/api/inbox_api_spec.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
data/spec/api/media_api_spec.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
data/spec/api/posts_api_spec.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -69,7 +69,7 @@ describe 'PostsApi' do
|
|
|
69
69
|
# @param post_input
|
|
70
70
|
# @param [Hash] opts the optional parameters
|
|
71
71
|
# @option opts [String] :idempotency_key Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
|
|
72
|
-
# @return [
|
|
72
|
+
# @return [CreatePost201Response]
|
|
73
73
|
describe 'create_post test' do
|
|
74
74
|
it 'should work' do
|
|
75
75
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -319,7 +319,7 @@ describe 'PostsApi' do
|
|
|
319
319
|
# @param post_uuid UUID of the post.
|
|
320
320
|
# @param post_input
|
|
321
321
|
# @param [Hash] opts the optional parameters
|
|
322
|
-
# @return [
|
|
322
|
+
# @return [UpdatePost200Response]
|
|
323
323
|
describe 'update_post test' do
|
|
324
324
|
it 'should work' do
|
|
325
325
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
data/spec/api/tags_api_spec.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.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 across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.
|
|
6
|
+
The version of the OpenAPI document: 1.21.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|