source_task_id | integer | no | — | Anchor: the action ticket id this draft responds to. Provide this OR from_conversation_id. |
from_conversation_id | integer | no | — | Anchor: a conversation id returned by a prior ingest_conversation call. Provide this OR source_task_id. |
persona_id | integer | no | — | The buyer persona this post is for, one of the personas get_brand_context lists. Provide this OR persona. |
persona | string | no | — | The buyer persona this post is for, by its name exactly as get_brand_context lists it. Provide this OR persona_id. |
target_prompt_ids | integer[] | no | — | Required (at least one): tracked-question ids from plan_question_bank (not search_prompt_intelligence row ids) this post should win. |
platform | 'linkedin' | 'twitter' | 'reddit' | 'blog' | 'instagram' | 'youtube' | yes | — | Target platform for the draft. |
body | string | yes | — | Draft body (1–8000 chars). Plain text or markdown depending on platform. |
title | string | no | — | Optional title (capped 200 chars). Defaults to the first 80 chars of body. |
supersedes_id | integer | no | — | Optional: the id of an earlier draft this one replaces. That draft is set to cancelled. |