Skip to main content
Each entry in posts can carry a settings object. What belongs in it depends on the channel’s identifier, and for several platforms it is required — omit it and the call returns 400.
settings is ignored when "type": "draft". That is the intended way to build a post incrementally before you know every field.

Where the shape comes from

Each platform’s settings are defined by its provider in the application, so this list follows what the server will actually accept. When a platform changes its API, the accepted fields change with it.

Common platforms

content_posting_method is the one that matters. DIRECT_POST publishes to the profile. UPLOAD sends it to the creator’s TikTok inbox as a draft they must finish within 24 hours — and in that mode every other setting here is silently discarded, including privacy level.
A subreddit is required. Each subreddit has its own posting rules, and a post accepted by the API can still be removed by that subreddit’s moderation.
A title is required — YouTube has no concept of an untitled upload.
post_type may be post, reel or story. Media is required regardless; Instagram accepts no text-only post.
A board is required.
No required fields. Multi-part posts become native threads on these platforms — see threads.

Finding the shape for any platform

Two reliable ways, rather than guessing:
  1. Configure one post of that type in the composer, then read it back with GET /posts and copy the settings shape.
  2. GET /integration-settings/{id} returns the channel’s stored defaults.