Skip to main content
This page lists all request body fields Postsiva accepts for unified posting. Source of truth: 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.com
Auth: 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 inside linkedin / facebook / …).

Draft / schedule behavior


LinkedIn overrides

Object key: linkedin. Class: LinkedInPostOverrides / LinkedInTextPostOverrides (text has no media fields).

LinkedIn examples

Personal only
One org page only
Personal + two pages, different page captions
Image with per-page images

Facebook overrides

Object key: facebook. Facebook posts target Pages only (no personal feed in this API).

Facebook examples

One page
Multi page + per-page text
Image with per-page images

Instagram 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 success
Multi platform
Draft only
Mix draft + publish (draft_platforms)

MCP publish mapping