Posts
Update post
Edit a draft, schedule it, or publish immediately.
PUT
Request
string
required
Post UUID.
string
required
draft— keep as draftscheduled— requiresscheduled_atin the futurepublishing— publish now
string
Shared caption (max 10 000).
array
Replace shared media. Each
url must be a presign public_url. Optional meta.alt_text (max 2000).array
Entries to enable. Platforms not listed are disabled. Empty array disables all.
string
ISO 8601. Required when
status=scheduled.Per-platform meta
Same keys on POST /posts and the MCP create/update tools.
- Only the keys below are stored. Unknown keys are dropped.
- On update,
metais merged."title": nullremovestitle. - Required-to-publish keys are enforced when
statusisscheduledorpublishingand the body includesplatforms[]. Publishing with only{ "status": "publishing" }does not re-check stored meta — the MCPpublish-post-toolalways does. - Media compatibility is always re-checked on
scheduled/publishing, with or withoutplatforms[], against each row’s effective media. - Caption length is measured per platform against the effective caption.
- Enum fields are exact JSON strings.
meta keys: X, YouTube, Threads, Bluesky, Mastodon, Telegram.
Instagram / Facebook
LinkedIn / LinkedIn Page
TikTok
Pin description is the effective caption, not a meta field.
Discord
Response
The updated post.422 with a message when the post is already finalized (published, publishing, partially_published, or failed).

