Skip to main content
POST
Create, schedule or publish a post

Authorizations

Authorization
string
header
required

A Replier API key (rpl_...).

Headers

Idempotency-Key
string
required

A new value for each operation, and the same one when you retry, so the request runs once.

Required string length: 1 - 128

Path Parameters

workspace_id
string<uuid>
required

Workspace ID returned by GET /v1/workspaces

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$

Body

application/json
channels
object[]
required

Every Instagram account and Facebook Page the post goes to; each publishes on its own.

Required array length: 1 - 20 elements
action
enum<string>
required
Available options:
draft,
schedule,
publish_now
media_ids
string<uuid>[]
required

They decide the kind of post: one photo, one video (a Reel), or 2-20 files (a carousel; Facebook takes photos only in one). A file belongs to one post.

Required array length: 1 - 20 elements
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
caption
string
default:""

Up to 2,200 characters, 30 hashtags and 20 @mentions. Empty for none.

first_comment
string | null

Commented on the post right after it publishes. Null for none.

Maximum string length: 2200
cover_image_id
string<uuid> | null

A Reel's cover: media.id of an image uploaded with purpose cover. Null shows the frame a second into the video.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
publish_at
string<date-time> | null

When to publish, at least 3 minutes and at most a year ahead. Needed to schedule; a draft may keep one.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
time_zone
string
default:UTC

IANA time zone the user picked the time in, such as Asia/Taipei. Replier shows the post's time in it.

Required string length: 1 - 64
automation_id
string<uuid> | null

A comment automation from GET /v1/workspaces/{workspace_id}/automations that answers the post's comments from its first minute once it publishes, or null for none. Needs automations.update. An automation answers one waiting post.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
move_automation
boolean

true moves automation_id here from another post it waits for (AUTOMATION_USED_BY_POST); ask the user first.

Response

OK

workspace
object
required
post
object
required