data is keyed by platform - data.TWITTER, data.TIKTOK, etc. Each platform accepts its own set of fields. This page is the field reference for all of them. (For connecting accounts and platform quirks, see the per-platform pages under Platforms in the sidebar.)
uploadIdsare ids returned by upload-content.thumbnail(where present) is a public URL of an image already uploaded to bundle.social - use it as a video cover when an offset isn’t enough.- Bold = required for that platform.
The CLI builds
data for you: --content → text, -m → uploadIds, --platform-settings '{"<P>":{...}}' → merged into data.<P>. The same fields apply to the SDK and the MCP server. Snippets below that say integrations:trigger … are the CLI form of the same trigger_integration_tool MCP tool / misc.* SDK helper.X / Twitter - data.TWITTER
Threads: post the first tweet, then add the rest as replies with
comments:create --post-id <id> -c "..." -c "..." (X threads go through the comments API, not data). No analytics surface for X.
Bluesky - data.BLUESKY
Mastodon - data.MASTODON
Threads - data.THREADS
Polls, GIFs and link attachments only work on text-only posts - Threads rejects them when
uploadIds is set.
LinkedIn - data.LINKEDIN
Mentions: discover URNs with
integrations:trigger linkedin:mentions --data '{"q":"...","scope":"organizations"}' and put them in text.
Facebook (Page) - data.FACEBOOK
Instagram - data.INSTAGRAM
Account types are connected via Facebook or directly via Instagram (
instagramConnectionMethod on the integration).
brandedContentSponsors and business discovery only work for accounts connected through Facebook Login.
TikTok - data.TIKTOK
YouTube - data.YOUTUBE
(There’s no
categoryId in the post data itself - fetch categories with integrations:trigger youtube:categories --data '{"regionCode":"US"}'; playlist management is via the SDK’s misc.youtube* methods / integrations:trigger youtube:playlists.)
Reddit - data.REDDIT
Before posting, run
integrations:trigger reddit:requirements --data '{"subreddit":"r/<sub>"}' to learn title length limits, allowed post types, and whether a flair is required.
Discord - data.DISCORD
Slack - data.SLACK
Google Business Profile - data.GOOGLE_BUSINESS
Set the location up in the dashboard first; details/categories/hours are managed via the SDK’s
misc.googleBusiness* methods (integrations:trigger gbp:location, gbp:categories).
Pinterest - data.PINTEREST
Snapchat (Public Profile) - data.SNAPCHAT
Requires a Snapchat Public Profile. There is no comments API surface for Snapchat; profile and content analytics are available.
Media notes
Images: JPG / PNG / WEBP / GIF. Video: MP4 / MOV / WEBM, up to 5 GB via the large-upload flow. Upload media first (or let the CLI’s-m do it), then put ids in uploadIds (and carouselItems[].uploadId / mediaItems[].uploadId). Large videos can take a while to process server-side after upload - a newly created post may sit in PROCESSING before going POSTED; check with posts:get <id>, and posts:retry <id> for a transient platform failure.