Posts

Create a draft, schedule, or publish now (controlled by status)

Multi-platform posts fan out into one row per platform at publish time. Publishing is asynchronous — a "published" create returns status "queued"; poll GET /posts/{id} and read platform_results.

post/posts

Request

Request body

titlestring
captionstring

Shared caption. Per-network override via platformCaptions.

platformsstring[]

Convenience form for a single-channel post (combine with accountId).

accountIdstring

Used only with the platforms convenience form.

mediaUrlsstring[]
mediaType'image' | 'video'
postType'post' | 'reel' | 'story'
hashtagsstring[]
platformCaptionsobject

Per-platform caption/description override, keyed by platform id.

status'draft' | 'scheduled' | 'published'
scheduledAtstring date-time

Required (and must be in the future) when status = scheduled.

Example request

{
  "accountMappings": [
    {
      "platform": "youtube"
    }
  ],
  "platformOptions": {
    "youtube": {
      "categoryId": "22"
    }
  }
}

Response

Created

postIdsstring[]
status'draft' | 'scheduled' | 'queued'
dispatchDeferredboolean

When true, rows are stored but the worker wasn't reached synchronously; the cron sweep will publish them.

Changes

No recorded changes to this operation across all 1 revision of this API.