POST /v1/posts with targets: [...]. Per-platform quirks (caps, mime types, OAuth shapes) live in preflight rules so failures surface locally with a rule id instead of an opaque upstream error.
Bluesky, X, and Pinterest are live today. The remaining platforms (Instagram, LinkedIn, Facebook, Threads) are gated on their developer-portal reviews and turn on as approvals clear. The API surface is identical regardless of which platforms are approved for your org, same
POST /v1/posts, same error envelope. Live status is also queryable at GET /v1/platform-versions.Twitter / X
v2 API · OAuth 2.0 PKCE · 4-up images, video, reply chains, quote tweets, Premium 25k chars.
Meta Graph · Standalone Instagram Login · Photos, Reels, carousels (≤10) for Business/Creator.
Versioned REST · Personal posting in v1; org posting needs Marketing Developer Platform.
Facebook Pages
Meta Graph · Facebook Login for Business · Page text, photos, videos.
Threads
Threads Graph · Standalone OAuth at threads.net · Text + carousel (2–20, mixed image/video).
v5 API · OAuth 2.0 · Image + video pins · Cover image required for video.
TikTok — in review
Content Posting API · OAuth 2.0 PKCE · Upload-inbox path. Pending TikTok app review — connect is gated until approval lands.
Bluesky
AT Proto · App-password connect (no OAuth) · Text + media + first comment.
What’s the same everywhere
- One request shape.
POST /v1/postswithtargets: [{ accountId, ... }], optionalmedia, optionalscheduledAt. - One error envelope.
code+rule+platformResponse+remediation+docUrl+ruleUrl— no per-platformbody: {}surprises. - Idempotency keys. Every write accepts
Idempotency-Key; replays return the original response. - Preflight, not postflight. Documented platform rules run locally before the upstream call.
- Multi-target fan-out. One request can publish to N targets in parallel with per-target overrides.
What’s different per platform
The per-platform pages above link to the exact constraints and the OAuth scope set.
Out of v1
Deliberately cut:- Reddit, Telegram, Discord, Snapchat, Google Business, WhatsApp — long-tail platforms with fewer than 1k accounts each in the dataset that drove platform priority decisions.
in review until the upload-inbox track clears.
Build order
Platform priority was decided from the 90-day post-volume / failure-rate corpus (see PRODUCT.md for the data):- Bluesky — first to ship. Simple AT Proto, no app review, minutes-long JWT lifecycle is a good forcing function for the token-refresh architecture.
- LinkedIn — the wedge platform. #1 complaint volume in the 150-citation research corpus, cleanest API of the major networks, no brutal approval gauntlet.
- Twitter / X — table-stakes for the automation-builder ICP.
- Instagram + Facebook + Threads — Meta Graph trio, built together because they share auth (well, Threads is its own).
- Pinterest — cheapest integration, fastest-growing network in the dataset (+1369% over 90 days).

