Posts
Create post
Create a draft targeting one or more social accounts. Returns 201.
POST
Always a
Media
draft. Schedule or publish with PUT /posts/{id}.
custom_content / custom_media are siblings of meta. Omit or send null to inherit the root. "" / [] is an explicit empty override. Required-to-publish meta (Pinterest board_id, TikTok privacy_level, Discord channel_id) is only enforced on scheduled / publishing. Full keys: Per-platform meta.url values must be a public_url from presign. External URLs return 422.
Request
REST requires at least oneplatforms[] entry (min:1). MCP create-post-tool may omit platforms (every connected account is created disabled until you enable rows).
array
required
At least one entry (
min:1).string
Shared caption. Max 10 000. Defaults to empty. For Pinterest this is the pin description.
array
Shared media. Each item needs
url (the presign public_url). Optional meta.alt_text (max 2000).string
ISO 8601 in the future. Stored on the draft; status stays
draft. Omit for scheduled_at: null.Response
201 with the created post. Shape matches GET /posts/{id}.

