The shape of it
1
Find an account
GET /socials/accounts/{projectId}
returns every connected account. Its id is the socialAccountId every
other call takes.2
Stage the media
Stream bytes to
PUT /socials/media/{projectId}/stream-upload
and keep the returned handle. Small files can go inline as base64 instead.3
Create the post
POST /socials/posts/{projectId}
with the account, caption, media type and either scheduledFor or
publishNow: true.4
Watch it land
GET /socials/posts/{projectId}/{postId}/status
until it reaches published — or failed, with a reason.Platforms
Media types
mediaType describes the shape of the post. Not every platform accepts every
shape, and the API validates the combination before it accepts the post.
Post lifecycle
A post’sstatus moves through a small state machine:
draft, scheduled, queued or
failed. Once it is uploading or publishing the platform owns it, and
published is live.
Scheduling window
scheduledFor must be at least 10 minutes and at most 75 days in the
future. That mirrors what the upstream platforms accept, so the API rejects an
out-of-range time immediately rather than letting the platform reject it after
the media has already uploaded.