Skip to main content
Schedule a post for later or save it as a draft. Publishing runs through Unsora when the post is published from the scheduler. Posts can target any connected account on: YouTube, TikTok, Instagram, Facebook, LinkedIn, Bluesky, Threads, Pinterest (up to 10 accounts per post, mixed platforms allowed).

Supported content

Connect accounts in the Unsora app, then list them via Get accounts. Note: YouTube accepts video posts only; text-only posts work on Facebook, LinkedIn, Bluesky, and Threads.

Media requirements

Make sure media matches each platform’s rules before creating the post. Media that violates them fails at publish time: the post ends up FAILED (or PARTIALLY_PUBLISHED) with the platform’s error on the affected account — fix the media and create a new post, or use Retry post for accounts that failed for other reasons.
Instagram rejects feed/carousel images outside 4:5 – 1.91:1 (e.g. 9:16 images). When posting the same slideshow to Instagram and TikTok, use 4:5 images (both platforms accept them) — or create separate posts per platform.
Images should be JPEG — Instagram’s API only accepts JPEG, and TikTok photo posts accept JPEG/WebP. PNG images posted to TikTok are converted to JPEG automatically at publish time. Videos should be MP4/MOV (H.264 + AAC) at a publicly reachable URL.

Before you post

  1. Active paid plan + API key or Clerk JWT.
  2. Get accounts → copy each account id.
  3. Pick video or slideshow. For Instagram reels, optional cover_url.

Request body

string
required
Post caption. Legacy alias: mainCaption.
array
required
[{ "id": "<account-uuid>" }] — up to 10 accounts. Each account object also accepts optional title (YouTube video title / Pinterest pin title) and customCaption (overrides caption for that account only).
object | null
object
Optional publish options for Instagram, TikTok, YouTube, and Pinterest. You can also send instagram, tiktok, youtube, or pinterest at the top level of the body (same shape as below). Other keys under settings return 400.
string
ISO 8601 with timezone, ≥ 2 minutes ahead. Omit for draft.
string
Idempotency key (max 128 chars) or use Idempotency-Key header.

Instagram reel cover

Only cover_url — a public image URL:
TikTok reel cover frame: optional settings.tiktok.video_cover_timestamp_ms.

Platform settings (optional)

Supported providers: Instagram, TikTok, YouTube, Pinterest — via settings.<provider> (or the same keys at the top level of the body). Nothing is required; omit settings if you do not need them. YouTube video titles and Pinterest pin titles go on the account object (accounts[].title), not in settings.
Top-level tiktok / instagram / youtube / pinterest keys work the same as their settings.* equivalents.

Response

Examples

Post lifecycle

DRAFTSCHEDULEDPUBLISHING → one of: For FAILED or PARTIALLY_PUBLISHED posts, call Retry post — it re-attempts only the failed accounts and never double-posts. Per-account results (including publishedUrl and error) are on each post’s postAccounts.

Errors