Post now
Publish a post immediately to one or more social accounts via socialAccountIds. The call handles each account separately and returns HTTP 200 with one result per account: each entry in data[] is either a scheduledPost or an error (including insufficient credits on costed providers, which reserve credits per account), plus an outcome summary (status, totalCount, successCount, failureCount). Always read the per-account results in the body rather than trusting the status code alone. Links move into a first comment on first_comment channels exactly as for schedulePost (opt out with autoMoveLinks=false), and captionWarnings lists the remaining caption-quality warnings per channel. Send an Idempotency-Key header so timed-out retries replay the original result instead of double-publishing; use schedulePost to publish at a future time instead.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Optional. Reuse the same key (up to 200 characters) with the same request after a lost response to replay the original result instead of repeating the write.
Path Parameters
Team (workspace) id (UUID). Discover ids via the list teams endpoint or the agent context.
Post id (UUID), as returned by the create post and list posts endpoints.
Body
UUIDs of the connected social accounts the post fans out to; at least one is required, duplicates are rejected, and each account gets its own per-account result.
1a Universally Unique Identifier
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$["0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"]Optimistic concurrency pin for the exact saved content payload this terminal delivery intent validated. The composer always supplies it.
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$Provider-specific publish settings. Each field applies to one provider (named in its description) and is ignored by accounts on other providers, so a single object can carry settings for every account the post targets. Unknown keys are rejected.
{ "replySettings": "following" }Per-account overrides of the shared platform settings, keyed by social account UUID; values merge over platformSettings for that account.
Records an internal approval for the current revision instead of waiting for client approval. Requires a signed-in human workspace admin (manage-level). Delegated API/MCP credentials and agent runs cannot create this approval. Automated publishing of already-approved posts remains supported without this option.
true
Per-account body-text overrides, keyed by social account UUID. An entry replaces the post's shared text for that account's leg only; accounts without an entry publish the shared text. Text-only: media attachments and platform settings are unaffected, and thread posts reject overrides. Entries must be non-blank.
Comment to post on the published post immediately after it goes live.
Comment to post once the published post reaches likeThreshold likes within windowHours (1 to 720 hours).
Repost the published post offsetDays (1 to 30) after publish, either as a plain retweet or a quote (text required for quote mode).
Republish the post every N days (1 to 365) until recurrenceEndsAt.
1 <= x <= 3657
ISO 8601 timestamp after which the recurrence stops; null means no end date.
"2026-09-01T00:00:00Z"
Per-account first comments, keyed by social account UUID. An entry replaces firstComment for that account's leg only.
Default true. For a channel whose link placement is first_comment, body URLs are moved into that channel's first comment (appended after a blank line to a first comment you already set, without repeating a URL it holds) and the caption says "link in the first comment" (or "first reply" on X and Threads). A link stays in the body when the first comment would pass the channel's comment limit. Pass false to publish the caption exactly as written.
false