Posts belong to an end user and must target one of that end user’s social
connections. The connectionId platform must match socialMedia.
Create a text post
Omit scheduledAt to queue the post immediately:
To schedule it, pass an ISO 8601 timestamp:
Use a stable, unique idempotency key for every logical post. If your request
times out, retry with the same key. Keys must contain 1–255 characters and are
scoped to the end user’s workspace.
List and retrieve posts
limit is constrained to 1–100. The list response contains data, page,
limit, and total.
Media uploads use a three-step flow:
- Request a presigned upload URL from Social media studio.
- Upload the raw file bytes directly to that URL with HTTP
PUT.
- Attach the returned file information when creating the post.
For videos, include duration in seconds when requesting the URL and attaching
the file. Upload URLs are temporary; request a new one if an upload has expired.
Post status
The create response confirms that the post was accepted and queued; it does not
guarantee that the social platform published it. Use post.status, poll
posts.get, or subscribe to post.published and post.failed webhooks for the
final result.