> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# TriggerContentPlanGenerationFlow

# Package: seo

# Namespace: ContentPlanFlowServiceV1

# Method link: https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-content-plan-flow-v1/trigger-content-plan-generation-flow.md

## Permission Scopes:
Manage SEO Settings: SCOPE.PROMOTE.MANAGE-SEO

## Introduction

Creates and starts a content plan flow for a site.

Generation runs asynchronously and takes several minutes. This method
returns a `contentPlanFlowId` as soon as the flow is created, before any
content is generated. Poll Get Content Plan Flow with that ID to follow
the flow's progress.

A successful response means the flow was created, not that generation
succeeded. Check `status` rather than relying on the response alone.

The flow stops at `KEYWORD_RESEARCH` and waits. Call Create Content Plan
to generate the blog post briefs and let the flow continue to `SUCCESS`.

A failed flow is retried automatically, and each retry creates a separate
flow with its own ID. The original flow keeps its `FAIL` status, so call
Get Content Plan Flow without an ID to retrieve the site's most recent
successful flow.

---

## REST API

### Schema

```
 Method: triggerContentPlanGenerationFlow
 Description: Creates and starts a content plan flow for a site.  Generation runs asynchronously and takes several minutes. This method returns a `contentPlanFlowId` as soon as the flow is created, before any content is generated. Poll Get Content Plan Flow with that GUID to follow the flow's progress.  A successful response means the flow was created, not that generation succeeded. Check `status` rather than relying on the response alone.  The flow stops at `KEYWORD_RESEARCH` and waits. Call Create Content Plan to generate the blog post briefs and let the flow continue to `SUCCESS`.  A failed flow is retried automatically, and each retry creates a separate flow with its own GUID. The original flow keeps its `FAIL` status, so call Get Content Plan Flow without an GUID to retrieve the site's most recent successful flow.
 URL: https://www.wixapis.com/promote/seo/v1/content-plan-flows/trigger
 Method: POST
 Return type: TriggerContentPlanGenerationFlowResponse
  - name: contentPlanFlowId | type: string | description: GUID of the content plan flow that was created.  Poll Get Content Plan Flow with this GUID to follow the flow's progress.  | validation: format GUID


```

### Examples

### Trigger content plan generation for a site
Starts a content plan flow. The response returns immediately with the new flow's ID, before any content is generated.

```curl
curl -X POST \
'https://www.wixapis.com/seo-content-plan-service/v1/content-plan-flows/trigger' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.seo.contentPlanFlows.triggerContentPlanGenerationFlow()
 Description: Creates and starts a content plan flow for a site.  Generation runs asynchronously and takes several minutes. This method returns a `contentPlanFlowId` as soon as the flow is created, before any content is generated. Poll Get Content Plan Flow with that GUID to follow the flow's progress.  A successful response means the flow was created, not that generation succeeded. Check `status` rather than relying on the response alone.  The flow stops at `KEYWORD_RESEARCH` and waits. Call Create Content Plan to generate the blog post briefs and let the flow continue to `SUCCESS`.  A failed flow is retried automatically, and each retry creates a separate flow with its own GUID. The original flow keeps its `FAIL` status, so call Get Content Plan Flow without an GUID to retrieve the site's most recent successful flow.
 Return type: PROMISE<TriggerContentPlanGenerationFlowResponse>
  - name: contentPlanFlowId | type: string | description: GUID of the content plan flow that was created.  Poll Get Content Plan Flow with this GUID to follow the flow's progress.  | validation: format GUID


```

### Examples

### triggerContentPlanGenerationFlow
```javascript
import { contentPlanFlows } from '@wix/seo';

async function triggerContentPlanGenerationFlow() {
  const response = await contentPlanFlows.triggerContentPlanGenerationFlow();
};
```

### triggerContentPlanGenerationFlow (with elevated permissions)
```javascript
import { contentPlanFlows } from '@wix/seo';
import { auth } from '@wix/essentials';

async function myTriggerContentPlanGenerationFlowMethod() {
  const elevatedTriggerContentPlanGenerationFlow = auth.elevate(contentPlanFlows.triggerContentPlanGenerationFlow);
  const response = await elevatedTriggerContentPlanGenerationFlow();
}
```

### triggerContentPlanGenerationFlow (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { contentPlanFlows } from '@wix/seo';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { contentPlanFlows },
  // Include the auth strategy and host as relevant
});


async function triggerContentPlanGenerationFlow() {
  const response = await myWixClient.contentPlanFlows.triggerContentPlanGenerationFlow();
};
```

---