The Marketing Plan API generates and manages a site's AI-driven social media marketing plan. A plan is a schedule of marketing activities covering today through the end of next month. Social posts can then be generated for those activities, ready to schedule and publish. A site has at most one plan at a time.
With the Marketing Plan API, you can:
Plan generation is asynchronous. A plan moves through these statuses:
NEVER_CREATED: The site has no plan yet.GENERATING: The plan is being generated.ACTIVE: The plan is ready to use.INACTIVE: The plan was automatically deactivated after a long period without engagement. An INACTIVE plan returns no activities. Calling GetSocialMarketingPlan after a long idle period can itself trigger this transition. Generating or regenerating reactivates the plan.FAILED: Generation failed. Try generating again.After calling a generate or regenerate method, poll Get Social Marketing Plan until the status is ACTIVE or FAILED.
When a plan is generated, posts are created automatically only for the nearest-term activities; how far ahead that reaches can depend on the site's social marketing premium plan. To generate posts for the remaining activities, call Generate Social Posts. Posts are generated for all supported social channels and all of them are returned, but only posts for connected channels can be scheduled and published. Posts are created as drafts managed by the Publisher API, and you schedule them with Schedule Drafts.
RegenerateMarketingPlan rebuilds the plan's upcoming activities from the current marketing settings and site content. RegenerateMarketingPlanWithKeywordResearch does the same but first runs fresh SEO keyword research to refresh the plan's blog activities, so it's multi-stage and takes longer. Use the keyword-research variant after changing the content pillars (the topics in the marketing settings) so the blog activities reflect them; otherwise the plain regenerate is faster. Both run asynchronously and report GENERATING while they work (the keyword-research variant has an internal preconditions phase, but the status you see stays GENERATING), so poll Get Social Marketing Plan the same way.
It's important to note the following points before starting to code:
FAILED status or an ACTIVE plan with no generated posts. Verify the site is published before generating.Last updated: 29 June 2026