Skip to main content
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.

Upload media

Media uploads use a three-step flow:
  1. Request a presigned upload URL from Social media studio.
  2. Upload the raw file bytes directly to that URL with HTTP PUT.
  3. 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.