Create Post
Post type: now, schedule, or draft
The top-level type field controls when (and whether) the post is published:
| Value | Behaviour |
|---|---|
"now" | Publish immediately. date is ignored. |
"schedule" | Publish at the time given in date (ISO 8601). |
"draft" | Save as a draft. The post is created and stored against the integration but not scheduled or published. You can promote it to a real post later from the Postiz UI. |
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:
idand any nested post IDscreatedAt,updatedAt, and any other timestampsstate/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.
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:
{
"settings": {
"__type": "threads"
}
}Platforms: threads, mastodon, bluesky, telegram, nostr, vk
Detailed Provider Settings
See the Provider Settings section for detailed schemas and examples for each platform.