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.
All eight platforms are live. Bluesky, X, Pinterest, LinkedIn, Instagram, Facebook Pages, and Threads publish end-to-end. TikTok publishes on its upload track, where the video lands in the creator’s TikTok inbox for them to confirm in the app. The API surface is identical across all of them — 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
Content Posting API · OAuth 2.0 PKCE · Upload-inbox path. Live — posts land in the creator’s TikTok inbox for them to confirm in the app.
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.
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).

