Skip to main content
POST
Create posts in batch

Authorizations

Authorization
string
header
required

Workspace API key from Settings → API Keys.

Body

application/json
status
enum<string>
required

draft keeps the post editable. scheduled schedules it at scheduled_at or in the channel queue (queue). publishing publishes it now.

Available options:
draft,
scheduled,
publishing
destinations
object[]
required

One entry per social account; each account at most once.

Minimum array length: 1
content
string | null

Shared text, at most 25000 characters. When status is scheduled or publishing it must also fit each account's limit (max_content_length of the social account, for example 280 on X or 25000 for X accounts with long posts, 300 on Bluesky, 500 on Mastodon including the content warning), measured on the text the network receives. A scheduled or published post needs text or media.

Maximum string length: 25000
media
object[]

Shared media. Media in order. Each item is one of upload_token, url or id. Types the channel does not accept are refused.

scheduled_at
string<date-time> | null

When to publish, for status: scheduled. Any date string; must be in the future and before 2038-01-19. Cannot be combined with queue. Required with status: scheduled unless queue is sent.

queue
enum<string> | null

Queue position, only with status: scheduled. next takes the channel's first free slot; top takes its first slot and moves the queued posts behind it to the next gap. Every channel must have posting times (has_posting_schedule). Cannot be combined with scheduled_at.

Available options:
next,
top,
null
label_ids
string<uuid>[]

Labels of this workspace.

Response

The created posts.

posts
object[]