Validate a post
validate_postChecks a post against every channel it names and publishes NOTHING. Returns every problem at once, each naming the channel and the field. Call this before create_post every time — it costs nothing and it is the difference between fixing a post once and learning the rules by publishing badly.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| draft | No | Keep it in Mellow as a draft. Nothing is sent to any network. | |
| media | No | Ordered media. Each entry is a public https URL, or an object with url and an optional thumbnailUrl. | |
| caption | No | The text of the post. Networks with shorter limits can be given their own with perChannel. | |
| options | No | Per-network settings, keyed by platform: instagram, facebook, threads, tiktok, tiktok_business, youtube, x, linkedin, pinterest, bluesky. YouTube requires title. Pinterest pins to the account's first board unless boardIds names one, and a Pinterest video needs a cover: thumbnailUrl on the media item. Instagram and Facebook take placement (timeline, reels, stories). A TikTok that promotes the owner's own product or business takes discloseYourBrand: true (TikTok labels it Promotional content); one another brand paid for takes discloseBrandedContent: true. See mellow://guide/platforms for every field. | |
| channels | Yes | Channel IDs from list_channels, each beginning spc_. | |
| perChannel | No | Overrides for one channel, keyed by channel ID. Accepts caption, media, and that network's options. This is how you give one channel a shorter caption without shortening the post everywhere. | |
| scheduledAt | No | ISO 8601 time to publish at. Omit to publish immediately. |