Skip to main content
POST

Post type: now, schedule, or draft

The top-level type field controls when (and whether) the post is published: Drafts are how you stage content via the API without committing to a publish time, useful for content review workflows or pre-filling a calendar from an external CMS.

Duplicating a post

There is no dedicated duplicate / clone endpoint. To copy an existing post, fetch it with GET /posts and submit the content as a new POST /posts request. Before re-submitting, strip the server-managed fields from the fetched object, re-sending them either causes validation errors or, worse, accidentally updates the original. At minimum drop:
  • id and any nested post IDs
  • createdAt, updatedAt, and any other timestamps
  • state / status / releaseId (these are assigned by the scheduler)
  • Anything else the API didn’t ask you to provide when you originally created the post
Then set a fresh type (now, schedule, or draft) and date, and POST the cleaned object.

Image alt text (alt)

Each media object in a post’s image array accepts an optional alt field: a text description of the image for accessibility.
Providers that support alt text (Instagram, Instagram Standalone, Bluesky, Mastodon, Slack, Tumblr) send it with the image; other providers ignore the field. Instagram applies it to images only (single images and carousel items, up to 1000 characters), not to videos or stories.

Video cover frame (thumbnailTimestamp)

Each media object in a post’s image array accepts an optional thumbnailTimestamp field: the number of milliseconds into the video to use as the cover/thumbnail frame.
Supported providers: Instagram, Instagram Standalone, TikTok Business, and TikTok (Direct Post only: the UPLOAD/inbox flow does not support cover selection). Other providers ignore the field. For TikTok, in our testing the cover was applied only to public posts (privacy_level: "PUBLIC_TO_EVERYONE"); posts published with a restricted privacy level kept the first frame as the cover.

Provider-Specific Settings

When creating posts, each social media platform requires different settings. The settings object must include a __type field that identifies the platform.

All 27 Supported Platforms

Platforms Without Custom Settings

These platforms only need the __type field:
Platforms: threads, mastodon, bluesky, telegram, nostr, vk

Detailed Provider Settings

See the Provider Settings section for detailed schemas and examples for each platform.

Authorizations

Authorization
string
header
required

Your Postiz API key

Body

application/json
type
enum<string>
required

Post type

Available options:
draft,
schedule,
now
date
string<date-time>
required

Publish date in UTC ISO format

Whether to use short links

tags
object[]
required
order
string

Order of posts

inter
number

Interval between posts

posts
object[]

Required if type is not 'draft'

Response

200 - application/json

Post created successfully

postId
string
integration
string