Posts

Update the post

Updates a scheduled or draft post. Only the fields you provide are changed.

Use this endpoint to update post content, schedule, draft state, processed network-specific options, attachments, or review status.

Attachment updates are handled through existing_attachments:

  • Send { "upload_token": "..." } for newly uploaded media you want to attach.
  • Send the full saved attachment object returned by GET /posts/{postId} to keep an attachment that is already on the post.
  • When from=composer, omitted options and existing_attachments are treated as empty arrays, so previously saved processed options or attachments are removed.

To approve or reject a post awaiting team approval, use the approved field. To publish immediately without editing other fields, send publish_now=true. Reviewed post objects returned by this endpoint include reviewed_by with id, name, and action (approved or rejected) when approval metadata is available.

patch/posts/{postId}

Request

  • Base URL: https://socialbu.com/api/v1
  • URL: https://socialbu.com/api/v1/posts/{postId}
  • Auth: HTTP bearer

Path parameters

postIdinteger required

Post id to update

Request body

publish_atstring

New scheduled time in Y-m-d H:i:s UTC format. If a past time is sent, the server shifts it to the current time.

contentstring nullable

Updated post content. Can be null when the target network allows attachment-only posts.

draftboolean

Set to true to keep the post as a draft, or false to make it schedulable/publishable.

publish_nowboolean

Publish the post immediately instead of applying a regular partial update.

reset_resultboolean

Set to true to clear the stored publish result before republishing or rescheduling.

from'composer'

Special composer mode. When set to composer, omitted options and existing_attachments are treated as empty arrays so removed values are cleared from the saved post.

optionsobject

Public post options to update for the post's connected account. These are processed and merged with the post's internal options instead of replacing the entire stored options object. Supported keys vary by network and account type; use GET /posts/supported-options to discover valid fields.

approvedboolean

Approve or reject a post awaiting team approval. Set to true to approve, false to reject. Requires the approvals.approve permission in the team.

reject_reasonstring

Optional reason when rejecting a post (approved=false). Visible to the post author.

tagsinteger[]

ID(s) of existing tags to apply to the post (maximum 10, same scope rules as on create — see POST /posts). Omit this field entirely to leave the post's tags unchanged. Send an empty array to clear every tag.

Example request

{
  "publish_at": "2025-04-14 15:30:00"
}

Response

Post updated

successboolean

Indicates whether the post was updated successfully.

postobject

Updated post object.

Changes

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