Change a draft. Changing what would be posted voids its approval
updateDraftChange a draft. Changing what would be posted voids its approval
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"id": "<id>",
"rev": "<rev>"
},
"name": "updateDraft"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Draft ID or stable workspace post number, such as "#38" or "38". | |
| rev | Yes | The rev you read. A stale rev is refused (rev_conflict). | |
| body | No | The exact platform body: x_post or linkedin_post {text, media?: [{media_id, alt}]}; x_thread {posts: [{text, media?}, …]}. The full schema also includes LinkedIn documents, cards, TikTok and slideshows. The API validates the complete body. | |
| kind | No | Change between compatible post kinds; send the complete body in the new kind's shape. | |
| meta | No | Desk notes, never posted or approved: notes and warnings (string arrays) for the reviewer, when (a timing note). | |
| title | No | A title for the desk. Never posted. | |
| options | No | Two or three text and media versions for the owner to pick when approving; null removes them. Shared fields stay in body. | |
| post_at | No | When to post it, once approved for scheduling. RFC 3339 with a UTC offset (Z or ±HH:MM), like 2026-10-26T09:00:00-07:00. | |
| archived | No | ||
| workspace | No | Leave out for the token's workspace (ws_…). | |
| agent_note | No | A short plain-text note from the agent to the owner: why this post, its sources, what you're unsure of. Shown as one paragraph (line breaks fold into spaces) above the preview in the approval sheet, the desk and the in-chat preview, and frozen into the approval snapshot with the draft, so the approval records the note the owner saw. Never posted or sent to any platform. Changing it doesn't void an approval. Blank or null removes it. | |
| body_patch | No | Partial edit: omitted fields stay, null removes optional fields. media_add appends uploaded {media_id, alt}; media_from imports and appends. Thread posts is one patch per current part. Not with body/options/kind changes. Media edits invalidate prior approval; updateDraft returns approval_effect and the re-request call. | |
| connection_id | No | The selected account: an active connection's id from GET …/connections for the kind's platform. Video-platform drafts never infer it, even with one account. Draft-only saves may omit it; checks and posting approval require it. TikTok mode:approve review alone may keep null and creates no upload job. |