<platform>_<field>). Array fields use the field[] convention — repeat the key once per value.
TikTok
brand_content_toggle and brand_organic_toggle can both be true at the same time — e.g. a creator promoting their own brand in a paid partnership.To publish a long-form Page video (portrait or landscape, any length up to 4 hours), set
facebook_media_type=VIDEO. Without it the default is REELS, which caps the video at 90 seconds.YouTube
X (Twitter)
X strips any URL that would become a clickable link from the post text before publishing — see Character limits. Put links in your profile bio or inside the image/video instead.
Threads
target_linkedin_page_id takes the full urn:li:organization:… URN. List the organizations a profile can publish as with GET /v1/connections/linkedin/pages — see LinkedIn Pages. It is ignored while an organization Page is pinned to the profile; see Pin a Page to a profile.
Bluesky
Google Business
Google Business Profile posts appear on your Google Maps listing and in Search. The
gbp_ prefix scopes all options to this platform.
Event fields (when
gbp_topic_type=EVENT):
Offer fields (when
gbp_topic_type=OFFER):
Manual-credential channels
Eleven channels connect by pasting your own credential rather than by OAuth — see Channels for the field list and the connect endpoints. They take the sharedcaption, or a <channel>_caption of their own (see Per-platform overrides); Mastodon and the article platforms have their own rules for that text, below. There are no other creative options, and no analytics data is returned for any of them.
Several of them also accept only one kind of post. Sending a channel a kind it does not take is refused locally with 400 invalid_request before anything is published — the matrix on Channels is the reference.
Chat channels
Text over the platform limit is truncated, not rejected, so keep captions within the limits shown in Character limits:- Telegram — 4,096 chars for text-only messages; 1,024 chars for media captions.
- Discord — 2,000 chars.
- Slack — text posts only.
Fediverse
- Mastodon — text, photo and video. The per-post limit is set by the instance you connected: 500 chars by default, and an instance may raise it. A shared
captionover 500 is cut to 500 for Mastodon only. To send more to an instance that allows it, setmastodon_caption: it is sent as written and not length-checked, and the instance refuses text over its own limit. - Lemmy — text and photo. The target community is fixed at connect time.
- Nostr — text only, relayed to the relays you supplied at connect time.
Publishing surfaces
- WordPress — text, photo and video.
- dev.to, Hashnode — text only.
- Whop — text only, posted to the experience you supplied at connect time.
- listmonk — text only, sent to the list you supplied at connect time. This one sends email to real recipients — test against a small list first.
<channel>_title. <channel>_caption replaces the shared caption as that channel’s body and is sent as that channel’s own job — see Per-platform overrides.
