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
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[]
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

Changed in 9 of the 26 revisions of this API.359

  • 0cdc3e98bff911See the full diff
    • the post/platforms/items/platformSpecificData response's property type/format changed from / to object/ for status 200

      response-property-type-changed

    • removed TwitterPlatformData ThreadsPlatformData FacebookPlatformData InstagramPlatformData LinkedInPlatformData PinterestPlatformData YouTubePlatformData GoogleBusinessPlatformData TikTokPlatformData TelegramPlatformData SnapchatPlatformData RedditPlatformData BlueskyPlatformData DiscordPlatformData SlackPlatformData from the post/platforms/items/platformSpecificData response property oneOf list for the response status 200

      response-property-one-of-removed

    • added the optional property post/platforms/items/platformSpecificData/oneOf[InstagramPlatformData]/muteAudio to the response with the 200 status

      response-optional-property-added

    • added the optional property post/platforms/items/platformSpecificData/oneOf[PinterestPlatformData]/boardSectionId to the response with the 200 status

      response-optional-property-added

    • added the optional property post/platforms/items/platformSpecificData/oneOf[PinterestPlatformData]/isAiGenerated to the response with the 200 status

      response-optional-property-added

    • added the optional property post/platforms/items/platformSpecificData/oneOf[ThreadsPlatformData]/firstComment to the response with the 200 status

      response-optional-property-added

    • added the optional property post/platforms/items/platformSpecificData/oneOf[TwitterPlatformData]/article to the response with the 200 status

      response-optional-property-added

    • the response property post/platforms/items/platformPostUrl became nullable for the status 200

      response-property-became-nullable

    • the post/platforms/items/platformPostUrl response's property type/format changed from string/uri to string null/ for status 200

      response-property-type-changed

    • added the new platform_rate_limit enum value to the post/platforms/items/errorCategory response property for the response status 200

      response-property-enum-value-added

    • added the new quota_exhausted enum value to the post/platforms/items/errorCategory response property for the response status 200

      response-property-enum-value-added

    • added the optional property post/platforms/items/platformSpecificData/oneOf[BlueskyPlatformData]/langs to the response with the 200 status

      response-optional-property-added

    • added the new phone enum value to the post/platforms/items/accountId/oneOf[SocialAccount]/platform response property for the response status 200

      response-property-enum-value-added

    • added the new rcs enum value to the post/platforms/items/accountId/oneOf[SocialAccount]/platform response property for the response status 200

      response-property-enum-value-added

    • added the new sms enum value to the post/platforms/items/accountId/oneOf[SocialAccount]/platform response property for the response status 200

      response-property-enum-value-added

    • added the optional property post/platforms/items/platformSpecificData/oneOf[LinkedInPlatformData]/poll to the response with the 200 status

      response-optional-property-added

    • added the optional property post/platforms/items/platformSpecificData/oneOf[InstagramPlatformData]/audioConfiguration to the response with the 200 status

      response-optional-property-added