Posts
Update Post
Update an existing post with new content, scheduling, or settings. Only posts that have not been published yet can be updated.
PUT
Update Post
Updates an existing post with new content, scheduling information, or other settings. Only posts that haven’t been published yet can be updated. The post can include text content, media attachments, and platform-specific settings.Request
The ID of the workspace where the post will be created
Optional array of label IDs to apply to this post
Array of content objects (threads). Each object can contain text and media. At least one content item with text or media is required.
Type of scheduling. Must be one of: publish_now, schedule, draft
Optional scheduling object used when
schedule_type is schedule. Provide {"date": "YYYY-MM-DD", "time": "HH:MM", "timezone": "..."} to schedule for a specific date/time, or omit/leave empty to auto-schedule to the next available time slotWhether the post should be repeated
Number of times to repeat the post. Required if repeatable is true.
Time gap between repeats. Required if repeatable is true.
The unit for the repeatable gap. Must be one of:
minutes, hours, days, weeks, months. Required if repeatable is true. Set repeatable to false to clear repeat scheduling and repeatable_accounts.Optional. Only when
repeatable is true: account IDs in this workspace. To clear repeat scheduling, send repeatable: false (see Update post).Auto plug, comment moderation, and contact collection use dedicated
PATCH endpoints.Array of account objects to publish to
Response
Unique identifier for the updated post
Array of content objects with text, media, and optional
cover_image. Platform cover requirements: TikTok — video_cover_timestamp_ms only; YouTube, Instagram, Facebook — thumbnail only.Status of the post (draft, scheduled, published, failed)
Array of posted timestamps in workspace timezone
Scheduled date and time in workspace timezone
Whether the post is set to repeat
Number of times the post will repeat
Gap between repeats
Unit for the repeat gap (hours, days, weeks, months)
Number of remaining posts in the repeat sequence
Information about the post’s workspace
Array of labels attached to the post
Array of platform-specific post information
Auto plug configuration when enabled, or
null when off. Update via Update post auto plug.Creation timestamp in workspace timezone
Last update timestamp in workspace timezone
Code Examples
Platform-Specific Settings
Each social media platform supports different settings that allow you to customize how your post appears and behaves. These settings are specified in thesettings object for each account in the accounts array.
Twitter/X Settings
- for_super_followers_only: Restrict post visibility to super followers
- reply_settings: Control who can reply (‘everyone’, ‘following’, ‘mentioned_users’)
- quote_tweet_id: Quote an existing tweet
- reply: Reply to a specific tweet
- community_id: Post to a specific community
- share_with_followers: Share community post with followers too
- text: Override the main text content for Twitter
- poll: Create a poll with options and duration
Instagram Settings
- post_type: Choose between ‘REELS’, ‘STORIES’, ‘POST’ (optional)
- caption: Custom caption with hashtags and mentions
Facebook Settings
- title: Custom title for the post
- link: Attach a URL to the post
LinkedIn Settings
- visibility: Control post visibility (‘PUBLIC’, ‘CONNECTIONS’, ‘LOGGED_IN’)
- link: Attach a URL to the post
- title: Custom title for the post
YouTube Settings
- video_type: Choose between ‘video’ or ‘short’
- title: Video title
- description: Video description
- privacyStatus: Set privacy (‘public’, ‘private’, ‘unlisted’)
- tags: Array of tags for better discoverability
- embeddable: Allow video embedding
- selfDeclaredMadeForKids: Mark as content for children
- notifySubscribers: Send notifications to subscribers
- category_id: YouTube category
TikTok Settings
- privacy_level: Set video privacy (PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, SELF_ONLY)
- title: Video title
- description: Video description
- disable_comment: Turn off comments
- disable_duet: Disable duet feature
- disable_stitch: Disable stitch feature
- brand_content_toggle: Mark as brand content
- brand_organic_toggle: Mark as organic brand content
- is_aigc: Indicate AI-generated content
- auto_add_music: Automatically add music
- post_mode: Enum: DIRECT_POST (post directly) | MEDIA_UPLOAD (upload for user to finish in TikTok)
Pinterest Settings
- board_id: Specify which board to pin to
- link: Attach a URL to the pin
- title: Pin title
- description: Pin description
- note: Additional pin notes
- published: Publish immediately or save as draft
Threads Settings
- title: Custom title for the post
- link_attachment: Attach a URL to the post
Telegram Settings
- title: Custom title for the message
- disable_notification: Send silently
- protect_content: Protect from forwarding
Bluesky Settings
- title: Custom title for the post
- website_card: Add a website card with URI, title, and description
Media Guidelines
Different social platforms have different requirements for media. PostSyncer will automatically process your media to meet platform requirements, but keep these limitations in mind:Video cover images
Setcontent[0].cover_image when updating a video post. Only the first content thread’s cover is applied when publishing.
Platform requirements for cover images
| Platform | Cover method | API field |
|---|---|---|
| TikTok | Frame selection from video only | video_cover_timestamp_ms |
| YouTube | Custom thumbnail upload only | thumbnail |
| Instagram (Reels) | Custom thumbnail upload only | thumbnail |
| Facebook (Reels / video) | Custom thumbnail upload only | thumbnail |
TikTok: use
video_cover_timestamp_ms only — no custom thumbnail upload. YouTube, Instagram, Facebook: use thumbnail only — upload a cover image to the media library (or pass a public image URL).| Platform | Max Images | Max Videos | Required Media | Max File Size |
|---|---|---|---|---|
| Twitter/X | 4 | 1 | No | 5MB (img), 512MB (video) |
| 10 | 1 | No | 10MB (img), 4GB (video) | |
| 10 | 1 | Yes | 8MB (img), 100MB (video) | |
| TikTok | 35 | 1 | Yes | 20MB (img), 4GB (video) |
| YouTube | 0 | 1 | Yes | N/A, 10GB (video) |
| 5 | 1 | Yes | 20MB (img), 200MB (video) | |
| Threads | 10 | 10 | No | 8MB (img), 1GB (video) |
| Telegram | 10 | 10 | No | 5MB (img), 20MB (video) |
| 9 | 1 | No | 5MB (img), 512MB (video) | |
| Bluesky | 4 | 1 | No | 1MB (img), 100MB (video) |
Error Codes
Validation errors, invalid parameters, or invalid media URLs
Missing or invalid API token
Token does not have ‘posts’ permission
Post not found or user does not have access to the post’s workspace
Validation errors in request data