# What platform options does the DunSocial API require? > Reddit, Instagram, Pinterest, TikTok, Discord & Slack each need a metadata block with specific keys. X, LinkedIn, Bluesky, Threads, YouTube & Facebook Pages don't. Instagram has no default format, so you must pass one. Updated: 2026-10-05. ## Why some platforms need more A plain text post is enough for some networks. Others need to know where it goes: a subreddit, a board, a channel or a format. Those details live in a `metadata` block on the request. When a target account is on one of those platforms, the matching block is required. ## The table | Platform | Block | Required keys | Notes | |----------|-------|---------------|-------| | Reddit | `metadata.reddit` | `subreddit`, `title`, `kind` | `kind` is `self`, `link`, `image` or `video`; flair when the subreddit requires it | | Instagram | `metadata.instagram` | `format` | `feed_image`, `carousel`, `reel` or `story`; optional `caption` | | Pinterest | `metadata.pinterest` | `boardId`, `title`, `description` | Exactly one image | | TikTok | `metadata.tiktok` | `privacyLevel` | Exactly one video; optional `title` | | Discord | `metadata.discord` | `channelId` | Optional `channelName`; up to 10 attachments | | Slack | `metadata.slack` | `channelId` | Optional `channelName`; up to 10 attachments | ## Platforms that need no block X, LinkedIn (personal & Company Pages), Bluesky, Threads, YouTube & Facebook Pages accept a text or media post with no metadata block. Facebook Pages take text, one link & photos only, with no video. YouTube through the generic route is Shorts only: one vertical or square video of 3 minutes or less. ## Instagram has no default There's no default Instagram format, so don't assume a Reel. If `format` is missing, validation reports it rather than guessing. Feed, carousel & story images can be JPEG, PNG, GIF or WebP. Non-JPEG stills convert to JPEG when they publish. DunSocial refuses to guess a format because a wrong guess would publish the wrong kind of post. ## An example A Pinterest Pin through the generic route: ```json { "socialAccountIds": ["PINTEREST_ACCOUNT_ID"], "content": "Core Flows landing page", "metadata": { "pinterest": { "boardId": "1234567890", "title": "Core Flows landing page", "description": "Product UI still from the landing page" } }, "mediaUrls": ["media/uploads/landing-core-flows.png"] } ``` DunSocial accepts the same block through the CLI with --meta & through MCP as metadata, so the shape carries over. ## Where the ids come from Board, channel & subreddit details come from dedicated routes: Pinterest boards, Discord channels, Slack channels & Reddit flairs. DunSocial's CLI & MCP wrap the same lookups. Don't invent a board or channel id. Fetch it, then send it. ## Let validation tell you You don't have to memorise this table. Call the validate route with your payload & DunSocial reports exactly which block or key is missing for each account. ## Related guides - [How to validate a social post before scheduling it with the API](https://www.dunsocial.com/hub/dunsocial-api-and-sdk-guides/how-to-validate-a-social-post-before-scheduling-it-with-the-api.md) - [How to post to Reddit from the command line](https://www.dunsocial.com/hub/dunsocial-cli-guides/how-to-post-to-reddit-from-the-command-line.md) - [Instagram marketing strategy guide](https://www.dunsocial.com/hub/social-media-platform-guides/instagram-marketing-strategy-guide.md) - [Pinterest marketing strategy guide](https://www.dunsocial.com/hub/social-media-platform-guides/pinterest-marketing-strategy-guide.md) ## About this document This is the Markdown representation of https://www.dunsocial.com/hub/dunsocial-api-and-sdk-guides/what-platform-options-does-the-dunsocial-api-require. The HTML version of the same page is at the same URL. You can also request Markdown from any page by sending `Accept: text/markdown`. Machine-readable summary of the whole site: https://www.dunsocial.com/llms.txt ## Company - Product: DunSocial, https://www.dunsocial.com - Legal entity: THISUX PRIVATE LIMITED, Chennai, Tamil Nadu, India - Support: support@dunsocial.com - Open the app: https://app.dunsocial.com/login