Starts asynchronous AI content generation in one of two modes: CREATE (generate new content from a prompt) or OPTIMIZE (rewrite an existing page URL for better AI visibility). Returns the document id and PENDING status immediately — the document then transitions through IN_PROGRESS while the AI generates content, and reaches a terminal state of COMPLETED (success), FAILED (error), or STOPPED (manually cancelled). Poll GET /content/:id to track progress. Requires project API key (or org key + X-Project-Id). Prerequisites: GET /prompts (promptId), GET /personas (personaId); optional recommendation ids from content-gap endpoints.
API key for authentication. Get yours from the Promptwatch dashboard under Settings > API Keys.
Create new content from a prompt (not optimizing an existing page).
CREATE LLM prompt to anchor generation on (list via GET /prompts).
Persona for voice and audience (list via GET /personas).
Output format. ARTICLE: in-depth informative; BLOG_POST: conversational; PRODUCT_PAGE: sales-focused; GENERIC_CONTENT: flexible; LISTICLE: list-structured; PRODUCT_COMPARISON: compares products.
ARTICLE, BLOG_POST, PRODUCT_PAGE, GENERIC_CONTENT, LISTICLE, PRODUCT_COMPARISON Target length. SHORT ≈ 200–500 words; MEDIUM ≈ 500–1,000; LONG ≈ 1,000–3,000.
SHORT, MEDIUM, LONG Optional recommendation from GET /content-gap/prompts/:promptId/latest/recommendations.
Tone override; if omitted, the project default is used. CUSTOM requires customToneOfVoice.
PROFESSIONAL, CASUAL, TECHNICAL, CONVERSATIONAL, NEUTRAL, AUTHORITATIVE, FRIENDLY, PERSUASIVE, FORMAL, WITTY, CUSTOM Required when toneOfVoice is CUSTOM; ignored otherwise.