Posts

Update post

Update an existing post. Draft, scheduled, failed, partial, and cancelled posts can be edited. Published posts can only have their recycling config updated.

To promote a draft to scheduled, send isDraft: false together with scheduledFor (or publishNow: true, or queuedFromProfile). If isDraft is omitted the post keeps its current draft status, so sending only scheduledFor to a draft returns 200 but the post remains a draft.

Non-draft updates run the same per-platform validation as post creation (media requirements, platform-specific field rules, etc.) against the resulting platforms, returning 400 on failure.

put/v1/posts/{postId}

Path parameters

postIdstring required

Request body

titlestring

Stored on the post for reference/display only. This field is NOT used as the video title when publishing. To set a YouTube video title, use platformSpecificData.title on the youtube platform target (falls back to the first line of content when omitted).

contentstring
scheduledForstring date-time
publishNowboolean
isDraftboolean

When omitted, the post keeps its current draft status. Send false to promote a draft to scheduled (combined with scheduledFor, publishNow, or a queue).

timezonestring
visibility'public' | 'private' | 'unlisted'
tagsstring[]
hashtagsstring[]

Stored for reference only. Hashtags are NOT automatically appended to the caption when publishing. Include hashtags directly in the content field (platforms like Instagram only support hashtags as caption text). For YouTube keywords, use the tags field instead.

mentionsstring[]
crosspostingEnabledboolean
metadataobject
queuedFromProfilestring

Profile ID to schedule via queue.

queueIdstring

Specific queue ID to use when scheduling via queue.

Example request

{
  "platforms": [
    {
      "platform": "twitter"
    }
  ],
  "recycling": {
    "gap": 2,
    "expireCount": 5
  }
}

Response

Post updated

messagestring
warningsstring[]

Example response

{
  "post": {
    "platforms": [
      {
        "platform": "twitter",
        "status": "pending",
        "platformPostId": "1234567890123456789",
        "platformPostUrl": "https://twitter.com/acmecorp/status/1234567890123456789"
      }
    ]
  }
}

Changes