Platform options examples

Copy safe platform-specific options for the publishing destinations that most often need extra configuration.

Use flat options: inside platform_posts[], each platform_options object is already scoped to one destination. Put fields such as privacy_status or mediaType directly inside it.

Choose one request shape

The recommended platform_posts[] shape uses a flat platform_options object. The Legacy account_ids shape uses a top-level object nested by platform name. Do not combine those formats.

ShapeOptions pathUse
Recommendedplatform_posts[].platform_options.privacy_statusUse for new integrations and per-account overrides.
Legacy account_idsplatform_options.youtube.privacy_statusUse only with the older top-level account_ids request shape.
Invalid mixed shapeplatform_posts[].platform_options.youtube.privacy_statusDo not nest the platform name inside platform_posts[].

Validate before publishing

Send the exact payload to POST/v1/posts/validate before calling POST/v1/posts. Validation catches request-shape, account, media, and platform constraints without publishing the post.

YouTube

YouTube requires a title and explicit made_for_kids selection. API requests default to private when privacy_status is omitted, so set it to public when the upload should be public. Google may still force uploads from an unverified API project to private.

For Shorts, supply an eligible square or vertical video no longer than three minutes. shorts: true adds a Shorts hint, but it does not resize, crop, or guarantee that YouTube classifies the upload as a Short. YouTube native scheduling requires privacy_status: private with publish_at.

Instagram

Set mediaType to feed, reels, or story. A Story accepts exactly one image or one video; use a feed carousel for multiple assets.

For a complete Story workflow, see Publish Instagram Stories.

TikTok

Make privacy and interaction controls explicit. If a post promotes a third-party brand, set brand_content_toggle to true; use brand_organic_toggle for your own brand. The duet and stitch fields apply to videos; omit them for photo carousels.

Facebook

A Reel requires exactly one video and cannot include a link. For a link-only feed post, omit media_ids and media_urls; Facebook rejects requests that combine link and media.

Pinterest

Every Pin requires a numeric board_id and exactly one image or video. title and link are optional.

Common mistakes

SymptomLikely causeResolution
Options appear to be ignoredA platform name is nested inside platform_posts[].platform_options.Remove the platform-name wrapper and keep the destination options flat.
YouTube upload is privateprivacy_status was omitted, so the API defaulted to private.Send privacy_status: public and verify that the Google API project is approved for public uploads.
Instagram Story publishes as another surfacemediaType is missing or is not story.Send mediaType: story with exactly one media asset.
Facebook request fails with link and mediaFacebook does not accept both in the same destination post.Publish either a link-only feed post or a media post.
Pinterest validation failsboard_id is missing or the Pin has the wrong number of assets.Send a numeric board_id and exactly one image or video.

References

Use the Create Post API Reference for the complete endpoint contract, and check the platform pages for media limits and supported capabilities.