Skip to main content
When you create or update a post, 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.)
  • uploadIds are 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: --contenttext, -muploadIds, --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.