GEO Writer
Create and manage AI-powered GEO Writer tasks. Tasks are processed asynchronously, so create one and poll it until it completes.
POST/intelligence_tasks
Create a GEO Writer task. Two modes: prompt-based (provide prompt_id) or agentic (provide custom_topic and/or user_instructions). The product_listing type takes a product object instead and returns ready-to-apply product page copy.
project_idrequiredtask_typerequired: brief, create, update, pr_insights, custom, product_listingprompt_idcustom_topicuser_instructionsoutput_language_codeexisting_contentexisting_content_url
For product_listing only: product (required: title, plus external_id, description_html, seo_title, seo_description, url, product_type and up to 20 images of id and alt) and prompt_ids (up to 20 project prompts to aim the copy at). Its completed result_data carries summary, description_html, faq, seo_title, seo_description, image_alts and changes.
GET/intelligence_tasks
List GEO Writer tasks for a project with optional filtering.
project_idrequiredtask_typestatuspageper_page
GET/intelligence_tasks/:id
Get full task details including result data when completed. Accepts numeric ID or public_id.
project_idrequired:idtask ID or public_id in URL
PATCH/intelligence_tasks/:id
Edit existing text blocks of a completed task without regenerating it. Each key of edits is a dotted path to a text value of result_data (for example sections.0.content) and only existing text can be changed. A value equal to the stored text is ignored, and the first edit snapshots the AI version so it can be restored.
project_idrequired:idtask ID or public_id in URLeditsrequired, object of dotted path to new text
Requires an API key with write scope.
result_version (optional): send the result_version returned when you read the task. If the task was regenerated since, the edit is refused with ERR_STALE_CONTENT (HTTP 409) and nothing is written: read the task again and resend your edits. Without it, the edits apply to whatever the task holds now.
POST/intelligence_tasks/:id/revert
Discard every manual edit and restore the AI version snapshotted on the first edit. Returns ERR_INVALID_PARAM when the task has no manual edits.
project_idrequired:idtask ID or public_id in URL
Requires an API key with write scope.