Edit post for channel
edit_postEdit a social media post for a channel by updating text, assets, or scheduling settings. Requires explicit confirmation before applying changes.
Instructions
Edit post for channel. Current Buffer GraphQL editPost. Requires explicit confirmation. Use upstream fields to bound data; provider errors are failures even with HTTP 200.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ID of the post to edit | |
| mode | No | How the post is being scheduled. Omit the field or pass null to make no scheduling change — null does not clear or reset the schedule: a scheduled post keeps its current share mode, queue slot, and any custom time, and the edit applies only the other provided fields. Pass a non-null ShareMode to apply that mode. | |
| text | No | Text content of the Post. Omit the field to keep the current text; pass an empty string or null to clear it. Note: for threaded posts, this needs to match the first item in the `thread` array. | |
| dueAt | No | Date when the post is scheduled to be published | |
| assets | No | Ordered list of assets on this post. Omit to preserve the existing list, pass an empty array to clear it | |
| fields | No | Upstream field paths relative to the result, as in official CLI --fields. Default fields are bounded. Use items.id for connection nodes; pageInfo.endCursor for cursors. | |
| ideaId | No | Is set when the Post is generated from an Idea | |
| source | No | source where the composer was initiated from, used for tracking. | |
| tagIds | No | tags | |
| account | No | Private account profile name. Selects credentials only; an organization default does not restrict provider token permissions. | |
| confirm | No | Must be true for this exact user-requested Buffer mutation. | |
| draftId | No | Is set when the Post is generated from a Draft | |
| payload | No | Complete native input object instead of individual input fields. | |
| metadata | No | ||
| aiAssisted | No | If this post was edited with the help of AI | |
| saveToDraft | No | If true, saves the post as a draft instead of keeping it scheduled. When saving as draft: - Post status will be 'draft' instead of 'buffer' - The post will not be published until explicitly scheduled | |
| payload_file | No | Regular local JSON input file, no symlink, at most 1 MiB; cannot mix with payload or individual input fields. | |
| approvalChange | No | Change the post's approval state alongside this edit. Leave unset to keep the post's current approval state. Only valid when your posting policy on the post's channel requires approval, and only on your own drafts. Asking for the state the post is already in does nothing. | |
| schedulingType | No | Scheduling type to indicate notification publishing or automatic publishing. Omit it, or send null, to leave the post publishing the way it already does. |