Change a post
posts_updateChange a post that has not gone out yet: its caption, its time, its destinations, or whether it is a draft. Editing is always allowed; sending a draft needs publishing enabled on the account, and where it is not the draft is left exactly as it was. This is what sends a draft — pass draft false, and it is queued using scheduled_at (or immediately if that is empty). Destinations can be named as account ids, group names from groups_list, or both — a group is expanded now, so it is a shorthand for its members rather than a live link to it. Changing the time re-aims delivery, so there is no separate publish step. This is also how a failed destination is sent again: set scheduled_at, and every destination that failed is queued again while the ones that already published are left alone — fix what made them fail first, usually by reconnecting the account. The caption and the destinations can only be changed while nothing has published yet; after that the time is still editable, and changing the words means a new post.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| draft | No | False promotes a draft and sends it. True returns a scheduled post to draft, cancelling its delivery. | |
| groups | No | Group names, expanded to their members and combined with account_ids. Together they replace the destination list, so naming only a group drops any account outside it. | |
| content | No | Replaces the caption. | |
| post_id | Yes | The post to change, from posts_list. | |
| account_ids | No | Replaces the destination list entirely — send every account you want, not just the new ones. All must be in the post's workspace. | |
| scheduled_at | No | ISO 8601. Replaces the time. A time in the past sends as soon as possible. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| post | Yes |