Update posts
batch_update_postsUpdates caption, title, description, first comment, and platform-specific settings on multiple posts in a single call. Equivalent to calling update_post for each post but batched — use this when editing more than one post. To give every post the same text, set caption/title/description/first_comment once at the top level and list the posts in video_post_ids (or in updates, where an entry's own value wins over the top-level one). Posts on the same upload share one video_settings row, so shared fields (caption, title, description) are written once per upload. Does NOT support thumbnail operations — use update_post for those. Captions over a platform's limit are rejected for the whole upload group. Posts that failed for an over-limit caption are re-queued once the caption is fixed; their result includes the new status.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Shared title for every post in the call (an entry's own title wins). | |
| caption | No | Shared caption for every post in the call (an entry's own caption wins). | |
| updates | No | Per-post edits (max 50 posts in total with video_post_ids). Each entry targets one video_post_id and may set any combination of text/settings fields. | |
| description | No | Shared description for every post in the call (an entry's own description wins). | |
| first_comment | No | Shared first comment for every post in the call (an entry's own first_comment wins). | |
| video_post_ids | No | Posts that get the top-level caption/title/description/first_comment and nothing else. Use with or instead of updates. | |
| idempotency_key | No | Optional client-generated key (e.g., a UUID) to make retries safe. Identical calls with the same key within 10 minutes return the original result instead of running the write twice. | |
| follow_up_comments | No | Up to 4 more comments after the first comment (5 per post in total), posted on the same platforms as the first comment. Shared by every post of the upload; passing it replaces the current list, [] clears it. Not posted on X, which only gets the first comment. On Threads, Bluesky, Mastodon and Pixelfed each one replies to the previous comment, so they read as a thread. | |
| first_comment_delay_minutes | No | Minutes after the post goes live to post the first comment. 0 = right away (default). Up to 10080 (7 days). Shared by every post of the upload. |