unified_posting/schemas.py and text_post_schemas.py.
For flows and examples, see Posting. For connect → key → automate, see Complete setup.
Endpoints & which platforms
Base URL:
https://backend.postsiva.comAuth:
X-API-Key: psk_live_… (or JWT + X-Workspace-Id)
Shared / top-level fields
These fields sit at the root of the JSON body (not insidelinkedin / facebook / …).
Draft / schedule behavior
LinkedIn overrides
Object key:linkedin. Class: LinkedInPostOverrides / LinkedInTextPostOverrides (text has no media fields).
LinkedIn examples
Personal onlyFacebook overrides
Object key:facebook. Facebook posts target Pages only (no personal feed in this API).
Facebook examples
One pageInstagram overrides
Object key:instagram. Usually one Instagram business account per workspace.
Threads overrides
Object key:threads. Text max 500. Image posts prefer media id.
TikTok overrides
Object key:tiktok. TikTok Business posting options.
YouTube overrides
Object key:youtube. Used on video posts. A title is required — set default_text and/or youtube_title.
Pinterest overrides
Object key:pinterest. board_id is required (or top-level board_id / alias pinterestBoardId).
Also valid at root:
board_id or sometimes pinterestBoardId on carousel/image examples in legacy curl fixtures.
Bluesky
Text posts include"bluesky" in platforms for POST /unified/post/text. Video may use "bluesky" / "blue_sky" depending on path (see Bluesky). Character limit 300. Connect with handle + app password — no page override object today (use default_text).
Multi-platform root body (all overrides together)
Response shapes
Single platform successdraft_platforms)
MCP publish mapping
Related
- Posting overview — endpoint guides
- Complete setup — UI + connect + API key
- Character limits
- Media — obtain
media_id